Postać w granatowym garniturze z kamerą zamiast głowy.

Urządzenia, które szpiegują

Fot. Piotr Sokołowski
Ostatnio głośnym tematem stało się ewentualne wykorzystywanie przez producentów infrastruktury telekomunikacyjnej swoich produktów do nielegalnego zdobywania danych. Ofiarami szpiegowania miałyby być państwa, operatorzy, a finalnie też zwykli użytkownicy. Podobne zarzuty firmom z Chin stawiają amerykańskie władze. A my w CHIP-ie sprawdzamy, czy i jak w praktyce byłoby to do zrobienia oraz czy takie działania da się skutecznie zamaskować.

Głębiej niż firmware

Już obecność niepożądanego kodu w niskopoziomowym oprogramowaniu sprzętowym, takim jak UEFI w płytach głównych czy firmware w innego typu podzespołach i urządzeniach (kartach graficznych, kartach sieciowych, routerach itp.) świadczy o tym, że elektronika może być, teoretycznie, już fabrycznie zainfekowana. Jednak istnieje jeszcze głębsza metoda umieszczania niepożądanego kodu w sprzęcie poprzez zmianę projektu samego układu scalonego, a nawet nie tyle zmianę projektu (np. maski chipu), lecz zmianę chemicznego składu substancji, z której wytwarza się tranzystory. Przyjrzyjcie się poniższej ilustracji.

Schemat modyfikacji bramki tranzystora (graf. Georg T. Becker, Francesco Regazzoni, Christof Paar, Wayne P. Burleson)

Po lewej stronie widzimy niezmodyfikowaną bramkę logiczną tranzystora – część zawiera domieszkę czyniącą z elementu półprzewodnik typu n (czyli półprzewodnik domieszkowany donorami, tj. atomami mającymi większą wartościowość od atomów półprzewodnika samoistnego, w efekcie otrzymujemy przewodnictwo elektronowe). Część natomiast pełni rolę półprzewodnika typu p (półprzewodnik domieszkowany akceptorami, czyli atomami o mniejszej wartościowości od atomów półprzewodnika samoistnego, w efekcie otrzymujemy przewodnictwo dziurowe). W zależności od odpowiednich stanów wejściowych na wyjściu bramki uzyskamy odpowiedni rezultat. Jednak po prawej stronie widoczna jest niemal identyczna bramka, w której zmieniono domieszkowanie półprzewodnika, w efekcie niezależnie od wartości wejściowych na wyjściu takiej bramki zawsze otrzymamy ten sam stan. Dla ułatwienia poniżej ściągawka-wideo wyjaśniająca zrozumienie podstaw funkcjonowania półprzewodników.

Wracając do modyfikacji. Jakie to ma implikacje dla działania układu, a w dalszej konsekwencji, gdy układ jest np. procesorem, dla działania jakiegokolwiek oprogramowania przetwarzanego przez zmodyfikowany chip? Znaczące. Udowodnili to już w 2012 roku czterej naukowcy z University of Massachusetts: Georg T. Becker, Francesco Regazzoni, Christof Paar oraz Wayne P. Burleson. Opublikowali pracę, w której wykazali, że możliwe jest, właśnie poprzez manipulacje domieszkami na etapie produkcji układu scalonego, „zepsucie” sprzętowego generatora liczb losowych stanowiącego kluczowy składnik sprzętowo realizowanych funkcji kryptograficznych procesora. Uczeni na warsztat wzięli sprzętowy generator obecny w układach Intela z generacji Ivy Bridge (mikroarchitektura układów Intela bazująca na procesie technologicznym klasy 22 nm, produkcja tych chipów rozpoczęła się pod koniec 2011 roku, na rynek trafiły w kwietniu 2012).

Osiągnęli sukces (choć „sukces” w kontekście konsekwencji i wniosków nie jest może właściwym słowem), gdyż zgodnie z założeniami udało im się obniżyć bezpieczeństwo generowanej liczby losowej. Standardowo generator liczb losowych wbudowany w układy Ivy Bridge generuje 128-bitowe liczby losowe. Dzięki modyfikacji generowane liczby ze 128-bitowych stały się n-bitowe, gdzie n było nie tylko mniejsze od 128, ale też mogło być w znacznym stopniu wybierane przez badaczy. Co to oznacza? W skrócie: bezpieczeństwo szyfrowanych danych przy wykorzystaniu opisywanego generatora stało się iluzoryczne. Po prostu przy prawidłowo działającym generatorze odgadnięcie wygenerowanej przez niego liczby wynosi 1/2128, czyli jest bardzo, bardzo małe. Ale gdy zamiast 128 mamy n, a n wynosi np. 4, to prawdopodobieństwo odgadnięcia losowej liczby wygenerowanej przez chip wynosi już aż 1/16 (16=24). Przy czym przez łatwe do odgadnięcia należy rozumieć – łatwe do odczytania przez potencjalnego agresora, który wie, które bramki zostały zmodyfikowane.

Reklama

Dlaczego to istotne? Wykrycie takich modyfikacji jest niezwykle trudne, a dla ofiary niedysponującej odpowiednim zapleczem technologicznym – praktycznie niemożliwe. Jednak nawet w sytuacji, gdy analityk badający układ pod kątem bezpieczeństwa dysponuje zaawansowanymi urządzeniami badawczymi (np. mikroskopem sił atomowych), to nie wiedząc, które z bramek zostały zmodyfikowane, niezwykle trudno będzie mu rozpoznać, czy układ jest bezpieczny, czy też nie. Liczby wygenerowane za pomocą stosowanego w takich przypadkach algorytmu AES (uznawanego za bezpieczny – nie jest znany skuteczny atak kryptograficzny na ten algorytm) będą wyglądały na poprawne. Na dodatek opisywana modyfikacja w postaci takiego domieszkowego trojana jest teoretycznie możliwa w dowolnym układzie scalonym zastosowanym w dowolnym urządzeniu, może to być np. procesor ogólnego przeznaczenia (jak wspomniane wyżej układy Intela Ivy Bridge), ale równie dobrze mogą to być chipy kontrolujące pracę urządzeń telekomunikacyjnych czy odpowiedzialne np. za sprzętowe szyfrowanie transmisji bezprzewodowych. Zatem na pytanie – czy za pomocą sprzętu da się szpiegować? – musimy odpowiedzieć: tak, da się.


Na ostatniej podstronie przyglądamy się próbom wykrycia szpiegostwa sprzętowego.

Zamknij

Choć staramy się je ograniczać, wykorzystujemy mechanizmy takie jak ciasteczka, które pozwalają naszym partnerom na śledzenie Twojego zachowania w sieci. Dowiedz się więcej.