Jak sprawdzić swój komputer pod kątem obecności implantów sprzętowych

OXYGEN THIEF

Bardzo aktywny
Członek Załogi
Administrator
Dołączył
26 Maj 2010
Posty
35845
Reakcje/Polubienia
24900
Miasto
Trololololo
Co kryje się za tajemniczym chińskim trojanem sprzętowym? Jak sprawdzić, czy mój komputer, moja firma czy instytucja są zagrożone takim atakiem? Czy raport Bloomberga to tylko blef bez technicznej treści? Odpowiedzi na te pytania w artykule.

W przedostatnim akapicie tekstu znajdziecie wyjaśnienie konkretnych kroków, które trzeba podjąć, by przeanalizować zawartość własnego komputera.

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ę tylko chwilową i nic nie znaczącą zadyszką tej firmy.

O co chodzi
Zaloguj lub Zarejestruj się aby zobaczyć!
był już zamieszczony na naszym serwisie, 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 już w 2015 roku odkryły maleńkie chipy szpiegujące na swoich płytach głównych w serwerach, głównie dla usług “w chmurze”. 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 (m.in. CIA i Departamentowi Obrony) i wykonawcom oraz co najmniej 30 klientom komercyjnym, w tym
Zaloguj lub Zarejestruj się aby zobaczyć!
i Amazonowi. Według doniesień złośliwe układy scalone zostały odkryte przez Amazona 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 powołuje się na 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?
Zaloguj lub Zarejestruj się aby zobaczyć!
. Z raportu Bloomberga wynika, że mamy do czynienia ze scenariuszem, w którym zaufany dostawca (tajwańsko-amerykańska firma Supermicro) dostarcza produkt, a integrator/deweloper systemu (ang. SoC designer) wprowadza trojana w procesie
Zaloguj lub Zarejestruj się aby zobaczyć!
. W miarę prostym (jednak nie do końca precyzyjnym) porównaniem software’owym byłby atak za pomocą wstrzyknięcia kodu (ang.
Zaloguj lub Zarejestruj się aby zobaczyć!
) 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 .
Zaloguj lub Zarejestruj się aby zobaczyć!
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.

image1-1-435x580.png

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

Nawet bez dokładnej analizy chipu, o którym pisze Bloomberg, 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ędna 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łoby 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.
Zaloguj lub Zarejestruj się aby zobaczyć!
). 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.

image2-1-580x449.png

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 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 BIOS-u, 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 Linuksa), a dobrze zaimplementowany atak w firmware może być tak samo niewykrywalny i nie tak kosztowny 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 mikrokontrolery 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ę kondensatory, które nie dość, że są rozsiane po całej płycie (co ułatwia pozycjonowanie trojana), 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 główki 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
Zaloguj lub Zarejestruj się aby zobaczyć!
.

  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 BIOS-u (backdoor w BIOS-ie).
  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.
Zaloguj lub Zarejestruj się aby zobaczyć!
,
Zaloguj lub Zarejestruj się aby zobaczyć!
, 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 na „przeróbki fabryczne” w procesie poprodukcyjnym (czyli potocznie – łatanie na szybko bugów) niż „złośliwy implant”. Alternatywą byłoby dolutowanie układu wprost pod/obok pinów kontrolera, miejsce numer 5.

Czy jest się czego bać? Czy mam trojana?
Te pytania przychodzą na myśl wielu z nas po zapoznaniu się z materiałem Bloomberga. Mimo że sytuacja wydaje się 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ę 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. Nieznane 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 posiadania 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 liczby komponentów do przeanalizowania. Współcześnie produkowane płyty główne do zastosowań serwerowych mają 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 nieposiadają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
Zaloguj lub Zarejestruj się aby zobaczyć!
. 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 komponent takie 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 przeprowadzanie 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. odpowiednich nawiewów, narzędzi (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. Innymi słowy, atak tego typu jest technicznie wykonalny, ale z wnioskami trzeba poczekać – w szczególności gdy zainteresowane strony zaprzeczają, np. Apple, Amazon, Supermicro i agencje rządowe.

Warto zauważyć, że USA posiada silny przemysł elektroniczny i wiele instytucji w tym kraju może pochwalić się odpowiednim zapleczem finansowym, 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ę zdecydowanie trudniejsze, a na pewno bardziej kosztowne.

Dlatego rozsądniejszym wydaje się 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 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.
info:zaufanatrzeciastrona.pl

Zaloguj lub Zarejestruj się aby zobaczyć!
 
Do góry