USB-n keresztül törhető a Windows... és talán az összes USB-s operációs rendszer

Tavaly novemberben arról írtam, hogy az operációs rendszerek nagy része feltörhető egy Firewire portra csatlakoztatott speciálisan programozott eszközzel (akár egy iPOD-dal). Most úgy tűnik, hogy a Firewire után az USB is veszélyes lehet a számítógép tulajdonosok számára.

A las vegas-i Black Hat Briefings konferencián a SPI Dynamics nevű cég azt demózta, hogy a windowsos USB driverekben talált sebezhetőséget kihasználva a rosszindulatú támadó teljes ellenőrzést szerezhet lezárt Windows munkaállomások felett egy speciálisan programozott USB eszköz segítségével.A driverekben levő puffer túlcsordulási hibát kihasználva a támadó adminisztrátori jogokhoz juthat. A hiba azokban a driverekben van, amelyet a 32 bites Windows XP és 2000 minden egyes USB eszköz csatlakoztatásakor betölt.

A cég még nem adott ki részleteket a hibáról és még nem értesítette a Microsoftot. A Microsoft szóvivője ezt megerősítette, és bátorította kutatókat, hogy jelentsék be a hibát.

A SPI Dynamics kutatója szerint a hiba nem a Windowsban van, hanem az USB szabványban. A USB szabványokat a non-profit USB Implementers Forum Inc. készíti, aki keveset törődik a biztonsággal.

A cég szerint más operációs rendszerek is veszélyeztetettek lehetnek. Ha egy támadó ismer a megtámadott rendszerben sebezhető USB drivert, akkor egyszerűen felprogramozhat egy USB-s eszközt - pl. egy USB stick-et - úgy, hogy az operációs rendszerrel elhiteti, hogy az egy olyan eszköz, amelyhez a sebezhető drivert kell betölteni. Amikor az operációs rendszer betölti a sebezhető drivert, a felprogramozott USB eszköz beinjektálja az exploitot, és a rendszer máris fel van törve.

A cég szerint nem nehéz sebezhető USB drivereket találni, mert az USB driverek - mint egyéb hardver meghajtóprogramok - fejlesztésekor nagyon kis számban használnak bemeneti adat-ellenőrzést és kevésbé ügyelnek a biztonságra. A driverek írásánál elsődleges szempont a sebesség.

A cég csak Windowson tesztelte a sebezhetőséget, de elképzelhető, hogy más operációs rendszerek is sebezhetőek.

Részletesen itt.

Hozzászólások

A TPM (Trusted Platform Module) eszközök nem éppen erre lettek kitalálva? Kb fél éve dolgoztam a hp dc7100 desktopokkal. Ezeknek alapból lakatolható is a háza. Az alaplapon van ez a bizonyos TPM chip, amit ezekbe a gépekbe az Infineon szállít, ha jól tudom. Sajnos nem állt módomban kipróbálni, hogyan működik, mert minden gépre egységes image került.

Wikipedia link:

http://en.wikipedia.org/wiki/Fritz-chip

És ha olyan számítogép házat csináltatok amiben az usb csatlakotót le leht lakatolni? Elékerűlne egy zárólemez azt egy kicsi lakatrá. (epoxigyantás védelem advenced)

Még a végén kiderül hogy egy gépbe dugott billentyűzet is elég. Ijesztő.

Az ipari kemkedessel foglalkozo cegek most oromunnepeket ulnek.

ott altalanosan megszokott, hogy lefizetnek egy takaritot, hogy betegedjen meg 1 napra, es engenje, hogy az "unokatestvere" dolgozzon aznal helyette. Az unokatestverek meg lefenykepezik a monitorra kiragasztott passwd-ket, radugnak memorystick-re passwd-t mento ethernet csatlakozokat a szabad portokra(ha nem lathato), es hasonlo truckoket csinalnak. ezek utan lesz a zsebukben egy kis usb-s eszkoz is, amivel barmelyik mukodo geprol (pl a windozos szerverrol) automatikusan leszedheti a fontos konyvtarak teljes tartalmat.

a radugas nehany masodperc, utana 1-2 ora mulva kell meg nehany masodperc amig zsebrevagja az eredmenyt. akar meg a biztosagi or orra elott is megcsinalhato.


Az egesz hibaban az az kemeny, hogy az USB-s eszkoz annak hazudja magata aminek akarja, es kodot adhat at a PC-nek, hogy az futassa le(ez tuti igaz???). Ez esetben csak az a megoldas ha minden egyes USB driver auditalva van, hogy nem tartalmaz buffer overrun hibat.

