next up previous contents index
Next: Védelem ismeretlen vírusok ellen Up: A víruskeresők fejlődése Previous: A lopakodó vírusok megjelenése

  
A polimorf vírusok felismerése

A polimorf vírusoknak nincs szekvenciája, így a víruskeresőnek algoritmikus keresést kell megvalósítania. A két fő megközelítés szerint keresni lehet vagy a dekódert, vagy a kódolt részt.

Ha a dekóderre keresünk, akkor nagyon körültekintőnek kell lennünk, és fel kell készülnünk minden lehetséges utasításra és dekódolási algoritmusra. Ha itt hibázunk, akkor víruskeresőnk bizonyos fájlokat nem fog felismerni, azaz hamis negatív  eredményt fog szolgáltatni. A vírus testének visszakódolásához elemeznünk kell az utasításokat, és ki kell nyernünk belőlük azokat az adatokat, melyek az alkalmazott kódolást, és ennek paramétereit határozzák meg.

A kódolt részre is lehet keresni, ezt kriptoanalízisnek  hívják. Ha mondjuk a vírus egy bájtos xor kódolással van titkosítva, akkor beolvassuk a feltételezett első bájtot, és ezt xoroljuk a vírus kódolatlan első bájtjával (ez ismert, hiszen tudjuk, hogy mit keresünk). Ekkor megkaptuk a xor értéket, amivel a vírus titkosítva van, most már csak azt kell ellenőrizni, hogy tényleg itt van-e a vírus. Ha ezzel az értékkel végigxoroljuk a következő bájtokat, és a kódolatlan vírus bájtjait kapjuk, akkor vírust találtunk. A módszer bonyolultabb kódolásra bonyolultabb, de ezért általában megoldható. A gondok ott kezdődnek, amikor egymás után két kódolást alkalmaz a vírus.


next up previous contents index
Next: Védelem ismeretlen vírusok ellen Up: A víruskeresők fejlődése Previous: A lopakodó vírusok megjelenése
Nagy Ferenc Laszlo
1999-05-21