r   e   k   l   a   m   a
r   e   k   l   a   m   a

Sprzętowy trojan w generatorze liczb losowych Intela: takiego ataku nie da się wykryć?

Strona główna AktualnościSPRZĘT

W toku dyskusji nad konsekwencjami ujawnienia przez Edwarda Snowdena praktyk inwigilacyjnych NSA pojawiły się głosy, że wszelkie nadzieje na uzyskanie pełnego bezpieczeństwa i poufności komunikacji są płonne, gdyż nie mamy możliwości zbudowania w pełni zaufanych systemów. Nawet jeśli sami sobie kompilujemy zaufane oprogramowanie ze źródeł, to nie możemy być pewni tego, czy akurat nasz kompilator nie dołączy czegoś ciekawego do zbudowanego pliku wynikowego. Nawet jeśli ze źródeł zbudujemy cały system (w stylu Linux-from-scratch), to nie możemy mieć pewności, że sprzęt na którym pracujemy nie ma wbudowanych furtek, nawet w samym mikroprocesorze. Już przecież od czasów Pentium Pro Intel jest w stanie modyfikować mikrokod swoich czipów. Co zawierają łatki Chipzilli, których od 2000 roku wydano już 29, tego nie wie nikt poza Intelem i Microsoftem – format łatek nigdy nie został udokumentowany, a sam kod jest zaszyfrowany.

Załóżmy jednak, że decydenci w Intelu czy Microsofcie nigdy nie ulegli presji ze strony NSA, projektując swój sprzęt i oprogramowanie tak, by nie było w nich żadnego zła. Czy jest możliwe, by agenci Narodowej Agencji Bezpieczeństwa, czy też inni zainteresowani globalną inwigilacją za pomocą komputerów, uzyskali dostęp do linii produkcyjnych sprzętu? Niestety tak – podczas zeszłorocznej konferencji Black Hat badacz Jonathan Brossard zademonstrował sprzętowego backdoora o nazwie Rakshasa, który działał na 230 intelowych płytach głównych, umożliwiał obejście szyfrowania dysków i był w stanie zainfekować BIOS płyty głównej zarówno z włożonego do portu pendrive'a, jak i np. kopiując się z firmware'u karty sieciowej czy innego urządzenia podłączonego do komputera. Brossard nie udostępnił nigdy kodu Rakhasy, ale stwierdził, że jest pewien, że rozmaite agencje wywiadowcze na całym świecie dysponują podobnymi narzędziami.

Wywołało to falę niepokoju na całym świecie – co jeśli to np. Chiny, w których produkowana jest większość sprzętu elektronicznego, umieszcza takie backdoory w sprzęcie zaprojektowanym przez amerykańskie firmy? Wykrycie takiej ingerencji, choć czasochłonne, nie powinno być niemożliwe. W ostateczności, nawet gdyby doszło do modyfikacji sprzętowych na poziomie pojedynczych bramek, producent mógłby przeprowadzić mikroskopową analizę czipów, by ustalić, czy nie wprowadzono do nich zmian osłabiających bezpieczeństwo.

Niestety są możliwe takie ingerencje w sprzęt, których nikt nie wykryje, nawet jeśli będzie oglądał cały mikroprocesor pod mikroskopem elektronowym. Dowiedli tego Georg Becker, Francesco Regazzoni, Christof Paar i Wayne Burleson z University of Massachusetts, opracowując taką niewykrywalną metodę popsucia mechanizmów kryptograficznych CPU – a konkretnie kryptograficznie zabezpieczonego sprzętowego generatora liczb losowych, stosowanego w procesorach Intela z rodziny Ivy Bridge. Generuje on losowe liczby 128-bitowe, a jego bezpieczeństwo zostało potwierdzone niezależnymi audytami i certyfikatami zgodności z różnymi normami.

Badacze postawili sobie za cel obniżenie bezpieczeństwa generowanej losowej liczby ze 128 bitów do n bitów, gdzie n mogłoby być dowolnie wybierane. Chcieli też, by zmodyfikowany generator przechodził swój wbudowany test poprawności, zaś wygenerowane przez niego liczby przechodziły testy dla serii liczb losowych przygotowane przez matematyków NIST.

Praktyka wprowadzania określonych nieczystości do sieci krystalicznej jest, jak wyjaśniają badacze, często wykorzystywana przez producentów układów półprzewodnikowych do tworzenia tranzystorów o określonych właściwościach. Tutaj generator popsuto właśnie takim atakiem „chemicznym”, modyfikując skład domieszek w jego tranzystorach. Nie zmieniono przy tym żadnych wartości logicznych na bramkach – po prostu jeden z elementów, który wcześniej przybierał zmienne wartości, po modyfikacji przybierał jedynie stałą wartość. W efekcie atak przeciwko generatorowi liczb losowych (czyli szansa zgadnięcia 128-bitowej liczby), zamiast mieć prawdopodobieństwo sukcesu na poziomie 1/2 ^128, miał prawdopodobieństwo sukcesu na poziomie 1/2 ^ n, gdzie n to liczba zmodyfikowanych bitów.

Dla osoby przeprowadzającej analizę układu nic tymczasem nie będzie wyglądało na podejrzane – jako że nie zna on stałych wartości wprowadzonych przez napastnika, liczba uzyskana z generatora wygląda dla niego na losową i poprawną (wykorzystywany w jej generowaniu algorytm AES daje wyniki o bardzo dobrych własnościach losowości, nawet jeśli na wejściu zmienionych zostało tylko kilka bitów – piszą badacze). Modyfikacji takich nie wykryje też wewnętrzny test układu BIST (pisany przecież z myślą o wykrywaniu kryptograficzych manipulacji, jak również błędów produkcyjnych i błędów wynikających ze starzenia się układu), gdyż można go oszukać przez modyfikację sum kontrolnych, nie wykaże go też żadna analiza optyczna, tym bardziej że modyfikacje wprowadzono tylko w kilku bramkach.

Na razie zabezpieczeń przed tak spreparowanymi czipami po prostu nie ma. Jednostka kryptograficzna jest w imię bezpieczeństwa izolowana od reszty sprzętu, przez co tworzenie dla niej bardziej złożonych testów zabezpieczających, wykorzystujących inne elementy procesora, jest praktycznie niemożliwe.

Zapewne badacze z University of Massachusetts nie są pierwszymi, którym udało się taki atak przeprowadzić. Jeśli tak jest, to może to wyjaśniać, dlaczego ostatnio w rosyjskich instytucjach rządowych zaczęto wracać do elektrycznych maszyn do pisania.

Szczegółowy opis takiego ataku znajdziecie w artykule pt. Stealthy Dopant-Level Hardware Trojans, dostępnym tutaj.

r   e   k   l   a   m   a
© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.