检测过程中空

信息安全 杀毒软件 身份证 检测 病毒清除 异常检测
2021-08-24 12:42:30

我正在集思广益检测进程空心化和其他形式的代码注入的方法,这个方法看起来相当健壮。

“进程挖空扫描器”是否有可能枚举进程内存中的所有可执行页面,枚举进程相​​关映像文件的所有可执行部分,并查看内存中是否有任何页面没有图像文件中是否有任何对应的页面,例如通过模糊散列图像文件、散列每个内存页面以及比较两组?

这似乎可以很好地检测进程空心——任何注入进程的代码都不会出现在图像文件中,除非攻击者能够找到针对哈希算法的碰撞攻击,否则他们将无法欺骗检测器(并且无论如何都可以使用多种算法)。而且由于检测器依赖于在进程内存中寻找异常的额外段,而不是直接对内存进行哈希处理并将其与文件进行比较,因此即使整个图像文件没有映射到内存中,它也可以工作。

那么这是检测进程空洞的有效方法吗?我不相信我在任何地方都看到过这种方法用于检测代码注入(我见过的最接近的是当 rootkit 扫描程序将进程的整个内存部分的哈希值与整个图像文件的哈希值进行比较时,它只有效如果文件完全映射到内存中)。

这是检测代码注入/进程空心的可行方法吗?

2个回答

Trustwave SpiderLabs与镂空工艺分析恶意软件写了一个博客- https://www.trustwave.com/Resources/SpiderLabs-Blog/Analyzing-Malware-Hollow-Processes/

Cuckoo Sandbox 是一种流行且免费的开源软件 (FOSS) 自动化恶意软件分析引擎,也可用于处理空心流程——http://journeyintoir.blogspot.com/2015/02/process-hollowing-meets- cuckoo-sandbox.html

并且这里总结了关于进程空心的所有文章 - http://marcoramilli.blogspot.com/2016/05/process-hollowing.html

要检测处理空洞,您可以使用比较PE头磁盘与内存,因为它将在正常线程上执行

http://www.adlice.com/runpe-hide-code-behind-legit-process/

要检测 dll 注入,您可以进行 vad walk 或堆栈跟踪:

查找名为:“Walking the VAD Tree”和“Scanning Process Memory for Injected Code”的文章