Device Guard - nowa funkcja bezpieczeństwa w Windows 10

Device Guard - nowa funkcja bezpieczeństwa w Windows 10

Autor: Krzysztof Kapustka

Opublikowano: 5/18/2015, 12:00 AM

Liczba odsłon: 7660

Każdego dnia jesteśmy świadkami przeprowadzanych na całym świecie ataków cybernetycznych, mających na celu zainfekowanie wybranych systemów informatycznych niszczycielskim wirusem lub też innego rodzaju szkodliwym oprogramowaniem, pozwalającym uskutecznić kradzież tożsamości użytkownika, a tym samym pozyskać należące do niego dane i przyznany mu dostęp do zasobów. Ataki te mogą być przeprowadzane nie tylko z zewnątrz systemu, ale w niektórych przypadkach także z poziomu jego wewnętrznej infrastruktury. Administratorzy od lat robią wszystko co w ich mocy, by sobie w końcu z tym problemem jakoś poradzić. Niestety stosowane do tej pory rozwiązania nie gwarantowały im wystarczająco wysokiej ochrony przed tego rodzaju zagrożeniami, jako że doświadczonym i cierpliwym intruzom nie trudno jest ominąć lub zmodyfikować implementowane w nich zabezpieczenia programowe, czyniąc je całkowicie bezużytecznymi kawałkami kodu.

Na szczęście w systemie Windows 10 pojawi się szereg zupełnie nowych technologii bezpieczeństwa, spośród których jedna wydaje się stanowić dla powyższego problemu definitywne rozwiązanie. Mowa tu o jeszcze do niedawna bezimiennej realizacji programowo-sprzętowej, którą to stosunkowo niedawno ochrzczono mianem funkcji Device Guard.

Wprowadzenie do funkcji Device Guard

Device Guard zmienia w dużym stopniu podejście do bezpieczeństwa posiadanych urządzeń, pozwalając administratorom lepiej zabezpieczać i chronić wykorzystywane w firmie komputery przed szkodliwym oprogramowaniem. Funkcja ta oferuje wysoki poziom kontroli nad instalowanymi i uruchamianymi w środowisku biznesowym aplikacjami, ograniczając działanie programów i usług wyłącznie do tych, które uznawane są w naszej organizacji za zaufane. W ten sposób dowolnego rodzaju kod wykonywalny - aplikacja, usługa lub skrypt - którego jawnie nie określiliśmy jako pochodzący z zaufanego źródła, nie będzie się w stanie wykonać. Implementacja tego rozwiązania przypomina więc na pierwszy rzut oka tradycyjną białą listę, na której to umieszczamy bezpieczne naszym zdaniem aplikacje. Od pozostałych rozwiązań tego typu Device Guard różni się jednak w dwóch obszarach. Po pierwsze, nie jest to już dłużej rozwiązanie programowe, a programowo-sprzętowe. Po drugie, działanie tej funkcji opiera się na pewnych elementach technologii wirtualizacji, dzięki czemu udało się wprowadzić na platformę Windows zupełnie nowy poziom bezpieczeństwa. Wykorzystując wirtualizację Device Guard odizolowuje sprawdzającą integralność komponentów systemu usługę Code Integrity od jądra systemu Windows, dzięki czemu wykonuje się ona obok (a nie w ramach) jądra systemu, w specjalnie przygotowanym dla niej kontenerze Hyper-V.

Taka implementacja w oparciu o separację sprawia, że nawet w razie uzyskania przez atakującego pełnego dostępu do systemu Windows, ewentualna chęć ominięcia przez niego zabezpieczeń funkcji Device Guard nie będzie możliwa. Choć na pierwszy rzut oka rozwiązanie to wydaje się znacznie bezpieczniejsze niż obecnie stosowane technologie wykrywania złośliwego kodu, to jednak nie stanowi ono samodzielnej ochrony przed szkodliwym oprogramowaniem. Zadaniem Device Guard jest wsparcie i rozszerzenie dotychczas stosowanych technologii kontroli aplikacji (takich jak AppLocker), ale też współpraca z oprogramowaniem antywirusowym. Tam gdzie kończy się rola funkcji Device Guard, jaką jest zablokowanie złośliwego kodu wykonywalnego, pracę kontynuować powinien solidny program antywirusowy, chroniący nas chociażby przed szkodliwymi aplikacjami interpretowanymi (JIT), będącymi przykładowo zagnieżdżonymi w dokumentach makrami.

