论文部分内容阅读
随着网络的普及,僵尸网络(Botnet)已经成为现代社会最严重的安全威胁之一,如何有效地检测和防御僵尸网络已经成为当前各大安全研究机构重要且紧迫的研究课题。目前对于僵尸网络检测的研究主要集中在群体行为识别方面,对单个僵尸主机检测的研究较少。Al-Hammadi等人提出的基于API HOOK技术的僵尸主机检测方法是僵尸主机检测方面的一次新的尝试,取得了一些成果,但已有的研究方法较为有限,为保证主机的安全和网络服务的安全,需要新的更加有效的僵尸主机检测算法。 针对僵尸网络对主机安全和网络安全影响日益严重的问题,本文在Al-Hammadi等人提出的基于键盘记录活动的僵尸主机检测方法的基础上,通过对原有的相关度确定方法加以改进,采用积差相关系数计算不同API调用的相关度,并加入新的行为特征,即窗口监视行为,提高了对具有键盘记录器的僵尸程序检测的准确率。另外,详细研究了Bot的其他行为特征,发现行为对应的API调用方面的特点,将键盘记录行为及窗口监视行为与其他Bot行为特征相关联,设计了Windows系统的Bot进程检测算法—BDA算法。BDA算法根据Bot的不同行为在API调用方面的特点,计算未知进程的不同行为对应于Bot进程和正常进程相应行为的隶属度,生成未知进程的模糊集,之后采用格贴近度定理得到未知进程的模糊集和事先制定的标准模糊集的贴近度,最后根据F模式识别方法对被监控的进程进行类型识别。实验结果表明,BDA算法对Bot进程的检测率较高,并能较好的区分正常进程和Bot进程,误报率较低。本文最后,在BDA算法的基础上,分析了僵尸程序(Bot)检测系统的功能需求,设计了两种API HOOK算法,实现了对运行进程和新创建进程特定API的截获,并进一步详细设计和实现了BotDetector原型系统。BotDetector原型系统可以监控系统内全部的可疑进程,并定期检查安全进程,以达到保护主机安全的目的。