szukaj

09.07.2018 | 19:12

avatar

Adam Kostrzewa

Trojany sprzętowe – realistyczny scenariusz ataku poprzez ingerencję w układ scalony

Konie trojańskie mogą działać jako aplikacja w systemie operacyjnym. Mogą też być schowane na poziomie systemu lub nawet firmware’u wbudowanego w sprzęt. A co powiecie na konia trojańskiego na poziomie krzemu?

Modele ataku za pomocą użycia trojanów w układach scalonych są ściśle związane z łańcuchem dostawców i wykonawców w procesie produkcji krzemu. Obecnie w mikroelektronice stosuje się tzw. foundry model (z ang. model odlewni) polegający na oddzieleniu produkcji chipów (krzemu) od projektowania układów scalonych. Prace te wykonywane są przez osobne firmy bądź jednostki biznesowe wewnątrz tej samej organizacji. Model ten bierze nazwę od analogicznego procesu w przemyśle samochodowym (i ciężkim), gdzie projektowanie pojazdu (maszyny) jest wykonywane przez inne firmy i instytucje niż huty stali i odlewnie. Czasami jednak bardzo duży koncern samochodowy może pozwolić sobie na zakup huty. Analogią w świecie elektroniki będzie np. Intel, który zarówno projektuje, jak i produkuje układy scalone.

Model odlewni prowadzi do podziału firm produkujących elektronikę na takie, które mają możliwości produkcji krzemu (np. TSMC, Globalfoundires, Samsung), i takie, które wykonanie krzemu muszą zlecać podwykonawcom (np. Qualcomm, Broadcom, Nvidia, Apple, AMD). O ile firmy, które nie produkują krzemu, są w większości dobrze rozpoznawalne, to te, które produkują, są w większości nieznane. Jest to analogiczne do sytuacji na rynku samochodów, gdzie rozpoznajemy marki pojazdów, ale nie huty stali bądź odlewnie, gdzie części zostały fizycznie wykonane.

W mikroelektronice prowadzi to do wyszczególnienia następujących podmiotów w procesie produkcyjnym:

  1. Dostawca IP (ang. 3PIP, 3rd party IP provider) – firma produkująca konkretne elementy układu, np. sterowniki pamięci, szyny danych, sieci na chipie (ang. network-on-chip), interfejsy etc. Analogią softwarową jest dostawca bibliotek np. silnika graficznego, API bądź kompresji.

  2. Integrator/deweloper systemu (ang. SoC designer) – firma integrująca elementy w jeden system, często posiada również własną produkcję komponentów IP.

  3. Silicon foundry (z ang. odlewnia krzemu) – firma odpowiedzialna za proces produkcji krzemu.

Na tej bazie można wyszczególnić siedem modeli ataku, przyjmując jako kryterium zaufanie do poszczególnych podmiotów biorących udział w produkcji:

Model Opis dostawca
IP
deweloper
systemu
foundry
1 niezaufany
dostawca
brak
kontroli
2 niezaufany
integrator
brak
kontroli
3 niezaufane
foundry
brak
kontroli
4 produkt
dostępny komercyjnie
brak
kontroli
brak
kontroli
brak
kontroli
5 niezaufane
biuro projektowe
brak
kontroli
brak
kontroli
6 biuro
projektowe bez produkcji krzemu
brak
kontroli
brak
kontroli
7 niezaufany
dostawca używający zaufanych komponentów
brak
kontroli
brak
kontroli

 

