Callgraph 如何检测恶意代码?

问题描述

我在维基百科中发现,调用图可以明显地检测到恶意代码。 有人可以解释这究竟是如何工作的吗?在维基百科中只写了以下内容: “调用图还可用于检测程序执行或代码注入攻击的异常”。 非常感谢!

解决方法

这是关于模式检测。

例如,如果您知道在代码注入模式之一中使用的 Windows API 是 VirtualAllocExWriteProcessMemoryCreateRemoteThread,您可以在下面打开代码的调用图分析以进行视觉检查,并查找这些 API 调用并验证它们是否按该模式的正确顺序被调用。

然后您可以生成调用图签名来检测恶意代码,这些恶意代码可能是变形的、打包的或以其他方式变异的,因此不易受到常规签名匹配的影响,因为改变调用图要困难得多。 (例如,参见here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...