06 grudnia 2009

5 sposobów na złamanie szyfrowania Windows BitLocker!



Zła passa systemów oferujących kryptograficzną ochronę danych zgromadzonych na dyskach trwa w najlepsze. Zaledwie kilka miesięcy temu austriacki specjalista od bezpieczeństwa IT Peter Kleissne zaprezentował na konferencji Black Hat bootkit o nazwie Stoned, który umożliwia dostęp do dysków zaszyfrowanych za pomocą rozpowszechnianego na licencji Open Source narzędzia TrueCrypt. Teraz natomiast niemieccy specjaliści z Instytutu Fraunhofera opublikowali artykuł, który szczegółowo omawia kilka praktycznych metod pozwalających na złamanie mechanizmu Windows BitLocker...

BitLocker to funkcja znana z systemów operacyjnych Windows Vista, Server 2008 oraz 7, pozwalająca na zaszyfrowanie zawartości dowolnej partycji dyskowej. BitLocker oferuje użytkownikom kilka trybów pracy:
  • Tylko moduł TPM. Tryb pracy przezroczysty dla użytkownika, jeśli moduł TPM wykryje zmiany w plikach startowych systemu operacyjnego lub manipulacje sprzętowe, funkcja BitLocker przejdzie do trybu odzyskiwania i do odzyskania dostępu do danych będzie potrzebne hasło odzyskiwania.
  • Moduł TPM z kluczem startowym. Oprócz ochrony zapewnianej przez moduł TPM część klucza szyfrowania przechowywana jest na dysku flash USB. Nazywany jest on kluczem startowym. Nie można uzyskać dostępu do zaszyfrowanych danych bez klucza startowego.
  • Moduł TPM z numerem PIN. Oprócz ochrony zapewnianej przez moduł TPM funkcja BitLocker wymaga wprowadzenia przez użytkownika numeru PIN. Nie można uzyskać dostępu do zaszyfrowanych danych bez podania numeru PIN.
  • Tylko klucz startowy (bez modułu TPM). Informacje dotyczące kluczy szyfrowania przechowywane są wyłącznie na dysku flash USB. Użytkownik musi włożyć ten dysk do komputera podczas jego uruchamiania.

Specjaliści z instytutu Fraunhofer Institute for Secure Information Technology, jednej z 56 jednostek organizacyjnych Towarzystwa Fraunhofera, w swym opracowaniu „Attacking the BitLocker Boot Process”, przedstawili pięć scenariuszy praktycznych ataków na BitLocker pracujący w kilku różnych trybach.

Zaprezentowane ataki nie wykorzystują jakiejkolwiek luki w mechanizmach szyfrowania, czy też w samej platformie TPM. Autorzy artykułu skupili się wyłącznie na ograniczeniach technologii znanej jako Trusted Computing.

Pierwszy z zaproponowanych ataków zakłada zmodyfikowania kodu BitLockera poprzez dodanie funkcji typu backdoor. Zadaniem funkcji wprowadzonej przez intruza może być przykładowo zapisanie niezaszyfrowanego klucza użytkownika w lokacji, z której mógłby w przyszłości zostać odczytany przez intruza. Wprowadzona modyfikacja zostanie wykryta przez system, jednak przy odrobinie szczęścia uprawniony użytkownik wykorzystując trybu odzyskiwania zignoruje oraz rozwiąże problem z dostępem do systemu. W takim wypadku intruz będzie mógł w przyszłości uzyskać z docelowego systemu zapisany wcześniej klucz i w konsekwencji uzyska pełny dostęp do wszystkich danych. W celu uśpienia czujności użytkownika, intruz może poczekać z wykonaniem ataku do momentu wystąpienia jakichś czynności serwisowych lub modyfikacji sprzętowych docelowego systemu, które mogłyby w ocenie użytkownika stanowić uzasadnienie dla wystąpienie trybu odzyskiwania funkcji BitLocker.

Drugi scenariusz ataku zakłada również zmodyfikowanie kodu BitLockera, jednak polegające na zasymulowaniu samego interfejsu pobierania od użytkownika poufnych danych uwierzytelniania. Przykładowo intruz korzystający z dogodnej okazji (wydarzenia mogące w ocenie użytkownika uzasadniać wystąpienie trybu odzyskiwania) może zasymulować tryb odzyskiwania i przechwycić hasło odzyskiwania, pozwalające mu w przyszłości na swobodny dostęp do systemu. Oczywiście modyfikacja systemu spowoduje następnie wystąpienie prawdziwego trybu odzyskiwania. Jednak przy odrobienie szczęścia, użytkownik ponownie prawidłowo wykona procedurę odzyskiwania i bez żadnych podejrzeń powróci do normalnej pracy.

Kolejny atak zakłada natomiast chwilową podmianę programu rozruchowego BitLockera na czas przechwycenia wprowadzanych przez użytkownika danych. W tym przypadku intruz musi spowodować uruchomienie docelowego komputera z własnego nośnika (np. pamięci USB) w celu wykonania podmiany programu rozruchowego na taki, który zasymuluje interakcję z użytkownikiem i zachowa przechwycone klucze w miejscu dostępnym w przyszłości dla intruza. Następnie program intruza wykonuje przywrócenie oryginalnego programu rozruchowego, wyświetla na ekranie komunikat o błędzie i powoduje restart całego systemu. Po ponownym uruchomieniu, użytkownik może wrócić do normalnej pracy, gdyż BitLocker oraz cały system znajdują się w oryginalnym stanie.

Kolejna zaproponowana metoda ataku, została określona przez autorów opracowania jako phishing sprzętowy (hardware-level phishing attack). Atak taki miałby polegać na podmianie przez intruza całego docelowego komputera na system identyczny wizualnie oraz symulujący w pełni interakcję z użytkownikiem, w celu przechwycenia wszystkich wprowadzanych przez niego kluczy. Podstawiona maszyna następnie przekazywałaby przechwycone klucze intruzowi np. za pomocą transmisji radiowych. Uprawniony użytkownik zorientuje się prawdopodobnie natychmiast po zakończeniu dialogu z podmienionym systemem BitLocker. Nie zmienia to jednak faktu, że intruz w tym samy momencie będzie już w stanie zalogować się do przejętego wcześniej, oryginalnego komputera.

Ostatni z omówionych ataków korzysta z faktu, że wszelkie modyfikacje wprowadzone do systemu przed aktywowaniem funkcji BitLocker, po jej uruchomieniu staną się częścią zaufanej platformy. Wystarczy więc, że intruz wprowadzi do systemu mechanizmy umożliwiające mu na późniejsze uzyskiwanie dostępu do systemu, zanim fukcja BitLocker zostanie uruchomiona.

Dodatkowo, specjaliści z Institute for Secure Information Technology stworzyli rozwiązanie typu proof-of-concept ilustrujące w pełni trzeci rodzaj ataku (chwilową podmianę programu rozruchowego BitLockera). Opublikowany został również krótki materiał filmowy, na którym Jan Steffan oraz Jan Trukenmuller zaprezentowali szczegóły oraz przykładowy przebieg ataku.

Na koniec należy podkreślić, że każdy z pięciu przedstawionych ataków wymaga fizycznej interakcji z docelowym komputerem. Należy również zauważyć, że zaproponowane metody nie mogą być skuteczne w stosunku do komputerów czy też nośników przechwyconych w wyniku kradzieży, przypadkowo odnalezionych lub nabytych od poprzedniego właściciela.

Autorzy opracowania udowodnili jednak, że zaszyfrowanie dysków twardych nie rozwiązuje problemu dostępu fizycznego postronnych osób do objętego ochroną komputera.