Opis poszczególnych modeli ataku:

  1. Niezaufany dostawca – w większości systemów komponenty pochodzą od różnych dostawców, np. interfejsy USB, interfejsy sieciowe bądź pamięci i procesory. Jeśli nie mamy kontroli nad ich procesem projektowania, to dostajemy produkt, którego zasad działania nie znamy (typu closed source). W konsekwencji wiemy, co robi, ale nie jak.

  2. Niezaufany integrator – wprowadzenie trojana na poziomie syntezy układów scalonych i/bądź poprzez integracje i łączenie elementów.

  3. Niezaufane foundry – większość firm produkujących elektronikę nie ma technologii wykonania krzemu, tzn. zleca to innym firmom. Prowadzi to do utraty kontroli nad końcowym etapem produkcji, czyli trawieniem wafli krzemowych (zmiana masek, nieprawidłowo działające tranzystory). Więcej na ten temat przeczytacie pod tym linkiem.

  4. Produkt dostępny komercyjnie – tutaj jako klient mamy dostęp tylko do gotowego produktu. Wprowadzenie trojana może nastąpić na każdym etapie produkcji, a jego wykrycie jest kosztowne i trudne. Więcej na ten temat w mojej prezentacji z Confidence 2018.

  5. Niezaufane biuro projektowe – firma posiada kontrolę nad procesem produkcji krzemu, jednak modyfikacja może nastąpić w procesie projektowania komponentów bądź integracji systemu.

  6. Biuro projektowe bez produkcji krzemu – integrator nie ma kontroli nad częścią komponentów projektowanego systemu, jak i procesem produkcji krzemu. Ta sytuacja dotyczy większości firm działających na rynku.

  7. Niezaufany dostawca używający zaufanych komponentów – dostawca komponentów (np. bibliotek HDL) może stracić kontrolę nad własnym produktem na etapie integracji bądź produkcji krzemu. Sytuacja trudna, bo by udowodnić swoją niewinność musi ujawnić źródła produktu/komponentu.

Przykładowy atak

Opiszmy zatem zagrożenie na teoretycznym przykładzie ataku inspirowanego ostatnimi doniesieniami prasowymi, np. lukami w CClenearze czy płytami głównymi DELL-a. Po pierwsze, ze względu na specyfikę musimy uwzględnić wysoki stopień wyrafinowania atakującego, rozumiany jako doświadczenie techniczne i posiadane zasoby. Załóżmy zatem, że plan operacji jest przygotowany przy współudziale/współpracy producenta podzespołów elektronicznych z Dalekiego Wschodu. Atakujący ma profesjonalny zespół inżynierów i zasoby finansowe pozwalające na rozłożenie całego przedsięwzięcia w czasie – nawet na kilka lat. Pierwszym krokiem będzie wprowadzenie zainfekowanego sprzętu na rynek. Duże firmy, np. Huawei, mogą od razu wbudować go w swój produkt – pierwszy etap. To jednak wiąże się z dużym ryzykiem utraty zaufania klientów w przypadku wykrycia. Dodatkowo raz zmodyfikowanych produktów nie sposób wycofać z rynku. Dlatego atakujący decyduje się na alternatywne rozwiązanie: wprowadzenie trojana w module dostarczonym przez podwykonawcę. Może się to odbyć przy jego współpracy na pierwszym bądź drugim etapie produkcji (logiczny design albo synteza obwodów elektrycznych) bądź też bez jego wiedzy lub zgody na drugim i trzecim etapie (tworzenie masek do produkcji krzemu, trawienie chipa). Przykładem takiego ataku jest historia związana z  oświadczeniem firmy DELL, która ostrzegała użytkowników, że w niektórych produktach (płytach głównych) występuje trojan sprzętowy najprawdopodobniej wprowadzony przez podwykonawcę. By dodatkowo zabezpieczyć się na wypadek wykrycia, atakujący projektuje funkcjonalność tak, aby można ją było uznać za błąd projektowy. Słynnym przykładem jest  dynamicznie zmienialny mikrokod AMD,  które według producenta miały służyć łataniu (patchowaniu) działającego procesora. Okazało się jednak, że umożliwiają atakującemu wprowadzenie tylnej furtki (backdoora) w procesie aktualizacji i ominięcie systemu ochrony sprzętowej, rodząc wiele spekulacji i kontrowersji. Oczywiście AMD uznało sprawę za błąd projektowy.

