Ataki temperaturowe na układy scalone

| Gospodarka Aktualności

Temperatura ma ogromny wpływ na pracę układów scalonych. W ekstremalnych temperaturach, zarówno niskich, jak i wysokich, przestają one działać, co prowadzi do zawieszenia systemu lub urządzenia, którego są częścią. Między tymi skrajnościami pracują prawidłowo, ale im bliżej wartości ekstremalnych, tym ich działanie jest bardziej nieprzewidywalne. Manipulując temperaturą, można zatem próbować je destabilizować. Wielkość ta staje się w związku z tym potencjalnym wektorem ataku.

Ataki temperaturowe na układy scalone

Paradoksalnie, bezpieczniejsza może być sytuacja, w której na przykład z powodu przegrzania się układ scalony ulega całkowitemu uszkodzeniu, a system lub urządzenie po prostu przestaje działać. Nie występują wówczas inne zagrożenia, a na taką awarię można się wcześniej przygotować. Groźniejsze skutki może mieć rozregulowanie urządzenia, które zostało spowodowane niestabilną pracą układu elektronicznego.

Od niedawna jej celowe wywoływanie jest coraz poważniej brane pod uwagę przez specjalistów w dziedzinie cyberbezpieczeństwa jako potencjalny sposób na przeprowadzenie ataku hakerskiego. Zmiany temperatury mogą również stanowić niezamierzone źródło danych dla atakującego, jak i narzędzie do ingerowania w działanie układu scalonego. Analiza tych zagrożeń to stosunkowo nowy obszar badań. Z drugiej strony nie jest to zupełna nowość.

Już wiele lat temu specjaliści ostrzegali, że możliwe jest opracowanie złośliwego oprogramowania, które ingerowałoby w sposób, w jaki rozpraszany jest nadmiar ciepła wytwarzanego w układzie scalonym, co doprowadziłoby do wzrostu jego temperatury. Przykład działania, które przyniosłoby taki skutek, to programowe, zdalne wyłączenie wentylatorów. W ten sposób można przeprowadzić atak typu odmowa usługi (denial of service). Oprócz tego możliwe jest wykorzystanie temperatury w ataku kanałem bocznym (side-channel).

Ataki temperaturowe na układy scalone - 1

Atak kanałem bocznym

W tytułowej metodzie atakujący pozyskuje informacje z systemu na podstawie wyników pomiarów pośrednich efektów działania systemu i jego sprzętu, zamiast bezpośrednio atakować kod. Zwykle ataki te mają na celu wykradanie poufnych informacji, na przykład kluczy kryptograficznych, poprzez analizę emisji sprzętowych.

Do niedawna ataki kanałami bocznymi były trudne do przeprowadzenia. Obecnie jednak sytuacja ta zmienia się z kilku powodów. Czynnikiem sprzyjającym jest rosnąca czułość sprzętu pomiarowego, która umożliwia zbieranie bardzo szczegółowych danych o systemie w trakcie jego działania. Poza tym większa moc obliczeniowa procesorów oraz rozwój technik uczenia maszynowego pozwalają atakującym efektywniej przetwarzać, a dzięki temu też lepiej zrozumieć nielegalnie pozyskiwane surowe dane, które odpowiadają zmianom w systemie.

Generalnie przed atakami kanałami bocznymi trudno się bronić. Wynika to z tego, że przeważnie nie pozostawiają żadnych śladów ani w zauważalny sposób nie wpływają na system.

Ataki temperaturowe na układy scalone - 2

Ataki temperaturowe

Hakerzy wykorzystują różnego typu emisje. Przykładowo, aby zrekonstruować przepływ sygnałów w urządzeniu, mierzą emitowane przez nie promieniowanie elektromagnetyczne. Potrafią również wykraść dane na podstawie pomiaru dźwięków towarzyszących pracy urządzenia.

Przykładowo, z sukcesem przeprowadzano ataki polegające na wykradaniu haseł wpisywanych przez użytkownika na podstawie analizy nagrania audio, która pozwala na rozróżnienie dźwięków towarzyszących naciskaniu określonych klawiszy na klawiaturze. Kolejnym przykładem jest „podsłuchiwanie” wentylatorów chłodzących i na tej podstawie określanie, z jaką szybkością się obracają. Informację tę można z kolei powiązać z tym, jak silnie obciążające jednostkę centralną obliczenia są w akurat wykonywane. Hakerzy potrafią również pozyskiwać informacje z energii cieplnej emitowanej podczas operacji obliczeniowych w układach scalonych.

