Podsłuchiwanie komputerów, czyli kolejna metoda ataku opartego na kryptoanalizie akustycznej
Podsłuchiwanie tego, co mówią między sobą inni, było sposobem na zdobycie tajnych informacji od zarania ludzkości. Przykładanie ucha do drzwi lub chowanie się w krzakach aby usłyszeć co ktoś między sobą szepcze, nie wymagało żadnych dodatkowych urządzeń i przygotowań.
Wydawałoby się, że w momencie wynalezienia pisma, nic do podsłuchiwania nie pozostało - przecież można bezgłośnie zapisać i przesłać tajną notatkę! Jak się okazało, można próbować wnioskować na temat pisanych liter na podstawie tego w jaki sposób ktoś skrobie piórem po papierze - jednak tzw. ataki oparte na kryptoanalizie akustycznej mogły rozwinąć swoje skrzydła dopiero po zautomatyzowaniu metod przelewania myśli na papier - mam na myśli maszyny do pisania oraz drukarki.
Podsłuchiwanie drukarek i klawiatur
Gdy zautomatyzowano deszyfrowanie i zaczęto używać do drukowania zdeszyfrowanego (otwartego) tekstu drukarki bębnowej, służby specjalne zaczęły szukać metod odgadnięcia drukowanego tekstu na podstawie dźwięku głowic uderzających w bęben. Wiele tych metod do dziś pozostaje utajnione, wiadomo że takie próby podejmowano od lat 50-tych, zaś w wydanej w latach 70-tych książce "The CIA and the Craft of Intelligence" ujawniono udane zastosowanie tej metody od końca lat 60-tych w celu otrzymania deszyfrowanych tekstów z podsłuchów w ambasadach.
W tej chwili najbardziej rozpowszechnione jest podsłuchiwanie urządzeń wprowadzania: keypadów i klawiatur. W 2004 roku Dmitrij Asonow oraz Rakesh Agrawal z IBM Research Center opublikowali wyniki udanych prób podsłuchania wpisywanego pinu w bankomacie (każdy klawisz nadawał inną częstotliwość dźwięku) oraz odgadnięcia hasła wpisywanego na zwykłej komputerowej klawiaturze (tutaj zastosowano analizę częstościową oraz sieć neuronową do otrzymania wpisywanego tekstu).
Podsłuchujemy komponenty komputera
W tym samym roku pojawiły się pierwsze publikacje dotyczące analizy niesłyszalnych dla ucha ludzkiego (lub: nieodróżnialnych od szumu) dźwięków wydawanych przez mikroprocesory i inne komponenty komputerów w trakcie wykonywania obliczeń. Jak się okazało, na podstawie tych dźwięków można nie tylko określić jaki rodzaj obliczenia jest wykonywany, ale i jego wynik.
W opublikowanej w zeszłym tygodniu pracy, naukowcy związani z Uniwersytetem w Tel-Awiwie pokazali skuteczną kradzież prywatnego klucza używanego do szyfrowania poczty przy pomocy protokołu PGP. Dlaczego jest to ważne? Wszystkie współcześnie powszechnie używane algorytmy szyfrowania opierają się na koncepcji pary klucza prywatnego i publicznego - klucz publiczny służy wyłącznie to deszyfracji i potwierdzenia autentyczności wiadomości. Klucz prywatny zaś powinien pozostać w rękach szyfrującego, jego kradzież umożliwia podszywanie się pod tą osobę.
Jak wykazali naukowcy, możliwa była ekstrakcja pełnego 4096 bitowego klucza PGP w ciągu godziny, po podsłuchaniu kilku różnych laptopów na których była wykonywana operacja szyfrowania i wysyłania poczty.
W celu podsłuchiwania dźwięków dochodzących z wnętrza komputerów użyto zwykłego mikrofonu telefonu komórkowego. Telefon komórkowy umieszczony był kilkadziesiąt centymetrów od komputera. W przypadku użycia bardziej czułego mikrofonu, można było tą odległość wydłużyć do 4 metrów.
We wszystkich przypadkach udało się badaczom odróżnić "po dźwięku" pracujący procesor od procesora w stanie spoczynku. Dodatkowo, dla większości testowanych maszyn udało się odróżnić wzorce dźwięku wydawanego przy używaniu konkretnych programów. Dla celów testowych, przy używaniu popularnego programu do szyfrowania GnuPG, udało się z sukcesem uzyskać pełne klucze prywatne.
Co wydaje dźwięki które mogą być wykorzystane w atakach?
Są to dźwięki wzbudzane przez wibracje różnych komponentów komputera ( cewek, kondensatorów) które zmieniają swoje parametry aby nadążyć za zmianami zapotrzebowania głównej jednostki obliczeniowej (CPU) na moc.
Scenariusze zastosowań
Możemy wyobrazić sobie wiele możliwych scenariuszy ataków przeprowadzanych przy pomocy tej metody:
- Możemy umówić się na spotkanie, i umieścić smartfon z zainstalowaną specjalną aplikacją na biurku kontrahenta, i poczekać aż zaloguje się do swojej poczty.
- Można stworzyć specjalną stronę internetową, która, np. poprzez plugin flash, uzyska dostęp do mikrofonu (np. pod pretekstem funkcji czatu), i pozostanie otwarta w tle, nasłuchując dźwięków dochodzących z komputera.
- Ciekawy scenariusz wymyślony przez autorów badania: Umieszczenie odpowiednio spreparowanego serwera w serwerowni kolokacyjnej i nasłuchiwanie kluczy innych serwerów.
Jak się chronić?
Nie od dziś wiadomo, że publikacja przez naukowców jakiejś metody ataku może oznaczać, że taka metoda jest dawno używana przez złodziei danych i służby specjalne. Jak więc zabezpieczyć się przez takimi atakami? Można próbować ekranować wnętrze komputera tak aby dźwięki stały się niesłyszalne, można próbować również generować rodzaj białego szumu na czas wykonywania wrażliwych operacji. Jednak najciekawszy wydaje się pomysł przebudowania programów do szyfrowania tak, aby ich zapotrzebowanie na moc procesora nie wahała się aż tak w czasie - np. wyrównując to zapotrzebowanie w górę.
Fotografia EAVESDROPPING pochodzi z serwisu ShutterStock.