Przywilej (komputer) — Privilege (computing)

W informatyce przywilej definiuje się jako delegowanie uprawnień do wykonywania funkcji związanych z bezpieczeństwem w systemie komputerowym. Uprawnienie umożliwia użytkownikowi wykonanie akcji, która ma konsekwencje dla bezpieczeństwa. Przykłady różnych uprawnień obejmują możliwość tworzenia nowego użytkownika, instalowania oprogramowania lub zmiany funkcji jądra.

Użytkownicy, którym delegowano dodatkowe poziomy kontroli, nazywani są uprzywilejowani. Użytkownicy, którym brakuje większości uprawnień, są definiowani jako użytkownicy nieuprzywilejowani, zwykli lub zwykli.

Teoria

Przywileje mogą być przyznawane automatycznie, przyznawane lub ubiegać się o nie.

Uprawnienie automatyczne istnieje, gdy nie jest wymagane posiadanie uprawnień do wykonania akcji. Na przykład w systemach, w których ludzie muszą logować się do systemu, aby z niego korzystać, wylogowanie nie będzie wymagało uprawnień. Systemy, które nie implementują ochrony plików — takie jak MS-DOS — zasadniczo dają nieograniczone uprawnienia do wykonywania jakichkolwiek działań na pliku.

Nadane uprawnienie istnieje w wyniku przedstawienia pewnych poświadczeń organowi nadającemu uprawnienia. Zwykle odbywa się to poprzez zalogowanie się do systemu za pomocą nazwy użytkownika i hasła , a jeśli podana nazwa użytkownika i hasło są poprawne, użytkownik otrzymuje dodatkowe uprawnienia.

O uprawnienie ubiega się albo uruchomiony program wysyłający żądanie o uprawnienia zaawansowane, albo uruchamianie jakiegoś programu w celu ubiegania się o dodatkowe uprawnienia. Przykładem użytkownika ubiegającego się o dodatkowe uprawnienia jest polecenie sudo uruchamiające polecenie jako użytkownik root lub system uwierzytelniania Kerberos .

