Binárisok visszafejtése és elemzése

Ha valaki megkaparint egy malware-t és szeretné megismerni jobban a viselkedését, akkor a legegyszerűbb mód, ha visszafejti annak kódját (általában egy alacsony szintű nyelvre) és elkezdi analizálni. Ez az analízis kétféle módon történhet meg: statikusan vagy dinamikusan. A kettő között a különbség pofon egyszerű: dinamikus analízisnél futás közben vizsgáljuk a fájlt, míg statikus analízisnél tisztán a kódból kinyerhető információkra koncentrálunk. Előbbi előnye, hogy sok információ csak futás közben generálódik, utóbbi előnye viszont, hogy könnyebb és biztonságosabb analízist tesz lehetővé. Természetesen statikus/dinamikus analízis történhet visszafejtés nélkül is - erre is mutatunk majd a gyakorlatban is sokszor használt referenciákat.

Statikus analízisre a leggyakrabban használt tool az Interactive Disassembler (IDA). Nagyon sok utasításkészletet (pl. ARM, Intel 80x86, Atmel AVR) és formátumot (pl. PE fájlok, ELF binárisok) ismer (részletes lista). Mind python scriptek, mind úgynevezett [IDC scriptek]((https://www.hex-rays.com/products/ida/support/tutorials/idc/) segítségével bővíthető a program. Az IDA letölthető a programot fejlesztő cég hivatalos weboldaláról. Fontos megjegyezni, hogy az IDA Pro nem ingyenes szoftver, ingyenesen az IDA Free és az IDA Pro Demo tölthető le, ezek több korlátozást is tartalmaznak.

Az IDA tartalmaz debuggert is, így elvileg a dinamikus analízishez sincs szükség más programra, viszont az IDA debuggere nem túl jó, ezért ajánlott egy másik szoftvert használni erre a célra. Az Ollydbg otthoni használatra ingyenes szoftver. Futás közben utasításonként lehet lépkedni a programom belül, miközben figyelhetjük az egyes regiszterekben történő változásokat (sőt, akár mi is változtathatunk önkényesen tartalmukon) illetve töréspontokat állíthatunk be. A program használatához sok bevezető jellegű leírás érhető el az interneten (például ez). Az IDA-hoz hasonlóan ez is bővíthető plugin-ek segítségével.

Mind statikus, mind dinamikus analízshez van több tucat egyéb hasznos eszköz. Ezek a teljesség igénye nélkül:

További leírások a malware analízishez: