25 cze 2017

Emisja ujawniająca i przechwycenie klucza AES-256 w kilkanaście sekund

0

Każde urządzenie i obwód w którym płynie prąd staje się źródłem występowania zjawiska promieniowania elektromagnetycznego i ujawnia pewne informacje, które można odczytywać za pomocą odpowiedniej technologii i narzędzi. Odbiór, rejestracja i analiza promieniowania elektromagnetycznego, które generują możliwość odtworzenia informacji nazywamy zjawiskiem emisji ujawniającej (nazywanej także ulotem). Związek pomiędzy przepływem prądu a polem magnetycznym umożliwia odczytywanie sygnałów pola elektromagnetycznego, składających się z informacji takich jak bity i piksele, które są przesyłane jako ciąg impulsów o określonej częstotliwości. Warto wspomnieć, że zjawisko emisji ujawniającej i wykorzystanie jej do celów przechwycenia informacji zostało wykorzystane po raz pierwszy ponad 100 lat temu. W 1914 roku niemiecka armia zaczęła wykorzystywać wzmacniacze lampowe połączone z elektrodami sondującymi do podsłuchiwania sygnałów z telefonów polowych zza linii frontu. Obecnie promieniowanie z urządzeń komputerowych jest na tyle silne, że za pomocą specjalistycznego sprzętu sygnał może zostać odebrany w niektórych warunkach z odległości kilkuset metrów, nawet 1 kilometra. Urządzenia tego typu nie są ogólnodostępne, stosowane są natomiast m.in. przez szpiegów i są na tyle niewielkie, że mieszczą się w samochodzie osobowym.

Złamanie szyfrowania AES z kluczem o długości 256 bitów (14 rund szyfrujących) metodą brute-force wymaga wykonania 2²⁵⁶ kroków, co według szacunków mogłoby się nie skończyć przed... końcem wszechświata. AES jest algorytmem symetrycznym, a więc do szyfrowania i deszyfrowania wykorzystywany jest ten sam klucz. Grupie badaczy bezpieczeństwa z firmy Fox-IT udało się w warunkach laboratoryjnych pozyskać klucz AES-256 z odległości 30 centymetrów w 50 sekund (im bliżej tym szybciej), bez fizycznej ingerencji w urządzenie szyfrujące, a wszystko dzięki wykorzystaniu wspomnianego zjawiska emisji ujawniającej. 

Zespół badawczy użył bardzo prostej anteny podłączonej do zewnętrznego wzmacniacza (Minicircuits ZFL-500+) i filtra pasmowego zakupionych w Internecie, a następnie podłączył je do zaprogramowanego tunera DVB-T na USB (RTL-SDR). Przechwycenie nastąpiło przy wykorzystaniu ogólnodostępnych i stosunkowo tanich rozwiązań sprzętowych (całkowity koszt ok. 850 PLN).

Od lewej: antena, zewnętrzny wzmacniacz wraz z filtrem oraz gotowy zestaw badawczy
wraz z platformą na którą przeprowadzony zostanie atak

(źródło: https://www.fox-it.com)
Złożony z powyższych elementów zestaw badacze wykorzystali do rejestrowania sygnałów generowanych przez zużycie energii z platformy docelowej SmartFusion2 z chipem ARM Cortex-M3. Dzięki pomiarowi ulotu między procesorem Cortex a magistralą AHB (architektura), dane wykazały szczytowe i niskie zużycia energii podczas przeprowadzania procesu szyfrowania z wykorzystaniem implementacji AES-256 w OpenSSL. Poprzez uruchomienie innego procesu szyfrowania na platformie testowej, badacze wyznaczyli, jak zużycie energii związane jest z poszczególnymi bajtami informacji. To pozwoliło im na odgadnięcie 256 możliwych wartości pojedynczego bajtu, a właściwa korelacja wykazała najwyższy skok mocy.
Wykonywane operacje i zależność do szyfrowania algorytmem AES
(źródło: https://www.fox-it.com)
Wykorzystanie tej metody wymaga jedynie poświęceniu kilku, kilkunastu sekund na sprawdzenie prawidłowej wartości każdego bajtu (256 opcji na bajt, dla 32 bajtów w sumie 8192 kroków). Dla porównania, bezpośredni atak brute-force na AES-256 wymagałby 2²⁵⁶ kroków, a ostatni opublikowany najskuteczniejszy atak na AES umożliwia odtworzenie klucza ze złożonością 2³² - czyli przez wykonanie 4 294 967 296 kroków.
 
Badacze użyli ogólnodostępnych i tanich rozwiązań, ale nawet ich zastosowanie umożliwiło wydobycie klucza AES-256 z odległości 1 metra - zajęło im to jednak już około 5 minut - w idealnych warunkach oraz w komorze bezechowej:
Platforma badawcza w komorze bezechowej
(źródło: https://www.fox-it.com)
Według badaczy lepsze i bardziej profesjonalne rozwiązania sprzętowe znacznie zwiększą zasięg i szybkość ataku (ale również koszty). Twierdzą oni również, że w praktyce konfiguracja ta nadaje się również do atakowania urządzeń służących do szyfrowania sieciowego, a świadomość możliwości przeprowadzenia takiego ataku podkreśla potrzebę głębokiej wiedzy fachowej i odpowiednich środków ochrony przy projektowaniu systemów i zabezpieczeń.

Istnieją oczywiście także pewne zastrzeżenia. Należy bowiem zauważyć, że przeprowadzone testy miały miejsce w warunkach laboratoryjnych, a nie w biurze lub w serwerowni, gdzie inne sygnały emisji elektromagnetycznej mogą zakłócić gromadzenie danych. Jest to jednak ciekawy przykład w jaki sposób ataki wcześniej uważane za niewykonalne ze względu na koszt i odległość, stały się łatwiejsze do zrealizowania dzięki nowszym i tańszym rozwiązaniom technologicznym, dostępnym dla każdego.

Warto też wspomnieć, że badacze i kryptolodzy starają się złamać szyfr AES lub odkryć jego słabości, głównie ułatwiając i skracając czas ataków brute-force. W 2006 roku opublikowana została praca, w której stwierdzono, że AES nie jest w pełni odporny na atak XSL, ale oszacowanie ilości koniecznych obliczeń obarczone jest dużą niepewnością, w związku z tym oceny na ile skuteczny jest ten atak są różne. Z kolei w 2009 roku opublikowane zostały dwa nowe ataki z użyciem kluczy pokrewnych (key related attack) redukujące złożoność AES-256 do 2¹¹⁹. Natomiast w grudniu 2009 roku opublikowano atak na niektóre sprzętowe implementacje AES, umożliwiający odtworzenie klucza ze złożonością 2³² przez zastosowanie różnicowej analizy błędów (differential fault analysis).

Szczegółowy opis ataku badaczy z Fox-IT w wersji angielskiej znajdziecie pod tym adresem:


Źródło:
R. Oppliger, Contemporary Cryptography, Artech House, USA 2011, 
J. R. Rao, B. Sunar, Cryptographic Hardware and Embedded Systems, Springer, Germany 2005,
https://www.fox-it.com
https://www.microsemi.com
https://en.wikipedia.org

0 komentarze:

Prześlij komentarz

 
Do korespondencji zalecamy nasz klucz PGP.
Design by ThemeShift