论文部分内容阅读
近年来,网络攻击事件频发,造成的危害越来越大,新型恶意代码的发展又进入到新的高峰期,日益严重的网络安全问题不仅使普通用户和企业遭受到巨大的经济损失,更给国家安全带来了严重的威胁。随着网络威胁进入到APT时代,复杂的代码结构、多样化的行为特征和精巧的逃避分析策略使得现有的恶意代码分析技术面临新的挑战,针对新型恶意代码的分析技术更加成为网络安全领域的研究热点。新型恶意代码结构复杂、功能多样,代码量大,利用传统方法进行行为分析的准确率和效率很低。针对完整代码样本的分析既不能保证分析结果的准确性,同时也增加了分析的难度,因此针对恶意代码的核心算法与关键功能的分析成为应对新型恶意代码的有效方法,二进制组件(Binary Gadget)的定位与提取技术是实施这种新型行为分析的关键。二进制组件是从原始恶意代码样本中提取出的实现特定关键功能的代码片段。通过二进制组件的定位与提取可以有效简化恶意代码分析的过程,使得针对核心算法和关键功能的分析过程脱离原始复杂的代码样本,有效地弥补了静态分析准确率低和动态分析实现难度大的不足。本文针对新型恶意代码分析中存在的问题,围绕恶意代码执行监控和二进制组件构建两方面内容展开深入研究,本文主要工作和创新点如下:本文首先从二进制代码行为分析的角度入手研究精细化的行为执行监控技术。本文采用动静态结合的行为分析方法,基于DECAF平台实现恶意代码执行的全系统监控,获取API调用过程、指令执行序列和内存状态等关键信息。结合IDA Pro等工具的静态分析结果构建API行为知识库,利用API函数的调用序列挖掘恶意代码的典型行为特征。其次,研究代码片段提取和二进制组件构建技术。基于行为执行监控的结果提出了针对核心算法和关键功能的代码片段定位和二进制组件的提取方法,以达到恶意代码隔离分析与功能重现的目的。提出了语义推导和接口识别的关键算法,给出了参数符号化和地址重定位这两个关键问题的解决方案,并以内联汇编的方式构建二进制组件。通过实验验证了二进制组件构建流程的有效性和正确性。最后,基于以上关键技术和方法,设计实现了一个代码执行监控与二进制组件构建的原型系统,以可视化的方式展示了代码执行监控与二进制组件构建的过程。针对典型的恶意代码行为选取合适的样本进行了组件的构建和功能的验证,测试表明,该系统能够有效的工作,具有一定的实际应用价值。