Następnie gotowy produkt jest rozprowadzany na rynku. Atakujący na tym etapie nie aktywuje trojana, tylko czeka i pozwala użytkownikom cieszyć się podstawową funkcjonalnością układu. Po pewnym czasie, np. od pół roku do dwóch lat, następuje nasycenie rynku. Produkt pojawia się w naturalny sposób (w wyniku zakupu, napraw gwarancyjnych, podmiany czy czasowej wymiany sprzętu) w wybranych obiektach, np. bankach, fabrykach, instytucjach rządowych.

Wtedy można przystąpić do właściwego ataku. Istnieje wiele sposobów aktywacji i komunikacji z trojanami: przez tylne furtki w protokole, przez manipulacje protokołem, atak bocznym kanałem czy w końcu przez wprowadzenie błędu. Tylne furtki w protokole to jedna z popularniejszych metod, która polega na wbudowaniu sterowania trojanem w już istniejącą komunikację, używając znaków wodnych bądź technik stegano, tzn. wybrane i znane tylko atakującym fragmenty transmisji służą do wydawania poleceń złośliwemu układowi bądź odbioru danych.

Nasz atakujący wybiera zatem pierwszy sposób. Aktywacja i wyprowadzanie danych może nastąpić jako element procesu instalacji/aktualizacji sterowników. Połączenie z serwerami producenta odbywa się wtedy za wiedzą i zgodą użytkownika. Warto wziąć pod uwagę i bardziej wysublimowane formy ataku. Możliwe jest zakupienie praw do produktu firmy trzeciej niepowiązanej bezpośrednio z atakującym. Świetnym przykładem jest niedawny skandal z aplikacją  CCleaner. Znany i lubiany program CCleaner przez prawie miesiąc (od 15 sierpnia do 12 września, kiedy kolejna aktualizacja usunęła złośliwy kod) infekował miliony komputerów swoich użytkowników.  Badacze z firmy Talos, którzy jako pierwsi publicznie opisali atak, opublikowali raport na temat celów ataku, wymieniając  fabrykę sprzętu AGD Samsunga  w Polsce.

Wykrycie ataku będącego kombinacją sprzętowo-programową byłoby jeszcze trudniejsze niż w przypadku CCleanera. Po pierwsze, jak opisaliśmy wcześniej, całość funkcjonalności służącej ominięciu zabezpieczeń systemu jest wykonana w sprzęcie. Jak pokazują wyniki uzyskane przez badaczy zabezpieczeń sprzętowych, np. backdoorów w procesorach, warstwa oprogramowania jest praktycznie bezbronna. Większość mechanizmów zabezpieczających  od lat siedemdziesiątych opiera się na założeniu, że sprzęt, na którym pracują, zachowuje się według zasad ściśle określonych w specyfikacji (np. pierścienie ochrony pracy procesora).

W rezultacie atakujący musi jedynie zamaskować komunikację z trojanem dokonywaną w celu infiltracji albo eksfiltracji. Techniki kryptograficzne, np. stegano czy znaki wodne, dowodzą, że można wykonać to, nie wzbudzając podejrzeń – nie znając protokołu komunikacyjnego, jest niezwykle trudno wykryć przebieg i cel połączenia. W konsekwencji atakujący może odczytać interesujące go wartości i prowadzić sterowanie np. za pomocą danych diagnostycznych wysłanych za wiedzą i zgodą użytkownika.

Prawdziwe historie

Dobrym przykładem są chińskie firmy Huawei i ZTE, które po fali krytyki oskarżającej o stosowanie trojanów sprzętowych i softwarowych w produktach telekomunikacyjnych [1], [2], [3], znalazły się na celowniku Kongresu USA. W 2012 Kongres zażądał wykluczenia firmy z przetargów publicznych na terenie kraju [4], [5]. Wymowne nagłówki amerykańskiej prasy NYT („Panel kongresu US uznaje Huawei i ZTE za zagrożenie dla bezpieczeństwa narodowego”) czy niemieckiej telewizji publicznej Arte („Huawei szpieg z Chin”) najlepiej oddają sytuację.

