Přes DMA (Direct Memory Access) může každá periférie zapisovat, ale hlavně číst libovolné místo v paměti, bez vědomí procesoru (natož operačního systému). Představ si co dokáže vhodně navržený firmware třeba síťové karty, což je v reálu samostatný počítač s vlastním procesorem... ;-)
Upřímně mi to nepřipadá jako zvláštní riziko. Kdyby se ukázalo, že nějaký výrobce propašoval do driveru backdoor, byl by rozcupován na kousky, a jeho business by skončil.
Jako daleko rizikovější vidím proces tvorby open source software. K vývoji se může připojit prakticky kdokoliv, chvíli dodávat kód, a pak někde něco "opomenout" nebo "vylepšit".
Open source je fajn, kod v repozitaroch je dostupny komukolvek a moze byt skontrolovany kymkolvek. Ale vacsina distribucii vam serviruje uz hotove binarne image / balicky z ich serverov a repozitarov. Aka je realna zaruka toho, ze su skutocne buildovane z daneho kodu ktory vidite. Kazda firma / organizacia pripravujuca distro moze mat tajne repozitare s patchmi, ktore sa aplikuju az pri buildovani kernelu / balickov. Toto by mohlo byt realne skor vo velkych sukromnych firmach typu canonical alebo red hat, kde vyvoj nie je celkom transparentny. A vzhladom na oblubenost a rozsirenost tychto distier je mozny aj zaujem nsa a podobnych organizacii. Realne si dovolim pochybovat o tom, ze sa najde niekto, kto prelieza a checkuje skompilovane binarne image. Takto sa lahko moze dostat backdoor do serveru / routra a pod.
Ovela silnejsou zarukou by mohla byt globalna organizacia zastresujuca vyvoj open source (typu free software foundation). Tato by drzala repozitare so zdrojakmi a zdrojaky kazdeho checknuteho release-u balicku / projektu by boli digitalne podpisane. Okrem ineho by spravovala buildovaci toolchain (gcc,make,...), ktory by bol tiez skontrolovany a digitalne podpisany. Instalacia systemu by prebiehala stiahnutim a kontrolou buildovacieho toolchainu, stiahnutim podpisanych zdrojakov kernelu a balickov a ich naslednou kompilaciou priamo na cielovej masine (najblizsie je tomu gentoo). Potom by ste si mohli byt istejsi, ze system, ktory vam bezi, je skutocne kosher.
Presne tak. Na certifikaty a cerfikacne autority este dojde. Nieco,co je podpisane certifikatom nieje bezpecnejsie ako to bez podpisu. HTTPS a podobne sracky davaju pouzivatelovi len pocit bezpecia.
Pocit bezpecia je ale iluzia.
Ako zistim, ze certfikat je platny?
OK overim si ho u vydavatela.
Ako si overim doverihodnost vydavatela?
OK overim si jeo doverihodnost u niekoho ineho.
Ako zistim, ze ten u koho som si overoval platnost je doverihodny?
OK overimsi to zase u niekoho.
Ako zistim, ze ten u koho som si overoval doverihodnost je doverihodny?
...
...
...
Vo finale niikdy neziskam istotu, ze ma prave niekto nepodvadza a nesleduje?
Ziadna komunikacia nemoze byt dostatocne bezpecna.
Ak sa odpojim od internetu a budem zit v zvukotesnej, dokonale tlmenej(ziadne vybracie) kovovej klietke, ktora neprepusti ziadne vlnenie(akusticke, elektromagnetice,...) ale to potom nebude komunikcia.
„Kdyby se ukázalo, že nějaký výrobce propašoval do driveru backdoor, byl by rozcupován na kousky, a jeho business by skončil.“
Sony propašovalo do svých CD backdoor, neskončilo. https://en.wikipedia.org/wiki/Sony_BMG_CD_copy_protection_scandal
HP propašovalo do svých storage backdoor, neskončilo. https://slashdot.org/topic/datacenter/hp-keeps-installing-secret-backdoors-in-enterprise-storage/
RuggedCom propašoval do své SCADA backdoor, neskončil. http://seclists.org/fulldisclosure/2012/Apr/277
Nezapominejme na nedavno-zverejneny backdoor Microsoftu do Outlooku a Skype; ikdyz to je SW, efekt je stejny. Neskoncil.
http://www.technobuffalo.com/2013/07/11/microsoft-gave-the-nsa-direct-backdoor-access-to-outlook-skype/
+ tiskárny křičí do světa své sériové čísla http://en.wikipedia.org/wiki/Printer_steganography
Přesně z toho důvodu bych nedával backdoor do procesoru, jak říká předřečník - je to totiž „relativně“ izolovaná součástka, zvenku jí můžeš zkusit data podstrčit nějak po síti, ale pak dost záleží na OS, jestli je do procesoru nasype v očekávaném pořadí, navíc v optimalizovaném kódu dnešních kompilátorů aby se prase vyznalo :-). Třeba ta síťovka mi právě proto přijde mnohem lepší.
Jenže takhle se ti konspirace nabaluje:
* výrobci routerů, budiž
* co OpenWRT? buď musíš ten backdoor dostat i tam (do kernelu? neříkám, že je to nemožné, ale jsou tam zase stovky očí, které si toho můžou všimnout) nebo musíš mít HW backdoory na nejnižší vrstvě i v routeru tak, aby to alternativní operační systém neviděl
* co ryze HW detekce, která uvidí, že tam teče něco někdy, kdy nemá (rušení rádia od vysílání mobilního telefonu, LINK-ACT ledka na nejlevnějším switchi - do nich taky budeme dávat backdoory?)
* cílíš na lidi, u kterých se dá očekávat, že si budou hrát se sítí na nejnižší úrovni - třeba si nasmaží network stack do FPGA nebo postaví Ronju. Zase veliké riziko, že si „tajných paketů“ dřív nebo později někdo všimne - prostě až bude něco debugovat.
Mno jelikoz drtiva vetsina sitovek sou realteky, ktery neumej vubec nic ... tak se nemame moc ceho bat ;D.
Ale samo, skutecna sitovka muze klido ve vlastni rezii navazovat konexe na IP vrstve => napriklad preposilat veskery traffic, aniz by o tom system mel paru. Pokyn ji muze prijit klidne zvenku. Dokonce se to docela casto v ruznych variacich pouziva - prave proto, aby se procesor nemusel zabejvat sitovanim, coz v pripade realteku musi.
Ja by som sa necudoval, keby par vyvolenych vyrobcov (ci uz vedome, alebo nevedome) preposielaju aj "ethernet specke nevyhovujuce" sumy. Teda, ze si sietovka vygeneruje nieco, co nie je paket, ale len nieco ako sum a ina sietovka, ci cisco router, ked sum so specifickym paternom chyti, tak ho preposle vo svojom idle case dalej... Kto uz len dnes monitoruje svoje pripojenia na fyzickej vrstve?
Je to podobne, ako ked vas procak pocka, kym mu cez ruky preleze par specifickych bajtov, kedy sa prepne do specifickeho rezimu... Vid "hacknutie" hdd s instalaciou vlastneho kodu (to sa mi brutalne pacilo)...