"Fantom" a 7.22 Operában

Geza Papp, 2003. november 23. 21:14
Igen sokan szeretik, és használják az Opera web böngészőt. Szeretik gyorsasága, egyszeűsége, könnyű kezelhetősége miatt – elfogadva, hogy motorja miatt nem képes minden funkcióra, melyet esetleg a többi kereső el tud végezni. Igen sokan használják „második” böngészőként a rendszerükön. Külön kiemelendő, hogy az Opera azért is közkedvelt a böngészők között, mert csaknem minden operációs rendszerhez, platformokhoz van változata.
Akik az utóbbi időben frissítették a keresőjüket, és feltelepítették az Opera 7.22 verzióját, néhány szokatlan dolgot tapasztaltak. Kifejezetten azon felhasználók, akiknek a megszokott puritánság nem felelt meg, és Operájuk új "ruhát - skint - kapott. A szakemberek, a termék gyártói is felfigyeltek erre, és észrevették, hogy a skinek d váltása során sérülékennyé válik a böngésző, vagy lelassul.

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.
Kulcsszavak: Opera security

Kövess minket a Facebookon!

Cikkgyűjtő

További fontos híreink

Huszadik alkalommal adták át a Hégető Honorka-díjakat

2024. november 21. 16:58

Hosszabbít ’Az Év Honlapja’ pályázat!

2024. november 19. 09:54

Törj be a digitális élvonalba: Nevezz ’Az Év Honlapja’ pályázatra!

2024. november 14. 16:36

A virtuális valóság az egészségügyet is forradalmasíthatja

2024. november 12. 18:01