基于FSM的恶意代码检测与加权序列模式挖掘
基于FSM的恶意代码检测
在当前的恶意代码检测领域,基于规范的检测和基于签名的检测都存在一定的局限性。基于规范的检测难以完全准确地指定所有有效行为,而基于签名的检测无法检测零日攻击,因为数据库中没有相应的签名。
为了提高恶意代码检测的性能,研究人员提出了一种基于有限状态机(FSM)的方法,利用自我重定位基因来检测恶意代码。研究发现,恶意代码如果不进行自我重定位就无法正确执行,而合法程序通常不需要自我重定位。因此,恶意代码的检测可以转化为对自我重定位基因各种突变的检测。
自我重定位基因的定义
自我重定位对于恶意代码的执行至关重要,它使恶意代码能够获取宿主代码的基地址,从而实现攻击目标。自我重定位基因(SRG)可以看作是一系列特定的命令序列,这些命令使恶意代码能够在宿主程序中自我重定位并正确执行。
例如,典型的自我重定位基因序列为 E8000000005B81EB5C1A4000 ,其对应的指令如下表所示:
| Offset | Opcode | Instruction |
| ---- | ---- | ---- |
| .text:00401A57 | E800000000 | call $+5 |
| .text:00401A5C | 5B | pop ebx |
| .text:00401A5D |
超级会员免费看
订阅专栏 解锁全文
885

被折叠的 条评论
为什么被折叠?



