Regisztráció és bejelentkezés

Rosszindulatú weboldalak detektálása statikus elemzéssel

A Világháló elterjedtsége miatt manapság a legtöbb ember számára napi rutinná vált az internetezés. Ezt a tevékenységet nem csak PC-n végezhetjük, hanem laptopon, telefonon, tableten, vagy akár egy autó számítógépén keresztül is. A nagyméretű felhasználói bázisnak és a sok, különböző típusú platformnak köszönhetően a web a rosszindulatú programok (malware-ek) egyik elsődleges terjesztőjévé vált. A gyanútlan felhasználó egy nem frissített böngészővel akár néhány weblap meglátogatása után is megfertőződhet anélkül, hogy azt észrevenné.

A kártékony weboldalak detektálására a legelterjedtebb módszer a dinamikus elemzés. Ezek a módszerek a weboldalt egy izolált, gyakran virtuális környezetben töltik be, és vizsgálják, hogy történt-e fájlletöltés, vagy egyéb gyanús változás a számítógépen. A probléma az, hogy az ilyen dinamikus elemzés időigényes. A virtuális környezet felállítása és a weblapon lévő szkriptek lefuttatása akár néhány percet is igénybe vehet. Ez a transzparens használathoz túl lassú, illetve ezzel a módszerrel csak pár ezer oldalt lehet megvizsgálni naponta, ami kevés.

A 2010-es év környékén több cikk jelent meg olyan módszerekről, amelyek egy HTML, vagy JavaScript kódról futtatás nélkül, csupán a statikus jellemzők alapján eldöntik, hogy kártékony vagy sem, így akár több millió weboldalt lehet elemezni naponta. Az elmúlt pár évben azonban jelentősebb kutatási eredmény nem jelent meg a témában és az implementációk sem érhetőek el. A munkám célja ezért az, hogy a korábbi eredményekből kiindulva egy olyan statikus weboldal szűrőt hozzak létre, amely előszűrőként alkalmazható egy alaposabb, de lassabb dinamikus elemző szoftver számára. A megoldásom böngészőbe is ágyazható, ebben az esetben figyelmezteti a felhasználót az esetleges veszélyekre.

Munkám gépi tanulási módszerekre épül, ezért először ártalmatlan és kártékony kódokat gyűjtöttem össze, amelyek a tanító adathalmazt adják. Ezt követően a mintákon kiszámítottam az egyes statikus jellemzők értékeit és egy osztályozót tanítottam be velük. Végül elkészítettem a szűrőt, amely weboldalakat látogat meg, letölti az ott található kódot, kiszámítja a statikus paramétereket, majd elvégzi az osztályozást. Az eredmény annak a valószínűsége, hogy az oldal kártékony.

szerző

  • Tamás Kristóf
    Mérnök informatikus szak, mesterképzés
    mesterképzés (MA/MSc)

konzulens

  • Dr. Buttyán Levente
    docens, Hálózati Rendszerek és Szolgáltatások Tanszék