论文部分内容阅读
由于病毒、蠕虫、僵尸网络等恶意代码的出现和发展,信息安全受到了巨大的威胁。随之出现的恶意代码分析检测技术,包括特征码扫描等,能在一定程度上进行分析检测工作,但仍无法避免各自的缺陷。于是,迫切需要一种恶意代码的分析检测手段对恶意代码进行详尽的分析。本文研究恶意代码种类及特征,充分讨论各种分析检测方法的缺陷和不足。在此基础上,提出一种基于行为分析的恶意代码检测方法。这种方法通过监控系统调用以及重要内核数据来获取一段可执行代码的行为。通过对行为的分析检测其是否是恶意代码。这种技术方法能够有效检测已知的、未知的恶意代码;有效应对各种变异或加壳的恶意代码;有效检测恶意代码的隐藏行为;可以自动分析恶意代码行为;生成详细的行为分析报表,作为判断以及进行进一步分析的依据。本文研究恶意代码的用户态行为分析、内核态行为分析等技术,完成了基于行为分析的恶意代码检测系统的设计与实现。基于行为分析的恶意代码检测系统包括用户态行为分析模块、中断处理模块、内核态隐藏行为分析模块、通信模块、用户界面五个模块。用户态行为分析模块以监控系统调用为技术核心完成二进制可执行代码的用户态行为分析,内核态隐藏行为分析通过监控SSDT等重要内核数据完成二进制可执行代码的内核态行为的分析。中断处理模块、通信模块为这两个模块分别提供下层的支持和上层的交互接口。中断处理模块完成设置隐蔽断点的功能,从而为用户态行为分析模块提供系统调用断点处的上下文信息。用户界面生成分析日志,并返回所有的分析检测信息呈现给用户。在完成了基于行为分析的恶意代码检测系统的设计开发后,使用不同类型的二进制可执行代码进行测试。测试结果表明,基于行为分析的恶意代码检测系统能获得多个样本的大量行为信息,包括具有典型恶意代码特征的隐藏行为。该系统生成样本完整、全面的分析结果,能够根据分析结果多个维度的行为特征判断样本是否是恶意代码,提高了准确性,并克服了单一特征码扫描、完整性检测无法检测未知恶意代码的缺陷。