Czym jest zasada najmniejszego uprzywilejowania (Principle of Least Privilege)
Czym jest zasada najmniejszego uprzywilejowania (zasada minimalnego uprzywilejowania), jak działa, i jakie są jej benefity.
Zasada najmniejszego uprzywilejowania to idea zakładająca, że dany użytkownik, program czy proces powinien mieć minimalną ilość uprzywilejowania zapewniającą mu możliwość do wykonywania zadania.
Dla przykładu copywriter powinien mieć jedynie dostęp do części strony zapewniającej mu możliwość do edytowania artykułów, ale nie powinien mieć dostępu do panelu administratora. Zasada ta należy do zalecanych praktyk w cyberbezpieczeństwie.
Jednym z bardzo dobrych przykładów braku odpowiedniego zastosowania tej zasady jest ostatni bardzo głośny incydent w Twitterze. Poprzez inżynierię socjalną (manipulację jednego z pracowników) hakerom udało się zdobyć dostęp do kont znanych ludzi takich jak Elon Musk, co zostało wykorzystane do oszustwa związanego z kryptowalutami. Po incydencie został wykonany audyt, który stwierdził, że dostęp do kont takich użytkowników miała bardzo duża część pracowników Twittera. Fakt ten jest gigantyczną wtopą z perspektywy cyberbezpieczeństwa, biorąc pod uwagę to, że w bardzo prosty sposób mógł doprowadzić do wywołania wojny. Gdyby zastosowano tu zasadę najmniejszego uprzywilejowania, hakerzy nie byliby w stanie zdobyć dostępu, manipulując pracownika, który go nie ma.
Innym przykładem z życia są banki. Najcenniejszym miejscem w banku jest skarbiec (trezor bankowy). Atakujący mogą napaść kasjera bankowego, ale nie zdobędą dostępu do samego sejfu. Kasjer nie ma do niego dostępu.
W praktyce projektanci systemów nie stosują tej zasady w odpowiedni sposób i implementacja jej spoczywa na barkach specjalistów od cyberbezpieczeństwa, którzy poddają dany system odpowiedniej analizie, by zastosować tę regułę na każdym poziomie systemu.
Jak działa zasada minimalnego uprzywilejowania
Reguła ta zapewnia dostęp jedynie do zasobów koniecznych do wykonania danego zadania na minimalny, niezbędny czas.
Implementacja jej w środowiskach IT zmniejsza ryzyko dostępu do krytycznych zasobów przez atakujących, którzy zdobyli dostęp do konta użytkownika o niskich uprzywilejowaniach. Ogranicza również możliwość łatwego rozprzestrzeniania się malware, czy samych atakujących do innych części systemu.
Jak stosować zasadę najmniejszego uprzywilejowania
Poniżej lista najlepszych praktyk.
Zdejmij wszystkie zbędne prawa dostępu użytkownikom
Zgodnie z tym co pisaliśmy wcześniej, użytkownik powinien mieć dostęp jedynie do tej części systemu, która jest niezbędna do wykonania zadania. Nie powinien mieć również żadnych przywilejów, wykraczających poza to, co umożliwia wykonanie jego pracy. Dla przykładu pracownik, którego zadaniem jest wprowadzenie rekordów do bazy danych, nie powinien mieć możliwości do ich kasowania.
Nadawaj prawa tymczasowe
Jeśli użytkownik potrzebuje przywilejów, by wykonać odpowiednie zadanie, nadaj mu je, ale jedynie na określony czas wykonania samego zadania. Optymalnym jest by była możliwość sprawdzenia działań wykonywanych w czasie gdy użytkownik miał podniesione przywileje.
Wykonuj okresowe audyty dostępu
Analizy obecnej sytuacji należy dokonywać regularnie. Bardzo często dochodzi do sytuacji, gdy dany pracownik potrzebował przywilejów przez pewien okres i nie zostały one zdjęte.
Pamiętaj nie tylko o użytkownikach
Należy pamiętać, że użytkownicy to jedynie jeden składnik. Ważna jest każda część systemu. Dla przykładu, jeśli w danym procesie, który ma przywileje administratora, zostanie wykryta luka, gdy dojdzie do iniekcji złośliwego kodu do danego procesu, kod ten będzie miał takie same przywileje jak proces, do którego został wstrzyknięty. Dlatego właśnie należy przeanalizować każdą część systemu i zmniejszyć przywileje do jak najmniejszego poziomu.
Wymuś separacje przywilejów
Należy dokonać separacji pomiędzy kontami administratorów i zwykłymi kontami, a także pomiędzy funkcjami systemu wysokiego i niskiego poziomu.
Spraw by indywidualne akcje były łatwe do prześledzenia
Zadbaj o ID użytkowników, jednorazowe hasła, monitoring i automatyczny audyt. Pojedyncze akcje użytkowników powinny być logowane i łatwe do prześledzenia, pomaga to w odtworzeniu incydentu i ograniczeniu możliwości wykonania szkód.
Benefity zasady najmniejszego uprzywilejowania
Zwiększone bezpieczeństwo
Główną zaletą tej zasady jest zwiększenie bezpieczeństwa praktycznie pod każdym względem.
Zmniejszenie wektora ataków
Haker, który zdobędzie dostęp do konta użytkownika, ograniczony jest do jego uprzywilejowań — zmniejsza to wektor ataku.
Zmniejszenie rozprzestrzeniania się malware
Złośliwy kod podobnie jak haker, gdy zdobędzie dostęp do danego systemu, jest ograniczony przywilejami, które zdobył, co oznacza, że malware będzie mogło zainfekować tylko odosobnioną część systemu i nie będzie rozprzestrzeniała się na jego inne części.
Zmniejszenie zakresu audytu
Systemy, które zostały zaprojektowane z zastosowaniem zasady minimalnych przywilejów, są dużo łatwiejsze do przeprowadzenia, co zmniejsza czas jego wykonania i w rezultacie koszty.