Nowoczesne architektury procesorów mają wiele trybów procesora, które pozwalają systemowi operacyjnemu działać na różnych poziomach uprawnień . Niektóre procesory mają dwa poziomy (takie jak użytkownik i nadzorca ); Procesory i386 + mają cztery poziomy (#0 z największą liczbą, #3 z najmniejszymi uprawnieniami). Zadania są oznaczone poziomem uprawnień. Zasoby (segmenty, strony, porty itp.) oraz uprzywilejowane instrukcje są oznaczone wymaganym poziomem uprawnień. Gdy zadanie próbuje użyć zasobu lub wykonać uprzywilejowaną instrukcję, procesor określa, czy ma uprawnienia (jeśli nie, generowane jest przerwanie „błąd ochrony”). Zapobiega to uszkodzeniu systemu operacyjnego lub siebie nawzajem przez zadania użytkownika.

W programowaniu komputerowym wyjątki związane z naruszeniami instrukcji uprzywilejowanych mogą być spowodowane, gdy tablica została uzyskana poza granicami lub nieprawidłowy wskaźnik został wyłuskany, gdy nieprawidłowa lokalizacja pamięci, do której się odwołuje, jest uprzywilejowaną lokalizacją, taką jak jedno wejście/wyjście urządzenia sterującego. Jest to szczególnie prawdopodobne w językach programowania, takich jak C, które używają arytmetyki wskaźników lub nie sprawdzają automatycznie granic tablic.

Uniksa

Na uniksowych systemach superuser (powszechnie znany jako „root”) posiada wszystkie przywileje. Zwykli użytkownicy otrzymują tylko uprawnienia wystarczające do wykonywania ich najczęstszych zadań. Systemy UNIX mają wbudowane funkcje bezpieczeństwa. Większość użytkowników nie może założyć nowego konta użytkownika ani wykonywać innych procedur administracyjnych. Użytkownik „root” to specjalny użytkownik, coś, co nazywa się superużytkownikiem, który może zrobić wszystko w systemie. Ta moc na wysokim poziomie jest niezbędna do pełnego administrowania systemem UNIX, ale także pozwala użytkownikowi popełnić błąd i spowodować problemy z systemem.

Użytkownicy nieuprzywilejowani zazwyczaj nie mogą:

  • Dostosuj opcje jądra .
  • Zmodyfikuj pliki systemowe lub pliki innych użytkowników.
  • Zmień własność dowolnych plików.
  • Zmień poziom działania (w systemach z inicjalizacją w stylu System V ).
  • Zmień tryb pliku dowolnych plików.
  • Dostosuj limity ulimit lub przydziały dysku .
  • Uruchamiaj, zatrzymuj i usuwaj demony .
  • Procesy sygnałowe innych użytkowników.
  • Utwórz węzły urządzeń .
  • Utwórz lub usuń użytkowników lub grupy.
  • Montowanie i odmontowywanie woluminów, chociaż coraz częściej zezwala się zwykłym użytkownikom na montowanie i odmontowywanie nośników wymiennych, takich jak płyty Compact Disc . Jest to zazwyczaj realizowane przez FUSE .
  • Wykonuje zawartość dowolnego sbin/katalogu, chociaż powszechne staje się ograniczanie zachowania takich programów podczas wykonywania przez zwykłych użytkowników.
  • Powiąż porty poniżej 1024.

Windows NT

W systemach opartych na Windows NT uprawnienia są delegowane w różnym stopniu. Te delegacje można zdefiniować za pomocą Menedżera lokalnych zasad zabezpieczeń (SECPOL.MSC). Poniżej znajduje się skrócona lista domyślnych przypisań:

  • 'NT AUTHORITY\System' jest najbliższym odpowiednikiem Superuser w systemach uniksopodobnych. Ma wiele przywilejów klasycznego superużytkownika Uniksa, takich jak bycie powiernikiem każdego tworzonego pliku
  • „Administrator” jest jednym z najbliższych odpowiedników Superusera w systemach uniksopodobnych. Jednak ten użytkownik nie może obejść tylu zabezpieczeń systemu operacyjnego, ile może zrobić superużytkownik.
  • Członkowie grupy „Administratorzy” mają uprawnienia prawie równe „Administratorowi”.
  • Członkowie grupy „Power Users” mają możliwość instalowania programów i tworzenia kopii zapasowych systemu.
  • Członkowie grupy „Użytkownicy” są odpowiednikami nieuprzywilejowanych użytkowników w systemach uniksopodobnych.

System Windows definiuje szereg uprawnień administracyjnych, które można przypisać indywidualnie użytkownikom i/lub grupom. Konto (użytkownik) posiada tylko przyznane mu uprawnienia, bezpośrednio lub pośrednio poprzez członkostwo w grupie. Podczas instalacji tworzonych jest szereg grup i kont, którym nadawane są uprawnienia. Jednak te dotacje można zmienić w późniejszym czasie lub poprzez politykę grupy . W przeciwieństwie do Linuksa żadne uprawnienia nie są niejawnie ani na stałe przyznawane określonemu kontu.

Niektóre uprawnienia administracyjne (np. przejmowanie na własność lub przywracanie dowolnych plików) są tak potężne, że użyte w złych zamiarach mogą pozwolić na złamanie zabezpieczeń całego systemu. Przy kontroli konta użytkownika (domyślnie włączonej od systemu Windows Vista) system Windows pozbawi token użytkownika tych uprawnień podczas logowania. Tak więc, jeśli użytkownik zaloguje się za pomocą konta z szerokimi uprawnieniami systemowymi, nadal nie będzie działał z tymi uprawnieniami systemowymi. Za każdym razem, gdy użytkownik chce wykonać czynności administracyjne wymagające jakichkolwiek uprawnień systemowych, będzie musiał to zrobić z poziomu procesu z podwyższonym poziomem uprawnień . Podczas uruchamiania procesu z podwyższonym poziomem uprawnień użytkownik jest informowany, że jego/jej uprawnienia administracyjne są potwierdzane poprzez monit wymagający jego/jej zgody. Nie posiadanie uprawnień do czasu, gdy jest to rzeczywiście wymagane, jest zgodne z zasadą najmniejszych uprawnień .

Podwyższone procesy będą działać z pełnymi uprawnieniami użytkownika , a nie z pełnymi uprawnieniami systemu . Mimo to uprawnienia użytkownika mogą nadal być większe niż wymagane dla tego konkretnego procesu, a więc nie całkowicie mniejsze uprawnienia .

Oparte na systemie DOS systemy Windows ME, Windows 98, Windows 95 i wcześniejsze wersje systemu Windows bez systemu NT działały tylko w systemie plików FAT i nie obsługiwały uprawnień systemu plików. użyj systemu plików NTFS .

Nomenklatura

Nazwy używane w kodzie źródłowym systemu Windows kończą się ciągiem „Privilege” lub „LogonRight”. Doprowadziło to do pewnych nieporozumień co do tego, jak należy nazywać cały zestaw tych wszystkich „praw” i „przywilejów”.

Firma Microsoft używa obecnie terminu „Prawa użytkownika”. W przeszłości Microsoft używał także innych terminów, takich jak „Prawa przywilejów”, „prawa logowania użytkownika” i „Prawa NT”.

Zobacz też

Bibliografia