Co kryje się za tajemniczym chińskim trojanem sprzętowym? Czy moja firma i instytucja jest zagrożona? Czy raport Bloomberga to tylko blef bez technicznej treści? Odpowiedzi na te pytania w artykule.

Jeszcze rok temu trojany sprzętowe pozostawały w sferze spekulacji i akademickich dyskusji a zagrożenie traktowane było raczej jako kolejna teoria spiskowa niż realne niebezpieczeństwo. Rok 2018 być może okaże się w tej kwestii przełomowym. Jeszcze rynek i użytkownicy nie ochłonęli po lukach Spectre i Meltdown w procesorach Intela a już Bloomberg donosi o nowej aferze przy której poprzednie kłopoty Intela wydają się być tylko chwilową i nic nie znaczącą zadyszką tej firmy.

Dokładny opis raportu był już zamieszczony na portalu, jednak dla tych którzy go jeszcze nie czytali poniżej skrót najważniejszych informacji. Według amerykańskiego magazynu biznesowego Bloomberg Businessweek, firmy Apple i Amazon odkryły maleńkie chipy szpiegujące na swoich płytach głównych w serwerach (głównie dla usług “w chmurze”) już w 2015 roku. Chipy te zostały wprowadzone bezpośrednio do płyt w chińskich fabrykach amerykańsko-tajwańskiego producenta Supermicro i ich celem (według informatorów Bloomberga) było stworzenie backdoorów w serwerach. W raporcie stwierdzono, że zainfekowane serwery zostały sprzedane amerykańskim agencjom rządowym (w tym CIA i Departamentowi Obrony) i wykonawcom oraz co najmniej 30 klientom komercyjnym (w tym dla usług właścicieli czyli firm Apple i Amazon). Według doniesień, złośliwe układy scalone zostały odkryte przez Amazon w trakcie inwentaryzacji Elemental Technologies – klienta Supermicro, którego Amazon kupił w 2015 roku. Kontrowersje wiążą się z brakiem jednoznacznych dowodów (np.analizy złośliwego układu, czy adresów IP bądź protokołu sterującego). Amerykańskie agencje wywiadowcze wciąż badają tę sprawę. Apple, Amazon, Supermicro i zaangażowane rządy kategorycznie zaprzeczają wszystkiemu, ale Bloomberg jest bardzo pewny swojej racji i odnosi się do 17 anonimowych źródeł w rządzie USA i producentów sprzętu.

Czym są implanty sprzętowe?

Media szybko “ochrzciły” ten typ ataku mianem implantu sprzętowego. Dlaczego? Dodanie trojana (backdoora) sprzętowego może odbyć się na każdym etapie procesu wytwarzania chipu. Z raportu Bloomberga wynika że mamy do czynienia ze scenariuszem w którym zaufany dostawca (tajwańsko-amerykańska firma Supermicro) dostarcza produkt w którym integrator/deweloper systemu (ang. SoC designer) wprowadza trojana w procesie integracji komponentów na płycie. W miarę prostym (jednak nie do końca precyzyjnym) porównaniem softwarowym byłby atak za pomocą wstrzyknięcia kodu (ang. code injection) w procesie linkowania bibliotek podczas kompilacji. W tym kontekście firma Supermicro tworzy płytę główną z komponentów IP innych dostawców i ktoś modyfikuje (dodaje) w procesie produkcyjnym dodatkowy układ scalony. W rezultacie zostaje wprowadzone ciało obce i stąd nazwa implant. Warto zauważyć że nie jest jasne czy chodzi o komponent IP od dostawcy czy końcowy produkt (całą płytę główną). Dlatego nawet zidentyfikowanie fabryki bądź (fizycznie) podwykonawcy i miejsca gdzie układ został dodany będzie nastręczało wielu problemów . W kontynuacji artykułu opublikowanej 9 października, cytowany przez Bloomberga ekspert twierdzi że:

“Supermicro jest ofiarą – tak jak wszyscy inni i niepokój powinien budzić fakt, że w łańcuchu dostaw w Chinach istnieje niezliczona ilość punktów, w których manipulacje mogą być wprowadzane, a wywnioskowanie ich położenia może być w wielu przypadkach niemożliwe.”

Jest to skutkiem wąskich specjalizacji podwykonawców i optymalizacji kosztów produkcji kosztem bezpieczeństwa fizycznego produktu – klient traci fizyczną kontrolę nad procesem produkcji.

Bloomberg Okladka

Okładka magazynu Bloomberg z raportem o trojanach sprzętowych.

