检测WinAPI调用

时间:2013-12-10 03:12:40

标签: c# security winapi

我正在重构保险公司员工使用的应用程序,他们在计算机上遇到某种恶意软件的问题,这些恶意软件控制着这个应用程序做坏事,或者至少就是他们所说的。

我很确定恶意软件使用Win API来调用应用程序实例,所以我的问题是,有什么方法可以检测真实用户是在控制应用程序还是由另一个进程通过调用来控制到Win API?该应用程序使用C#进行编码。

1 个答案:

答案 0 :(得分:1)

这个答案来自我使用C ++开发Win32应用程序的经验。

我只能想到应用程序被控制的两种方式 - 一种使用OLE自动化,使用自动化动词,其次将键盘/鼠标事件插入系统事件队列。 (我假设这个应用程序没有侦听任何网络发起的命令)。您可以通过检查源代码并使用带有一些OutputDebugString调用的调试器来验证第一个。第二个只能由恶意软件扫描程序检测到。任何COTS /免费的AV或MS安全要素都应该能够识别恶意软件,除非它是由恶意员工在内部编写的。

您是否看过任务管理器进程列表并逐个浏览它们以查看是否有任何看起来可疑的内容?你可以用提升的权限运行应用程序吗?然后OLE自动化客户端(如果存在)将无法访问该过程。