2009. április 13., hétfő

Webkioszkok biztonsága

Web- és reklámkioszkokkal sok helyütt találkozhatunk: metrómegállókban, vasútállomásokon, bankfiókokban és sok cég helyez el ilyen eszközöket a főépületek látogatóknak szánt részein (előcsarnok, váróhelység). Egyértelmű, hogy a kioszkok kiválóan alkalmasak imázsépítésre, az ügyfélcentrikus hozzáállás hangsúlyozására, azonban a gyakorlat azt mutatja, hogy gyakran biztonsági kockázatot jelent az eszközök felépítése, használata és a rájuk vonatkozó üzemeltetési gyakorlat: ha valamilyen módon kompromittálni tudjuk a webkioszkot, sok esetben már fogtunk is egy hosztot a védett hálózaton, ahonnét további támadásokat lehet indítani.

A legtöbb "doboz" voltaképpen teljesen hagyományos számítógép: van billentyűzete, boltban kapható alkatrészekből építették össze, és bizony a rajtuk futó operációs rendszer is Microsoft Windows Xp, vagy valamilyen Linux-származék. Ennek megfelelően a támadási módok tekintetében is remekül lehet alkalmazni a jó öreg trükköket. Mindehhez hozzájön az, hogy a kioszkok esetében ritkán frissítik megfelelően az operációs rendszert és a futtatott alkalmazásokat, emiatt hemzseghetnek a kihasználható biztonsági résektől. Webkioszkokra nem szokás személyi tűzfalat, betörésérzékelő rendszert telepíteni, így könnyű célpontnak tekinthetőek.

A helyzetet tovább nehezíti, hogy jelen esetben a "gép" előtt ülő felhasználó is rosszindulatú, és például előzetesen készíthet egy weboldalt, amely végigpróbálgatja az elmúlt időszak összes Internet Explorert/Firefoxot érintő sebezhetőségét: ez esetben annyi a dolga, hogy meglátogatja ezt a webkioszk böngészőjével.

Nyilvánvaló, hogy a kioszkok szoftvereinek készítői is tisztában vannak azzal, hogy milyen biztonsági kockázatot jelent a termékük, és emiatt a lehető legkevesebb funkcionalitást teszik elérhetővé a felhasználó számára. Ha a gép előtt ülő (álló) felhasználó eléri például a futtatási parancsot, akkor egyszerűen tud backdoort telepíteni - céges webkioszk esetében ez gyakorlatilag a hálózati infrastruktúra és akár a teljes hálózati adatforgalom kompromittálását jelenti. A kioszkok operációs rendszerének esetében a funkcionalitás rendszerint megvan a rendszerben, csak a kezelőfelületen tiltják le az adott funkciót előhívó elemet. Például:
  • Nem látszik a Start menü
  • Nem lehet (egyszerűen) elérni az Explorer mögött található asztalt
  • Nincs "futtatás" parancs
  • Nincs "Windows"-gomb
  • Nincsenek funkcióbillentyűk
  • Nincs jobbklikk
  • Stb.
A probléma itt az, hogy ez a világ pontosan ellentétes a Windows GUI-jának megközelítésével, ami pont arról szól, hogy minél több funkcionalitást biztosítsanak az operációs rendszer kezelői felületének elemei: jobbklikkel lehessen átnevezni egy fájlt akkor is, ha éppen egy "open file" párbeszédablakban látjuk a fájlrendszer tartalmát. A lehetőségek letiltása lehetséges egy darabig a lokális gépen érvényes policyk használatával és az input eszközök korlátozásával, viszont számos esetben több-kevesebb küzdelem árán előhívhatóak az elrejteni kívánt funkciók.

Azt szokás mondani, windows alapú webkiosk esetében a játék végét az jelenti, ha a felhasználó tud jobbklikk eseményt generálni: ekkor ugyanis bármely fájlkiválasztó ablakban a c:\windows\system32\cmd.exe-t kiválasztva, máris parancssorhoz juthat. A jobbklikk elleni védekezés naiv megoldása az, amikor fizikailag nincs a kioszk kezelői felületén jobb egérgomb - igen ám, de a shift (ha van) ötszöri megnyomásával aktiválni lehet a "hikomat módot", azaz billentyűleütésekkel előidézni a jobbklikk eseményt. A fájlkiválasztó ablak előcsalása pedig triviális: mindössze egy "file" típusú html mező kell hozzá.

Sok kioszk valamilyen speciális linuxot futtat, általában valamilyen light-weight ablakkezelővel (pl. XFCE): az ilyen kioszkok többnyire ránézésre felismerhetők a GTK2-es kezelőelemekről. Ilyen esetben túlnyomórészt a firefox a böngésző, amit használhatunk: mivel az add-onok telepítéséhez nincs szükség menüre, vagy jobbklikkre, meglehetősen egyszerűen készíthetünk olyan firefox add-ont, amely extra funkcionalitást biztosít (pl. a /bin/bash-t hívhatjuk vele).

A kioszkok legtöbb modellje lehetőséget biztosít adminisztrációs feladatok elvégzésre (a linuxosak nyilván ssh-n, a windowsos gépek pedig többnyire vnc-vel, vagy a beépített RDP szerverrel). Linux alatt meglehetősen egyszerű megtudni, hogy milyen felhasználók vannak az operációs rendszerben: meg kell csak látogatni a file:///etc/passwd "webhelyet".

A kioszkok biztonságának auditálására rendelkezésre áll egy nagyszerű, integrált eszköz, az iKAT (Interactive Kiosk Attacking Tool), amellyel az összes, fenti problémát és még számos egyebet is kipróbálhatunk.

Nincsenek megjegyzések:

Megjegyzés küldése

Kommentek