Czy mój dysk mnie szpieguje, czyli o tylnych furtkach w dyskach twardych

dodał 20 lutego 2015 o 20:15 w kategorii Info, Prywatność  z tagami:
Czy mój dysk mnie szpieguje, czyli o tylnych furtkach w dyskach twardych

Kilka dni temu media podały, że NSA potrafi trwale infekować twarde dyski. W związku z tym nadsyłacie sporo pytań, na które poniżej odpowiadamy. Na czym polega infekcja? Jak ją wykryć? Czy można się przed nią obronić?

Rosyjska firma antywirusowa Kaspersky w serii obszernych raportów opisała narzędzia używane przez tzw. Equation Group, w rzeczywistości NSA oraz GCHQ. Wśród tych narzędzi znalazło się wyjątkowo wyrafinowane złośliwe oprogramowanie, potrafiące infekować wbudowane oprogramowanie dysków twardych.

Fragment kodu złośliwego programu odkrytego przez Kaspersky'ego

Fragment kodu złośliwego programu odkrytego przez Kaspersky’ego

Czy wcześniej wiedziano o tym programie?

Kaspersky publikując informacje o oprogramowaniu infekującym dyski twarde nie odkrył Ameryki – o jego istnieniu wiedzieliśmy już od ponad roku dzięki dokumentom wyniesionym przez Edwarda Snowdena. W terminologii NSA program ten nazywa się IRATEMONK i już w 2008 roku potrafił infekować dyski WD, Seagate, Maxtora i Samsunga oraz obsługiwał systemy plików FAT, NTFS, EXT3 i UFS. Kaspersky zidentyfikował dwie jego wersje – z 2010 oraz z 2013. O ile starsza ma podobny zakres funkcji jak te przedstawione na slajdzie z 2008, o tyle nowsza wersja potrafi również  infekować dyski wielu innych dostawców.

Fragment katalogu narzędzi NSA

Fragment katalogu narzędzi NSA

Na czym może polegać infekcja?

Nie znamy szczegółów działania najnowszych wersji oprogramowania autorstwa NSA (te z 2008 podmieniały zawartość Master Boot Recordu) ale bez problemu możemy wyobrazić sobie proste scenariusze w których złośliwe oprogramowanie, umieszczone w kontrolerze dysku twardego, reinfekuje pliki na dysku po jego sformatowaniu. Jako że kontroler pośredniczy w procesie odczytu informacji z dysku i przekazywaniu ich do systemu operacyjnego, nic nie stoi na przeszkodzie, by na przykład w procesie uruchamiania komputera oszukał system operacyjny i poinformował go o konieczności wykonania pliku znajdującego się jedynie w jego pamięci. W ten sposób komputer może być ponownie zainfekowany jeśli nie doszło do fizycznej wymiany dysku twardego.

Kolejnym możliwym zastosowaniem tego sposobu infekcji jest modyfikowanie w locie plików znajdujących się na dysku. W opisywanym przez nas dwa lata temu eksperymencie pewien badacz skonstruował tylną furtkę w swoim dysku twardym, która w locie podmieniała fragment pliku /etc/shadow, dzięki czemu mógł on zalogować się do komputera używając hasła nie znajdującego się na dysku. Sama furtka aktywowana była odczytaniem lub zapisaniem na dysku słowa – hasła. Aktywować można ją było również zdalnie – wystarczyło by np. właściciel komputera odebrał (nawet nie otworzył) wiadomość poczty elektronicznej zawierającej słowo – klucz. Wiadomość była zapisywana na dysku i uruchamiała furtkę, która potem mogła być zamknięta w podobny sposób by przywrócić normalne działanie systemu.

Z raportu Kaspersky’ego wiadomo także, że odkryte oprogramowanie udostępnia API obsługujące przechowywanie danych w ukrytych obszarach twardego dysku. Prawdopodobnie tam może zostać zapisana kopia konia trojańskiego, która jest następnie przywracana po sformatowaniu dysku.

Czy producenci dysków maczali w tym palce?

