论文部分内容阅读
恶意软件是当今最严重的安全威胁之一。当前面临着恶意软件变种规模巨大且急速增长的情况,恶意软件检测的一大挑战是高效地检测恶意软件变种。然而基于Hash、String等方法的传统恶意软件检测技术难以满足当前恶意软件检测的需求。因此,近些年的研究工作中提出一系列基于人工智能技术,如基于机器学习的恶意软件智能检测方法,以期达到有效并高效地检测恶意软件变种。然而,当前恶意软件智能检测方法仍然存在一些问题,主要包括:较低的准确性和性能、较低的代码覆盖率、检测方法的平台适用性差、检测模型的特征覆盖低等问题,针对这些问题,面向不同应用场景,本文主要基于深度学习技术提出一系列恶意软件智能检测方法。基于深度学习的恶意软件检测技术也面临一些挑战,如超长序列的数据表征、稀疏数据表征、特征融合难、时间开销过大等问题。这些问题制约着基于深度学习的恶意软件检测技术的应用。针对传统恶意软件智能检测方法精度和召回率较低的问题,本文提出一种基于操作码语义表征的恶意软件检测方法,以提升检测潜伏的恶意软件变种的准确性。该方法采用操作码二元组对恶意软件进行表征,该操作码二元组可以细粒度地表示超长操作码序列的局部语义信息。同时,本文提出一种主成分初始化的卷积神经网络,能高效地对恶意代码和良性代码分类。该主成分初始化的卷积神经网络解决了超长序列语义表征与分类问题。针对传统恶意软件智能检测方法的平台适用性差的问题,本文提出一种基于字节码语义表征的恶意软件检测方法,以检测来自多操作系统平台的恶意软件变种。该方法采用字节码N长共生矩阵对恶意软件进行表征。该字节码N长共生矩阵可以细粒度的表示超长字节码序列的局部语义信息。该方法能高效地对多平台的恶意代码和良性代码分类,解决了多操作系统平台的恶意软件检测问题。针对单一类型的数据表征不可避免的损失一部分检测精度的问题,本文提出一种基于操作码语义特征和API行为特征融合的恶意软件检测技术,以进一步提升恶意软件检测方法的准确性。该方法通过采用卷积神经网络和反馈神经网络训练分别得到操作码特征和API行为特征,通过并融合这两种特征,覆盖恶意软件更大范围的特点。该方法解决了深度学习中的多特征融合问题。针对基于深度学习的恶意软件检测方法消耗大量的训练时间的问题,本文提出一种基于全局图特征的恶意软件检测方法,以显著降低训练时间开销。该方法根据操作码之间的依赖关系构建操作码概率图,并提取全局图特征来对恶意软件样本进行快速训练和检测。另外,该全局图特征能形式化描述恶意软件特点,使得恶意软件特点更容易被理解。针对恶意软件检测方法在现实应用中面临的增量训练和安全问题,结合本文提出的深度学习方法,本文设计了一种基于主动学习的重训练机制,实现恶意软件检测方法安全、增量训练。