Funkcja Device Guard ma być odpowiedzią na zagrożenia ze strony wielu szkodliwych programów, stanowiąc również skuteczną ochronę przed phishingiem i exploitami typu Zero Day. Co więcej, jako że jej działanie nie opiera się na monitorowaniu zachowań, ani też nie bazuje na rozpoznanych uprzednio sygnaturach wirusów, z powodzeniem ochroni nas ona również przed nieznanymi jeszcze zagrożeniami. Z powodzeniem znajdzie ona swoje zastosowanie również na urządzeniach realizujących krytyczne funkcje biznesowe (dedykowane punkty sprzedaży czy wszelkiego rodzaju automaty gotówkowe). W każdym z tych przypadków nowy "strażnik" będzie chronił nas przed uruchomieniem na naszym komputerze aplikacji pochodzących z niepewnych źródeł. To administratorzy decydować będą o tym, która aplikacja jest dla konkretnego środowiska bezpieczna, określając dla niego stosowny typ zaufanego certyfikatu. Jeśli nawet zaufane przez nich oprogramowanie nie zostało podpisane cyfrowo przez producenta, będą oni mogli podpisać go sami. Ma to zastosowanie zarówno do aplikacji uniwersalnych, jak i tradycyjnych aplikacji Windows.

Działanie funkcji Device Guard

Działanie funkcji Device Guard jest stosunkowo proste. Korzystające z niej urządzenia uruchamiane są przy wykorzystaniu mechanizmu Secure Boot interfejsu UEFI, który gwarantuje nam, że przed rozruchem systemu Windows nie wykona się żaden inny kod. Po załadowaniu komponentów systemu Windows, rozpocznie się proces uruchamiania odizolowanych w ramach wirtualizacji usług, w tym wspomnianej usługi integralności kodu (Code Integrity) na poziomie jądra. Zadaniem tych usług jest świadczenie dodatkowej ochrony rdzenia systemu, sterowników oraz innych komponentów ochronnych Windows, poprzez uniemożliwienie wykonania się złośliwego kodu - zarówno w trakcie rozruchu, jak i już po załadowaniu systemu.

W dalszej części pracy systemu Windows działająca usługa integralności kodu sprawdza, czy wykonywany w trybie użytkownika kod - dowolna aplikacja Windows lub usługa - pochodzi z zaufanego źródła. Jeśli tak, aplikacja uruchomi się. Jeśli nie, realizujący ją kod zostanie zablokowany, a my otrzymamy stosowne powiadomienie.

Zobrazujmy to prostym przykładem. Użytkownik otrzymuje na swoją skrzynkę pocztową spreparowaną wiadomość e-mail, która do złudzenia przypomina jeden z otrzymywanych na co dzień firmowych maili. Niczego nieświadomy pracownik klika zawarte w niej łącze, po czym zostaje przeniesiony na znaną mu dobrze witrynę. W rzeczywistości jednak strona ta została odpowiednio przygotowana przez atakującego i serwuje szkodliwe oprogramowanie. Pracownik klika jedno z łączy na stronie i niechcący pobiera złośliwy program. W systemie Windows 7 komputer zostaje automatycznie zainfekowany i jesteśmy tu już zdani wyłącznie na łaskę oprogramowania antywirusowego. Natomiast w przypadku pracującego w ramach funkcji Device Guard systemu Windows 10, próba wykonania się takiego programu (jako że nie pochodzi on z zaufanego źródła) zakończy się komunikatem o naruszeniu zasady integralności systemu i zablokowaniem złośliwego kodu. Takiej aplikacji nie pomoże nawet fakt, że użytkownik zezwolił na przyznanie jej uprawnień administratora.

