ENGLISH / MAGYAR
Kövess
minket

Malware elemzés támogatása magas szintű funkciók automatizált felismerésével

2019-2020/II.
Dr. Buttyán Levente

A malware elemzés bináris malware minták visszafejtését, funkcióik megértését jelenti. Naponta több ezer új malware minta jelenik meg, ezek manuális elemzése nem skálázható, automatizált módszerekre van szükség. Sokszor az új minták nem teljesen új malware-t jelentenek, jellemzőbb, hogy már létező malware családokban jelennek meg új variánsok, melyek funkciói nagy mértékben hasonlítanak a család korábban már elemzett variánsainak funkcióira. Sajnos a hasonló funkciók azonosítása két bináris mintában messze nem triviális feladat, mert a binárisokban ezen funkciók különböző helyeken jelenhetnek meg, és nem tökéletes egyezésről van szó a funkciók között, hanem hasonlóságról, aminek már a mérése sem egyszerű. Ugyanakkor a hasonló funkciók azonosítása nagyon hasznos volna, hiszen egy új mintáról így könnyen el lehetne dönteni, hogy van-e benne érdekes új funkció, vagy a minta csak korábban már elemzett funkciókat vagy ismert könyvtári függvényeket tartalmaz, tehát az elemzés szempontjából nem érdekes mintáról van szó.

A hallgató feladata egy olyan keretrendszer tervezése és implementációja, mely lehetővé teszi a hasonló funkciók automatizált azonosítását bináris malware mintákban. Ehhez a hallgatónak meg kell vizsgálnia az irodalomban korábban javasolt bináris hasonlósági mértékeket, és azonosítania kell egy a feladat megoldásában használható mértéket. A rendszernek képesnek kell lennie a binárisok értelmes egységekre bontására (pl. függvények azonosítására), és ezen egységek bináris hasonlóságának kiszámítására. Célszerű továbbá, ha a rendszer támogatja a korábban már elemzett egységek és az ismert könyvtári függvények felcímkézését és adatbázisban történő tárolását, valamint ezen ismert funkciók bináris hasonlóság alapon történő azonosítását új malware mintákban. A feladat részét képezi a szükséges elméleti háttér áttekintése, a keretrendszer megtervezése, prototípus szintű implementációja, a működés tesztelése, a használhatóság értékelése, valamint az elkészült rendszer esetleges korlátainak azonosítása.


1
1