Jellyfish: jesteśmy bezbronni wobec szkodników ukrywających się w pamięci karty graficznej

Strona głównaJellyfish: jesteśmy bezbronni wobec szkodników ukrywających się w pamięci karty graficznej
11.05.2015 15:52

Kilka dni temu dyrektor techniczny AMD powiedział, że sprzętoweimplementacje mechanizmów bezpieczeństwa muszą być częściąwszystkich produktów firmy. Jego uwaga, choć ogólna w swojejnaturze, nabrała nowego znaczenia teraz, gdy zespół hakerówzademonstrował rootkita o nazwie Jellyfish. Działa on w procesorzegraficznym komputera i jest niemożliwy do wykrycia za pomocąjakichkolwiek dostępnych narzędzi programowych.

bDUnmcaJ

Udostępniony naGitHubie Jellyfish służyć ma celom edukacyjnym. Działa nalinuksowych systemach, poprzez interfejs OpenCL, służący doprzyspieszania operacji matematycznych za pomocą GPU i instaluje sięw pamięci karty graficznej. Dzięki bezpośredniemu dostępowi dopamięci może podglądać zawartość pamięci operacyjnej komputerabez udziału CPU i przesyłać dane do kontrolującego go serwera.Uruchomić go możemy na kartach Nvidii i AMD, a także dzięki SDKAMDAPP, także na procesorach ze zintegrowaną grafiką Intela.

350136406661883337

Jellyfish wciąż jest rozwijany, autorzy zastrzegają, żezawiera wiele błędów, ale i tak jako dowód koncepcji wyglądabardzo ciekawie. Dzięki niemu widzimy bowiem, że elastycznośćwspółczesnych GPU pozwala na nich uruchamiać także kod ogólnegoprzeznaczenia, w tym także malware. Dla twórców szkodników toświetna wiadomość – praktycznie nie ma dziś sposobu na to, bytaki działający na GPU program wykryć i unieszkodliwić. Wbudowanew systemy operacyjne narzędzia do monitorowania procesów niczegonie zobaczą. W najlepszym razie możemy skorzystać z narzędzipozwalających na monitorowanie obciążenia GPU – ale niewiele nampomogą wobec kodu, którego uruchomienie przynosi obciążenia napoziomie 0,1%.

bDUnmcaL

Nawet jeśli udałoby się jednak działanie takiego rootkituwykryć, jego usunięcie wcale nie musi być takie łatwe: malwareukryte w pamięci wideo jest w stanie przetrwać restarty komputera,a wykorzystanie polimorficznego kodu sprawi, że nawet jeśli raz udasię go wykryć, to za kolejnym razem może się to nie udać.

Nie jest to pierwsze podejście do ataku wykorzystującego GPU.Twórcy Jellyfisha stworzyli też działający w pamięci GPUkeylogger o nazwie Demon, zainspirowany artykułembadaczy z Columbia University pt. You Can Type, but You Can’tHide: A Stealthy GPU-based Keylogger. Ma on być rozwinięciemteoretycznych koncepcji przedstawionych w artykule, dowodząc, żekarta graficzna może być poważnym zagrożeniem dla naszejprywatności.

Jak się zabezpieczyć przed takimi atakami za bardzo nie wiadomo.Dziś jedynie procesory graficzne od Nvidii, poprzez framework CUDApozwalają na monitorowanie w pewnym zakresie uruchomionych na nichprocesów. Metoda ta nie zadziała jednak na GPU od AMD czy Intela,według twórców Jellyfisha ma też ograniczone zastosowanie.Problem sprawia też to, że większość badań nad złośliwymoprogramowaniem przeprowadza się w maszynach wirtualnych, astosowane w tym narzędzia nie wspierają wirtualizacji GPU.

Zapewne minie jeszcze trochę czasu, zanim zwykli cyberprzestępcyzaczną korzystać z uruchamianych na GPU szkodników, aleniewykluczone że techniki takie są już znane rozmaitym agencjomrządowym, na czele z NSA. Póki co pozostaje liczyć na to, żeedukacyjne zamierzenia autorów Jellyfisha odniosą skutek i zanimtakie ataki się upowszechnią, doczekamy się odpowiednich metodzabezpieczeń przed nimi.

Udostępnij:
bDUnmcbH