> es kodot adhat at a PC-nek, hogy az futassa le(ez tuti igaz???).

Mivel keves adat all rendelkezesre ebben a cikkben nehez megmondani. Mindenesetre buffer overflow-ot nehez ugy elkovetni, hogy nem adsz at adatot valamilyen formaban. Megneztem a ceg honlapjat, eleg komoly partneri kapcsolatban all a Microsofttal. Nem hiszem, hogy kamuznanak.

Megfelelo policy felallitasaval szerintem lehet vedekezni az ilyen tamadasok ellen. Ha a Windowsban le van tiltva az USB-s eszkozok hasznalata (magyarul az eszkoz csatlakoztatasakor az nem tolt hozza driver) akkor nem hiszem, hogy igy tamadhato. Kerdes, hogy nagy cegnel van olyan policy, hogy a dologzok nem hasznalhatnak USB pendrive-ot, egeret, nyomtatot, scanner-t, PDA-t, mobiltelefont...

Ha igaz amit mondanak az azert gaz, mert USB-t joval tobben hasznalnak, mint Firewire-t.

Szerintem ez azért nem olyan veszedelmes dolog, hiszen itt is hozzá kell férni fizikailag a géphez. Ezen az alapon, ha már oda került valaki a gép mellé, simán kicsavarozza a vinyót, és zsebbre vágja. Meg elviszi akkor már Gizike retiküljét is, amiben benne van a mobilja, meg a pénztárcája. Egyszerűen az olyan gépeket, amiken kritikus adatok vannak, fizikailag is védeni kell. Ez egyébként eddig is így volt.

Az emberi tényező egyébként aligha kiküszöbölhető, Mitnick is erről tartott nemrég előadást Budapesten...

Uhum, jartal mar egyetemi szamtek laborban peldaul? :-)

Egy felvigyazo van a teremben altalaban, aki ul aztan (tobbnyire) figyel. Namost ha te ott kis pajszerrel nekiallsz lebontani a gep burkolatat (ami jobb helyeken azert normalisan rogzitve van), akkor eros a valoszinusege, hogy kerdore vonnak. USB hasznalatakor ez nem annyira jellemzo, sot tudok egy rakas ilyen egyetemi helyet, konyvtart, internet cafe-t, stb. ahol ez problemat jelenthet a rendszergazdaknak.

Meg valami: cegeknel a ugy lopnak adatot, hogy az lehetoleg ne deruljon ki. Normalis cegeknel a szamitogep hazak vagy elektronikusan (intrusion detection - kozpontilag logolva) vagy csak roncsolassal bonthato matricazassal vannak vedve. Ezzel te tulajdonkeppen rejtettebben tudsz dolgozni, mintha ellopnad a komplett gepet, vagy szetcsavaroznad vagy mittom en. Mondjuk igy is kiderulhet a beavatkozas (crash log, auditalas, stb.) de sokkal-sokkal kisebb az eselye. Plane ha nem vart a tamadas.

kozben gondolkodtam. masodik kozelitesben a hiba elmeleti, de _tuti_, hogy mar letezik ra kihasznalo eszkoz.

Az opredszer az alapjan donti el, hogy milyen drivert kell behuzni, hogy az USB-s eszkoz mit allit magarol (PCi-nal is igy van, de az nehezebben cserelheto). Egy mai PC-n elolapon, nagyon konnyen hozzaferhetoen vannak USB portok, knyen tudsz USB-s eszkot csatlakoztatni.

Ha letezik _egyetlen_ olyan USB driver, amiben buffer overrun hiba van, akko keszitheto hozza olyan eszkoz, ami tulirja, es a tulirassal bejuttatja a kodot, ami az USB eszkozt csatlakoztato/bemountolo daemon jogaival fog futni. es ezekkel ajogokkal akat rogton telepit egy backdoor-t.

Sot. nyugodtan lehet olyan eszkozt is csinalni, ami vegigprobalja a kulonbozo porendszerek hibas drivereit(szimulal egy USB-s eszkoz kikapcsolast, majd bekapcsolast, es probalkozik masik driverrel, ha az elso nem volt sikeres), tehat oprendszer "fuggetlen" lesz. azt se kell tudnod, hogy mi fut a gepen, radugot az USB-s stick-et, es pl.: telepitettel egy backdoor-t.