W raporcie Kaspersky’ego czytamy o tym, że oprogramowanie NSA wykorzystuje nieudokumentowane funkcje producentów, by modyfikować oprogramowanie wbudowane dysków twardych. Jak NSA te funkcje poznało? Odpowiedzi może być wiele i nie każda oznacza świadomą współpracę producenta. Niezależni badacze niejeden raz pokazali, że inżynieria wsteczna jest skutecznym narzędziem poznawania zasady działania wbudowanego oprogramowania. Dostępne w dyskach twardych standardowe interfejsy debuggingowe (porty szeregowe, JTAG) znacznie ułatwiają zadanie. Utalentowany inżynier z lutownicą i deasemblerem jest w stanie samodzielnie przeprowadzić proces infekcji dysku twardego i nie potrzebuje do tego celu NSA ani współpracy producenta.

Inną opcją, która zapewne mogła ułatwić pracę NSA, jest uzyskanie kodu źródłowego wbudowanego oprogramowania w legalny sposób bezpośrednio od producenta. Jest powszechnie przyjętym zwyczajem, że „poważne” służby proszą o kod źródłowy produktów, które planują zakupić, by przeprowadzić samodzielnie analizę jego bezpieczeństwa. W ten sposób amerykańskie służby mogły wejść w posiadanie kodu źródłowego oprogramowania wbudowanego dysków i wykorzystać je do stworzenia swoich implantów.

Czy można się przed takim atakiem zabezpieczyć?

Pierwszym pomysłem jaki przychodzi do głowy by zabezpieczyć oprogramowanie wbudowane przed nieautoryzowaną modyfikacją to sprzętowy przełącznik, bez aktywacji którego nie będzie możliwa zmiana treści pamięci. To jednak nie takie proste – przełącznik musi być zarówno łatwo dostępny dla zwykłego użytkownika, jak i niemożliwy do przypadkowego przełączenia. Do tego ile takich przełączników jest potrzebnych? Przecież wbudowane oprogramowanie znajduje się nie tylko w dysku twardym, ale także w praktycznie każdym innym komponencie – klawiaturze, karcie sieciowej, karcie graficznej czy nawet karcie SD i może zostać wykorzystane do zapewnienia przetrwania wirusa. Wydaje się zatem, że fizyczna blokada zapisu jest mało realna, a z kolei blokady programowe są z definicji bezsilne wobec włamywaczy. Nie bez powodu NSA korzysta z infekowania dysków twardych – trudno znaleźć dobre zabezpieczenie przed takim atakiem.

Czy można zatem przynajmniej wykryć taką infekcję? To też nie jest proste zadanie. Jeśli komputer jest już zainfekowany, można podejrzewać, że wszystkie próby weryfikacji zawartości pamięci, liczenia sum kontrolnych i porównywania obrazów mogą zostać sfałszowane by pokazać, że infekcji nie stwierdzono. Jedynie operacje typu „kup 3 egzemplarze tego samego dysku, każdy innym kanałem, na osobnej świeżej stacji zrzuć zawartość wbudowanej pamięci do pliku i porównaj” wydają się mieć szansę powodzenia, jednak są bardzo kosztowne i pracochłonne. Nie znamy łatwego i prostego sposobu potwierdzenia, że we wbudowanym oprogramowaniu komputera nie ma żadnych niespodzianek.

Na szczęście Kaspersky w swoim raporcie wspomina, że omawiany program występował bardzo rzadko i najwyraźniej był stosowany tylko wobec celów posiadających największą wartość dla obcego wywiadu. Jeśli zatem nie pracujecie nad niczym przełomowym, to możecie spać spokojnie.

Źródła i polecana lektura:

  1. Praktyczna implementacja tylnej furtki w pamięci flash dysku twardego
  2. Rakshasa, niewykrywalny i nieusuwalny backdoor sprzętowy
  3. Ukrywanie danych w obszarach serwisowych dysków twardych
  4. Proste ukrywanie obszarów dysku przed oprogramowaniem śledczym
  5. [VIDEO] Travis Goodspeed: A Fast Hard Disk with Active Antiforensics
  6. [PDF] Implementation and Implications of a Stealth Hard-Drive Backdoor
  7. [PDF] Exploring the impact of a hard drive backdoor