Ale kdepak za rok. Za měsíc .... Dle toho jak se to všechno vyvaluje co muselo být již dlouououhá lééééta známo a teď se to jenom zveřejňuje. Prostě v USA jen zavál po příchodu nového prezidenta svěží vítr, který rozfoukal tu krycí mlhu. A tak se rozpoutal uragán, kde práská jeden na druhého jen to fičí. A to ve všem.
Docela by mě zajímalo, jak se mapuje fyzická adresa v RAMce na tuhle funkcionalitu (jestli se tomu dá podstrčit oblast, ke které nemá mít přístup) a jestli GPU respektuje přístupový pravidla ke stránce minimálně stejně dobře, jako CPU. A pak bude zajímavý vědět, jak se to dá spustit nebo blokovat, obojí může být problém...
Ja to chapu tak, ze fyzicka adresa neni az tak podstatna. Proste se prekopiruji alokovane bloky pameti do GRAM a scanning se provede tam. Cele je to jen o rychlosti (GDDR jsou rychlejsi nez DDR) a odbremeneni sbernice mezi CPU a pocitacovou RAM. Snad to bude natolik inteligentni, ze provedou detekci jestli pocitac ma vubec GRAM a nepouziva pocitacovou jak to je u levnych cipu :D
U Intelu bych se vsadil, že to bude
- na integrované grafice se sdílenou RAMkou
- s tím, že API prostě dostane nějaký pattern
- a dostane rozsah fyzické RAM, kterou má pročuchat nezávisle na privilegiích,
- přitom bude vracet shodu s patternem jako True/False.
Takže najít string jako "ID_RSA" na pozadí bude neobyčejně jednoduchý. A když ho najde, stačí přidávat hodnoty a salámovou metodou si složit klíč podle toho, jestli se vrátí TRUE (jdeme na další číslo) nebo FALSE (měníme poslední číslo).
Ani ne, ta pamet je kopie 1:1. Takze kdyz mas sifrovanou RAM nebo hodne randomizovanou tak to skopiruje siforvany a tam nic rozumnyho vycist nelze. To API bude muset umet pouzit jak OS tak antivirak. Antivir rekne "chci skenovat tohle", OS zavola intel magii co to prekopiruje a rekne antiviru hotovo, skenuj hochu. Ale odkryptovani a spojeni do rozumnyho bloku musi udelat OS, akorat to bude trochu rychlejsi nez z normalni ramky.
Tak me napada proc nemame v pocitaci rovnou stejne rychlou ramku jako GDDR5 a vymysleji tyhle intel berlicky ? :D
Tak znovu:
- Pojede to na Intel grafice (těžko by to nacpali na GeForcku nebo Radeona)
- Intel grafika = krypl integrovaný v procáku, sdílející systémovou RAM
- Rychlost se dosáhne jenom tím, že stejný data pojedou z RAM do několika renderovacích jader paralelně a každý v nich bude hledat svůj pattern.
No a tohle dovolí grafice vyběhnout ven z oblasti jí svěřené a čmuchat jinde. Otázka je, jestli antivir (v user space) dokáže přinutit grafiku, aby pročmuchala privilegovanou oblast. A řekl bych, že to nebude nic moc extra komplikovanýho...
A pokud se teoreticky zapojí 256 jader do hledání patternu v té samé oblasti, tak na jednu iteraci z té stránky odhalíš jeden byte. Na 4096 iterací máš přečtenou stránku jenom na základě flagů "shoda/neshoda" s patřičnou hodnotou bytu. Takže to má opravdu potenciál . Může to být ještě větší díra, než po bitech kapající data z Meltdownu
GPU ma pristup vetsinou vsude bez jakekoliv kontroly pravidel ke strance. Prakticky to pristupuje na fyzicke adresy (podle hardware), ne ty virtualni adresy ktere plati pro konkretni proces. Externi GPU (nebo jine PCIe zarizeni) dnes pak ma pristup tam, kam mu to IOMMU dovoli. Ale kdyz chcete, tak muzete povolit cely rozsah fyzickych adres :)
No právě, tohle nebude fungovat, pokud grafika nedostane posvěcení od IOMMU...Výrobce AV se spolehne, že to omezí výrobce sytému, výrobce systému se spolehne na dodavatele ovladačů pro grafiku, dodavatel ovladačů grafiky v dobré víře, že tam poběží vždycky AV a nechá omezení na jeho softu a povolí vše... Však to známe.