19:06
18/12/2013

Okazuje się, że podczas rozszyfrowywania wiadomości zaszyfrowanych z uzyciem GnuPG na Linuksie, komputer wydaje pewne dźwięki. Ich dokładna analiza może ujawnić klucz prywatny, z jakiego korzystano do rozkodowania wiadomości.

Akustyczna kryptoanaliza

Naukowcom udało się wydobyć 4096-bitowy klucz RSA w ciągu godziny, na podstawie analizy dźwięku (10KHz+) wydawanego przez komputer podczas rozszyfrowywania wybranych szyfrogramów.

Pozyskiwanie klucza prywatnego na podstawie analizy charakterystycznych "pisków" z głośnika w trakcie deszyfrowania wiadomości

Pozyskiwanie klucza prywatnego na podstawie analizy charakterystycznych “pisków” z głośnika w trakcie deszyfrowania wiadomości

Akustyczna analiza w przypadku GnuPG zadziałała z odległości 4 metrów przy użyciu mikrofonu parabolicznego. Warto jednak zwrócić uwagę, że prawdziwy atakujący może zbierać dane dłużej, np. pozostawiając w okolicy ofiary swój telefon komórkowy (albo inne urządzenie nagrywające dźwięki) — tu potwierdzona odległość wynosi 30 cm.

Telefon komórkowy wyposażony w aplikację do pozyskiwania klucza prywatnego RSA na podstawie dźwięków

Telefon komórkowy wyposażony w aplikację do pozyskiwania klucza prywatnego RSA na podstawie analizy dźwięków z otoczenia.

Co sprawia, że głośniki piszczą w trakcie deszyfrowania?
Dźwięk jest emitowany na skutek wibracji kondensatorów i cewek powodowanej pracą mającą na celu utrzymanie stałego napięcia dostarczanego do procesora, pomimo różnych fluktuacji wynikających z poboru mocy przez poszczególne podzespoły.

Ataki tego typu nazywamy atakami “side-channel” — to właśnie za pomocą takiego ataku NSA przechwytywała zaszyfrowane faksy Unii Europejskiej. Opis tego konkretnego ataku, będącego przykładem akustycznej kryptoanalizy, został opublikowany przez naukowców z uniwersytetu w Tel Avivie i jednego z twórców algorytmu RSA – Adiego Shamira. Jest to rozwinięcie ataku znanego już od 2004 roku.

Sukces takiego ataku zależy jednak od konkretnych podzespołów wykorzystywanych do budowy komputera. Praktycznie na każdym testowanym modelu laptopa lub desktopa naukowcy są jednak w stanie wykryć czy CPU pracuje, czy nie (x85 HLT). Na wielu udało się zmapować charakterystykę pracy procesora i odróżnić na jej podstawie oprogramowanie, z jakiego korzysta ofiara. Problem nie dotyczy tylko komputerów, por. podsłuchiwanie drukarek mikrofonem.

Ciekawe wektory ataku

Okazuje się, że wcale nie trzeba instalować pluskiew w okolicy ofiary. Można po prostu zaprosić ją na stronę internetową, która aktywuje mikrofon na komputerze ofiary (za jej zgodą) — powodem może być aplikacja służąca do rozmów

Innym sugerowanym przez naukowców atakiem jest zbudowanie odpowiedniego serwera z wbudowanym mikofonem i wysłanie go celem kolokacji w wybranym datacenter. Serwer będzie mógł nasłuchiwać czy gdzieś w okolicznych rackach nie następuje deszyfrowanie przy użyciu RSA…

Nie tylko dźwięki ujawniają klucz…

Bity klucza mogą zostać także wychwycone poprzez analizę zmian potencjału elektrycznego na obudowie komputera. Tego typu podejście do kryptoanalizy ma zarówno swoje zalety, jak i wady. Przede wszystkim trzeba móc zmierzyć potencjał (można po prostu dotknąć “badanego” układu — ale to wymaga obecności fizycznej). Badanie potencjału pomoże zwłaszcza w przypadku, kiedy analiza dźwięku jest niemożliwa ze względu na duże szumy w otoczeniu.

