Akkor most tételesen:
A 2/4mbit-es bios flashrom-ba belezsufolta ugye az osszes letezo halokartya driveret, hogy tudjon kommunikalni? Es a sokezerfele hekkelt bios-t tamogatva, az osszes flashrom-ot? Es meg EFI-t is tamogat?
Nem, erről szó sincs. Ún multistage exploit loader. A BIOS-ban csak annyi funkció kell, ami egy vanilla oprendszeren valami code execute exploitot végrehajt, majd - immáron az oprendszer drivereit, teljes hálózati stackjét, http kliens libraryjét felhasználva - egy http url-ről letölti a nagy payload-ot és végrehajtja. Ezzel újrafertőzi az oprendszert, ha esetleg le lett volna tisztítva. Ez úgy tippem szerint 1-2 kB lehet/target OS. Semmi egyéb dolog nem kell a BIOS-ba, az a kód nem kommunikál a külvilággal.
DE! Ha esetleg kéne kommunikálnia, akkor akár meg is tehetné, mert a hálókártyának van PXE option rom-ja, amiben - suprise, surprise - van driver a hálókártyához, sőt egy egyszerű TCP/IP stack is DHCP és TFTP klienssel, néha még iSCSI initiatorral is. 100-200 kB nagyságrendű image-ről beszélünk.
Ami kod a BIOS-ban van, azt a linux nem hasznalja, ergo semmi se marad belole, mire kibontja magat a kernel.
Ez mondjuk kb 10 éve volt utoljára igaz, de lehet, hogy van az 13 is. A valóság ezzel szemben az, hogy az e820 táblázatokban a BIOS átad a kernelnek egy memory mapet, és kernel békénhagyja a reserved területeket. A BIOS jelentős része (főleg ACPI cuccok, SMM handlerek - ahogy Replaced is említi) ott marad a memóriában, sőt bizonyos interrupt/syscall-ok esetén a vezérlés át is adódik rájuk. Ezzel szabályozzák pl a ventilátorok fordulatszámát, ez emulálja USB keyboard esetén a legacy billentyűzetet, ez vezényli le a power state váltásokat. Az x86-os ISA-ban van egy külön system management mode, ami a ring0-nál is privilegizáltabb - az ACPI és SMM kódok ebben futnak le, ezt az OS kernel nem is látja.
It is said to infect the firmware on USB sticks.
Léven, hogy az USB stickek 90%-a kb 5-6 féle elterjedt flash kontroller egyikét használja, ez nem annyira hihetetlen. Pláne, hogy "bizonyos körülmények közt elrontja az USB pendrive-okat" - nyilván nem 100%-os a típusok lefedése.
It is said to infect simply by plugging in a USB key, with no other action required.
Ebben mi annyira hihetetlen? Ha bedugod, az OS rögtön elkezd beszélgetni az új eszközzel. Ha hiba van az USB stack implementációban (pár input ellenőrzés hiányzik, hogy gyorsabb legyen) akkor mehet is be az exploit, rossz esetben akár rögtön kernel módban.
Egytol egyig nyilvanvalo kamu, azt nem ertem, hogy ez hogy nem nyilvanvalo itt mindenkinek?
Nem, egyáltalán nem nyilvánvalóan kamu. Minden eddig általam olvasott rész-állításra (az eredetiekre, nem pedig a számtalan félreértelmezésen alapuló cikkre gondolok) külön-külön már korábban demonstráltak proof of concept-et.
Az teszi hihetetlenné, hogy elképesztően nagy - főként tesztelési - effort kell, hogy ilyen sokféle rendszeren, sokféle BIOS-szal, sokféle USB stickkel viszonylag tűrhető robusztussággal működjön. De megcsinálható, csak rengeteg fejlesztőmunka, rengeteg teszt hardver, rengeteg manuális tesztelés, rengeteg idő és rengeteg pénz. A legtöbb blackhat ennyit nem tesz bele, mert technikailag kevesebből is tudnak működő botnetet létrehozni és feketepiacon értékesíteni.
---
Régóta vágyok én, az androidok mezonkincsére már!