20.02.2015 | 20:15

Adam Haertle

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
Powrót

Komentarze

  • 2015.02.20 20:35 fdsjhf

    Ja myślę, że jeśli w ten sposób jest możliwe zmodyfikowanie bootloadera tak, by zapisywał hasłą wprowadzane podczas odszyfrowania dysku Truecryptem i innymi narzędziami, to jest główny cel.

    Odpowiedz
  • 2015.02.20 21:10 peja xD

    Cewka zaplonowa z Fiuta 125p, generator na NE555, dobry MOSFET i mozna bez problemu usuwac backdoory NASA zaszyte w firmware.

    Odpowiedz
  • 2015.02.20 21:38 Piotr

    Rozwiązanie jest proste(relatywnie)

    Reverse engineering robaczka.

    Skoro kaspersky wykrył, to znaczy że ma wtyki i/lub możliwości odczytania firmware.
    Zmodyfikować(szczepionka) robaka tak aby sam był nieaktywny i zaktualizować ponownie firmware.

    Tłumaczenie że stosowali tylko do ważnych 'celów’ do mnie nie trafia, w każdej chwili może im się zachcieć szpiegować każdego. Bo każdy to potencjalny terrorysta.

    Odpowiedz
    • 2015.02.23 19:54 Zibi

      …”Zmodyfikować(szczepionka) robaka tak aby sam był nieaktywny i zaktualizować ponownie firmware.”… To dobry pomysł, sam kiedyś się w taki sposób bawiłem z wirusami, czasem modyfikacja wirusa i pozostawienie go jako nieaktywny daje bezpieczeństwo przed ponowną jego infekcją

      Odpowiedz
  • 2015.02.20 22:03 grytrurtu

    @Adam
    a powiedz nam jeszcze, czy jeśli takie NSA umieściłoby trojana na dysku i dało ten dysk Kowalskiemu mówiąc, że tam jest trojan, a Kowalski pobrałby z netu np. Comodo Internet Security, ustawił reguły na własne i firewall by pytał o dosłownie 100% rzeczy, które wołają dostępu do netu, to czy ten Kowalski mógłby wtedy zablokować dostęp do netu takiemu trojanowi? Comodo może zablokować net tak (jak wywali się regułkę System), że net nam odetnie i comodo zacznie spamować alertami o router i innymi, dopiero wtedy po akceptacji net będzie działał.

    Odpowiedz
    • 2015.02.20 22:16 Adam

      Żaden program Cię nie zabezpieczy, bo koń trojański NSA mógłby go potencjalnie oszukiwać. Tylko niezainfekowany firewall sprzętowy i to z ręczną inspekcją każdej reguły i każdego pakietu (no bo skąd pewność który serwer www jest centrum sterowania koniem trojańskim).

      Odpowiedz
  • 2015.02.20 22:33 hdddd

    Adam, wiem, że to odbiega trochę od tematu, ale chcę wiedzieć, czy wg ciebie zwykli przestępcy robią trojany dla mas, czyli wychodzą z założenia, że większość osób nie ma AV w ogóle, a część ma AV i pod nich robią trojany omijając ludzi z firewallami, czy może robią trojany dla wszystkich, czyli chcą koniecznie by ktoś mający Kasperkiego i inne programy „Internet Security” z firewallami też padł ofiarą? Czy wg ciebie łatwo takiemu bandziorowi zrobić trojana, który ominie popularnego, dobrego firewalla, czy to raczej na tyle zaawansowane, że raczej nikt tego nie robi, bo szkoda zachodu? W końcu i tak 50% użytkowników może stwierdzić „mam AV, nie potrzebuję firewalla” i przestępca tylko zadba by trojan aktualizował się ciągle, tak by nie był wykrywalny przez AV i tyle i nie będzie w ogóle celować w ludzi z firewallami?

    Odpowiedz
  • 2015.02.20 22:41 thygjyg

    Czy planujesz napisać jakiś artykuł o technikach wykorzystywanych przez terrorystów, ich sposobie działa, jakich narzędzi używają, czy na ich forach terrorystycznych są jakieś zalecenia, by szyfrować wszystko, by linuxa mieć i tak dalej, czy nie masz w planach takich artów? Bo chętnie bym się dowiedział jakie narzędzia są przez nich wykorzystywane i czy piszą własne programy jakieś, oraz czy poza instrukcjami bomb, zamieszczają instrukcje korzystania z pc. Może mają jakieś serwisy podobne do niebezpiecznika i zaufanejtrzeciejstrony i tam jakiś gość pisze to co wy, a na forach może są spece piszące tutoriale :D.
    Bo w dokumetach z TV można czasem zobaczyć laptopa terrorysty, ma tam windowsa, firefoxa, chrome i AV amerykańskiego lol. Chcę wiedzieć jaki poziom prezentują ich bandyckie fora. Oczywiście nie popieram ISIS, chcę by je zniszczyli jak najprędzej.

    Odpowiedz
    • 2015.02.21 12:23 joe

      >..o technikach wykorzystywanych przez terrorystów, ich sposobie działa, jakich narzędzi używają …
      Do przekazywania wiadomości na przykład: gołębi ;)

      Odpowiedz
  • 2015.02.20 22:51 steppe

    No to może już czas na dyski Open Source Hardware i otwartym oprogramowaniem? :)
    Wiem, że to nie załatwi wszystkiego od ręki, ale byłoby chyba łatwiej walczyć z takimi prezentami od smutnych panów.

    Odpowiedz
    • 2015.02.23 07:48 fyx

      A co jeśli firmware dysku uczestniczyłby w operacji odczytywania i zapisywania firmwaru? Raz zainfekowany dysk obroniłby się przed każdą próbą jego wyleczenia i udawałby że jest zdrowy. Otwarte oprogramowanie nie zmieni sytuacji w tym przypadku.

      Odpowiedz
      • 2015.02.23 14:58 steppe

        A może właśnie pomogłoby zaimplementować mechanizmy chroniące przed czymś takim :)

        Odpowiedz
  • 2015.02.21 00:10 Jacek

    A jeśli mam dysk szyfrowany software’owo? Wtedy oprogramowanie będzie oczekiwało, że dysk poda nam fragment pliku w wersji zaszyfrowanej. Czy kontroler z robakiem nie jest w stanie zaszyfrować podstawionego fragmentu pliku nie znając klucza. Tak samo moze nie byc w stanie zadziałać na słowo-klucz, jeśli zostanie ono zapisane na dysku w formie zaszyfrowanej.

    Odpowiedz
  • 2015.02.21 00:34 kjw

    Jedyną w pełni skuteczną metodą obrony, jest użycie kontrolera RAID z własnym procesorem i pamięcią podręczną. Takiego by się na nim dało postawić dowolny system, bez żadnych sterowników. Standard magistrali dowolny.

    Najtaniej choć nie w 100% skutecznie można to zrobić kupując sam kontroler SCSI i używane dyski SCSI. Można też użyć dysków Fibre Channel. MBR dysku SCSI na kontrolerze jest przetwarzany przez kontroler, przy czym w miejsce kodu z MBR jest wstawiany kod z kontrolera SCSI, który jest zaszyty na stałe. Atakujący musiałby zaatakować kontroler SCSI, co nie jest proste.

    Odpowiedz
    • 2015.02.21 08:07 max

      Albo wrzucić coś takiego na FPGA i podpiąć kości flash.
      http://opencores.org/project,sata_controller_core

      Odpowiedz
      • 2015.02.22 00:09 spawacz69

        Gdybyś robił w embedded to wiedziałbyś że inna nazwa opencores to opensores. Większość projektów z tej strony jest w najlepszym przypadku średnia i używanie ich w poważnym projekcie to proszenie się o kłopoty.

        Odpowiedz
  • 2015.02.21 07:10 max

    Można snuć dywagacje co jest najlepszym sposobem, bo może jest nim po prostu nie używanie dysków twardych. Nie zmienia to jednak faktu że taki amerykański syfilis może kiedyś, o ile już nie dzisiaj, wleźć docelowo w każdy kontroler znajdujący się w komputerze a także poza nim :)
    Znane są przypadki wirusów szpiegów w bateriach do e-fajek czy ładowarkach więc przyjdzie czas i na expresy do kawy, mikrofalówki czy szczoteczki do zębów. Byle miały jakąś komunikację ze światem zewnętrznym.
    Czarno to widzę panowie bo taki syf naprawdę ciężko usunąć i zdiagnozować i skończy się kiedyś po prostu albo na stopniowym wycofywaniu się ludzi z używania nowych technologii czyli cofnięcia nas do epoki kamiennej albo, co bardziej prawdopodobne do zaakceptowania przez posłuszne stado faktu że wszyscy będziemy jakąś metodą zachipowani. Większość zapewne wybierze słodką nieświadomość i radosne wmawianie sobie że ich sprzęt jest czysty, oni nic złego nie robią, a mechanizm wyparcia zrobi resztę.
    Ta ruska konferencja to wygląda mi bardziej jak reklama amerykańskich służb niż pożyteczna informacja n/t zagrożeń z ich strony, bo piszą jak to NSA nie jest groźne i silne i przewrotne i jaka to nowość wirusy w dyskach twardych ale żeby się nie bać bo używają tego rzadko (ciekawe skąd o tym mogą wiedzieć) a z drugiej strony piszą że nie mają nawet samego firmware’u tylko jak rozumiem samą biblioteke sterującą ( a i tej nie widze udostepniomnej w necie ani innych próbek) , a więc to raczej nie pomaga bo i komendy ATA i sam bitstream zapewne był wstrzykiwany zdalnie.
    A jeśli mają to się nie podzielili z tajemniczych powodów. Myśle że j. e. Władimir Władymirowicz zna te powody doskonale :)
    Na koniec najsmutniejsza i chyba najważniejsza refleksja, a mianowicie bezpieczeństwo i prywatność każdego z nas jest odwrotnie proporcjonalne do ilości i niefrasobliwości otaczających nas osób (oraz sprzętu) z którymi mamy jakikolwiek kontakt. A tu może być naprawdę niewesoło.
    A wy jak? Wysyłacie na i odbieracie listy ludzi ze skrzynek gmail? Bo ja nie :/
    Pytanie tylko jak namówić 7 miliardów ludzi żeby używali szyfrowania rozmów telefonicznych na poziomie telefonu i czym (zakładając brak Internetu) zakładając że trojany nie siedzą u każdego z nas w SOCach wsadzone już przez producentów stafu, czego nigdy do końca pewni nie będziemy.

    Odpowiedz
  • 2015.02.21 10:59 józek ps. gruzin

    A jakby zrobił repozytorium wszystkich znanych firmwareów? Oczywiście razem z modelem z którego pochodzi. Gdyby zbierał je przy użyciu jakiegoś zewnętrznego systemu np. z USB byłaby niwielka szansa że backdoor się obroni.

    Odpowiedz
    • 2015.02.21 13:09 Duży Pies

      Lepiej już przygotuj opis jak samemu poprawnie zrzucić firmware z HDD/SSD. Ja sam mam w domu kilkadziesiąt dysków twardych. Ludzie na forum pewnie też mają trochę dysków w swoich szufladach. Moglibyśmy pozrzucać firmware i zrobić sobie własne repo – Adam, na pewno udostępni przestrzeń na Z3S;)

      Odpowiedz
    • 2015.02.21 14:17 Adam

      I na pewno nikt nigdy nie będzie mógł wpłynąć na zawartość repozytorium na etapie zbierania czy weryfikacji? :)

      Odpowiedz
      • 2015.02.21 14:31 Duży Pies

        Trzeba przygotować metodykę, tak jak na labach z fizyki lub chemii. Czyli opracować wszystko od sposoby zrzucania po konkretny sprzęt do zrzucania, tak żeby zrzucanie ujednolicić.
        Dla konkretnego dysku (producent, model, numer rev. na laminacie, nr firmware) – kilka(naście) osób zrobi tak samo, wyliczy sumy MDx/SHAx i wrzuca je + kopia firmware na repo. Jeśli będą się zgadzały to robi się miło:)
        Najlepiej byłoby do tego pozyskać technika który pracuje w firmie do odzyskiwania danych, w Polsce są 2 duże:) Taka osoba ma dostęp do olbrzymiej ilości dysków, byłby dla nas źródełkiem firmware:)

        Odpowiedz
        • 2015.02.21 18:47 Adam

          Crowdsourcing to chyba jedyne rozwiązanie – nie da się zainfekować każdego.

          Odpowiedz
  • 2015.02.21 11:48 gość

    Z tym przełącznikiem na linii chip enable to jak kasztany na reumatyzm. Niestety dysk twardy posiada niewiele oprogramowania w chipach. W wielu dyskach oprogramowanie układowe można porównać do firmware Amigi – program do uruchamiania systemu. System w dysku twardym znajduje się w strefie serwisowej w postaci bloków zwanych modułami. Żeby nie było za łatwo liczyć im sum kontrolnych istnieją tzw. moduły adaptacyjne, zastępujące starą dobrą listę defektów, wypisaną niegdyś czarnym długopisem na specjalnej naklejce na obudowie dysku. Te bloki są różne w każdym egzemplarzu dysku. Do tego zapisywana jest również G-list – lista defektów, którą relokował SMART oraz dane przez SMART aktualizowane.

    Odpowiedz
  • 2015.02.21 14:01 Adam

    Kurcze… przez was niedługo będę bał się użyć w toalecie papieru z obawy, że posiada on tylne furtki dla NSA :(

    Odpowiedz
    • 2015.02.21 14:27 siwy

      To ty nie wiesz ze wszystkie sedesy to spisek rządowy, żeby pobierać od ludzi ich DNA?! ;D Mogą Cie tez monitorować, bo przecież nie załatwiasz potrzeb tylko w domu! ;D

      Odpowiedz
      • 2015.02.21 23:45 Adam

        Gorzej gdyby przy użyciu backdoorów w papierze toaletowym NSA mogło wprowadzać swoje dane ;) he he he

        Odpowiedz
  • 2015.02.21 14:21 olek

    Kasperski były pracownik KGB też był oskarżany przez
    Kavkazcenter.com
    że jego oprogramowanie Dosowało ich stronę .

    Odpowiedz
  • 2015.02.23 08:12 smutneto

    To jest totalitaryzm. USA zmieniły się w totalniackie imperium i nawet tego nie widzą. Jeśli agencja taka jak NSA ma nieograniczone środki finansowe i „ludzkie” to praktycznie może zhakować wszystko i dotrzeć wszędzie. Łącznie z projektami open source, bo co za problem podstawić do jakiegoś distra linuksa młodego zdolnego na którego w rzeczywistości pracuje cały zespół z NSA? Facet jest przydatny, zdobywa zaufanie i wprowadza do kodu wyrafinowane furtki. Zresztą widać że oni wolą brać się za sprzęt, co tam soft, karty SIM, dyski, procesory, infrastruktura telekomunikacyjna. Cały świat na podsłuchu i nie robią tego komunistyczne Chiny ani putinowska Rosja tylko USA.

    Odpowiedz
  • 2020.02.03 23:29 Malte

    1.Mamy dwa komputery, jeden „normalny” do pracy, NIGDY nie włączany do sieci, drugi, skromny nawet stary, podłączony do sieci, używany WYŁĄCZNIE jako przeglądarka i skrzynka mailowa.

    2.Używamy MÓZGU. (Każdy z nas ma do dyspozycji to POTĘŻNE narzędzie. Nie tylko NSA.) Pierwsze zadanie dla mózgu to zrozumienie, że rezygnacja z minimum wygody z jaką jest niewątpliwie związana konieczność ciągłego przechodzenia z jednego komputera na drugi to naprawdę nie jest dużo.

    Wówczas NSA może próbować zhakować nasz odłączony od sieci komputer telepatycznie oraz używać „wyrafinowanych” metod. Szczerze życzymy powodzenia.

    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.

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

Komentarze