Nawet bez dokładnej analizy chipu użytego według Bloomberga, warto zwrócić uwagę na bardzo wysoki koszt takiego ataku w ujęciu teoretycznym. Implementacja trojanów sprzętowych to zadanie wymagające przede wszystkim zdolności produkcyjnych w zakresie wytwarzania układów scalonych, tzn. odpowiednio przeszkolonego personelu i narzędzi, a więc generujące wysokie koszty. W tym kontekście wprowadzenie układu scalonego na płyty główne to tylko ostatni etap implementacji takiego układu. Wcześniej niezbędne była analiza wsteczna całej płyty by ustalić zakres pracy układu a także jego umiejscowienie. Biorąc pod uwagę bardzo małe wymiary fizyczne złośliwego układu, nie większy niż rezystor mieszczący się na końcówce ołówka, sam proces projektowania i produkcji takiego układu scalonego też musiał być skomplikowany. Tutaj są możliwe dwa warianty. W pierwszym chip mimo małych rozmiarów jest dość skomplikowany, może np. obsługiwać cały stos protokołu komunikacyjnego. Takie podejście ułatwiało by znacznie atak jednak wymagałoby produkcji układu w niskim procesie litograficznym – czyli wysokie koszty. Alternatywą byłby prosty układ zoptymalizowany do konkretnego celu, pobierania danych z konkretnego protokołu. Takie podejście ogranicza znacznie elastyczność ataku. Ponadto pojawia się problem eksfiltracji danych – w jaki sposób taki prosty układ komunikuje się ze światem zewnętrznym. Podejście rozproszone, w którym trojan składa się z kilku niezależnych układów np. jeden na płycie głównej inny w karcie sieciowej, byłoby możliwym rozwiązaniem. Taki scenariusz oznacza jednak że droga do analizy i poznania całości ataku jest jeszcze daleka. Trzeba bowiem przeanalizować wszystkie komponenty IP od wszystkich dostawców pod kątem nieuprawnionych modyfikacji, nie wspominając o kwestiach prawnych i patentowych.

Kontrowersje techniczne

Grafika poniżej przedstawia wskazany przez Bloomberga fragment płyty w którym został umiejscowiony implant. Układ ASPEED (1) jest kontrolerem głównym płyty (BMC z ang. Board Management Controller). BMC to dodatkowy procesor w systemie, który ma za zadanie „zarządzać” interfejsem pomiędzy oprogramowaniem kontrolującym serwer a sprzętem platformy. BMC zbiera informacje z różnych czujników wbudowanych w system komputerowy na temat takich parametrów jak temperatura, prędkość wentylatora chłodzącego, stan zasilania, stan systemu operacyjnego (OS), itp. BMC może wysyłać alerty do administratora systemu przez sieć, jeśli którykolwiek z parametrów nie mieści się w ustawionych wcześniej granicach, wskazując potencjalną awarię systemu.

Bloomberg Plyta

Płyta główna Supermicro wspomniana w raporcie Bloomberga.

Znając praktyki producentów sprzętów, możemy założyć że układ ASPEED to stary mikrokontroler z przestarzałym jądrem linuksa, które ma udokumentowane luki. Oprogramowanie (firmware) jest przechowywane przechowywany na prostym 8 lub 16 pinowym scalaku. W tym konkretnym przypadku będzie to układ 2 lub 3 ze wskazaniem na 3. Chip z numerem 2 to najprawdopodobniej BIOS.Tutaj można dodać tzw. pakiet startowy (ang. bootkit), który ładuje kod podczas uruchamiania platformy sprzętowej i konfiguruje go tak by działał po uruchomieniu systemu operacyjnego. Miejsce numer 4 to pusty slot na dodatkowy układ. Tutaj jego położenie w bliskości 2 wskazuje na możliwość użycia tańszego 8 pinowego BIOSu, choć jest wiele innych wariantów. Wreszcie 5 to piny testowe które mogą być użyte albo do debugowania do kontrolera BMC albo do monitorowania interfejsu pomiędzy BMC i głównym CPU albo do obu tych czynności.

W tym kontekście optymalnym celem byłoby zainfekowanie BMC który nie dość że umożliwia dzięki swej złożoności przeniesienie operacji na wyższy poziom abstrakcji to jeszcze posiada możliwość wysyłania danych diagnostycznych na zewnątrz. Tutaj pojawia się jednak pytanie dlaczego dokonywać ataku za pomocą układu scalonego? Modyfikacja oprogramowania większości BMC jest bardzo prosta (jak wspominałem to często stary kernel linuxa) a dobrze zaimplementowany atak w firmware może być tak samo niewykrywalny i nie tak kosztowna w projektowaniu i implementacji jak chip. Może jednak Supermicro albo ich klienci przeprowadzają dokładny proces weryfikacji firmware’u?

