Obowiązkowa kontrola integralności - Mandatory Integrity Control

Obowiązkowa kontrola integralności ( MIC ) to podstawowa funkcja zabezpieczeń systemu Windows Vista i nowszych, która dodaje obowiązkową kontrolę dostępu do uruchomionych procesów w oparciu o ich poziom integralności (IL). IL reprezentuje poziom wiarygodności obiektu. Celem tego mechanizmu jest ograniczenie uprawnień dostępu do potencjalnie mniej wiarygodnych kontekstów (procesów, plików i innych zabezpieczanych obiektów) w porównaniu z innymi kontekstami działającymi na tym samym koncie użytkownika, które są bardziej zaufane.

Realizacja

Obowiązkowa kontrola integralności jest definiowana przy użyciu nowego typu wpisu kontroli dostępu (ACE) do reprezentowania IL obiektu w deskryptorze zabezpieczeń . W systemie Windows listy kontroli dostępu (ACL) służą do nadawania praw dostępu (uprawnienia do odczytu, zapisu i wykonywania) oraz uprawnień użytkownikom lub grupom. IL jest przypisywany do tokenu dostępu podmiotu podczas inicjalizacji. Gdy podmiot próbuje uzyskać dostęp do obiektu (na przykład pliku), Security Reference Monitor porównuje poziom integralności w tokenie dostępu podmiotu z poziomem integralności w deskryptorze zabezpieczeń obiektu . System Windows ogranicza dozwolone prawa dostępu w zależności od tego, czy IL podmiotu jest wyższa, czy niższa niż obiekt, oraz w zależności od flag zasad integralności w nowym wpisie kontroli dostępu (ACE). Podsystem bezpieczeństwa implementuje poziom integralności jako obowiązkową etykietę, aby odróżnić go od dyskrecjonalnego dostępu pod kontrolą użytkownika, który zapewniają listy ACL.

Windows Vista definiuje cztery poziomy integralności: Niski ( SID : S-1-16-4096), Średni ( SID: S-1-16-8192), Wysoki ( SID: S-1-16-12288) i Systemowy ( SID : S-1-16-16384). Domyślnie procesy uruchamiane przez zwykłego użytkownika uzyskują średni poziom IL, a procesy z podwyższonym poziomem uprawnień mają wysoki poziom IL. Wprowadzając poziomy integralności, MIC umożliwia izolowanie klas aplikacji, umożliwiając scenariusze takie jak sandboxing potencjalnie podatnych na ataki aplikacji (takich jak aplikacje łączące się z Internetem ). Procesy z niskim IL nazywane są procesami o niskiej integralności, które mają mniejszy dostęp niż procesy z wyższymi IL, gdzie egzekwowanie kontroli dostępu odbywa się w systemie Windows.

Obiekty z listami kontroli dostępu, takie jak nazwane obiekty , w tym pliki , klucze rejestru lub nawet inne procesy i wątki , mają wpis na liście kontroli dostępu do systemu określający dostęp do nich, który określa minimalny poziom integralności procesu, który może używać obiekt. Windows upewnia się, że proces może zapisywać lub usuwać obiekt tylko wtedy, gdy jego poziom integralności jest równy lub wyższy niż żądany poziom integralności określony przez obiekt. Dodatkowo, ze względu na ochronę prywatności , obiekty procesów z wyższym IL są poza granicami, aby umożliwić równy dostęp do odczytu z procesów z niższym IL.

W konsekwencji proces nie może współdziałać z innym procesem, który ma wyższą IL. Tak więc proces nie może wykonywać funkcji, takich jak wstrzyknięcie biblioteki DLL do wyższego procesu IL przy użyciu CreateRemoteThread() funkcji interfejsu API systemu Windows lub wysyłanie danych do innego procesu przy użyciu tej WriteProcessMemory() funkcji.

Podanie

Podczas gdy procesy dziedziczą poziom integralności procesu, który go zrodził, poziom integralności można dostosować w czasie tworzenia procesu. Oprócz definiowania granic dla komunikatów okien w technologii izolacji uprawnień interfejsu użytkownika (UIPI), aplikacja Mandatory Integrity Control jest używana przez aplikacje takie jak Adobe Reader , Google Chrome , Internet Explorer i Windows Explorer do odizolowania dokumentów od podatnych obiektów w systemie. .

Internet Explorer 7 wprowadza oparte na MIC ustawienie „Tryb chroniony”, aby kontrolować, czy strona internetowa jest otwierana jako proces o niskiej integralności, czy nie (pod warunkiem, że system operacyjny obsługuje MIC), w oparciu o ustawienia strefy zabezpieczeń, zapobiegając tym samym niektórym klasom zabezpieczeń luki w zabezpieczeniach. Ponieważ w tym przypadku program Internet Explorer działa jako proces o niskiej ilości IL, nie może modyfikować obiektów na poziomie systemu - zamiast tego operacje na plikach i rejestrze są zwirtualizowane. Adobe Reader 10 i Google Chrome to dwie inne godne uwagi aplikacje, które wprowadzają tę technologię w celu zmniejszenia ich podatności na złośliwe oprogramowanie.

W pakiecie Microsoft Office 2010 wprowadzono izolowane środowisko piaskownicy „Widok chroniony” dla programów Excel, PowerPoint i Word, które uniemożliwia potencjalnie niebezpiecznym dokumentom modyfikowanie składników, plików i innych zasobów w systemie. Widok chroniony działa jako proces o niskiej integralności, a w systemie Windows Vista i nowszych wersjach systemu Windows wykorzystuje MIC i UIPI do dalszego ograniczania piaskownicy.

Jednak w niektórych przypadkach wyższy proces IL musi wykonywać pewne funkcje względem procesu niższego IL lub proces niższego IL musi mieć dostęp do zasobów, do których może uzyskać dostęp tylko proces wyższego IL (na przykład podczas przeglądania strony internetowej w trybie chronionym, zapisać plik pobrany z internetu do folderu wskazanego przez użytkownika). Procesy High IL i Low IL mogą nadal komunikować się ze sobą za pomocą plików, nazwanych potoków , LPC lub innych współdzielonych obiektów. Obiekt współdzielony musi mieć poziom integralności tak niski, jak proces Low IL i powinien być współużytkowany zarówno przez procesy Low IL, jak i High IL. Ponieważ MIC nie zapobiega współużytkowaniu obiektów przez proces Low IL z procesem z wyższym IL, może wywołać błędy w procesie z wyższym IL i sprawić, że będzie działał w imieniu procesu z niskim IL, powodując w ten sposób atak Squatting . Atakom Shatter można jednak zapobiec, stosując izolację uprawnień interfejsu użytkownika, która korzysta z funkcji MIC.

Zobacz też

Bibliografia

Dalsza lektura

Linki zewnętrzne