我需要监视运行在Microsoft上的进程创建的API调用序列,以分析恶意软件行为。
我知道我们可以做用户模式或内核模式监控。我尝试过一些可以拦截API调用的工具,如Detours调用、EasyHook调用和NTHookEngine调用,但据我理解,所有这些工具都利用了用户模式监视。这使得他们无法检测在内核模式下运行的恶意软件(比如rootkit)。
如果我们尝试使用Detours或EasyHook挂钩API调用,我们就必须定义自己的挂钩函数,在这种情况下,我不需要这样做。我只需要知道被监视的进程正在调用的函数及其参数。
有什么方法可以用高效(几行代码)和有效(用户模式和内核模式监视器)的方式来实现呢?
发布于 2016-09-12 13:08:52
关于用户模式钩子,也许您可以编写一个通用存根函数
这种用于rootkit检测的调用排序技术可以清楚地检测钩子,但我无法想象它能适用于运行时修补- AKA内联钩子,因为它们不构建堆栈框架。
如果您不愿意沿着这条路线走下去,您可能会考虑在内核模式下连接到本地API,它在Windows7 SP1上有大约290个函数。不过,您必须禁用或绕过PatchGuard系统上的x64系统。
https://security.stackexchange.com/questions/130434
复制相似问题