Wychodząc poza modyfikacje firmware’u, drugim dogodnym celem ataku byłaby szyna systemowa I2C/SMBUS. Prostota protokołu magistrali I2C powoduje że mikrokontroler obsługujące I2C kosztują grosze i są dostępne w różnych obudowach. Przy okazji warto wspomnieć że niekoniecznie trzeba użyć obudowy dwurzędowej (DIP, SDIP, DPAK). Przy odrobinie wysiłku można wykorzystać inne komponenty w tym samym celu. Szczególnie interesujące wydają się być kondensatory które nie dość że są rozsiane po całym chipie (co ułatwia pozycjonowanie trojan) to jeszcze mają duże metalowe cylindry w których mieszczą się swobodnie inne komponenty. W takim scenariuszu kontrola wizualna i rentgenowska byłaby niewystarczająca do wykrycia zagrożenia.

Czy realne jest wyprodukowanie tak małego układu? Wielu komentatorów całej sprawy opisuje na bazie raportu Bloomberga w pełni sprawny samodzielny “komputer” o wielkości główki ołówka. Taki układ jest raczej nierealny i opisy tego typu mogą być kierowane głównie do “nietechnicznych” czytelników. Jednak układy scalone są coraz mniejsze a możliwości produkcyjne w porcelanie coraz tańsze i przez to dostępne dla każdego – nie tylko dla klientów instytucjonalnych. Podsumowując, układ wielkości ołówka podsłuchujący cały system i wysyłający dane jest raczej nierealny. Jednak układ o tej samej wielkości lewarujący mechanizmy bezpieczeństwa systemu i ułatwiający dostęp jest jak najbardziej w zasięgu możliwości wielu średnich firm nie mówiąc o klientach państwowych i koncernach.

Możliwe scenariusze ataku

Jest wiele możliwości modyfikacji płyty głównej wymienionej w raporcie Bloomberga. Poniżej prezentacja najczęściej dyskutowanych wektorów ataku oparta na zestawieniu Joe FitzPatricka.

  1. Modyfikacja pamięci flash BMC (układ ASPEED) celem dodania backdoora będącego dostępnym po uruchomieniu systemu operacyjnego (np. Dodatkowy kod wykonany w odpowiednim momencie przez CPU).
  2. Podobna modyfikacja BIOSu systemu (backdoor w BIOSie)
  3. Dodanie dodatkowego kontrolera monitorującego/przechwytującego dane z sensorów i modyfikującego ich zawartość tak być wpłynąć na działanie BMC i/lub wykonać złośliwy kod w innej części systemu.
  4. Wstrzyknięcie kodu do kontrolera BMC za pomocą złączy testowych

Wielu komentatorów, np. Trammell Hudson, Hector Martin, wskazuje miejsce numer 4 z grafiki jako dogodne do dokonania ostatniego ataku. Nie tylko można wykorzystać wolne złącza (pady) ale by implant wyglądał bardziej dyskretnie, można poprowadź cienkie przewody do punktów testowych. Wyglądałoby to bardziej „przeróbki fabryczne” w procesie poprodukcyjnym (czyli potocznie łatanie na szybko bugów) niż „złośliwy implant”. Alternatywą byłoby dolutowanie układy wprost pod/obok pinów kontrolera, miejsce numer 5.

Czy jest się czego bać? Czy mam trojana?

Te pytania przychodzą przychodzą na myśl wielu z nas po zapoznaniu się z materiałem Bloomberga. Mimo że sytuacja wydaje się być groźna prawie na pewno nie jest tak źle jak przedstawiają to żądne sensacji media. Poniżej kilka uwag o których warto pamiętać czytając kolejne doniesienia w sprawie.

Prawdopodobieństwo że to akurat my jako prywatni użytkownicy w Polsce jesteśmy celem ataku jest dość nikłe. Tak jak opisywałem na początku tego artykułu, ataki tego typu nie dość że drogie to są obarczone bardzo dużym ryzykiem prawnym i utraty zaufania klientów w przypadku wykrycia. Dodatkowo raz zmodyfikowanych produktów nie sposób wycofać z rynku. Dlatego amortyzacja takiego wysiłku instytucjonalnego niezbędnego do przeprowadzenia operacji może być dokonana jedynie poprzez atak na cel o odpowiednim statusie np. dane dużych korporacji, banków czy systemy wojskowe. Nawet jeśli wszystkie przesłanki okażą się być prawdziwe a niebezpieczny układ jest zainstalowany na każdej płycie głównej od danego producenta to prawdopodobieństwo że to my jesteśmy jego celem jest małe.

