• Nie Znaleziono Wyników

Klasyfikacja trojanów sprzętowych

wyzwalania. Osiągnięcie przez licznik ustalonej wcześniej wartości powoduje aktywację funk-cji głównej trojanu. Taki sam efekt może wystąpić po wykryciu przez mechanizm aktywafunk-cji specjalnego zdarzenia zewnętrznego np. przerwania lub rejestracji narastającego zbocza w zegarze zewnętrznym. Innym sposobem trwałej aktywacji trojanu jest monitorowanie zadań jakie wykonuje urządzenie. Po wykonaniu przewidzianej liczby zakończonych zadań, nastę-puje aktywacja głównej funkcji trojanu zmieniającej sposób działania układu. Czasowy me-chanizm wyzwalania przemiennie aktywuje i dezaktywuje funkcję główną [55]. W praktyce implementacja taka może zostać zrealizowana przez zastosowanie dwóch liczników kontrol-nych. Przepełnienie pierwszego licznika aktywuje jednocześnie trojan oraz drugi licznik. Do momentu przepełnienia drugiego licznika trojan posiada aktywną funkcję główną. Przy prze-pełnieniu drugiego licznika funkcja główna zostaje dezaktywowana - urządzenie powraca do poprawnego działania. Cały proces powtarzany jest cyklicznie [1].

4.3 Klasyfikacja trojanów sprzętowych

Ogólny podział trojanów sprzętowych w literaturze został dokonany ze względu na pięć kryteriów (rysunek 4.3) [56]: etap wprowadzania do układu, poziom abstrakcji, mechanizm aktywacji, efekty aktywności oraz lokalizacja. Jest to najczęściej stosowana klasyfikacja w kontekście ataków sprzętowych. W pierwszym kryterium wyróżnia się pięć podstawowych etapów projektowania systemu mikroelektronicznego, podczas których może dojść do wpro-wadzenia trojanu. Podczas etapu wstępnego przygotowywana jest specyfikacja projektu obej-mująca ogólny i szczegółowy zakres funkcjonalności urządzenia. Opracowywane są konkret-ne rozwiązania do wdrożenia w kolejnych etapach procesu produkcyjkonkret-nego. Wprowadzenie trojanu sprzętowego w fazie przygotowania specyfikacji polega na dokonaniu nieautoryzo-wanych zmian założeń projektu. Jeśli zmiana w specyfikacji nie zostanie wykryta wówczas użytkownik końcowy nie będzie świadomy zagrożenia. Do ingerencji w etap specyfikacji zali-czyć można zmiany polegające na wydłużeniu cykli liczników kontrolnych w celu zmniejsze-nia precyzji obliczeniowej. Możliwe jest również wprowadzenie dodatkowych portów wejścia wyjścia umożliwiających monitorowanie aktywności układu. Wprowadzanie na etapie spe-cyfikacji nie ogranicza się tylko do zmian w istniejącej strukturze lub eliminacji wybranych modułów ze struktury. Celowo może zostać zaplanowane wprowadzenie dodatkowych modu-łów które będą pełniły rolę trojanów sprzętowych. Dla ukrycia prawdziwego przeznaczenia trojanów w specyfikacji ich obecność może zostać uzasadniona przez podanie nieprawdziwych informacji katalogowych. W oparciu o wytyczne w dokumentacji technicznej przygotowany jest projekt dla konkretnej technologii i architektury (np. ASIC, FPGA). Implementacja dla wybranej architektury może zostać przeprowadzona z użyciem języków opisu sprzętu HDL

4.3 Klasyfikacja trojanów sprzętowych 49

Trojany Sprztowe

Etap

wprowadzania Poziom abstrakcji Mechanizm aktywacji Efekty Lokalizacja

Specy kacja System

Osabienie wydajnoci Utrata danych

Rysunek 4.3: Podział i klasyfikacja trojanów sprzętowych według [56].

