r   e   k   l   a   m   a
r   e   k   l   a   m   a

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

Strona główna AktualnościOPROGRAMOWANIE

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

Udostępniony na GitHubie Jellyfish służyć ma celom edukacyjnym. Działa na linuksowych systemach, poprzez interfejs OpenCL, służący do przyspieszania operacji matematycznych za pomocą GPU i instaluje się w pamięci karty graficznej. Dzięki bezpośredniemu dostępowi do pamięci może podglądać zawartość pamięci operacyjnej komputera bez 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 SDK AMDAPP, także na procesorach ze zintegrowaną grafiką Intela.

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

r   e   k   l   a   m   a

Nawet jeśli udałoby się jednak działanie takiego rootkitu wykryć, jego usunięcie wcale nie musi być takie łatwe: malware ukryte w pamięci wideo jest w stanie przetrwać restarty komputera, a wykorzystanie polimorficznego kodu sprawi, że nawet jeśli raz uda się 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 GPU keylogger o nazwie Demon, zainspirowany artykułem badaczy z Columbia University pt. You Can Type, but You Can’t Hide: A Stealthy GPU-based Keylogger. Ma on być rozwinięciem teoretycznych koncepcji przedstawionych w artykule, dowodząc, że karta graficzna może być poważnym zagrożeniem dla naszej prywatności.

Jak się zabezpieczyć przed takimi atakami za bardzo nie wiadomo. Dziś jedynie procesory graficzne od Nvidii, poprzez framework CUDA pozwalają na monitorowanie w pewnym zakresie uruchomionych na nich procesó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śliwym oprogramowaniem przeprowadza się w maszynach wirtualnych, a stosowane w tym narzędzia nie wspierają wirtualizacji GPU.

Zapewne minie jeszcze trochę czasu, zanim zwykli cyberprzestępcy zaczną korzystać z uruchamianych na GPU szkodników, ale niewykluczone że techniki takie są już znane rozmaitym agencjom rządowym, na czele z NSA. Póki co pozostaje liczyć na to, że edukacyjne zamierzenia autorów Jellyfisha odniosą skutek i zanim takie ataki się upowszechnią, doczekamy się odpowiednich metod zabezpieczeń przed nimi.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.