Embedded

O bezpieczeństwie urządzeń wbudowanych – część pierwsza. Po ciemnej stronie mocy.

Październik 2, 2019 0
Podziel się:

                                                                                                                                                                                                                                                        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.

TimingImproved - O bezpieczeństwie urządzeń wbudowanych - część pierwsza. Po ciemnej stronie mocy.

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ąć.

bitflip 1024x830 - O bezpieczeństwie urządzeń wbudowanych - część pierwsza. Po ciemnej stronie mocy.

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)

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
Szuk2 - O bezpieczeństwie urządzeń wbudowanych - część pierwsza. Po ciemnej stronie mocy.

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ż.

KopiowanieTrzy 1024x344 - O bezpieczeństwie urządzeń wbudowanych - część pierwsza. Po ciemnej stronie mocy.

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.

 

Scrambiling 1024x326 - O bezpieczeństwie urządzeń wbudowanych - część pierwsza. Po ciemnej stronie mocy.

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.6 / 5
Kategorie: Embedded
Mateusz Januszkiewicz
Autor: Mateusz Januszkiewicz
Ze światem urządzeń wbudowanych związany jestem od 10 lat. Na co dzień pracuję na stanowisku Architekta Rozwiązań w Centrum Kompetencji Embedded gdzie mam do czynienia z różnymi ARMowymi i nie-ARMowymi platformami oraz dotykam tematów związanych z niskopoziomowym bezpieczeństwem. W wolnym czasie zajmuję się strzelectwem i majsterkowaniem przez duże O.

Imię i nazwisko (wymagane)

Adres email (wymagane)

Temat

Treść wiadomości

Zostaw komentarz