"Fantom" a 7.22 Operában
Elkezdték kutatni a jelenségek okát, majd november 12-én a gyártó nevében S.G Masood beszámolt arról, hogy hibát találtak az Opera skinletöltő és változtató rendszerébe. Ennek okaként először úgy vélték, hogy ezek a "ruhák" nem megfelelő kiterjesztésű fájlokban vannak, ezért csak a .zip kiterjesztésűek letöltését engedélyezték.
Az addig tapasztal jelenségek nem szűntek meg ezzel, ezért a kutatás tovább folyt. Nem csak a gyártó, hanem szakértő alkalmazók körében egyaránt. Közéjük tartozott a finn Jouko Pynnönen, aki a "jelenség okát", a 7.22 Opera sebezhetőségeit elemezte, és közölte a gyártóval. Talán ez volt az oka annak, hogy a megszokottól eltérően már nov. 21-én elérhető, letölthető volt a böngésző új változata, melynek használatát javasolták elődje helyett.
J. Pynnönen igen eredményes kutatását, annak eredményét szeretnénk megismertetni az olvasóval. A vizsgálat kezdetén már azonnal ismerté vált, hogy a böngészőben két alapvető hiba van - és mindkettő a "ruhákhoz" a skinekhez kötődik. Az egyik hiba oka, ami miatt egy támadó könnyedén feltölthetett a böngészőkre olyan állományokat, melyeket később futtatva, az egész rendszer irányítását is átvehette - az Opera "directory transversal" (a "ruhacsere" könyvtára) volt
A másik hiba a skinek letöltésekor, kezelésekor alakult ki. Ez egy tipikus "buffer overflow" - adattúlcsordulási hiba volt. Ezek igenrészletes feltérképezése, a gyártó együttműködése, hozzáállása miatt jelenhetett meg már nov. 21-én a kijavított, eddig hibát nem mutató Opera 7.23.
Részletek
Az Opera a skineket automatikusan is képes volt letölteni, MIME formátumot használva a %USERPROFILE%\Application Data\Opera\Opera7\profile\Skin.könyvárba. Ezt tudva, és azt is, hogy a hiba forrása ezen a ponton keresendő, nyilatkozott nov. 12-én S. G. Masood - beszámolva arról, hogy valamilyen fájltípus képes arra, hogy az említett mappába jusson. Ez volt az oka, hogy első, gyors javításként csak a .zip kiterjesztésű állományt fogadta a rendszer. Ezzel kapcsolatban tárták fel az első hibát, ami a transversal dyrectoriban volt. A skinek kezeléséért, cseréjéért felelős mappa a változtatás után is engedélyezte, hogy a skinek mellett egy támadó a későbbiekben futtatható, maliciózus állományt is feltöltsön az áldozata rendszerére.
Megtehette ezt azután is, hogy csak .zip állományt fogadott a böngésző. Minden skin letöltésekor egy alkalmazás, a Content-disposition HTTP header - ha nem ismert URL-ről történt - meghatározta a forrást. Ismeretlen URL esetében a leöltött fájl nevének utolsó eleme volt ez. Ha egy támadó azonban ezt megváltoztatta, a valós hely nevét egy hexa-kódra cserélte ki, akkor a letöltött állomány ... .5c..5c..5c " néven került az Opera mappájába.
A forrást tehát ennek alapján a következőképpen határozta meg az alkalmazás:
http://szerver/./.5c..5c..5c..5c..5c..5c..5..5c..5ccskin.zip
amit Windows rendszer esetén tipikusan a C:\ meghajtóra telepítettek..
Akkor vált a hiba kihasználása bonyolultabbá, akkor kellett bonyolultabb exploitot írni, amikor az Opera 7.22 skin cseréje, frissítése csak olyan állománnyal történhetett, mely .zip kiterjesztésű volt. Miután a kiterjesztést az Opera ellenőrizte, a támadónak egy olyan állományt kellett bejuttatni a böngészőbe, mely becsapva azt, valóságos .zip tömörítésnek tűnt. Ezt egy olyan exploittal lehetett végrehajtani, kihasználni a hibát, mely segítségével a .zip-hez hasonló fájl a Windows Startup mappájába került. Viszonylag könnyű olyan állomány elkészítése, melyet .zip tömörítésként ismer fel a rendszer, de ha az állomány valódi kiterjesztése pl.. .bat, akkor az a Windows már úgy nyitja meg, mint egy batch állományt. Kinézetre tehát .zip, de alkalmazását tekintve a kibontás után .batch funkciót lát el. Lehet, hogy a bejuttatott fájlok miatt megjelenik valamilyen indifferens hibaüzenet, de akkor az ártó szándékú alkalmazás már régen a parancs sorba került, és "végzi feladatát". Kellően kialakított futtatható fájl esetén e miatt a támadó igen könnyedén, mint root jogosultságú felhasználó férhet a rendszerhez.
Az, hogy a káros állomány a Startup mappába kerüljön könnyű megoldani, mert az Opera "skin" mappája a %USREPROFILE% - könyvtárra mutat, ahonnan a parancssor (command line) könnyen elérhető.
A .zip állományok kódját feldolgozó alkalmazásban is van a 7.22 Opera esetében hiba. Ez egy "egyszerű" adattúlcsordulási, "buffer overflow" hiba, amit a tesztelés során lehetett észlelni. Abban az esetben, ha az alkalmazás olyan valós .zip állományt dolgoz fel mely a kiterjesztés után túl sok többletadatot tartalmaz, akkor jöhet létre az adat túlcsordulás jelensége. Ez, ha a támadó olyan preparált fájlt juttat be, mely bejegyzést tesz az EIP tartalmába, akkor az adattúlcsordulás, a buffer overflow robbanásszerűen bekövetkezik.
Megjegyzendő, hogy a sérülékenység miatt, ha e felhasználó olyan lapot néz meg, melyre a támadó irányíthatja, és előtte minimálisan megváltoztatta - egy iframe taget helyezett el - ami automatikusan elindítja a hiba, a sebezhetőség miatt lehetővé tett skin állományok kihasználásának valamelyik ismertetett módját.
A directory traversal probléma nem érinti a Linux rendszereket azok "\" rendszeresen alkalmazott pl. cím elválasztó karaktere miatt, ellenben a "buffer overflow" ellen már nem védettek ezek a rendszerek sem.
A hibát a gyártó felismerte, és megfogadva a szakmai tanácsokat mát 8 nap múlva ki tudta adni a javított, ilyen hibát nem tartalmazó 7.23 verziót - ami nov. 21. óta az ftp://ftp.oprera.com/pub opera lapról már minden rendszerhez letölthetővé vált.
Megjegyzés
A CommonVulnerabilities and Exposures (CVE) információ: (http://cve.mitre.org) lapon található, a CAN-2003-0870 Opera HREF escaped server name overflow - néven.
Kapcsolódó cikkek
- Fokozottan veszélyeztetett a hazai KKV-k informatikai rendszere
- WabiSabiLabi: szoftverhibák online aukciósháza
- Hangüzenet kíséretében pusztít a BotVoice.A trójai
- Kritikus fontosságú Windows-, Office-, Excel-javítások érkeznek
- Támadások melegágya az IWIW?
- A cégvezetők 87 százaléka rosszul méri fel az IT-kockázatokat
- Biztonságos hangalapú online fizetés
- Microsoft Update-nek álcázott trójai
- Check Point: webalapú biztonságfelügyeleti megoldás
- Minden negyedik internetező elárulja a jelszavát