1.2 本书脉络及内容
1.2.1 总体脉络
本书的总体脉络如图1-2所示,具体展开脉络过程为:
(1)首先,根据当前的网络空间安全形势,系统分析恶意代码的主要演化方式,初步理解恶意代码的基本恶意原理;
(2)其次,针对恶意代码的主要演化方式,提出本文拟解决的关键科学问题,为后续开展恶意代码检测研究明确方向;
(3)针对所提出的关键科学问题,分别研究相关解决方法。该部分为论文的主体,通过设计相关的研究方法,最终实现恶意代码防护目标。

图1-2 本书总体脉络
1.2.2 主要内容
本书的主要内容包括:
(1)恶意代码主要演化方式分析
为躲避杀软工具的查杀,提升存活能力,恶意代码自身一直在不断地进行演化反抗,如图1-3所示。恶意代码通常采用不同的混淆方式改变自身特征,掩盖其恶意行为,从而躲避检测。混淆就是采用一定的方式在保留其功能的情况下改变程序代码结构特征,以降低被分析的可能性,并通过使代码不易读和难以理解来抵御逆向工程。总体来说,恶意代码当前常用的混淆方式主要包括:加壳、多态和变形。恶意代码通过演化,可以影响传统的静态分析和动态分析方法,甚至使其失效。

图1-3 恶意代码演化方式
(2)基于总体画像的恶意代码检测及恶意性定位
本项研究内容的总体设计如图1-4所示。从基本结构、底层行为和高层行为等三个角度对恶意代码进行总体画像,建立起对恶意代码的全面、系统、准确描述,克服加壳、变形、混淆、规避等躲避手段的影响,实现对复杂恶意代码的准确检测。此外,通过从基本结构、底层行为和高层行为三个角度建立恶意代码的“三位一体”画像,并对三个部位的恶意性进行评估,可以辅助研究人员准确定位出恶意代码恶意性的具体部位,实现对恶意代码的准确、系统认知,为研究人员开展恶意代码防护提供支撑。

图1-4 基于总体画像的恶意代码检测及恶意性定位
(3)基于动静态特征关联融合的恶意代码检测及恶意性解释
本项研究内容的总体设计如图1-5所示。谚语“静若处子,动若脱兔”描述的是同一对象在动静态情况下会表现出截然不同的特征。实际分析表明,恶意代码的动静态特征虽然表面上差异很大,但存在着“语法相异、语义相似”的内在关系。基于此发现,本研究内容对程序的静态和动态特征之间的差异和关联进行深入研究,基于语义映射实现动静态特征的关联融合,并基于融合生成的混合特征构建特征向量空间。在此基础上,对程序的行为类型进行挖掘,实现对程序恶意性的可理解性解释,解决已有研究成果“重视检测结果、忽视解释原因”的不足,实现检测结果的可解释性,最终建立起一个可解释的恶意代码检测框架。

图1-5 基于动静态特征关联融合的恶意代码检测及恶意性解释
(4)基于全局可视化和局部特征相结合的恶意代码家族分类
本项研究内容的总体设计如图1-6所示。本方法采用全局特征可视化与局部特征相结合进行恶意代码分类的思路,针对恶意代码二进制文件的分块计算三个特征值,每个特征值对应填充一个彩色通道,从而将恶意代码二进制文件可视化成RGB彩色图像;然后提取RGB彩色图像的全局特征,并从恶意代码二进制文件核心区域中提取局部特征,结合全局和局部特征进行恶意代码家族分类。该方法一方面可以增加恶意代码图像表示的信息量,提高图像稳定性和分类模型的容错率,而且从恶意代码核心区域提取局部特征,弥补了全局特征在恶意代码变种变化较大时分类能力不足的缺陷。另一方面,全局特征和局部特征的结合在面对变化多端的恶意代码变种时具有更强的鲁棒性,可有效提高恶意代码分类的准确率。

图1-6 基于全局特征可视化和局部特征相结合的恶意代码家族分类
(5)基于样本抽样及多核并行处理的大规模恶意代码家族分类
本项研究内容的总体设计如图1-7所示。大量恶意代码的涌现给安全防护人员造成了沉重的负担。为提升分析大量恶意代码样本的效率,采用合理有效的技术将这些变种准确划分到其所属的家族很有必要。本项研究内容的目标是设计一个轻量级的高效分类框架。框架通过从大量的家族样本中抽样部分样本,从抽样样本集中提取能够表征整个家族的特征,通过构建简易的特征向量空间来表示整个家族的特征,由此降低构建特征向量的复杂性。此外,采用了基于多核协商和主动推荐的并行处理方法,充分利用现有硬件平台的资源优势,缩减分析大量恶意代码所需的时间,提升恶意代码分类效率。

图1-7 基于样本抽样和多核并行处理的大量恶意代码高效检测
(6)基于攻击传播特征分析的恶意代码蠕虫同源检测方法
本研究内容的总体研究思路如图1-8所示。针对蠕虫作者往往基于已有代码进行修改生成变种,亟须快速准确地对蠕虫进行同源关系检测的需求,基于蠕虫的攻击传播特性,分别对蠕虫的语义结构特征、攻击行为特征和传播行为特征进行提取,将蠕虫的语义结构特征与攻击行为特征进行处理与融合,通过挖掘蠕虫传播行为的API调用序列的频繁模式集来构建敏感行为特征库。最后,使用随机森林算法,以蠕虫特征集为输入进行蠕虫间的相似性度量,使用敏感行为匹配算法计算蠕虫在敏感行为特征库中的命中率,从而得出蠕虫间的相似度,并以相似性度量结果为依据进行蠕虫间的同源关系判定。

图1-8 基于攻击传播特征分析的恶意代码蠕虫同源检测
(7)基于系统调用信息和本体论的APT恶意代码检测与认知
本体模型可以有效表示恶意代码行为语义,为研究者提供认知恶意代码的知识表示。恶意代码本体结构是关于恶意代码域的一个知识模型,包含与恶意代码行为、恶意代码类别和个体,以及计算机系统组件相关的概念,可实现对恶意代码的知识推理。
基于本体模型原理,我们构建APT恶意代码本体框架,包括APT恶意代码、计算机系统组件和行为这三个核心类。APT恶意代码类定义APT恶意代码的分类结构,包括了所有类别的APT恶意代码和个体。计算机系统组件类定义计算机系统组件的分类结构,包括所有的计算机系统组件子类和个体。行为类定义恶意代码行为的分类结构,包括所有不同类型的恶意代码行为。基于上述定义,APT恶意代码本体结构可表示为如下集合:

基于本体结构原理,APT恶意代码本体模型设计如图1-9所示。

图1-9 APT恶意代码本体模型设计
(8)基于APT代码行为特征和YARA规则的APT攻击检测
本项研究内容的总体研究思路如图1-10所示。针对传统安全防御系统缺少APT攻击学习经验,且依赖部分安全厂商的数据难以完成对APT攻击追踪溯源的现状,综合吸收现有APT攻击检测技术的研究成果,以动态分析恶意样本作为切入点,建立基于APT攻击行为的机器学习模型,提出一种结合模型可解释性与关联分析思想,创建YARA规则以检测APT攻击的方法。

图1-10 基于APT代码行为特征和YARA规则的APT攻击检测