(ang. Hardware Description Language) lub bezpośrednio na poziomie tranzystorowym. Etap ten zakłada możliwość wykorzystania gotowych modułów dostarczanych przez zewnętrznych podwykonawców. IPCore pochodzący z niedostatecznie sprawdzonego źródła może zawierać zintegrowane trojany sprzętowe, a jego użycie skutkować może nieświadomym wprowadze-niem zagrożenia ułatwiającego dokonanie ataku w urządzeniu mobilnym. Ingerencja w proces projektowania i implementacji z wykorzystaniem matryc FPGA sprowadza się do modyfi-kacji w kodzie źródłowym HDL lub bezpośrednio na schemacie tranzystorowym dla układu ASIC. Nieautoryzowane zmiany w systemach opartych na matrycach FPGA dotyczą rozbudo-wy układu cyfrowego przez wprowadzenie dodatkorozbudo-wych modułów opisanych w języku VHDL do projektu tak aby tworzyły z nim integralną całość. W tym kontekście szczególną uwagę należy zwrócić na potencjalny problem dokonywania nieautoryzowanych zmian w projektach wykorzystujących źródła otwarte (ang. Open Source). Nie można wykluczyć wprowadzenia trojanów sprzętowych na poziomie kodu źródłowego VHDL i dalszej dystrybucji kodu źródło-wego w nowej, pozornie ulepszonej wersji [57, 58]. Problem ten nie został do tej pory podjęty w literaturze przedmiotu. Zagrożenie wynikające z używania otwartych źródeł należy brać pod uwagę przy komercyjnym stosowaniu projektów pierwotnie rozwijanych jako Open Sour-ce. Kolejnym etapem w procesie projektowania systemów mikroelektronicznych jest fizyczne wytworzenie układu w oparciu o przygotowaną implementację i specyfikację dla konkretnego układu. Proces produkcji może być pozbawiony jakiejkolwiek kontroli. Dotyczy to szczególnie układów scalonych wytwarzanych w krajach z brakiem wysokojakościowej kontroli technicz-nej i prawtechnicz-nej. Realizacja układu na powierzchni krzemu odbywa się w oparciu o dostarczoną maskę layoutu układu ASIC. Zawsze istnieje niebezpieczeństwo zamiany oryginalnej maski na maskę zawierająca dodatkowe trojany sprzętowe. Proces fizycznego wytwarzania jest po-za jakąkolwiek kontrolą zespołu specjalistów odpowiedzialnych po-za poprzednie etapy. Jedyną możliwością weryfikacji jest ocena działania wyprodukowanego układu. Dla układów o trudno

4.3 Klasyfikacja trojanów sprzętowych 50

usuwalnej obudowie zewnętrznej konieczne jest wykonanie prześwietlenia układu. Jeśli obu-dowa pozwala na jej czasowe usunięcie można zastosować mikroskop inspekcyjny do analizy poprawności struktury obwodów. Proces takiej weryfikacji jest długotrwały, zależy od do-świadczenia specjalistów w identyfikowaniu i interpretacji połączeń między tranzystorami, wydłuża czas weryfikacji generując dodatkowe koszty.

Dla systemu mikroelektronicznego wytwarzanego jako seria układów reprogramowalnych nieautoryzowana ingerencja polega na użyciu spreparowanego pliku do programowania ma-trycy [59]. Ostatnim etapem produkcji jest montaż w docelowym obwodzie drukowanym PCB (ang. Printed Circuit Board ), który sam w sobie może być miejscem lokalizacji i działania trojanów sprzętowych. Trojan sprzętowy na etapie montażu może oddziaływać na wybrany element lub podukład w zależności od scenariusza ataku.

