我正在开发一个安全应用程序,该应用程序应通过任何过程监视 Activity 。

多亏了MiniFilter sample provided by Microsoft on GitHub,我通过安装MiniFilter驱动程序成功地拦截了文件访问。

但是,我没有找到任何有关如何使用Minifilter拦截处理创建/终止的文档。

我想通过任何父进程(可以使用诸如CreateProcess,ShellExecute等功能)拦截新进程的创建。

我还想拦截进程终止信号(由TerminateProcess之类的API发送),以避免我的安全程序进程被潜在的恶意软件杀死。

目前,我在minifilter驱动程序中设置了一个回调函数,该函数成功拦截了文件I/O操作,如Microsoft示例所示:

FLT_POSTOP_CALLBACK_STATUS ScannerPostCreate (
    _Inout_ PFLT_CALLBACK_DATA CallbackData,
    _In_ PCFLT_RELATED_OBJECTS FltObjects,
    _In_opt_ PVOID CompletionContext,
    _In_ FLT_POST_OPERATION_FLAGS Flags
    )

我的问题是,我可以使用相同的回调函数来拦截进程访问吗?
还是我需要设置其他回调函数,或者使用完全不同的方法?

最佳答案

由于微型过滤器是内核模块,因此您可以使用内核/HAL或其他内核模块导出的任何例程。例如,PsSetCreateProcessNotifyRoutine。

关于c - 使用Windows MiniFilter驱动程序拦截进程访问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58420338/

10-12 14:29