Wyślij zapytanie Dołącz do Sii

                                                                                                                                                                      Jak mawiał trener Piechniczek

„Jeśli chcesz grać w piłkę musisz myśleć jak piłka”
AlcMan

Słowem wstępu

Jeszcze nie tak dawno zarówno projektanci, jak i użytkownicy systemów wbudowanych żyli w błogim przeświadczeniu, że ich urządzenia nie są narażone na ryzyko utraty poufnych danych. Niewielkie, proste, często przenośne systemy elektroniczne wydawały się być poza zainteresowaniem atakujących.

Z jednej strony często nie przechowywały one żadnych wrażliwych czy cennych informacji, a nawet jeżeli, tak to samo zachowanie wspomnianych danych przez producenta w pamięci urządzenia i sprzętowe zabezpieczenie przed odczytem, uważano za w pełni wystarczające.

Z drugiej zaś ataki hakerskie długo uznawano za domenę wielkich systemów: bankowych, rządowych, korporacyjnych. Przy ich wielkości oraz wartości przechowywanych w nich danych bledła wartość np. loginu i hasła do WiFi, przechowywanego w naszym urządzeniu wbudowanym.

Wraz ze wzrostem ilości urządzeń połączonych w naszym otoczeniu wzrosła też podatność całego systemu, całej otaczającej nas infrastruktury na lukę wywołaną utratą wspomnianego już hasła.

W ramach poniższego artykułu wybierzemy się, drodzy czytelnicy, na ciemną stronę mocy, gdzie postaram się przybliżyć Wam szereg metod, jakimi posługują się osoby łamiące zabezpieczenia urządzeń wbudowanych celem wyciągnięcia przechowywanych w nich danych.

W drodze na ciemną stronę

Czym kierują się łamiący zabezpieczenia?

Celem atakującego nie zawsze jest bezpośredni zysk na złamaniu zabezpieczenia. Bardzo często kieruje nim zwyczajna ciekawość, chęć sprawdzenia swojej wiedzy i umiejętności w starciu z projektantem systemu. Czasami przekłada się to na próbę uruchomienia ukrytej/dodatkowo płatnej funkcjonalności.

Dodatkowym aspektem może być też chęć skompromitowania producenta. Znalezienie luki w zabezpieczeniach i wykazanie, że za pomocą wykradzionych danych jest się w stanie podszyć pod użytkownika i regulować temperaturę w jego mieszkaniu, może być wystarczającym powodem do utraty zaufania do danej marki produktów. Co przekłada się na straty finansowe producenta.

Warto też wspomnieć o próbie skopiowania urządzenia w części bądź w całości. Kopiując rozwiązania sprzętowe, układ scalony bądź jego fragment i wchodząc w posiadanie wykradzionych/odczytanych z pamięci plików binarnych, atakujący jest w stanie rozpocząć produkcję urządzenia bez poświęcania środków na jego opracowanie.

Metody i wektory ataków

Wszelka elektronika, będąca w posiadaniu użytkownika końcowego (a więc laptopy, karty płatnicze, dekodery, smartfony, inteligentne lodówki, elektroniczne głowice termostatyczne) jest potencjalnie narażona na atak z wykorzystaniem szeregu stosunkowo prostych metod i technik.

Do wykonania większości z nich nie jest potrzebne zaawansowane oprzyrządowanie bądź akademicka wiedza. Wymagana jest znajomość podstaw działania elektroniki, umiejętność posłużenia się przyrządami laboratoryjnymi w postaci oscyloskopu, zasilacza, generatora przebiegów. Przydatna też jest pewna doza szczęścia, bowiem niektóre z opisanych niżej ataków powiodą się w pojedynczych przypadkach, na konkretnym egzemplarzu rządzenia. Inne zaś egzemplarze będą na atak odporne bądź od razu ulegną uszkodzeniu.

Side channel analysis

(polskojęzyczny odpowiednik tego pojęcia nie istnieje/jest potworkiem językowym)