Funkcję Device Guard będziemy mogli aktywować w systemie Windows 10 w jednym z dwóch dostępnych trybów:

  • zwykłym, który zapewni nam standardową ochronę przed złośliwym oprogramowaniem
  • rozszerzonym, który poprzez dodatkowe elementy wirtualizacji zabezpieczy nas również przed bardziej zaawansowanymi zagrożeniami, a także jakąkolwiek próbą ingerencji w system i zainstalowane na nim oprogramowanie

Wymagania sprzętowe i programowe

Chcąc skorzystać z funkcji Device Guard potrzebować będziemy nie tylko samego systemu Windows 10, ale przede wszystkim sprzętu wyposażonego w dostarczane w ramach interfejsu UEFI rozwiązanie Secure Boot. Jest ono wymaganym elementem komponentu Trusted Boot - kolejnego składnika wspierającego technologię Device Guard. Po jej włączeniu, zainstalowany i skonfigurowany zostanie izolujący procesy systemu Windows 10 kontener Hyper-V, a także stosowne narzędzie do zarządzania podpisami dla tradycyjnych aplikacji Windows. Tu należy zwrócić uwagę, że funkcja Device Guard do poprawnego działania potrzebować będzie odpowiednich sterowników, zaś zastosowany w niej poziom wirtualizacji wymaga z kolei wsparcia dla jednostki zarządzania pamięcią IOMMU, która to realizowana jest przez AMD w formie technologii AMD-Vi, zaś przez Intela w formie rozszerzeń wirtualizacji VT-d.

Funkcja Device Guard wymaga ponadto od administratorów wstępnej konfiguracji, a także definicji określającej ją zasady Code Integrity (tę przygotowujemy dedykowanym jej narzędziem, po czym standardowo wdrażamy ją z poziomu Zasad grupy lub przy wykorzystaniu stosownych narzędzi zarządzania - Intune lub System Center Configuration Manager). Po dokonaniu stosownej konfiguracji pozostaje nam już tylko określenie rodzaju uznawanych w naszym środowisku podpisów cyfrowych. Device Guard nie tylko sprawdza czy aplikacja została odpowiednio podpisana, ale też kładzie spory nacisk na rodzaj tego podpisu. Musimy więc jawnie określić, którego rodzaju podpis będzie w naszym środowisku respektowany. Aplikacje podpisać możemy w ramach:

  • procesu publikacji aplikacji w Sklepie Windows (aplikacje te automatycznie podpisywane są specjalnymi sygnaturami, które przekazywane są do wykorzystywanych przez nas urzędów certyfikacji)
  • własnego certyfikatu cyfrowego lub infrastruktury klucza publicznego (umożliwia to niezależnym dostawcom oprogramowania i przedsiębiorstwom dodawanie się do zaufanych list)
  • zewnętrznych, zaufanych urzędów dokonujących podpisów cyfrowych
  • oferowanej przez Microsoft usługi sieciowej

Jak już wspomnieliśmy, Device Guard wymaga również pewnych rozwiązań na poziomie sprzętu. Z tego względu Microsoft podjął już stosowną współpracę z kilkoma popularnymi producentami urządzeń. Na liście partnerów OEM znaleźli się już m.in. Acer, Fujitsu, HP, NCR, Lenovo, Par czy Toshiba, a wkrótce dołączą do nich zapewne kolejni znani dostawcy. Device Guard to jednak nie jedyna nowa funkcja systemu Windows 10 z tego samego obszaru. W systemie tym znajdziemy ponadto szereg innych rozwiązań bezpieczeństwa, takich jak choćby dwie nowe technologie identyfikacji i uwierzytelniania - Windows Passport oraz Windows Hello. Rozwiązaniom tym poświęcimy jednak osobne artykuły.

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia