Atak boczny - Side-channel attack

Próba dekodowania bitów klucza RSA przy użyciu analizy mocy . Lewy szczyt reprezentuje zmiany mocy procesora podczas kroku algorytmu bez mnożenia, prawy (szerszy) szczyt – krok z mnożeniem, umożliwiający atakującemu odczyt bitów 0, 1.

W bezpieczeństwie komputerowym atak typu side-channel to każdy atak oparty na informacjach uzyskanych z implementacji systemu komputerowego, a nie na słabościach samego zaimplementowanego algorytmu (np. kryptoanaliza i błędy oprogramowania ). Informacje o czasie, zużyciu energii, wyciekach elektromagnetycznych, a nawet dźwięku mogą stanowić dodatkowe źródło informacji, które można wykorzystać.

Niektóre ataki typu side-channel wymagają technicznej wiedzy na temat wewnętrznego działania systemu, chociaż inne, takie jak analiza różnicowa mocy, są skuteczne jako ataki typu black-box . Rozwój aplikacji Web 2.0 i oprogramowania jako usługi znacząco zwiększył również możliwość ataków side-channel w sieci, nawet gdy transmisja między przeglądarką internetową a serwerem jest szyfrowana (np. za pomocą szyfrowania HTTPS lub WiFi ), według naukowcom z Microsoft Research i Indiana University . Wiele potężnych ataków typu side-channel jest opartych na metodach statystycznych, których pionierem był Paul Kocher .

Próby złamania kryptosystemu poprzez oszukanie lub wymuszenie osób z legalnym dostępem nie są zwykle uważane za ataki typu side-channel: patrz socjotechnika i kryptoanaliza typu „gumowy wąż” .

Ogólny

Ogólne klasy ataku bocznego obejmują:

  • Atak na pamięć podręczną — ataki oparte na zdolności atakującego do monitorowania dostępu do pamięci podręcznej przez ofiarę we współdzielonym systemie fizycznym, takim jak środowisko zwirtualizowane lub rodzaj usługi w chmurze.
  • Atak czasowy — ataki oparte na pomiarze, ile czasu zajmuje wykonanie różnych obliczeń (takich jak, powiedzmy, porównanie hasła podanego przez atakującego z nieznanym hasłem ofiary).
  • Atak polegający na monitorowaniu zasilania — ataki wykorzystujące różne zużycie energii przez sprzęt podczas obliczeń.
  • Atak elektromagnetyczny — ataki oparte na wycieku promieniowania elektromagnetycznego, które mogą bezpośrednio dostarczać tekst jawny i inne informacje. Takie pomiary mogą być wykorzystane do wywnioskowania kluczy kryptograficznych przy użyciu technik równoważnych do tych w analizie mocy lub mogą być wykorzystywane w atakach niekryptograficznych , np. atakach TEMPEST (inaczej phreaking van Ecka lub monitorowanie promieniowania).
  • Kryptoanaliza akustyczna — ataki wykorzystujące dźwięk wytwarzany podczas obliczeń (raczej jak analiza mocy).
  • Różnicowa analiza błędów — w której sekrety są odkrywane przez wprowadzanie błędów do obliczeń.
  • Remanencja danych — w której wrażliwe dane są odczytywane po rzekomym usunięciu. (tj. atak zimnego rozruchu )
  • Ataki błędów inicjowane przez oprogramowanie — obecnie rzadka klasa kanałów bocznych, Row hammer jest przykładem, w którym nieograniczoną pamięć można zmienić, zbyt często uzyskując dostęp do sąsiedniej pamięci (powodując utratę retencji stanu).
  • Optyczny - w którym sekrety i wrażliwe dane można odczytać poprzez zapis wizualny za pomocą kamery o wysokiej rozdzielczości lub innych urządzeń, które mają takie możliwości (patrz przykłady poniżej).

We wszystkich przypadkach podstawową zasadą jest to, że efekty fizyczne spowodowane działaniem kryptosystemu ( po stronie ) mogą dostarczyć użytecznych dodatkowych informacji o sekretach w systemie, na przykład klucz kryptograficzny , częściowe informacje o stanie, pełne lub częściowe teksty jawne i itd. Termin cryptophthora (tajna degradacja) jest czasami używany do wyrażenia degradacji materiału klucza tajnego wynikającej z wycieku kanału bocznego.

Przykłady

