Co powiecie na złośliwe oprogramowanie, które można na trwałe zainstalować w MacBooku mając jedynie chwilowy dostęp do jednego portu, którego nie da się usunąć i które potrafi samo przenosić się na inne urządzenia – niekoniecznie komputery?
Koncepcja bootkitów nie jest nowa, a od wielu lat znana jest również w MacBookach. Trzeba jednak przyznać, że najnowszy pomysł na jej realizację ma powiew świeżości i kilka interesujących funkcji.
Niewidzialny, nieusuwalny, rozmnażający się
Trammel Hudson, autor wielu prac dotyczących analizy wbudowanego oprogramowania, ma już za kilka dni przedstawić na konferencji 31C3 bardzo ciekawą koncepcję bootkitu dla MacBooka. Po pierwsze interesująca jest metoda instalacji złośliwego oprogramowania w komputerze. Co prawda Apple zabezpiecza kryptograficznie aktualizacje EFI (następcy BIOSu), ale Trammel skorzystał z metody na obejście tych zabezpieczeń. Tym sposobem jest ROM urządzenia Thunderbolt. Trammel najpierw łączy się z portem Thunderbolta, by zapisać odpowiednie dane do tzw. Option ROM urządzenia, czyli pamięci, które zostanie załadowana w momencie uruchamiania komputera. Pozwala to na zaktualizowanie EFI i wgranie własnego kodu.
Jedyne, czego potrzeba w ataku, to dostępu do portu Thunderbolt. Przy okazji aktualizowania EFI zmieniany jest również zapisany w pamięci ROM klucz publiczny Apple, by uniemożliwić przyszłe próby aktualizacji oprogramowania. To powoduje, że bez znajomości klucza prywatnego użytego w ataku do podmiany, jedyną metodą usunięcia bootkitu jest sprzętowe nadpisanie układów pamięci. Ze względu na umiejscowienie złośliwego kodu w pamięci ROM reinstalacja systemu operacyjnego lub nawet wymiana dysku twardego nie wpływa w żaden sposób na jego funkcjonowanie.
Kolejną, chyba najciekawszą opcją bootkitu jest jego umiejętność rozmnażania się. Proces infekcji innych urządzeń podłączonych przez port Thunderbolt jest identyczny jak w przypadku komputera. Złośliwy kod zostaje załadowany do pamięci Option ROM, gdzie może spokojnie czekać na podłączenie innego komputera. W ten sposób bootkit może się przenosić z komputera na komputer przez np. współdzielony monitor lub dysk zewnętrzny.
Trammel twierdzi, że metoda ataku z wykorzystaniem pamięci Option ROM ma już dwa lata i jak do tej pory Apple nie zdecydowało się jej załatać.
Komentarze
Apple’owi nie chce się tego łatać, bo nikt nie używa Thunderbolta :D
Po CCC im się zachce latać.
Teraz pytania dla paranoików: czy NSA wiedziała o dziurze? Czy w Apple ktoś to „przeoczył” tak jak w Google fakt używania nieszyfrowanych połączeń między DC? Ile jeszcze takich niespodzianek przed nami?
Wesołych świąt :)
Miało być: „łatać” :)
Podobna historia co z Bad USB…
Mnie bardziej ciekawi, jak sprawdzić czy komputer jest już po ataku i ma wgrany extra kod do OptionROM ?
Nie wiadomo jak działa ciągle ten atak,bo to co zostało opisane w tym artykule to stek bzdur sugerujący, że ktoś coś zapisuje do ROM, tutaj Option ROM ? To ja przypomnę może ekspertom z tego portal co oznacza ROM = ROM (ang. Read-Only Memory – pamięć tylko do odczytu).
Takie pamięco są programowane na poziomie produkcji. Oczywiście są porty typu JTAG, które pozwalają na flashowanie nawet takich pamięci za pośrednictwem odpowiedniego interfrejsu i może coś podobnego ma tutaj miejsce,ale tego nie wiemy, bo dowiadujemy się z tego opisu właściwie NIC.
Pewnie atak jest dość skomplikowany i nie łatwo go odtworzyć, ale jeśli NSA już na tym położyło swoje łapy to tylko się można bać ;]
„ROM (ang. Read-Only Memory – pamięć tylko do odczytu) – rodzaj pamięci półprzewodnikowej urządzenia elektronicznego, w szczególności komputera, z której dane można tylko odczytywać, a zapis jest niemożliwy, trwa długo lub może wymagać dodatkowych czynności lub sprzętu. W tego typu pamięciach przechowywane są dane, które muszą być zachowane, nawet jeśli urządzenie nie jest zasilane.”
„może wymagać dodatkowych czynności lub sprzętu”
Pozdrowienia od ekspertów z3s dla ekspertów – komentatorów.
Dzięki za pozdrowienia, ale jeśli eksperci z3s czerpią swoją wiedzę głównie z wikipedii, to nie nadaje to wam wiarygodności. Konkurencja opisała to profesjonalniej i rzetelniej.
Pozdro
’Option ROM’ to nazwa technologii całkowicie oderwana od rzeczywistej implementacji sprzętowej. Może ona być zatem programowana również za pomocą interfejsu z którego korzysta urządzenie. W efekcie taki 'Option ROM’ w karcie sieciowej można bezproblemowo zaprogramować z poziomu systemu operacyjnego.
A problem jak sądzę polega na tym że:
– EFI Apple nie weryfikuje sygnatur kodu pochodzącego z pamięci flash na urządzeniu wewnętrzynm
– EFI Apple uruchamia tenże kod
W efekcie może on nadpisać zawartość pamięci FLASH na płycie głównej w której znajduje się EFI.
Ciekawe czy ten sam atak da się zrealizować na PC? Wprawdzie USB nie ma funkcji uruchamiania procedur z zewnętrznej pamięci ROM, ale zarówno nowe interfejsy, bazujące na doprowadzeniu szyny PCI-E bezpośrednio do urządzenia (m2, sata express), oraz stare interfejsy jak PCI-E czy Express Card mogą być.
„Ciekawe czy ten sam atak da się zrealizować na PC?”
Oczywiście, że tak, chociaż szczegóły techniczne będą inne. Zgaduje, że apple sprawę ignorowało ponieważ ma świadomość jak popularnym rozwiązaniem jest Option ROM, a zagrożenia z nim związane znane są w sumie od zawsze…
Co nie zmienia faktu, że przez swoją ignorancje, prawdopodobnie znacznie ułatwili zadanie zamiast je utrudnić.
„Przy okazji aktualizowania EFI zmieniany jest również zapisany w pamięci ROM klucz prywatny Apple” – w którym miejscu jest zapisana ta kopia klucza PRYWATNEGO?
Słuszna uwaga, poprawione, chodziło o klucz publiczny.