Nový zákeřný malware běží v paměti GPU přes OpenCL 2.0, antiviry ho nenajdou

2. 9. 2021

Sdílet

 Autor: techPowerUp
V internetovém kriminálním podsvětí zřejmě koluje kód, který umí infikovat GPU (samostatná i integrovaná) a schovat malware v jeho paměti, kde nebude viditelný pro antiviry.

Vypadá to, že v počítačové bezpečnosti zase přibude další věc, na níž si bude třeba dávat pozor. A sice paměť grafických karet. Antiviry a bezpečnostní nástroje běžně kontrolují operační paměť a typicky by v ní měly najít škodlivý kód, jehož signatury znají. Ale na svět teď přišel malware běžící na GPU a v jeho paměti, který je pro antiviry kvůli tomu neviditelný. A infikovat dokáže grafiky Nvidia, AMD i Intelu.

Myšlenka schovat malware do paměti grafické karty není úplně nová, bezpečnostní výzkumníky to samozřejmě již napadlo. Ale šlo zatím spíše o teorii a akademické proof-of-concepty. Nyní se však na kriminálních fórech objevila implementace, která tuto technologii údajně rozpracovala do funkčního „řešení“. Tento malware byl údajně minulý měsíc (mezi 8. a 25. srpnem) prodán svým vývojářem na internetu (zřejmě tedy nějaké kyberzločinecké skupině) a tudíž se ho někdo může pokusit šířit v reálu (pokud už se to nestalo).

Prodaný software dělá to, že schovává malware do paměti GPU – a to jak samostatného s vlastní pamětí, tak do integrovaného, které používá výsek hlavní operační paměti. Tímto je dosaženo toho, že antivirové programy na tento vir doslova nemůžou, protože do paměti vyhrazené GPU dnes běžně nešťourají.

Malware schovávajíví se v GPU na prodej na internetu Malware schovávající se v GPU na prodej na internetu (Zdroj: Bleeping Computer)

Přímo i samotný kód malwaru pak běží v paměti GPU a také na jeho výpočetních jednotkách místo toho, aby potřeboval hostitelské CPU, takže se z paměti grafiky nedostává ven. Jde tak vlastně o GPGPU aplikaci, což je svým způsobem docela zajímavé. Běží zřejmě nad OpenCL 2.0, které je uvedeno jako požadavek. Nicméně kód by pořád mělo být třeba do grafiky nahrát nějakým zavaděčem, protože v ní nepřežije restart. Tudíž by malware možná mohl být odhalitelný v momentě, kdy je tento zavaděč na počítači přítomný (jak by se „produkční“ implementace proti tomuto bránila, nevíme).

Zatímco samostatné API OpenCL 2.0 je multiplatformní, prodaná implementace je napsaná pro Windows a na jiných platformách nefunguje (i když to nemusí znamenat, že by nemohla být portována). Autor uvádí, že má potvrzené fungování na integrovaných grafikách Intel (UHD 620/630), samostatných Radeonech (RX 5700) i kartách GeForce (mobilní GTX 740M, GTX 1650). Toto jsou asi jen GPU, na kterých sám funkčnost ověřil, ale hrozba nejspíš bude fungovat na široké škále.

Antiviry budou muset začít skenovat i paměť GPU

Doufáme, že tyto útoky schovávající se v GPU se nerozšíří moc rychle a výrobci antivirů včas zaregistrují. Ukrytí v GPU by principiálně nemělo znamenat, že takové viry budou nepostižitelné, ale antiviry se budou muset přizpůsobit.

bitcoin_skoleni

Řešením by mělo být, aby výrobci GPU zpřístupnili nějakou formou paměť grafiky pro bezpečnostní software, aby ji antiviry mohly klasicky skenovat jako operační paměť počítače. Poté by malware mohl být loven i tam klasickými metodami (hledáním signatur, heuristikou). Alternativou by bylo, pokud by antivirovou kontrolu prováděly přímo ovladače Nvidie, Intelu a AMD, ale pravděpodobně bude lepší, pokud to dostanou na starost tradiční antiviry.

Zdroj: Bleeping Computer