W przypadku osób prywatnych (za wyjątkiem osób publicznych bądź pracujących dla wymienionych wcześniej instytucji i organizacji) ataki za pomocą oprogramowania są zazwyczaj tak samo skuteczne a ich koszty (w tym czas potrzebny na przeprowadzenie) nieporównywalnie niższe.

Co ma robić moja firma czy instytucja?

Po pierwsze zachować spokój i cierpliwie poczekać na wyniki analizy. Wciąż nie ma jednoznacznych dowodów na nielegalne zastosowanie układu. Nie znane są ani dokładne cele infiltracji ani sposoby eksfiltracji danych np. sygnatury, adresy IP, maski, komendy zdalne. Raport Bloomberga przedstawia szereg poszlak które rzeczywiście mogą wskazywać na anomalie w projektowaniu i wykonaniu tych płyt głównych jednak nie przedstawia konkretnych dowodów które pozwoliłyby na jednoznaczną konkluzję.

Bez posiadanych tych danych niezbędna jest analiza całego układu która jest niezwykle kosztowna i skomplikowana. Pierwszą barierą są kwestie techniczne zaczynając od dużej ilość komponentów do przeanalizowania. Współcześnie produkowane płyta główna do zastosowań serwerowych ma co najmniej kilka (10^1) komponentów programowalnych które z reguły są bardzo złożone np. Sterownik bądź mikrokontroler, kilkanaście (10^2) aktywnych komponentów logicznych i kilkaset (10^3) komponentów pasywnych. Każdy z nich wymaga analizy. Trzeba zatem zrobić pełną inwentaryzację wszystkich komponentów. Następnie wynik inwentaryzacji należy porównać ze szczegółową dokumentacją. Oczywiście taka szczegółowa dokumentacja może być “niewygodna” dla producenta bo ujawnia w sposób bezpośredni bądź pośredni sposób wykonania produktu. W tym kontekście duży odbiorca ma łatwiej bo może wymuszać (lewarować) pewne zachowania będąc klientem ilościowym bądź instytucjonalnym np. Specjalny organ służb bądź instytut nie posiadający własnej produkcji.

Jeśli analiza wstępna wskazuje na anomalie (np. nieznane moduły, dodatki lub przewody, interfejsy naprawcze) trzeba zmiany skonsultować z dostawcą bądź poddać je wyczerpującej analizie fizycznej. O takiej analizie pisałem już w poprzednim wpisie. Najpierw przeprowadza się fuzzing komponentu (o ile to możliwe) w działającym systemie (tzw. “na żywo”). Następnie część się wyjmuje w celu fuzzingu w pełnym spektrum sygnałowym (wejść i wyjść) a także by pobrać i przeanalizować oprogramowanie (firmware) jeśli takie komponent posiada. Wyniki porównuje się do tych ze znanej i sprawnej (identycznej) części tzw. złoty wzorzec. Oczywiście jeśli taka część jest dostępna.

Następnie bada się promieniowaniem rentgenowskim cały układ. W idealnym wypadku celem badania jest zidentyfikowanie wszystkich różnic pomiędzy płytą a schematami układu (o ile producent nam je dostarczył). Celem jest zidentyfikowanie wszystkich komponentów IP, które nie wyglądają dokładnie tak, jak powinny, i przeprowadzania dokładnej analizy na każdym z nich. Najłatwiej zacząć od komponentów na szynach (magistralach) szeregowych o niskiej prędkości, a następnie komponentów nieoznakowanych, by potem zająć się większymi i aktywnymi układami. Następnie musimy przejść całą drogę w dół do elementów pasywnych.