Włamujący się wykorzystują w tym przypadku to, że układy scalone są zbudowane z obwodów tranzystorowych. W nich, w uproszczeniu, każdej instrukcji odpowiada inna ścieżka przepływu prądu. Temu z kolei towarzyszy emisja ciepła, a zatem odpowiadają również inne wzory termiczne. Analizując ich zmienność podczas wykonywania programu, można wnioskować na temat jego kodu i zrekonstruować dane wrażliwe pod kątem bezpieczeństwa. Jest to o tyle ułatwione, że procesory często mają już wbudowane sensory temperatury, zaś w systemach operacyjnych udostępniane są interfejsy programowe do jej monitorowania.

Wstrzykiwanie błędów - fault injection

Technika fault injection wykorzystująca lasery jeszcze do niedawna była zarezerwowana wyłącznie dla laboratoriów badawczych. Pozostając poza zasięgiem „przeciętnego” hakera, nie była traktowana jako poważne zagrożenie przez producentów układów scalonych. Niestety, niedawno „trafiła pod strzechy”, co powinno skłonić do większego nią zainteresowania.

W metodzie tej układ scalony zostaje w konkretnych miejscach punktowo naświetlony przez wiązkę promieniowania laserowego o określonych parametrach. Lokalna koncentracja energii powoduje, że fotony oddziałują z materiałem półprzewodnikowym, co skutkuje powstaniem par elektron-dziura. Ich zagęszczenie jest największe w środki plamki lasera. Dodatkowe nośniki powodują przełączenia tranzystorów, co pozwala na manipulacje.

Ataki temperaturowe na układy scalone - 3

Laserowe wstrzykiwanie błędów w praktyce

Aby ta technika była skuteczna, kluczowy jest wybór odpowiedniej długości fali promieniowania laserowego. Podłoża krzemowe, na których produkuje się układy scalone, są „przezroczyste” dla światła w zakresie podczerwieni. Dlatego zwykle korzysta się ze źródeł promieniowania o długości fali powyżej 1000 nm, które docierają do głębszych warstw, gdzie znajdują się elementy aktywne. Z kolei zmieniając moc wiązki oraz czas trwania impulsów, można regulować rozmiar plamki, w ten sposób kontrolując ilość dostarczanej energii i obszar naświetlania. W celu przemieszczenia wiązki po powierzchni układu scalonego wykorzystuje się zestaw ruchomych luster. Zapewnia to szybką i precyzyjną kontrolę jej położenia. Umożliwia to uzyskanie różnych wzorów wstrzykiwania błędów, które umożliwiają realizację różnych scenariuszy ataku.

Przykładem jest przesuwanie wiązki lasera po całej tablicy komórek pamięci albo odwracanie bitów wzdłuż jednej linii jednym ruchem. Takie podejście jest szczególnie skuteczne podczas atakowania dużych bloków pamięci albo rejestrów, w przypadku których wywołanie wielu błędów w jednej operacji może prowadzić do poważnych zakłóceń. Z kolei programując lustra tak, aby wiązka przemieszczając się, tworzyła spiralny wzór, można stopniowo zwiększać obszar ataku, potencjalnie powodując kaskadowe błędy. Bardziej skomplikowane wzorce ruchu pozwalają na wykorzystanie określonych luk w architekturze danego układu scalonego czy celowanie w skrzyżowania magistral danych lub linii zegara, by spowodować rozprzestrzenianie się błędów.

Potencjał urządzeń open source do laserowego wstrzykiwania błędów

Głównym powodem, dla którego opisywana technika była do tej pory domeną jedynie ośrodków badawczych, był duży stopień skomplikowania i koszt sprzętu potrzebnego do przeprowadzenia ataku tego typu. Zmieniło się to wraz z udostępnieniem przez firmę NetSPI projektu urządzenia do laserowego wstrzykiwania błędów RayV Lite na licencji open source. Bazując na nim, każdy - o ile dysponuje drukarką 3D - może takie urządzenie zbudować, przeznaczając na ten cel nie więcej niż 500 euro. Decyzję NetSPI, którą ogłoszono na corocznej konferencji bezpieczeństwa Black Hat 2024 w USA, uznano za przełomową, ponieważ obecnie każdy chętny, zarówno specjalista, jak i hobbysta, może przetestować odporność dowolnego układu scalonego, dzieląc się wynikami testu w ramach społeczności skupionej wokół projektu open source. Przewiduje się, że taka demokratyzacja techniki laserowego wstrzykiwania błędów napędzi innowacje, znacząco przyczyniając się do poprawy odporności układów scalonych na ataki hakerskie.

Monika Jaworowska