A Atak z kanałem bocznym pamięci podręcznej działa poprzez monitorowanie operacji krytycznych dla bezpieczeństwa, takich jak wpis AES T-tablica lub modularna potęga lub mnożenie lub dostęp do pamięci. Atakujący jest wtedy w stanie odzyskać tajny klucz w zależności od dostępu dokonanego (lub niewykonanego) przez ofiarę, dedukując klucz szyfrowania. Ponadto, w przeciwieństwie do niektórych innych ataków typu side-channel, ta metoda nie powoduje błędu w trwającej operacji kryptograficznej i jest niewidoczna dla ofiary.

W 2017 roku wykryto dwie luki w procesorach (oznaczone Meltdown i Spectre ), które mogą wykorzystywać kanał boczny oparty na pamięci podręcznej, aby umożliwić atakującemu ujawnienie zawartości pamięci innych procesów i samego systemu operacyjnego.

Atak rozrządu zegarki przesyłanie danych do iz procesora lub pamięci w sprzęcie uruchomioną kryptosystemu lub algorytm. Po prostu obserwując różnice w czasie wykonywania operacji kryptograficznych, można określić cały tajny klucz. Takie ataki obejmują analizę statystyczną pomiarów czasu i zostały zademonstrowane w sieciach.

Attack power-analiza może dostarczyć bardziej szczegółowych informacji przez obserwację zużycia energii przez urządzenia sprzętowe, takie jak CPU lub obwodu kryptograficznego. Ataki te są z grubsza podzielone na prostą analizę mocy (SPA) i różnicową analizę mocy (DPA). Przykładowe podejścia do uczenia maszynowego są dostępne.

Wahania prądu generują również fale radiowe , umożliwiając ataki analizujące pomiary emanacji elektromagnetycznych (EM). Ataki te zazwyczaj obejmują podobne techniki statystyczne, jak ataki analizy mocy.

Wykazano , że atak w kanale bocznym oparty na głębokim uczeniu , wykorzystujący informacje o mocy i EM na wielu urządzeniach, może złamać tajny klucz innego, ale identycznego urządzenia w zaledwie jednym śladzie.

Znane są historyczne analogie współczesnych ataków typu side-channel. Niedawno odtajniony dokument NSA ujawnia, że ​​już w 1943 roku inżynier z telefonem Bell zaobserwował na oscyloskopie możliwe do rozszyfrowania impulsy związane z odszyfrowanym sygnałem wyjściowym pewnego teletypu szyfrującego. Według byłego oficera MI5 , Petera Wrighta , brytyjska służba bezpieczeństwa przeanalizowała emisje z francuskiego sprzętu szyfrującego w latach 60. XX wieku. W 1980 roku, radzieckie nasłuch były podejrzewane o posadzone błędy wewnątrz IBM Selectric maszynistki do monitorowania hałasu elektrycznej wytwarzanej jak piłka typ obracane i rozbił uderzyć papier; charakterystyka tych sygnałów mogła określić, który klawisz został naciśnięty.

Pobór mocy urządzeń powoduje nagrzewanie, które jest równoważone efektem chłodzenia. Zmiany temperatury powodują wywołane termicznie naprężenia mechaniczne. To naprężenie może powodować emisje akustyczne o niskim poziomie z działających procesorów (w niektórych przypadkach około 10 kHz). Ostatnie badania Shamira i in. zasugerował, że również w ten sposób można uzyskać informacje o działaniu kryptosystemów i algorytmów. Jest to atak kryptoanalizy akustycznej .

Jeśli można zaobserwować powierzchnię chipa procesora lub w niektórych przypadkach opakowanie procesora, obrazy w podczerwieni mogą również dostarczyć informacji o kodzie wykonywanym na procesorze, co jest znane jako atak termowizyjny .

Przykłady ataków optycznych kanałów bocznych obejmują zebranie informacji ze wskaźnika aktywności dysku twardego w celu odczytania niewielkiej liczby fotonów emitowanych przez tranzystory, gdy zmieniają one stan.

Istnieją również kanały boczne oparte na alokacji i odnoszą się do informacji, które wyciekają z alokacji (w przeciwieństwie do użycia) zasobu, takiego jak przepustowość sieci, do klientów, którzy jednocześnie żądają zasobu będącego przedmiotem rywalizacji.

Środki zaradcze

