问题描述
我在维基百科中发现,调用图可以明显地检测到恶意代码。 有人可以解释这究竟是如何工作的吗?在维基百科中只写了以下内容: “调用图还可用于检测程序执行或代码注入攻击的异常”。 非常感谢!
解决方法
这是关于模式检测。
例如,如果您知道在代码注入模式之一中使用的 Windows API 是 VirtualAllocEx
、WriteProcessMemory
和 CreateRemoteThread
,您可以在下面打开代码的调用图分析以进行视觉检查,并查找这些 API 调用并验证它们是否按该模式的正确顺序被调用。
然后您可以生成调用图签名来检测恶意代码,这些恶意代码可能是变形的、打包的或以其他方式变异的,因此不易受到常规签名匹配的影响,因为改变调用图要困难得多。 (例如,参见here)