Inną grupą klasyfikacyjną trojanów jest poziom abstrakcji na jakim obserwowane są skutki ich aktywności. Na poziomie całego systemu będącego najwyższym opisem abstrakcji definio-wane są poszczególne moduły sprzętowe, ich wzajemne połączenia, zależności, konkretne pro-tokoły komunikacyjne [60]. Trojany sprzętowe rozpatrywane na tej płaszczyźnie modyfikują funkcjonowanie całego systemu [45]. Większość procesów projektowych odbywa się przy uży-ciu automatycznych narzędzi komputerowego wspomagania projektowania obwodów i ukła-dów EDA (ang. Electronic Design Automation) [5, 61–63]. Nie można wykluczyć możliwości celowego spreparowania narzędzi EDA tak aby na etapie syntezy wprowadzały do struk-tury układu dodatkowe elementy. Odpowiednie spreparowanie narzędzi pozwala na ukrycie wprowadzonych zmian. Bezpieczeństwo sprzętowe w tym przypadku uzależnione jest od wia-rygodności używanego oprogramowania - narzędzi EDA. Nieautoryzowane modyfikacje mogą zostać wprowadzone na poziomie rejestrów sprzętowych bramek logicznych - umożliwia to atakującemu wprowadzanie trojanów sprzętowych bezpośrednio między konkretne połącze-nia podstawowych układów logicznych. Jeśli podmiot atakujący dokona poprawnej analizy schematu bramek logicznych, będzie on mógł prawidłowo zinterpretować funkcję boolowską i dokonać jej zmiany. Najtrudniejszym poziomem do wprowadzenia trojanów sprzętowych jest warstwa tranzystorowa. Analizując połączenia między tranzystorami wprowadzenie trojanu sprzętowego sprowadza się do zmiany określonych połączeń. Teoretycznie możliwe jest do-konanie takiej modyfikacji miedzy tranzystorami w technologii CMOS (ang. Complementary Metal-Oxide Semiconductor ) realizującymi bramkę N AN D aby przekształcić ją do bramki N OR. Najniższym poziomem sprzętowym na którym istnieje znikoma możliwość wprowadza-nia trojanów sprzętowych jest maska krzemowa i podłoże fizyczne układu scalonego. Dokona-nie skutecznej modyfikacji wymaga rozpoznania w strukturze maski poszczególnych obwodów oraz roli jaką spełniają wszystkie tranzystory z uwzględnieniem zjawisk fizyki półprzewodni-kowej [64]. W odróżnieniu od poziomu tranzystorowego wprowadzanie trojanów sprzętowych

4.4.1 Atak na obwód drukowany 51

wymaga modyfikacji połączeń bezpośrednio na poziomie layotu warstw metalicznych układu scalonego. W przypadku układów analogowych istnieje ryzyko zmiany długości lub szero-kości kanału tranzystora. Przy wprowadzaniu bardziej złożonych trojanów sprzętowych na poziomie warstwy krzemowej kluczowe znaczenie odgrywa rozmiar wolnej mikro powierzchni.

Trojany sprzętowe podlegają klasyfikacji dodatkowo pod względem aktywności swojego oddziaływania na atakowany układ. Obwód będący funkcją główną trojanu może zostać ak-tywowany podczas pierwszego inicjującego uruchomienia urządzenia. Mechanizm jego aktywa-cji może podlegać też dodatkowym warunkom. Zgodnie z podziałem zaproponowanym w [45]

wyróżnia się dwa tryby wyzwalania - wewnętrzne i zewnętrzne. Mechanizmy aktywacji we-wnętrznej wykorzystują wewnętrzny układ zegarowy urządzenia oraz zestaw pomocniczych liczników. Aktywacja trojanu następuje zgodnie z wcześniej ustalonym procesem zliczania tak-tów zegara systemowego. Wyzwolenie zewnętrzne sprowadza się do rejestrowania specyficz-nego zdarzenia np. wykrytej jednorazowej aktywności urządzeń peryferyjnych lub rejestracji ilości

Trojany klasyfikowane są również pod kątem realnego wpływu wywieranego na bezpieczeń-stwo sprzętowe w systemie wbudowanym. Trojany sprzętowe podobnie jak ich odpowiedniki w warstwie oprogramowania (wirusy komputerowe) mają za zadanie zmienić jedna funkcję systemu, funkcjonowanie ogólne systemu lub tryb wykonania procedury. Odczuwalne dla użyt-kownika mogą być spowolnienia w wykonywaniu niektórych operacji arytmetyczno-logicznych lub duże opóźnienia w transmisji danych. Wtedy system wbudowany wykonuje swoją proce-durę poprawnie ale w znacznie dłuższym przedziale czasu. Celem aktywności trojanów w warstwie sprzętowej jest również próba przejęcia danych poufnych (hasła, chronione numery seryjne, etc.) lub odmowa aktywacji konkretnej usługi realizowanej przez atakowane urzą-dzenie [65]. Ostatnią kategorię klasyfikacyjną stanowi miejsce docelowej lokalizacji trojanu w warstwie sprzętowej. Z uwagi na specyfikę różnych układów i urządzeń klasyfikacja zapropo-nowana w [45] rozróżnia tylko pięć typowych struktur elektronicznych, w których możliwa jest integracja trojanów: procesor, pamięć, układy wejścia i wyjścia, układ zasilania, układ zegarów systemowych.