Ponieważ ataki kanałem bocznym opierają się na związku między informacjami emitowanymi (wyciekającymi) przez kanał boczny a tajnymi danymi, środki zaradcze można podzielić na dwie główne kategorie: (1) wyeliminować lub ograniczyć uwalnianie takich informacji oraz (2) wyeliminować związek między wyciekające informacje i tajne dane, to znaczy sprawiają, że wyciekające informacje nie są powiązane, a raczej nieskorelowane , z tajnymi danymi, zwykle poprzez pewną formę randomizacji tekstu zaszyfrowanego, która przekształca dane w sposób, który można cofnąć po operacji kryptograficznej (np. deszyfrowanie) jest zakończone.

W ramach pierwszej kategorii na rynku dostępne są wyświetlacze ze specjalnym ekranowaniem, które zmniejsza emisje elektromagnetyczne, zmniejszając podatność na ataki TEMPEST . Kondycjonowanie i filtrowanie linii energetycznych może pomóc w powstrzymaniu ataków polegających na monitorowaniu zasilania, chociaż takie środki należy stosować ostrożnie, ponieważ mogą pozostać nawet bardzo małe korelacje i zagrozić bezpieczeństwu. Obudowy fizyczne mogą zmniejszyć ryzyko potajemnej instalacji mikrofonów (w celu przeciwdziałania atakom akustycznym) i innych urządzeń do mikromonitorowania (przeciwko poborowi mocy procesora lub atakom termowizyjnym).

Innym środkiem zaradczym (wciąż w pierwszej kategorii) jest zagłuszanie emitowanego kanału szumem. Na przykład można dodać losowe opóźnienie, aby powstrzymać ataki czasowe, chociaż przeciwnicy mogą je kompensować, uśredniając wiele pomiarów (lub, bardziej ogólnie, używając większej liczby pomiarów w analizie). Wraz ze wzrostem ilości szumu w bocznym kanale przeciwnik musi zebrać więcej pomiarów.

Innym środkiem zaradczym w ramach pierwszej kategorii jest wykorzystanie oprogramowania do analizy bezpieczeństwa w celu zidentyfikowania pewnych klas ataków z kanałem bocznym, które można znaleźć na etapie projektowania samego sprzętu. Ataki czasowe i ataki na pamięć podręczną są możliwe do zidentyfikowania za pomocą pewnych dostępnych na rynku platform oprogramowania do analizy bezpieczeństwa, które umożliwiają testowanie w celu zidentyfikowania samej luki w ataku, a także skuteczności zmiany architektury w celu jej obejścia. Najbardziej wszechstronną metodą zastosowania tego środka zaradczego jest utworzenie bezpiecznego cyklu rozwoju sprzętu, który obejmuje wykorzystanie wszystkich dostępnych platform analizy bezpieczeństwa na odpowiednich etapach cyklu rozwoju sprzętu.

W przypadku ataków czasowych na cele, których czasy obliczeń są kwantowane do dyskretnych zliczeń cykli zegara, skutecznym środkiem zaradczym jest zaprojektowanie oprogramowania tak, aby było izochroniczne, to znaczy działało w dokładnie stałym czasie, niezależnie od tajnych wartości. To sprawia, że ​​ataki czasowe są niemożliwe. Takie środki zaradcze mogą być trudne do wdrożenia w praktyce, ponieważ nawet pojedyncze instrukcje mogą mieć zmienne taktowanie na niektórych procesorach.

Jednym z częściowych środków zaradczych przeciwko prostym atakom, ale nie atakom polegającym na analizie różnicowej mocy, jest zaprojektowanie oprogramowania tak, aby było „bezpieczne dla komputera” w „modelu zabezpieczeń licznika programów”. W programie zabezpieczonym na komputerze PC ścieżka wykonania nie zależy od tajnych wartości. Innymi słowy, wszystkie gałęzie warunkowe zależą wyłącznie od informacji publicznej. (Jest to warunek bardziej restrykcyjny niż kod izochroniczny, ale mniej restrykcyjny niż kod bez rozgałęzień.) Mimo że operacje mnożenia pobierają więcej energii niż NOP na praktycznie wszystkich procesorach, użycie stałej ścieżki wykonania zapobiega takim różnicom mocy, które zależą od operacji ( różnice w sile od wyboru jednego oddziału nad drugim) przed wyciekiem jakichkolwiek tajnych informacji. W architekturach, w których czas wykonania instrukcji nie jest zależny od danych, program zabezpieczony komputerem jest również odporny na ataki czasowe.

