Rootkit a hálókártyában

Guillaume Delugré biztonsági szakértő, aki a Sogeti European Security Expertise Center-nek (ESEC) dolgozik. Delugré nemrég előadást tartott hack.lu rendezvényen a Broadcom Ethernet NetExtreme hálókártya-család firmware-ének visszafejtéséről, módosításáról, az ehhez használható eszközökről, illetve saját firmware készítéséről.

A Broadcom adott ki ehhez a kártyacsaládhoz specifikációt, dokumentációt (ami ugyan nem teljes és itt-ott pontatlan), továbbá rendelkezésre áll a kártya linuxos eszközmeghajtó-programja (tg3). A szakember ezeket az erőforrásokat felhasználva létrehozott egy eszközkészletet, amelynek segítségével piszkálni tudta a hálókártya firmware-ét. Ezzel mi volt a célja? Hogy olyan rootkit-et készítsen, ami a megszokottaktól eltérően nem az operációs rendszeren belül működik, hanem a hálózati kártyában foglal helyet.

A dolog érdekessége, hogy úgy lehet a hálózati kártyába rootkit-en csempészni, hogy annak működése teljes mértékben észlelhetetlen az operációs rendszer számára.

Az alábbi demó azt mutatja be, hogy mit lehet kezdeni egy custom firmware-rel:

Az ötlet nem új, korábban is voltak már próbálkozások rootkit hasonló elrejtésére. További részletek itt. Az előadás diái itt.

Hozzászólások

jönnek a halokartya firmware-be epitett webszerverek? :)

--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.

Basszus errol olvastam mar, es el is felejtettem. :) Pedig de jol jott volna par honapja, ha bele tudtam volna debuggerrel nezni a firmware-be. Voltak ott kicsit furan implementalt metodusok a ws-man API-ban.

Amugy meg egyebkent egy 3rd party AMT firmware-rel eleg kenyelmes kis kernel es driver debuggert lehetne csinalni, szoval volna ennek bekes celu hasznalati esete is.
---
Internet Memetikai Tanszék

Ezek utan ki fog bizni olyan hw-ban, amihez elerheto a specifikacio, dokumentacio es a linuxos driver?

A napnal is vilagosabb kell hogy legyen barkinek, aki egy kicsit is technikai gondolkodasu, hogy ha meg lehet piszkalni a egy HW FW-et, akkor az ilyen csunya dolgokra lehet kepes. Mi ezen a meglepo? Ha fontos a biztonsag, megbizhato helyrol kell HW-t beszerezni, esetleg ellenorizni a FW digitalis alairasat (felteve, hogy van neki). Mintha azt irta volna valaki, hogy miutan egy szerelo megpiszkalta a kocsin a fekeket, nem mukodott tobbe az ABS. Perszehogy minden tizedik autoszerelo meg tudja igy piszkalni a fekeket. Most ezert zarja a gyarto a fekrendszert wertheim zarral, hogy csak par kivalasztott tudja ellenorizni es javitani a fekeket?

Ezt lehetne mondjuk arra használni, hogy ha ellopják a laptopomat, akkor megtaláljam? Mert akkor kellene, amíg el nem lopják :D

Software is like sex, it's better with a penguin. :D (r)(tm)(c) آكوش

Ez így nem valami meglepő.

Az IOMMU, ami képes virtuális memóriát kezelni a PCIe chipek felé, hogy áll a mai gépekben? Mert az bizony elejét venne annak, hogy ezzel könnyű legyen ring0- backdoor-t telepíteni.

"Hogy olyan rootkit-et készítsen, ami a megszokottaktól eltérően nem az operációs rendszeren belül működik, hanem a hálózati kártyában foglal helyet."

Bravó, csak minél több segítséget a szemét, tetű embereknek! +!%{;><+!% >-(

Nem neztem meg a slideokat de a videon kb csak az latszik, hogy a firmware ha megadott ttl-t kap icmpn akkor valaszoljon es nyilvan ne engedje az OSnek at a framet. A rootkit az lenne, ha packet triggerre tudna a firmware kodot futtatni az OS-en, nem fw contextben, nem?

--
http://bsdbased.com

Veheheh, nemi kezugyesseggel akarmit el lehet kuldeni mashova is.
Sot, bejovo es sikeres smb/ftp/egyeb credentialok lemasolasaval elkezdheti a firmware lekerdezni a gepet, s az adatot attolni egy masikra, igy kivulrol ugy nez ki, mintha az aldozat maga toltene fel az adatokat :)

--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.

Ez azért annyira nem para, egyébként is nagyon kevés olyan hely van, ahol érdemes megbízni a hálózatban. Amihez hálózaton cleartext jelszóval hozzá lehet férni, az nem is fontos.

Az aggasztóbb, hogy a DMA-val kb a teljes főmemóriához hozzáférése van a firmware-nek, ha nincs aktív IOMMU.

azt vágod, hogy egy rakat protokoll challenge-et meg hash-eket küld, hogy azé' mégse cleartext-et küldjön, de amint te kicsit megpiszkalod a klienst hogy az altalad megadott hasht kuldje, maris helyben vagy? (mysql, ntlm például)

--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.

Ezek szerint minden kártya ami a gépbe van dugva és áramot kap, képes a PCI-bus minden adatforgalmát olvasni, akkor is, ha az oprendszer nem használja és nincs mondjuk a modulja betöltve sem? Basszus, kiadhat a merevlemeznek is olvasásra parancsot, nem?
Ez nagyon csúnya összeesküvés elméleteket táplálna.

Tűzfal egy részét, mondjuk amit kapásból ki akarok zárni, nem lenne érdemes a hálókártyába pakolni?

Ez volt már valamely filmben is.