Mivel USB driverbol tobb szaz van, azt kijelenteni, hogy az "en kedvenc X oprendszeremben nincs buffer overrun a USB driverek kozott" kisse nagy mereszseg.

workaround: _csak_ nagyon megbizato ember kozelithet meg 2 meteren belul fontos gepet:) takaritani meg takaritsanak a rendszergazdák:)

> Sot. nyugodtan lehet olyan eszkozt is csinalni, ami vegigprobalja a kulonbozo porendszerek hibas drivereit(szimulal egy USB-s eszkoz kikapcsolast, majd bekapcsolast, es probalkozik masik driverrel, ha az elso nem volt sikeres), tehat oprendszer "fuggetlen" lesz. azt se kell tudnod, hogy mi fut a gepen, radugot az USB-s stick-et, es pl.: telepitettel egy backdoor-t.

Jah, portscanner utan itt az USB(sploit)scanner :-)

Azért szerintem itt kissé eltérő a probléma, mint a firewire esetében. Legalábbis az eddigi infok alapján, nekem az jön le, hogy itt a driverben lévő elégtelen ellenőrzés teszi lehetővé a támadást. A firewire-nál viszont az volt a probléma, hogy a szabványba egy kifejezetten beletervezett "debugging feature" volt, aminek segítségével az oprendszer teljes megkerülésével tudott a rádugott hardver DMA-t kezdeményezni tetszőleges memóriaterületről. Vagyis az USB esetén a driver a hibás, a Firewire-nél viszont a hardver, és ott driver, sőt oprendszer nélkül is működik a támadás. Szóljon, ha valaki máshogy tudja...

Szerző: makonyik Ideje: Július 24, Vasárnap, 13:26:28

(Adatok | Üzenet küldése)

(HASH: c1b5-2ea9)

Vagy amit trey irt novemberben a firewire-rol: epoxit az usb-be ... :-(

Tenyleg lehangolo ...

k.

Bár ez a tuti biztos védelmi mod hasonlósága.

Szerintem elég lenne egy olyan módosítás az oprendszerben, ami felhasználói beavatkozást kér az usb-driverek betöltése előtt (kiírva azt is, hogy épp mit akar betölteni, hiszen furcsa lenne, ha például egérdrivert akar betölteni pendrive csatlakoztatásakor, stb.). Ezt kis kódot pedig meg lehetne írni biztonságosra.

Hát ezért szoktuk mi az USB-t és a FDD-t alapból tiltani.

Csak ott van engedélyezve, ahol az a munkához feltétlenül szükséges. (Igaz ami igaz, kerüljük az USB-s nyomtatót is.)

On 2005-07-24, Micskó Gábor <trey@hup.hu> wrote:
>
> Uhum, jartal mar egyetemi szamtek laborban peldaul? :-)

Mondjuk szerintem az az ertelmes setup, ha csak vekonyklienseket tesznek
ki. 350 MHz-es szemetdombrol mentett diskless pc, pl. Azt aztan
torheted...

Persze ez nem mindenhol van igy, es nem is mindenre jo a vekonykliens.

Cs.

Én például csinálnék vmi hardwert amit az eszköz és az aljzat közé kell dugni... jó pénzért van védelem annyit vegyen ahány usb-t használ az alaplapi csatit meg behegeszteni!! :)

Igen... azért egyetemi gépteremben (pl. öcséméknél) ezzel eléggé ki is szúrnak a rendszergazdák (?) a userekkel. Oké, hogy tudsz alkotni valamit az egyetemi gépen, és oda el is mentheted, csak utána nem tudsz mit kezdeni vele, legfeljebb elküldheted magadnak emailben. De ha van valakinek otthon internet-elérése, akkor amúgyis minek menne a gépterembe...

Szóval, nem hinném, hogy ez lenne a kultúrált megoldás. Nekem jobban tetszene az, hogy egyforma gépek legyenek, ip-cím, gépnév, stb. DHCP-vel, aztán egy kliensgépet diszkimage-el bármikor újra lehet húzni 10 perc alatt, ha valami gyanús.

> Szóval, nem hinném, hogy ez lenne a kultúrált megoldás. Nekem jobban tetszene az, hogy egyforma gépek legyenek, ip-cím, gépnév, stb. DHCP-vel, aztán egy kliensgépet diszkimage-el bármikor újra lehet húzni 10 perc alatt, ha valami gyanús.

Igen, jobb helyeken ezt csinaljak. Meg van egy izraeli ceg altal gyartott PC vedelmi kartya, ami allitolag jo.