Narzędzia do rewersu i analizy oprogramowania są stosunkowo łatwo dostępne, a niezbędne prace można przeprowadzić na zwykłej stacji roboczej. Zazwyczaj wymaga disassemblera wspieranego przez narzędzia do wstecznej analizy kodu, np. IDAPro czy radare. W przypadku układów scalonych jest to proces zdecydowanie bardziej skomplikowany. Po pierwsze obudowy elementów trzeba usunąć, by móc fizycznie zobaczyć układ. Proste metody mechaniczne, np. szlifowanie, mogą uszkodzić chip. Nawet mała rysa w przypadku technologii wykonania poniżej 90nm może zdecydowanie utrudnić, bądź wręcz uniemożliwić analizę wsteczną. W profesjonalnych laboratoriach stosuje się zatem silnie żrące kwasy rozpuszczające wszystko oprócz krzemu (warto zauważyć, że chip powinien być wciąż sprawny, by móc obserwować jego pracę w czasie rzeczywistym – inaczej sprawdzenie zawartości pamięci, rejestrów i wykonania równoległego jest niemożliwe). Ich użycie wymaga jednak odpowiedniej infrastruktury, np. odpowiednie nawiewy, narzędzia (pipety, odczynniki), a co ważniejsze odpowiednio przeszkolonego i doświadczonego personelu. Fizyczny dostęp do powierzchni układu to dopiero pierwszy krok. W następnym, do wykonania analizy, niezbędne są silne mikroskopy. Już sama wielkość układu jest barierą nie do przeskoczenia dla wielu hobbystów ze względu na wymagane powiększenie i jakość obrazu. Dodatkowo wiele układów produkowanych jest w technologii 3D, tzw. wielowarstwowej. W tym wypadku trzeba przekroić bądź wypalić warstwę, by zobaczyć ukryte fragmenty, do czego niezbędne są precyzyjne lasery.

Następną kwestią utrudniającą inżynierię wsteczną jest współbieżność pracy większości obwodów, tzn. elementy procesora, takie jak stopnie potoku czy rejestry, pracują równolegle ze sobą w czasie. Z teorii programowania wiadomo, że debug aplikacji wielowątkowej jest czasochłonny i kosztowny. Proces ten wymaga nie tylko znajomości wartości sygnałów stymulujących pracę układu, ale także ich przebiegu w czasie i współzależności. Te same problemy w sposób bezpośredni odnoszą się do obwodów elektronicznych. Dodatkowo w przypadku większości układów na końcowy design układu elektronicznego mają też wpływ czynniki ekonomiczne, takie jak cena pamięci czy podzespołów, które dynamicznie zmieniają się w czasie (atak bez względu na to jak silny też podlega tym prawom). Jak wiadomo z rewersu starszych generacji procesorów, budowa wielu elementów układu nie musi być oczywista i prosta do zrozumienia z przyczyn czysto praktycznych np. Optymalizacja względem zużycia energii i wydajności. Na koniec pozostają jeszcze błędy projektowe które powodują że układ ma anomalie które nie muszą być trojanem. Dodatkowo rewers i sprawdzenie układu, oprócz tego, że jest czasochłonne i kosztowne, często wiąże się z jego fizycznym zniszczeniem. To powoduje, że testy przeprowadza się na małym procencie układów i wiąże z ryzykiem przepuszczenia “trefnych” egzemplarzy.

Podsumowanie

Wielu komentatorów wskazuje że koszty takiej analizy płyt Supermicro w USA będą liczone w milionach dolarów. Być może dlatego Bloomberg przedstawił raport bez analizy komponentów? Trzeba przyznać że bez względu na wyniki analizy, tezy raportu są realistyczne a poszlaki wskazują na “rozsądne” i wykonalne umiejscowienie układu. Czyli atak tego typu jest technicznie wykonalny ale z wnioskami trzeba poczekać – w szczególności gdy zainteresowane strony zaprzeczają np. Apple, Amazon, Supermicro i zaangażowane rządy.

Warto zauważyć że USA posiada silny przemysł elektroniczny i wiele instytucji w tym kraju może pochwalić się odpowiednim zapleczem finansowe a także doświadczonym personelem i odpowiednio wyekwipowanymi laboratoriami które mogłyby przeprowadzić tego typu analizę. W przypadku Polski a także wielu podmiotów z innych części świata takie zadanie wydaje się być zdecydowanie trudniejsze a na pewno bardziej kosztowne.

Dlatego rozsądniejszym wydaje się być poczekanie na wyniki analizy z USA i zastanowienie jak uniknąć tego typu ataków w przyszłości czyli strategii firmy w odniesieniu do bezpieczeństwa sprzętowego. W jaki sposób kupujemy kupujemy sprzęt dla naszej instytucji? Jak go testujemy? Może potrzebne są rozwiązania instytucjonalne gdyż testy są bardzo kosztowne?

W całej sprawie wciąż jest wiele niejasności jednak jedno jest pewne – trojany sprzętowe z teorii spisku stają się powoli kolejną domeną ataku którą duże firmy i instytucje muszą traktować poważnie.

Artykuł był opublikowany również w serwisie ZaufanaTrzeciaStrona.