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

10
PCB grafické karty s GPU a pamětí GDDR (Zdroj: techPowerUp)
-
Zdroj: 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.

Ř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

Nový zákeřný malware běží v paměti GPU přes OpenCL 2.0, antiviry ho nenajdou
Ohodnoťte tento článek!
5 (100%) 16 hlasů

10 KOMENTÁŘE

  1. Nerozumím tomu. Minimálně kód který infikuje grafickou paměť by měl být zjistitelný. Ten by měli odhalit i klasické antiviry a zneškodnit ho.

    Ano bude dobré když antiviry rozšíří scan i na grafické karty. Pak je otázkou na které další paměti se zaměří počítačoví kriminálníci.

    • Super reseni, takze antivir nejen ze skenuje normalni pamet a diskovou pamet, aby samozrejme nic nenasel, ale ted jeste nic nenajde v graficke pameti.

      Mam takovou dobrou prihodu, jsme v praci pouzivali Windows Defender, ktery nic nenasel a zasifrovali nam pocitace. Zbytek firmy pouzival Kaspersky a i tam byly PC zasifrovane a navic prave z tech PC s Kaspersky se to rozsirilo k nam. Vysledek je, ze nam naridili pouzivat Kaspersky. To by jeden nevymyslel. 😀

  2. K čemu je ti vir, který se z grafické karty nedostane ven a nedokáže nic kromě ztráty obrazu udělat?
    Nepojede ti karta, strčíš ji do jinýho počítače a tam pojede v pohodě.
    No to je fakt nebezpečnej virus jak prase.
    Jen obezlička, aby mohli firmy lézt i do paměti grafik a odesílat další dodatečná data kamsi do pentagonu nebo pekingu k přehodnocení. Protože nechápu, proč by nemohl antivirus najít ten závadnej kód, který by se nahrával do grafárny po spuštění na disku ??? K čemu potřebuje skenovat pamět grafiky, když stačí oskenovat data na disku? ach jo…

    • PCIe zařízení můžou mezi sebou komunikovat nezávisle na CPU, teoreticky by se tak mohl udělat třeba těžební malware, který by využíval přímé komunikace GPU-LAN, podobně jako třeba umí SSD-GPU direct storage.