Za pomocą szeregu nieskomplikowanych technik obejmujących:

  • pomiar chwilowego zużycia energii
  • pomiar czasu wykonania operacji dla różnych parametrów wejściowych

Potencjalny atakujący stara się zdobyć informację na temat:

  • ilości poprawnych cyfr w podanym przez niego numerze PIN/ilości poprawnych znaków w podanym haśle (przy założeniu, że nie korzystamy z obliczania funkcji skrótu z hasła)
  • wartości zwracanych przez funkcje, szczególnie jeżeli zwracają wartości typu 0x00/0xFF
  • wag Hamminga przetwarzanych przez CPU wartości

Do wykonania tego typu ataku wystarczy prosty układ, składający się z zasilacza laboratoryjnego, oscyloskopu i rezystora o niewielkiej wartości, wpiętego w szereg z zasilaniem atakowanego układu scalonego.

Z lewej - przykład algorytmu szczególnie podatnego na wyciek informacji poprzez analizę czasu otrzymania odpowiedzi. Z prawej - chwilowe zużycie energii (w formie spadku napięcia na szeregowej rezystancji) w zależności od wag Hamminga sumowanych składników.
Ryc. 1 Z lewej – przykład algorytmu szczególnie podatnego na wyciek informacji poprzez analizę czasu otrzymania odpowiedzi. Z prawej – chwilowe zużycie energii (w formie spadku napięcia na szeregowej rezystancji) w zależności od wag Hamminga sumowanych składników

Error injection

W tym przypadku, atakujący stara się wyjść poza dopuszczalne ramy, zdefiniowane przez producenta urządzenia i sprowokować je do nieprawidłowego działania za pomocą:

  • manipulacji napięciem zasilającym (zbyt wysokie/zbyt niskie)
  • przegrzewania/skrajnego ochładzania urządzenia
  • emisji zakłóceń elektromagnetycznych (wyładowań) w bezpośredniej bliskości urządzenia

Za ich pomocą atakujący może sprowokować urządzenie do nieokreślonego działania, mogącego skutkować:

  • błędami w odczycie danych z pamięci nieulotnych (np. odczytywaniem zer zamiast wartości faktycznie zapisanych)
  • pomijaniem przez CPU kilku instrukcji w chwili wystąpienia zakłócenia
  • losową zmianą zawartości komórek pamięci RAM

Ataki tego typu są niezwykle tanie – na dobrą sprawę wystarczy zasilacz laboratoryjny, żarówka 50W ze szkłem powiększającym, czy też piezoelektryczna zapalarka wymontowana z zapalniczki. We wszystkich powyższych przypadkach jest to działanie na przysłowiowe chybił-trafił i niesie ze sobą realne ryzyko nieodwracalnego uszkodzenia danego urządzenia.

Tym niemniej możliwość zmiany zawartości komórki pamięci/rejestru (np. używanego do zwracania wyniku działania funkcji) jest kusząca dla atakującego, nawet jeżeli musi wykonać atak wiele razy pod rząd, aby coś za jego pomocą osiągnąć.

Zobrazowanie skutku podgrzania pamięci RAM powyżej 100-120 stopni Celsjusza
Ryc. 2 Zobrazowanie skutku podgrzania pamięci RAM powyżej 100-120 stopni Celsjusza (statystycznie dla 10 na 32 bitów)

Physical attacks

Ataki fizyczne wymagają zastosowania bardziej wyrafinowanych metod – poza samym wylutowaniem mikrokontrolera z płytki drukowanej wymagane jest jeszcze wyciągnięcie struktury krzemowej z układu scalonego.

Możemy do tego użyć zarówno kwasu azotowego jak i promieniowania laserowego np. za pomoca urządzenia do laserowego grawerowania. Aby zobrazować efekt posłużę się krótkim filmikiem, przygotowanym przez firmę Controllaser (controllaser.com)

https://www.youtube.com/watch?v=LIb__2FrT4s