Innym sposobem, w jaki kod może być nieizochroniczny, jest to, że współczesne procesory mają pamięć podręczną: dostęp do rzadko używanych informacji wiąże się z dużą karą czasową, ujawniając pewne informacje o częstotliwości używania bloków pamięci. Kod kryptograficzny zaprojektowany w celu odparcia ataków na pamięć podręczną próbuje wykorzystywać pamięć tylko w przewidywalny sposób (np. uzyskuje dostęp tylko do danych wejściowych, wyjściowych i danych programu i robi to zgodnie z ustalonym wzorcem). Na przykład należy unikać wyszukiwań tabel zależnych od danych, ponieważ pamięć podręczna może ujawnić, do której części tabeli przeglądowej uzyskano dostęp.

Inne częściowe środki zaradcze mają na celu zmniejszenie ilości informacji wyciekających z różnic mocy zależnych od danych. Niektóre operacje wykorzystują moc, która jest skorelowana z liczbą 1 bitów w tajnej wartości. Używanie kodu o stałej wadze (takiego jak użycie bramek Fredkina lub kodowania dwutorowego) może zmniejszyć wyciek informacji o wadze Hamminga tajnej wartości, chociaż możliwe do wykorzystania korelacje prawdopodobnie pozostaną, chyba że równoważenie będzie doskonałe. Ten „zrównoważony projekt” można przybliżyć w oprogramowaniu, manipulując zarówno danymi, jak i ich uzupełnieniem.

Kilka „bezpiecznych procesorów” zostało zbudowanych jako procesory asynchroniczne ; nie mają globalnego odniesienia do czasu. Chociaż te procesory miały utrudnić ataki na synchronizację i moc, późniejsze badania wykazały, że różnice w taktowaniu w obwodach asynchronicznych są trudniejsze do usunięcia.

Typowym przykładem drugiej kategorii (dekorelacji) jest technika znana jako oślepianie . W przypadku deszyfrowania RSA z wykładnikiem tajnym i odpowiadającym wykładnikiem i modułem szyfrowania , technika ma zastosowanie w następujący sposób (dla uproszczenia we wzorach pominięto redukcję modularną o m ): przed odszyfrowaniem, czyli przed obliczeniem wyniku dla podany zaszyfrowany tekst , system wybiera losową liczbę i szyfruje ją publicznym wykładnikiem w celu uzyskania . Następnie deszyfrowanie odbywa się w celu uzyskania . Ponieważ system deszyfrujący wybrał , może obliczyć swój odwrotny modulo, aby usunąć czynnik w wyniku i uzyskać rzeczywisty wynik deszyfrowania. W przypadku ataków, które wymagają zbierania informacji w kanale bocznym z operacji z danymi kontrolowanymi przez atakującego , zaślepienie jest skutecznym środkiem zaradczym, ponieważ właściwa operacja jest wykonywana na zrandomizowanej wersji danych, nad którą atakujący nie ma kontroli ani nawet wiedzy.

Bardziej ogólnym środkiem zaradczym (w tym, że jest skuteczny przeciwko wszystkim atakom z kanału bocznego) jest środek zaradczy maskowania. Zasadą maskowania jest unikanie bezpośredniej manipulacji jakąkolwiek wrażliwą wartością , ale raczej manipulowanie udostępnianiem jej: zbiorem zmiennych (zwanych „udziałami”) tak, że (gdzie jest operacja XOR ). Atakujący musi odzyskać wszystkie wartości udziałów, aby uzyskać jakiekolwiek istotne informacje.

Ostatnio, modelowanie białoskrzynkowe zostało wykorzystane do opracowania ogólnego, niskonakładowego, ogólnego środka zaradczego na poziomie obwodu przeciwko zarówno EM, jak i atakom bocznym kanału zasilania. Aby zminimalizować wpływ warstw metalu wyższego poziomu w układzie scalonym, które działają jak bardziej wydajne anteny, pomysł polega na osadzeniu rdzenia kryptograficznego z obwodem tłumienia sygnatury, poprowadzonym lokalnie w warstwach metalu niższego poziomu, prowadzącym zarówno w kierunku zasilania, jak i EM odporność na ataki z kanału bocznego.

Zobacz też

Bibliografia

Dalsza lektura

Książki

Artykuły

Zewnętrzne linki