我正在开发一个安全应用程序,它应该通过任何进程来监视活动。
通过安装MiniFilter驱动程序,我成功地拦截了文件访问,这要归功于微软在GitHub上提供的GitHub示例。
但是,我没有找到任何关于如何使用Minifilter拦截流程创建/终止的文档。
我想拦截任何父进程创建的新进程(这些进程可以使用CreateProcess、ShellExecute等函数)。
我还想拦截进程终止信号(由API(如TerminateProcess)发送),以避免我的安全程序进程被潜在的恶意软件杀死。
目前,我在我的迷你驱动程序中设置了一个回调函数,它成功地拦截了文件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
)我的问题是,我是否可以使用相同的回调函数来拦截进程访问?或者,我需要设置不同的回调函数,还是使用完全不同的方法?
发布于 2019-10-19 18:14:41
因为minifilter是一个内核模块,所以您可以使用内核/HAL或其他内核模块导出的任何例程。例如,PsSetCreateProcessNotifyRoutine。
https://stackoverflow.com/questions/58420338
复制相似问题