Czemu nie powinniście obcym pozwalać dotykać swoich komputerów

dodał 10 sierpnia 2014 o 22:24 w kategorii Krypto  z tagami:
Czemu nie powinniście obcym pozwalać dotykać swoich komputerów

Pewnie nikt z naszych Czytelników nie pozwoli komuś niezaufanemu korzystać ze swojego osobistego komputera. Co jednak powiecie na samo dotykanie obudowy lub kabli? W świetle najnowszych badań również tego nie rekomendujemy.

Zespół naukowców, który otrzymał tegoroczną nagrodę Pwnie za najbardziej innowacyjne badanie (udowodnili, że mikrofon telefonu komórkowego leżącego obok komputera może zarejestrować dźwięki, które pozwolą na odtworzenie kluczy prywatnych), nie spoczywa na laurach. W nieco tylko zmienionym składzie opublikował on kolejne badanie, w którym pokazuje, jak klucze szyfrujące można odczytać dotykając obudowy komputera lub mając dostęp do drugiego końca podłączonego do niego kabla.

Ręce precz od mojego laptopa

Naukowcy z Tel Awiwu po przeanalizowaniu akustycznych metod ulotu informacji tym razem postanowili zbadać metody wycieków danych w kontakcie fizycznym. W celu odczytania kluczy szyfrujących RSA oraz ElGamal użyli różnicy potencjałów elektrycznych generowanych przez procesor  komputera w trakcie prowadzenia obliczeń. Różnice potencjałów udało im się odczytać na kilka sposobów:

  • podłączając przewód do obudowy laptopa,
  • dotykając ręką obudowy laptopa,
  • mierząc różnicę potencjałów na drugim końcu kabli ethernetowych, VGA lub USB.

Gdy komputer wykonywał operację odszyfrowywania przesłanej przez naukowców wiadomości (wykorzystano narzędzia GnuPG), badacze odczytując wahania potencjałów byli w stanie odzyskać zarówno klucz RSA o długości 4096 bitów jak i klucz ElGamal o długości 3072 bitów. Mimo gigahercowych częstotliwości pracy procesorów i wielu źródeł zakłóceń skuteczny odczyt klucza wymagał dużo mniejszych częstotliwości próbkowania. Przy częstotliwości 2 MHz klucz był odczytywany w ciągu kilku sekund, przy częstotliwościach w okolicach 40 Hz odczyt klucza zajmował około godziny. Częstotliwości próbkowania dużo niższe niż częstotliwość pracy procesora są możliwe głównie dlatego, ze algorytm analizujący odczytane sygnały szuka wzorców nie poszczególnych operacji procesora, a całych ich ciągów, charakterystycznych np. dla złożonych operacji matematycznych wykonywanych w trakcie odszyfrowywania wiadomości.

Metody odczytu sygnału

Potencjały elektryczne obudowy laptopa i jego uziemienia wahają się w trakcie pracy procesora. Aby odczytać te wahania w sposób całkowicie pasywny i nieinwazyjny wystarczy podłączyć przewód np. do obudowy portu USB, Ethernet, VGA czy DisplayPort a następnie wzmocnić sygnał i zapisać go w postaci cyfrowej.  Analiza wykazała także, że do odczytu różnicy potencjałów nie jest konieczny przewód – równie dobrze może to być dotyk człowieka (najlepiej ze spoconymi palcami, ponieważ pot obniża opór elektryczny). Wystarczy wtedy dotknąć jednego z wyżej wymienionych punktów obudowy, jednocześnie mierząc własny potencjał w stosunku do uziemienia.

Odczyt różnicy potencjałów przez dotyk

Odczyt różnicy potencjałów przez dotyk

Drugą możliwością odczytu różnicy potencjałów jest dostęp do drugiego końca jednego z kabli podłączonych do atakowanego komputera. Do tego celu nadają się kable takie jak USB, VGA, HDMI czy Ethernet. Ekran kabla przenosi zmiany potencjału elektrycznego, umożliwiając ich odczyt czasem – jak w przypadku Ethernetu – z całkiem sporej odległości.

Jakie informacje wyciekają w ten sposób

Naukowcy przetestowali wiele komputerów. W większości przypadków udało im się odróżnić stan procesora zajętego od stanu procesora nie wykonującego operacji. Na wielu komputerach dało się także odróżniać wzorce konkretnych operacji, wykonywanych przez procesor. Na niektórych laptopach atak umożliwił jednoznaczne określenie, który z wcześniej znanych kluczy jest aktualnie używanych w procesie odszyfrowywani wiadomości, a w niektórych przypadkach naukowcom udało się także odczytać cały klucz prywatny.

Choć do odczytania samego klucza niezbędny jest sprzęt laboratoryjny wysokiej jakości, to atak może być także przeprowadzony za pomocą zwykłego smartfona.

Atak z użyciem telefonu

Atak z użyciem telefonu

Na zdjęciu powyżej telefon Samsung Galaxy 2, uziemiony za pomocą kabla USB, odczytuje sygnały z portu Ethernet (biały kabel) przez gniazdo słuchawkowe. Taka konfiguracja wystarczyła, by zidentyfikować, który klucz był używany w procesie odszyfrowywania wiadomości.

Co dalej?

Naukowcy zgłosili problemy twórcom GnuPG i wersje począwszy od 1.4.16 są już odporne na odczyt bitów klucza. Jeśli zastanawiacie się, jak można „zmusić” cudzy komputer do odszyfrowania konkretnej wiadomości w odpowiednim momencie, to odpowiedzią może być chociażby sytuacja, w której obiekt ataku korzysta z Thunderbirda z wtyczką Enigmail. Umożliwia ona automatyczne odszyfrowywanie przychodzących wiadomości, a to wystarcza do przeprowadzenia opisywanego powyżej ataku. Jakkolwiek taki scenariusz ataku ciągle może wydawać się mało prawdopodobny, to jednak pokazuje on, jak nawet dobrze zabezpieczony komputer może ciągle być wykorzystany przez atakującego do uzyskania poufnych informacji.