论文部分内容阅读
在windows系统中,进程注入是一个为了完成特殊功能而被系统预留出的接口,通过该接口,可以实现一些特殊的功能如屏幕取词、输入法等等,但是如果该接口被恶意利用,则会实现盗号木马、进程隐藏等恶意程序,因此在安全问题日益严重的今天,对进程注入拦截具有现实意义。本文主要比较了用户态的IAT HOOK和Inline HOOK以及内核态的HOOK SSDT、HOOK PE和挂接中断,通过通用性、稳定性、开发难度、跨平台性的比较选择了HOOK SSDT,HOOK SSDT大量应用于杀毒软件、保护软件和RootKit技术中,对此技术的深入研究能够在攻防博弈中占据先机。基于以上思想,本文以Visual C++ 6.0编译环境和Windows DDK驱动程序开发包为开发工具,使用WinDebug和OnllyDebug对系统进行内核层的逆向分析,对未文档化的内核部分进行深入了解,采用集成开发工具进行上层窗口应用程序和底层驱动的开发,并通过IOCTL完成底层驱动与上层程序之间的通讯。最终由底层模块对进程注入的操作进行拦截分析,将分析出的灰名单传递到云模块进行查杀,使拦截系统具有学习功能。实验证明本系统能够根据黑白名单对进程注入进行分析、拦截并具有学习能力,具有稳定性,可移植性和高效性等优点,较好的完成了目标要求。