Koń trojański w akceleratorze GPU

Grupa anonimowych badaczy opracowała rootkita, który wykorzystuje pamięć akceleratora GPU, by pozostać niewidocznym dla standardowych programów antywirusowych. Technika ta umożliwia przeprowadzanie bardzo groźnych ataków na komputery z systemami Windows, Linux i OS X.

Dzisiejsze komputery desktopowe i laptopy oprócz standardowego procesora zawierają często akcelerator graficzny, który usprawnia obliczenia związane z grafiką, a jego dużą moc obliczeniową można wykorzystać także w aplikacjach inżynierskich oraz narzędziach do obróbki obrazu. Karty GPU posiadają własną pamięć operacyjną oraz procesory i mogą wykonywać odpowiednio skompilowane oprogramowanie.

Rootkit w akceleratorze

Badacze zajmujący się bezpieczeństwem wskazują na to, że pamięć oraz procesory GPU można wykorzystać do realizacji niewidocznego dla standardowych narzędzi obronnych rootkita. Takie złośliwe oprogramowanie może pozostać niezauważone przez bardzo długi czas i potencjalnie stanowi poważne zagrożenie dla wielu stacji. W odróżnieniu od typowych komercyjnych koni trojańskich, taki rootkit będzie działać wyłącznie na komputerach z GPU będąc całkowicie niewidocznym dla obecnie wykorzystywanego oprogramowania antywirusowego. Jednocześnie będzie miał o wiele szersze możliwości działania, niż ma to miejsce w przypadku pospolitej infiltracji systemu operacyjnego. Pierwszy doświadczalny rootkit o nazwie Jellyfish został przedstawiony w ubiegłym tygodniu. Badacze opracowali wersje dla systemu Linux oraz Windows, ponadto w ten sam sposób można uruchomić złośliwe oprogramowanie na komputerach z systemem OSX. Wykorzystanie mocy obliczeniowej GPU nie jest niczym nowym w świecie malware'u, gdyż rozpowszechniane są już wtyczki do popularnych koni trojańskich wykorzystujące akceleratory do obliczeń związanych z wirtualną walutą Bitcoin. W odróżnieniu od nich, Jellyfish w całości jest przechowywany w pamięci GPU.

Zobacz również:

  • IDC CIO Summit – potencjał drzemiący w algorytmach
  • Nvidia pokazała najpotężniejszy na świecie chip AI

Nowe zagrożenie

Chociaż na razie podobne rootkity stanowią jedynie ciekawostkę doświadczalną i nie wychodzą poza stadium proof-of-concept, można się spodziewać, że w bardzo bliskiej przyszłości powstanie komercyjne złośliwe oprogramowanie przeznaczone do infekcji komputerów i utrzymywania nad nimi kontroli. Typowym zastosowaniem byłyby zaawansowane ataki klasy APT (Advanced Persistent Threat), a celem, na przykład stacje robocze z oprogramowaniem inżynierskim lub laptopy wyższej klasy, szczególnie często wybierane przez kadrę kierowniczą, administratorów i tak zwanych „power userów”.

Rootkit w GPU będzie bardzo poważnym zagrożeniem dla firm działających w obecnym modelu bezpieczeństwa, gdyż złośliwe oprogramowanie umieszczone poza CPU umyka tradycyjnej analizie. Nie ma na rynku narzędzi do analizy malware'u wewnątrz GPU, zatem specjaliści do spraw bezpieczeństwa muszą obecnie pracować ręcznie nad takim kodem. Ponadto podobny rootkit ma pełny dostęp do głównej pamięci operacyjnej komputera dzięki mechanizmowi DMA (Direct Memory Access). Mechanizm DMA umożliwia dostęp urządzeń sprzętowych bez konieczności wykonywania operacji z użyciem CPU. Chociaż jest to bardzo szybki sposób dostępu, poważnie utrudnia kontrolę aktywności komputera. Jak twierdzą twórcy rootkita Jellyfish, takie oprogramowanie pozostaje w pamięci GPU nawet po zamknięciu systemu operacyjnego, co umożliwia przejęcie kontroli nad systemem operacyjnym w dowolnym momencie.

Obecnie przedsiębiorstwa nie muszą jeszcze martwić się o zagrożenie związane z infekcjami przez takie złośliwe oprogramowanie, ale w bliskiej przyszłości będzie to na pewno poważny problem. Wynika on nie z niedoskonałości systemów operacyjnych takich, jak Windows czy Linux, ani z samej konstrukcji GPU, ale raczej stąd, że obecne narzędzia bezpieczeństwa nie były projektowane pod kątem skanowania pamięci akceleratorów GPU i analizy pracującego tam oprogramowania.

Co może taki rootkit

Rootkit Jellyfish wykorzystuje interfejs API OpenCL opracowany przez konsorcjum Kronos, zrzeszające dostawców GPU oraz inne firmy, które opracowują otwarte standardy. Aby rootkit mógł działać, niezbędne są sterowniki OpenCL. Zazwyczaj są one już zainstalowane, jeśli stacja robocza korzysta z akceleracji. Obecnie Jellyfish działa natywnie na kartach AMD oraz Nvidii ale karty Intela również są obsługiwane za pmocą API AMD APP SDK. Dzięki możliwości dostępu do pamięci operacyjnej komputera, rootkit bazujący w obsługiwanym GPU może przejąć kontrolę nad całym systemem operacyjnym. Aby udowodnić, że jest to możliwe, badacze opracowali w pełni funkcjonalny keylogger o nazwie Demon. Pierwsze próby opracowania takiego oprogramowania rozpoczęto już w 2013 r.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200