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

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

17.09.2013 15:41, aktualizacja: 18.09.2013 09:38

W toku dyskusji nad konsekwencjami ujawnienia przez EdwardaSnowdena praktyk inwigilacyjnych NSA pojawiły się głosy, że wszelkienadzieje na uzyskanie pełnego bezpieczeństwa i poufności komunikacjisą płonne, gdyż nie mamy możliwości zbudowania w pełni zaufanychsystemów. Nawet jeśli sami sobie kompilujemy zaufane oprogramowanieze źródeł, to nie możemy być pewni tego, czy akurat nasz kompilatornie dołączy czegoś ciekawego do zbudowanego pliku wynikowego. Nawetjeś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 mawbudowanych furtek, nawet w samym mikroprocesorze. Już przecież odczasów Pentium Pro Intel jest w stanie modyfikować mikrokod swoichczipów. Co zawierają łatki Chipzilli, których od 2000 roku wydano już29, tego nie wie nikt poza Intelem i Microsoftem – format łateknigdy nie został udokumentowany, a sam kod jestzaszyfrowany. Załóżmy jednak, że decydenci w Intelu czy Microsofcie nigdy nieulegli presji ze strony NSA, projektując swój sprzęt i oprogramowanietak, by nie było w nich żadnego zła. Czy jest możliwe, by agenciNarodowej Agencji Bezpieczeństwa, czy też inni zainteresowaniglobalną inwigilacją za pomocą komputerów, uzyskali dostęp do liniiprodukcyjnych sprzętu? Niestety tak – podczas zeszłorocznejkonferencji Black Hat badacz Jonathan Brossard zademonstrowałsprzętowegobackdoora o nazwie Rakshasa, który działał na 230 intelowychpłytach głównych, umożliwiał obejście szyfrowania dysków i był wstanie zainfekować BIOS płyty głównej zarówno z włożonego do portupendrive'a, jak i np. kopiując się z firmware'u karty sieciowej czyinnego urządzenia podłączonego do komputera. Brossard nie udostępniłnigdy kodu Rakhasy, ale stwierdził, że jest pewien, że rozmaiteagencje wywiadowcze na całym świecie dysponują podobnymi narzędziami.[img=kostki]Wywołało to falę niepokoju na całym świecie – co jeśli tonp. Chiny, w których produkowana jest większość sprzętuelektronicznego, umieszcza takie backdoory w sprzęcie zaprojektowanymprzez amerykańskie firmy? Wykrycie takiej ingerencji, choćczasochłonne, nie powinno być niemożliwe. W ostateczności, nawetgdyby doszło do modyfikacji sprzętowych na poziomie pojedynczychbramek, producent mógłby przeprowadzić mikroskopową analizę czipów,by ustalić, czy nie wprowadzono do nich zmian osłabiającychbezpieczeństwo. Niestety są możliwe takie ingerencje w sprzęt, których nikt niewykryje, nawet jeśli będzie oglądał cały mikroprocesor podmikroskopem elektronowym. Dowiedli tego Georg Becker, FrancescoRegazzoni, Christof Paar i Wayne Burleson z University ofMassachusetts, opracowując taką niewykrywalną metodę popsuciamechanizmów kryptograficznych CPU – a konkretniekryptograficznie zabezpieczonego sprzętowegogeneratora liczb losowych, stosowanego w procesorach Intela zrodziny Ivy Bridge. Generuje on losowe liczby 128-bitowe, a jegobezpieczeństwo zostało potwierdzone niezależnymi audytami icertyfikatami zgodności z różnymi normami. Badacze postawili sobie za cel obniżenie bezpieczeństwagenerowanej losowej liczby ze 128 bitów do n bitów, gdzie nmogłoby być dowolnie wybierane.Chcieli też, by zmodyfikowany generator przechodził swój wbudowanytest poprawności, zaś wygenerowane przez niego liczby przechodziłytesty dla serii liczb losowych przygotowane przez matematyków NIST.Praktyka wprowadzania określonych nieczystości do siecikrystalicznej jest, jak wyjaśniają badacze, często wykorzystywanaprzez producentów układów półprzewodnikowych do tworzeniatranzystorów o określonych właściwościach. Tutaj generator popsutowłaśnie takim atakiem „chemicznym”, modyfikując składdomieszek w jego tranzystorach. Nie zmieniono przy tym żadnychwartości logicznych na bramkach – po prostu jeden z elementów,który wcześniej przybierał zmienne wartości, po modyfikacjiprzybierał jedynie stałą wartość. W efekcie atak przeciwkogeneratorowi liczb losowych (czyli szansa zgadnięcia 128-bitowejliczby), 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 niebędzie wyglądało na podejrzane – jako że nie zna on stałychwartości wprowadzonych przez napastnika, liczba uzyskana z generatorawygląda dla niego na losową i poprawną (wykorzystywany w jejgenerowaniu algorytm AES daje wyniki o bardzo dobrych własnościachlosowości, nawet jeśli na wejściu zmienionych zostało tylko kilkabitów – piszą badacze). Modyfikacji takich nie wykryje teżwewnętrzny test układu BIST (pisany przecież z myślą o wykrywaniukryptograficzych manipulacji, jak również błędów produkcyjnych ibłędów wynikających ze starzenia się układu), gdyż można go oszukaćprzez modyfikację sum kontrolnych, nie wykaże go też żadna analizaoptyczna, tym bardziej że modyfikacje wprowadzono tylko w kilkubramkach.Na razie zabezpieczeń przed tak spreparowanymi czipami po prostunie ma. Jednostka kryptograficzna jest w imię bezpieczeństwaizolowana od reszty sprzętu, przez co tworzenie dla niej bardziejzłożonych testów zabezpieczających, wykorzystujących inne elementyprocesora, 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 towyjaśniać, dlaczego ostatnio w rosyjskich instytucjach rządowychzaczęto wracać do elektrycznych maszyn do pisania.Szczegółowy opis takiego ataku znajdziecie w artykule pt. StealthyDopant-Level Hardware Trojans, dostępnym tutaj.

Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (30)