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.
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.
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.
Komentarze
„Mimo gigabitowych częstotliwości pracy procesorów”
czasem nie gigahercowych częstotliwości? ;-)
Dzięki, poprawione
Podsłuch poprzez analizę ulotu i promieniowania em jest techniką bardzo starą. Od kiedy pojawiły się komputery typu PC, dało się zdalnie podsłuchać to co leci kablami miedzianymi. Służby – w tym polskie służby – miały i mają sprzęt do takich spraw. Już w epoce monitorów CRT dało się zdalnie je podsłuchać analizując widmo em wokół monitora.
——————————————————————————————————
Powiem więcej, da się nawet podsłuchać światłowód bez przerywania włókna. Już gdzieś w 2007 roku kanadyjska firma sprzedawała na eBayu takie urządzenie do podsłuchiwania światłowodów. Jak to działa? Trzeba mieć fizyczny dostęp do kabla światłowodowego. Nacinasz płaszcz ale nie nacinasz samego włókna. W miejscu nacięcia zginasz włókno. Zgięte włókno światłowodu wkładasz w bardzo czuły fotodetektor który potrafi odczytać subtelne błyski światła (niekoniecznie widocznego dla oka ludzkiego, są przecież światłowody na światło niewidzialne dla ludzi). Układ fotodetekcji światła dekoduje na sygnał cyfrowy. Mamy surowy nieptrzetworzony sygnał cyfrowy. Całe urządzonko jest wielkości papierośnicy.
Jeśli bagiety muszą stosować na ciebie takie metody to masz znacznie większe problemy niż wylatujące w eter klucze czy sygnał monitora.
Taki „numer” to już wyciął wywiad Izraela amerykanom w czasie wojny „Jom Kippur” czyli już w 1973 roku, jak podsłuchiwali światłowód biegnący do ambasady amerykańskiej w Izraelu. Zatem to żadna nowość.
Wiesz co mnie zadziwia? Że USA i Izrael niby się lubią i współpracują, szczególnie w sprawach militarnych. Ale jednocześnie obydwa państwa wzajemnie się inwigilują na potęgę! NSA inwigiluje Izrael a kilka super-tajnych izraelskich agencji szpieguje i inwigiluje wszystko co można Amerykanom podsłuchać, nagrać, itp. Na zewnątrz przyjaźń, w środku – nieokiełznany egoizm.
„dotykając ręką obudowy laptopa” prawie jak Kaszpirowski :)
Czy to działa też na kablach Eth UTP kat. 7 ?
” odczytuje sygnały z portu Ethernet (biały kabel)” – chyba fioletowy
Biały. Telefon jest podłączony białym kablem do drugiego końca kabla fioletowego.
Ta konstrukcja zdania sugeruje kolor kabla ethernet (czyli fioletowy). Co do kabla „podsłuchowego” to jest biały na odcinku do BNC, potem niebieski i czerwony (za BNC), znów biały od płytki do kolejnego łącznika i zielony do kleszcza :)
Ta konstrukcja zdania sugeruje kabel podpięty do portu Ethernet i gniazda słuchawkowego w telefonie :)