O autorze

Adam Kostrzewa: Od ośmiu lat zajmuję się badaniami naukowymi i doradztwem przemysłowym w zakresie elektroniki motoryzacyjnej, a w szczególności systemów wbudowanych pracujących w czasie rzeczywistym do zastosowań mogących mieć krytyczne znaczenie dla bezpieczeństwa użytkowników. W wolnym czasie jestem entuzjastą bezpieczeństwa danych. Szczególnie interesujące są dla mnie sprzętowe aspekty implementacji obwodów elektrycznych i produkcji krzemu. Metody i narzędzia używane do tych zadań nie są aż tak dostępne i dokładnie przetestowane jak oprogramowanie, dlatego też stanowią interesującą dziedzinę do badań i eksperymentów.

Blog: adamkostrzewa.github.io

Twitter: twitter.com/systemWbudowany

Powrót

Komentarze

  • avatar
    2018.07.09 19:40 Maciej

    Bardzo ciekawy artykuł. Wreszcie podejście techniczno-fizyczne wespół z informatyką. Potwierdzam że zrozumie 15-latek. Czekam z niecierpliwością na więcej.

    Odpowiedz
  • avatar
    2018.07.09 20:08 Michal

    Świetny artykuł i doskonałe tłumaczenie, poparte przykładami. Brawo.

    Odpowiedz
  • avatar
    2018.07.09 20:28 Mati

    A myślisz – autorze -, że co robiono w Dreźnie? ;) lol.

    Odpowiedz
  • avatar
    2018.07.09 21:58 Marek

    Bardzo dobry artykuł. Najsmutniejsze jest to, że o wielu tego typu dziurach nie wiemy a najpewniej istnieją i są wykorzystywane. :(

    Odpowiedz
    • avatar
      2018.07.10 02:17 Greony12

      szkoda wielka ze nawet huej i ZTE nie biorą kar finansowych dla poszkodowany a mają z tego jakiś dorobek mimo oszustwa, a co tam kongres… dziś wali się z niego reklama z Lewym

      Odpowiedz
  • avatar
    2018.07.09 22:49 nieistotne

    wydaje się nieprawdopodobne biorąc pod uwagę zasoby wymagane żeby zaprojektować układ. Jakiś dostawca -łobuz musiałby odtworzyć zamówiony design plus dodać swoje ficzery. Chyba zbyt duże pieniądze i duża liczba osób wchodzi w grę żeby coś takiego przepchnac

    Odpowiedz
    • avatar
      2018.07.10 07:13 John Sharkrat

      Dokładanie. Opracowanie nowej wersji procesora to od dziesiątków milionów $ do miliardów, a dodanie „niewidzialnego gadżetu”, miałoby według autora tych bredni, kosztować ze $30 góra $50.

      Odpowiedz
      • avatar
        2018.07.10 10:15 dobreta

        A gdzie są te kwoty wymienione w tekście? Bo jakoś ich nie znalazłem. Czyli kto tu pisze brednie?

        Odpowiedz
        • avatar
          2018.07.10 14:38 John Sharkrat

          No właśnie nie ma kwot, bo gdyby były, to okazałoby się, że jest absurdalnie drogie i nie ma sensu. Ale wtedy nie można by stworzyć bzdurnego tekstu za który dostanie się kasę.

          Odpowiedz
  • avatar
    2018.07.10 08:10 chester

    Artykuł to nie brednie tylko analiza technicznych możliwości. Nikt tego od Zara nie będzie robił, od tego są agenci, ale to już inna dziedzina. Nie krytykuj bez uzasadnienia, bo nawet jak Ci za dyskredytację płacą, to się nie postarałeś

    Odpowiedz
  • avatar
    2018.07.10 09:25 Aleksandra

    Brakuje mi wyjaśnienia, dlaczego tak duże koncerny coś takiego miałyby robić/robią. Wydawałoby się, że poważni gracze sprzedają produkt taki, jaki mówią, że sprzedają. Do czego to więc służy?

    Odpowiedz
    • avatar
      2018.07.10 10:18 dobreta

      „Do czego to więc służy?”
      Hellooo! Nie no Ty tak na serio? Też chciałbym żyć w takiej rzeczywistości;)

      Odpowiedz
      • avatar
        2018.07.10 14:07 Aleksandra

        No, wyobraź sobie, że można czytać specjalistycznego bloga, nie siedząc głęboko w temacie.

        Odpowiedz
        • avatar
          2018.08.01 00:59 Soto

          I oczekujesz takiego wyjaśnienia na „specjalistycznym blogu”? Faktycznie, tez bym chcial czasem zyc w takiej nieswiadomosci, pić bym nie musiał;)

          Odpowiedz
    • avatar
      2018.07.10 17:44 Tomasz

      Wiadome, że nie będzie się takich armat wyciągać, żeby zobaczyć co Kowalski robi sobie na swoim PC. Ale jeśli mówimy o szpiegostwie przemysłowym (ze strony Chin) lub szpiegostwie w ogóle (USA) to już jest to jak najbardziej realne. Koszty w tym przypadku mogą nie odgrywać roli.

      Odpowiedz
      • avatar
        2018.07.10 18:23 HardwareBase

        albo sposobie na zatrzymanie działania sprzętu militarnego, kluczowej gałęzi gospodarki lub wywołanie chaosu informacyjnego czy chaosu w ogóle np. poprzez skompromitowanie wszystkich „cyfrowych tożsamości”

        Odpowiedz
  • avatar
    2018.07.10 10:06 Duży Pies

    Ataki poprzez trojany sprzętowe to kwestia najbliższych lat. Szczególnie w kontekście rozwoju IoT i sporego wolumenu różnych sprzętowo proców i układów sterujących. Bo kto upilnuje każdy gadżet – i jednocześnie host – gwałtownie rozwijającego się Internetu Rzeczy?

    Odpowiedz
  • avatar
    2018.07.10 16:49 HardwareBased

    Poczytajcie o ROCA. Sprawdzcie kto i dlaczego juz nie produkuje hardware pod Blackberry. Ostatnie ogniwo zaufania dla 2FA pada. Pozostaje tylko nadzieja ze w specyficznych niszach mamy jeszcze kontrole lub moze dzieki podnoszonej takimi art swiadomosci ja odzyskamy

    Odpowiedz
  • avatar
    2018.07.11 19:11 teos

    Wiecie czy ktoś już próbował fuzzowac chipy? Teoretycznie możliwe…

    Odpowiedz
  • avatar
    2018.07.20 11:47 Tomasz Miroszkin

    Crack do triala (chyba crack) pewnego programu do projektowania elektroniki (który ma opcję anty reengineering) potrafi dodawać sprzętowe modyfikacje do projektowanego układu. Spotkałem się z tym 3 lata temu pracując w firmie badawczo rozwojowej. Po przekształceniu projektowanego układu do formy trudnej do analizy, dodawane/modyfikowane są niektóre elementy. Układ tworzony przez trojana polegał na modyfikowaniu niektórych części układu i ewentualnym dodawaniu elementów. Modyfikował ścieżki tak aby były antenami rezonansowymi i odcinał ścieżki GND od obudów kwarców zegarów. Teoretycznie można w ten sposób na odległość (niedużą) podsłuchiwać tak zmodyfikowane urządzenie elektroniczne, a przynajmniej teoretycznie jest to łatwiejsze.

    Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Trojany sprzętowe – realistyczny scenariusz ataku poprzez ingerencję w układ scalony

Komentarze