Tak spreparowaną strukturę krzemową należy następnie zasilić i podłączyć do niej zestaw nanosond, za pomocą których atakujący jest w stanie zmierzyć przebiegi elektryczne na:

  • każdej szynie danych
  • wyprowadzeniach z poszczególnych bloków funkcjonalnych układu scalonego
  • elektrodach pojedynczego tranzystora
Przykład nanosondy wykonanej z wolframu wraz z użyciem na pojedynczym tranzystorze polowym
Ryc. 3 Przykład nanosondy wykonanej z wolframu wraz z użyciem na pojedynczym tranzystorze polowym

Kopiowanie układów scalonych

Ostatnią omawianą w ramach niniejszego artykułu kwestią jest kopiowanie układów scalonych bądź ich fragmentów celem produkowania bezlicencyjnych kopii. Atakujący oszczędzają w ten sposób środki, które prawowity producent poświęcił na opracowanie konkretnego rozwiązania sprzętowego. Jakby tego nie nazwał – jest to po prostu kradzież.

Wewnętrzna struktura krzemowa układu scalonego w powiększeniu
Ryc. 4 Wewnętrzna struktura krzemowa układu scalonego w powiększeniu

Wyciągniętą z obudowy strukturę krzemową należy sfotografować w powiększeniu i przeprowadzić proces jego analizy z pomocą metod inżynierii wstecznej. Powstały w ten sposób model na poziomie RTL (register transfer level) jest następnie bazą do przygotowania kopii układu scalonego.

Nie istnieją w pełni skuteczne metody na zabezpieczenie układu scalonego przed kopiowaniem. Możemy jedynie starać się utrudnić zadanie potencjalnemu złodziejowi poprzez takie rozłożenie poszczególnych elementów w strukturze krzemowej, aby maksymalnie ją skomplikować i wydłużyć czas trwania analizy, tym samym podnosząc jej koszt.

Gdyby przedstawić strukturę pojedynczej warstwy układu scalonego w formie schematu, pokazującego granicę poszczególnych bloków funkcjonalnych to możemy zauważyć, że atakujący jest w stanie w prosty sposób wybrać sobie te bloki, które chce skopiować i tym samym zaoszczędzić środki na procesie analizy. Znaczącym utrudnieniem jest rozbicie poszczególnych bloków na podbloki i rozrzucenie ich na powierzchni warstwy. Powoduje to każdorazową konieczność analizy całej warstwy układu, co podnosi jej koszty.

Po lewej typowa struktura warstwy układu scalonego. Po prawej struktura poddana działaniu procesu zaciemniania.
Ryc. 5 Po lewej typowa struktura warstwy układu scalonego. Po prawej struktura poddana działaniu procesu zaciemniania

Pokazane powyżej podejście powoduje niestety wzrost negatywnych efektów związanych z długościami połączeń między poszczególnymi elementami pojedynczego podbloku. Stąd zaprezentowany na obrazku efekt jest czysto poglądowy.

Podsumowanie

Metody łamania zabezpieczeń, omówione w powyższym artykule to jedynie wierzchołek góry lodowej. Skupiłem się bowiem tylko na tych, które nie wymagają inwestowania znacznych środków w narzędzia i dostępne są dla przysłowiowego przeciętnego zjadacza chleba.

Świadomość istnienia, działania i dostępności w/w metod jest podstawą do zaplanowania środków zaradczych na każdym etapie rozwoju naszego, bezpiecznego urządzenia. Ten temat poruszę w kolejnej odsłonie niniejszego artykułu.

.223rem

4.7/5 ( głosy: 6)
Ocena:
4.7/5 ( głosy: 6)
Autor
Avatar
Mateusz Januszkiewicz

Ze światem urządzeń wbudowanych związany od 10 lat. Na co dzień pracuje na stanowisku Architekta Rozwiązań w Centrum Kompetencji Embedded, gdzie ma do czynienia z różnymi ARM-owymi i nie-ARM-owymi platformami oraz dotyka tematów związanych z niskopoziomowym bezpieczeństwem. W wolnym czasie zajmuje się strzelectwem i majsterkowaniem przez duże O.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?