Jak bezpiecznie deszyfrować?

Co ciekawe, TEMPEST nie pomoże nam się uchronić przed skutkami akustycznej kryptoanalizy — podobno opisana powyżej metoda działa także na komputery chronione przed atakami ulotu elektromagnetycznego (TEMPEST/1-92).

Co więc możecie zrobić? Na pewno warto wgrać patche na GnuPG, które algorytmicznie starają się “zaciemnić” rozkodowywany tekst np. poprzez wymuszenie rozszyfrowania losowych danych przed faktycznym rozszyfrowaniem wiadomości. Debian już wydał odpowiednie poprawki bezpieczeństwa.

Dodatkowo, naukowcy sugerują rozszyfrowywanie ważnych informacji w dźwiękoszczelnych pomieszczeniach (przy założeniu, że razem z komputerem nie wnieśliście tam także “pluskwy”). Przed atakiem chroni także użycie jammera oraz elektronika wysokiej klasy (ale na to jak dobrze jakościowo zbudowano Wasz komputer akurat wpływu nie macie).

PS. O ile tak został przedstawiony na przykładzie RSA i GnuPG, to jest wielce prawdopodobne, że i inne algorytmy oraz oprogramowanie są na niego podatne…

Przeczytaj także:

62 komentarzy

Dodaj komentarz
  1. A kto ostatnio polecał na wizji GPG? ;)

  2. Ciekawe, odkrywcze i oczywiście prawie że “science fiction”, ale dość oderwane od realiów i rzeczywistości. Niestety.
    1. Komputery zwykle nie stoją “nic nie robiąc”, pracują, w tle mają różne programy które od czasu do czasu także generują fluktuacje. Jeśli to serwery to pracują dość intensywnie w wielu serwisach/procesach naraz (chociaż są systemy/serwery które głównie stoją i czerpią prąd).
    2. Komputery zwykle nie mają głośników – mają PC-speakery. Tak samo serwery. Z tego co wyczytałem potrzebny jest głośnik (chociaż inna metoda to słuchanie wentylatorków lub zmian napięcia).
    3. Zawsze można w tle wrzucić jakiś program losowo się zajmujący czymś (byle nie za bardzo). I mamy bezpieczne wszystkie appsy… ;p

    • Skoro to z głośników leci, to spokojnie wystarczy qmmp albo inny xmms z jakąś muzyką.

    • Kwestia filtrowania, zależy jakie masz zasoby sprzętowe i algorytm. Wydaje się to prawdopodobne.

    • Paweł, ale jak włączysz “kakofonię” z kilku utworów grających naraz, najlepiej z różnych gatunków to filtrowanie będzie dość ciężkie.

    • Używałeś kiedyś szyfrowania RSA? Słyszałeś jakieś dźwięki? To jest 10KHz+, więc muzyka może tego nie zagłuszyć.

    • Można jeszcze rozważyć emisję dodatkowych zakłócających dźwięków na tych częstotliwościach. Tyle, że niestety 10 KHz znajduje się w zakresie słyszalnym dla człowieka (od 16 Hz do 20 KHz), więc część osób może odczuwać taki szum dźwiękowy jako dyskomfort.

  3. “Okazuje się, że podczas rozszyfrowywania wiadomości zaszyfrowanych z uzyciem GnuPG na Linuksie, głośniki komputera wydają pewne dźwięki”

    • To nie głośniki je wydają, tylko cewki. Chodzi konkretnie o efekt magnetostrykcji, czyli (bardzo minimalnej) zmianie ich wymiarów pod wpływem prądu zmiennego.
      W oryginalnym tekście jest wyraźnie napisane:
      “The relevant signal is not caused by mechanical components such as the fan or hard disk, nor by the laptop’s internal speaker.”

    • Patrz ramka pod zdjęciem :-)

    • Tak, widziałem tę ramkę i tam też jest napisana nieprawda. Jeszcze raz podkreślę — to nie *głośniki* piszczą. Ładowarki i zasilacze impulsowe nie mają wewnątrz żadnych głośników a mimo to też piszczą (jeśli częstotliwość pracy przetwornicy zawiera się w paśmie akustycznym).

    • “The acoustic signal of interest is generated by vibration of electronic components (capacitors and coils)”

      Dźwięk jest generowany bezpośrednio przez kondensatory, które zmieniają swoje wymiary (wibrują), powodując drgania powietrza (dźwięk). Chodzi o to charakterystyczne buczenie np. transformatorów w stacjach transformatorowych.

    • @Mateusz Sienkan – w pierwszym zdaniu piszesz o dźwięku generowanym przez KONDENSATORY, a w drugim że jest on charakterystyczny jak w przypadku TRANSFORMATORÓW (a transformator, to cewki a nie kondensator).

    • Bo buczą zarówno kondensatory, cewki i transformatory. Koledzy u góry mają rację. Więc to nie głośniki piszczą jak głosi tytuł ramki :)

    • Ale już w cytowanym przeze mnie zdaniu jasno jest napisane “capacitors and coils” (kondensatory i cewki). Celowo odniosłem się wyłącznie do kondensatorów aby uniknąć skojarzenia z cewką w głośniku laptopa.

    • Kondensatory w laptopah piszcza, buczą itp itd. A smartfonach, uzytych do podsluchu to niby jest krystalicznie czysty dzwiek z mikrofonu? Cos nie chce mi sie wierzyc. To raz. Dwa – Mikrofony w lapkach, podpiete do karty dzwiekowej czy te umieszczone w kamerze sa tak niskiej jakości ze szkoda gadać. Mogą mieć max. do 20kHz, zatem jeżeli te kondensatory i cewki wibrują z większą częstotliwością, to d***. Jak z niższą, to dochodzi problem dźwięków zbieranych z otoczenia. Już nie mówię o DAC’u do ktorego jest podpiety – te wbudowane w sprzęt to tez kupa ;]
      Ok, załóżmy że jednak ktoś ma super-ekstra-biurkowy mikrofon i studyjną integrę w kompie/smarcie (hehehehe ;) ) Jezeli ktos bawił się w obróbkę dźwięku to wie, że wyciąć taki dźwięk (jeszcze w tym wypadku co do milisekundy, bo przecież kazda drobinka informacji jest na wagę złota, zapewne musiałoby to wtedy być nagrywane w jakości SACD przynajmniej ;], co ubiłoby szybko pamięć w smartfonie, w laptopie już nie ) przy nagrywanych innych dźwiękach otoczenia to jest niezłe wyzwanie. dlatego nawet jakby ktoś chciał się w coś takiego bawić, to amatorsko nie ma sensu (wysokie koszta) a prosy to pewnie znają lepsze metody niż zabawa w analizę widma podzespołów elektrycznych ;]

  4. I co da muzyka? Posłuchajcie sobie dźwięku 10KHz i teraz pomyślcie o urządzeniu, które nagrywa zakres dźwięków (włącznie z tymi 10KHz i muzyką). Ile utworów muzycznych posiada dźwięki w tym paśmie? Filtry nakładamy i 95% muzyki wycięte, do tego klucz nie jest wydobywany ciągiem, a z pomocą zebranych próbek, więc można kawałek po kawałku sobie taki klucz wydobyć.

    • Przeprobkuj sobie muzyke na 22,05kHz i porownaj to z oryginalem w 44,1kHz a uslyszysz, ze jednak w muzyce te pasmo jest wykorzystywane. Ew. sprawdz FFT utworu.

    • Co nie zmienia faktu, że klucz generowany jest na podstawie próbek, a nie ciągłości utworu?

  5. Skrillex i po kłopocie ;)

  6. W takim razie, jak wygląda sytuacja w przypadku gdy nasze podzespoły są OC, wydaje się, że na takich urządzeniach charakterystyka pracy zmienia się z upływem czasu?

  7. Tak sobie myślę że wystarczy słuchanie Metalliki na 500 W głośnikach + subwoofer :-)

    • Aresztują cie za utrudnianie śledztwa ;p
      ;D

    • Tak, subwoofer generuje ogromne ilosci dzwiekow wysokoczestotliwosciowych ;-)

    • >Metallica

      wracaj do gimnazjum Seba.

  8. obecność fizyczna miernika potencjału – inteligentne liczniki prądu u nas instalowane

    • Przychodzi mi do głowy filtr napięcia, który może spowodować zniekształcenia utrudniające pomiar. Z tego względu adaptery home plug, czyli przesyłające dane przez siec elektryczna nie powinny być podłączane do listwy zasilającej z filtrem napięcia.

  9. @Piotr Konieczny: To po co użyłeś wyrazu “głośniki”, jak to nie one piszczą i Ty dobrze o tym wiesz?

  10. Trzeba częściej śpiewać – może to spowoduje, że pluskwa dokona autodestrukcji zanim cokolwiek odczyta :P.

    A tak na poważnie: ‘kiedy analiza dźwięku jest niemożliwa ze względu na duże szumy w otoczeniu.” Czy przypadkiem to nie oznacza, że wystarczy stworzyć szumy w otoczeniu (słuchawki na uszy, żeśmy nie denerwowali się zbytnio) i już nic nie wyjdzie?

    • Przeprowadz sie w okolice przedszkola ;-)

    • Jeszcze w razie czegoś pedofilem go nazwą może ;)

  11. A odtworzenie szumów, ręcznie nagranych nie uchroni nas przed atakiem?

  12. U mnie na asusie podczas startu windows xp w pewnym momencie słychać takie różne piski, więc nawet nie chcę wiedzieć ile dźwięków jest emitowanych poza zakresem słyszalności człowieka..

  13. strach bąka puścić tak się porobiło z tymi dźwiękami :)

  14. W systemie operacyjnym, procesor przełącza się między wszystkimi uruchomionymi procesami oraz ich wątkami x razy w ciągu sekundy. Nie sądzę, żeby była możliwość wychwycić, który aktualnie wątek “piszczy”, szczególnie że większość procesorów posiada kilka rdzeni na których cały czas się coś liczy, czyli zagłuszają się wzajemnie.

  15. Wibracji kondensatorów? Jak niby kondensatory miałyby wibrować. Za dźwięki skorelowane z obciążeniem komputera odpowiadają cewki w przetwornicach zasilających.

    • W tym artykule wszystko piszczy: głośniki, cewki, kondensatory … ;)

  16. Mariusz mylisz się subwoofer nie generuje wysokich tylko niskie tony do około 600 Hz a drganie kondensatorów to około 18000 Hz

  17. Kolejny powod zeby miec psu bazujace na przetworniku DC/DC.
    Ewentualnie opgromawanie napisac w sposob ktory bedzie stosunkowo rownomiernie obciazalo CPU.

    • W obwodach zasilanych DC też występują prądy zmienne, gdy zmienia się obciążenie systemu (czyli cały czas). Oczywiście nie pełna sinusoida 50Hz, ale napięcia sobie radośnie skaczą między różnymi poziomami :P

    • To pierwsze nic nie da. Dźwięk podatny na analizę wydaje układ regulatora napięcia zasilania CPU (DC/DC) na płycie głównej, a nie przetwornica AC/DC w zasilaczu komputera.

      To drugie owszem, da – ale wymaga bardzo starannej konstrukcji kodu (de)szyfrującego, aby charakterystyka czasowa poboru mocy wynikająca z wykonywania kolejnych rozkazów w implementacji algorytmu była niezależna od danych wejściowych (bitów klucza i tekstu jawnego/szyfrogramu) – praktyka niespotykana w normalnym procesie tworzenia oprogramowania, gdzie optymalizuje się zużycie zasobów (pamięć/czas procesora). Ponadto byłoby to ściśle zależne od konkretnego typu procesora. Przy dzisiejszych złożonych mikroprocesorach wielordzeniowych, wielowątkowych, superskalarnych, potokowo przetwarzających rozkazy i przestawiających ich kolejność, ze złożonymi wielopoziomowymi pamięciami podręcznymi – zadanie arcytrudne. Takie sztuki to tylko w dedykowanych modułach kryptograficznych, zawierających procesory o przewidywalnej charakterystyce czasowej wykonywania rozkazów.

      Tak naprawdę ten atak to tylko przeniesienie techniki analizy poboru mocy z dziedziny bezpośredniego pomiaru prądu na pomiar pośredni poprzez pasożytniczą emisję dźwięku przez układ regulatora napięcia. Rzecz jak najabrdziej do wykonania przy odpowiedniej mocy obliczeniowej.

      Ba, za czasów ośmiobitowców, własnym uchem byłem w stanie odróżnić, po podkręceniu głośności w monitorze, co mniej-więcej robi mój ZX Spectrum – czy wisi (HALT), czy idle’uje w edytorze BASICa, czy coś mieli. Po prostu kawałek kabelka przeciągnięty nad płytką od punktów lutowniczych do boku obudowy, gdzie wstawiłem gniazdko do monitora, zbierał skądsiś pasożytniczą emisję.

    • Dzieki dobremu PSU – ktore bazuje na DC/DC – napiecie wyjsciowe na linii 12V – ma minimalne “tetnienia”.
      W zaleznosci od modelu PSU:
      Dla przecietnego PSU bez DC/DC – tetnia waha sie od 50-250mV amplitudy miedzyszczytowej.
      DLa dobrego PSU z DC/DC – tetniach wahaja sie od 5-20mV.
      Takze jest to zmniejszanie 10krotnie wartosci tetnien.
      Im bardziej stabilne napiecie dostaje sekcja zasilania procesora tym sama mniej musi sie “napracowac”. Rozwiazanie o ktorym pisze bardziej tyczy sie PC niz lapka.

      Kolejna sprawa, ktora moze pomoc – jest chlodzenie sekcji zasilania – wydaje mi sie ze przyklejenie dodatkowych radiatorow ( co jest czeste przy zabawie w OC ) “psuje” charakterystyke drgan ukladu.

      Co do oprogramowania to skoro istnieje oprogramowanie ktore potrafi wyciskac z CPU 100% mocy np OCCT / Lynx, czy potrafi nie przekraczac ustalonej wartosci max np 30% – MS Security Esential czysto teoretycznie powinno byc mozliwe zaimplementowanie takiego rozwiazania.
      Inna kwestia mogloby byc rownolegle deszyfrowanie losowych danych ktore “dlugoscia” – tydzien “zlozonoscia obliczeniowa” byly mocno zblizone do oryginalu.
      Skoro wiekszosc obecnych prockow ma kilka watkow nie powinno byc to specjalnie trudne w implementacji.

      A chyba najprosztym zabezpieczniem jest rozwiazanie znane z “domowych” napraw piszczacych zasilaczy – zalanie “silikonem” cewek i kondestarow ;-)

    • @sadys fascynująca opowieść. aż mi saga wystygła.

  18. 0chyba x61 nie mieliscie

  19. To rozwinę temat: http://www.thetinhat.com/articles/2013/10/five-attacks.html

  20. Moje ThinkPad X60 i X220 faktycznie piszczą. Np. przy grafice 3D słyszę takie piski karty graficznej “nieee, wyłącz to!”. (A tak na serio, ja jestem w stanie stwierdzić akustycznie z odległości 20 cm, czy jest włączone 3D i czy trackpoint aktualnie przesuwa kursor.)

  21. @Autor: “czy CPU pracuje, czy nie (x85 HLT)” powinno być x86 HLT.

  22. To “głośniki piszczą” mówi przeciętnej osobie, że wystarczy wtedy wyłączyć głośniki lol, a wy piszecie o czymś niezależnym bardziej więc głośność 0% nic nie da, racja?

    A czy ta piosenka black metalowa utrudni pracę?
    http://www.youtube.com/watch?v=uLSUQYzqXZ0&t=2m50s

  23. Chyba ktoś wpuszcza nas w maliny.
    Obwodów RLC w tak złożonym urządzeniu jakim jest komputer jet tak dużo, że zakłócenia nie pozwolą na uzyskanie jakiejkolwiek istotnej informacji.
    Jeśli mowa o “dźwiękach” to co z wibracjami/interferencjami z wiatraków, silników krokowych/impulsowych itd.?
    Co z wielowątkowością, jak rozróżnić potok zawierający pożądane informacje od innych mało istotnych?

    • O tym wszystkim piszą naukowcy w swojej publikacji, która została podlinkowana w artykule…

  24. To teraz:
    1. Czekamy na hakera, który zdalnie odpowie nam przez mikrofon czy nasz licznik elektryczny działa i kiedy jesteśmy w domu.
    2. Na podstawie dzwięków z sali obrad odpowie, kto ma ipada i czy gra w gierki, albo co gorsza zmieni wartośc głosów nad konkretna ustawą ;-)
    3. na podstawie dzwiekow rozgryzie fotoradary i powie kiedy robią zdjęcia, albo dobierze sie do kabli do tych fotoradarów i utrudni jammer przesyłanie zdjęć lub wręcz przeprogramuje sterownik matrycy by wszystkie zdjęcia były z napisem “system cię więzi”

    ……

  25. Ja proponowałbym podczas deszyfracji puszczać utwór jakiejs grupy hard metal ;)

  26. Myślę, że daliście się podpuścić. Czytałem godzinę temu o tym na gadżetomanii i miałem beke, ale jak zobaczyłem to tutaj, to już nie wiem co napisać. Bo piętnastu myślników udowadniających dlaczego nie, nie chce mi się.

    • Tak, daliśmy się podpuścić pracy naukowej Shamira (twórcy algorytmu RSA, który jest również autorem niedawno zasubmitowanego patcha na tę podatność) oraz dwójce innych naukowców, z których jeden z nich napisał pracę doktorską na temat ataków side-channel dot. kluczy GPG.

  27. Z mojego NIC NIE ODCZYTAJĄ – cholera głośno wyje że szok.

  28. […] krypografii znamy całą gamę ataków tzw. side-channelowych, które w skrócie pozwalają określić ustalić dane zdarzenie na podstawie pobocznych wydarzeń […]

  29. Od lat mam z tym styczność. Na swoim notebooku (Dell Inspiron) jak siedzę w nocy na słuchawkach i nic nie robię to jest zwykły szum. Jak włączam np. kopiowanie pliku, to zaczynają się piski. Bardzo wysokie, ale jednak słyszalne dla mojego ucha.

  30. https://www.youtube.com/watch?v=ITBPh-kMKlE
    pięknie ukazany temat

  31. […] że w ramach ataków tzw. side-channela, badaczom udało się już opracować skuteczne metody odzyskiwania kluczy GPG przy pomocy mikrofonu (z 4 metrów). Naukowcy są też w stanie poprzez obserwacje jedynie zmian w jakości sygnały sieci Wi-Fi […]

  32. […] w sieciach GSM jest możliwe, powinien też pamiętać o stosowaniu modulatora i ochronie przed atakami side-channel (zdradzić nas może tło […]

Odpowiadasz na komentarz NoWay

Kliknij tu, aby anulować

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: