logo好方法网

基于三位一体综合画像的恶意代码检测及恶意性定位方法


技术摘要:
本发明公开了一种基于三位一体综合画像的恶意代码检测及恶意性定位方法。使用本发明能够实现恶意代码的恶意性评估,并对代码恶意性部位实现准确定位。本发明在融合静态分析和动态分析方法的基础上,综合提取恶意代码的多方面主要特征,引入系统画像的思想,从基本结构  全部
背景技术:
恶意代码检测技术发展至今,主要经历了基于特征的检测、基于启发的检  测和基 于数据挖掘的检测等几个阶段。 基于特征的检测从每一个已知恶意代码中提取独特的字符串序列作为特征,  然 后采用特征匹配的方式开展检测。这种方法在检测已知恶意代码时准确率较  高且误报率 较低,但难以应对恶意代码普遍采用混淆手段改变特征,导致维护  病毒特征库工作量急剧 增加,以及未知恶意代码所带来的挑战。 基于启发式的检测方法基于由安全专家所确定的恶意代码和正常代码的判 决规 则/模式,判断未知样本的恶意性。为保证检测的有效性和效率,这种方法  需要判决规则/ 模式具有通用性。但随着恶意代码制作工具的出现,恶意代码制  作过程已成为一种turn- key式的工作,恶意代码变种大规模涌现,生成判决规则  /模式所需的时间和人力消耗已难 以承受。 基于数据挖掘的检测方法是当前广泛应用的检测手段,主要包括特征提取  和检 测两个过程。在特征提取阶段,通常采用静态分析或动态分析的方法提取  样本的静态特征 或动态特征,然后基于提取出的特征训练机器学习分类器;在  检测阶段,首先提取待检测 样本的特征,然后使用训练好的分类器对其开展自  动化的检测。这一方法已成为当前恶意 代码检测的主要研究方向,能够实现准  确性、有效性和效率等方面的最优化。 但是,基于数据挖掘的检测方法在应对恶意代码的不断演化更新方面,仍  然面临 着诸多新的挑战,主要包括: (1)越来越多的恶意代码采用加壳、变形或多态方式混淆自身特征,躲避  反病毒 软件的检测,增加恶意代码检测的难度。当前的恶意代码越来越多地采  用加壳方式躲避检 测,导致静态分析方法难以奏效; (2)动态分析方法在检测恶意代码方面也存在诸多缺陷。比如,有些恶意  代码会 在执行恶意操作之前,对运行环境进行判断,如果是处于虚拟机环境之 中,就会停止执行。 这种具备对抗虚拟执行环境的恶意代码将会导致动态分析 方法失效; (3)此外,目前的研究方法大多针对恶意代码的某一类型特征或融合部分  特征展 开研究,所以往往难以有效对抗采用加壳、多态、环境侦测等手段对抗  检测的恶意代码,普 遍存在一定的局限性; (4)当前的检测结果通常只是对程序的恶意性作出判断,但程序作为一个  结构 体,还需要在恶意性判决的基础上,确定出其恶意性部位,这样也能为研  究人员系统认知 恶意代码,以及开展恶意代码防护提供支撑。 4 CN 111552970 A 说 明 书 2/6 页
技术实现要素:
有鉴于此,本发明提供了一种基于三位一体综合画像的恶意代码检测及恶  意性 定位方法,能够实现恶意代码的恶意性评估,并对代码恶意性部位实现准  确定位。 本发明的基于三位一体综合画像的恶意代码检测方法,包括: 构建恶意代码画像,所述恶意代码画像包括基本结构画像、底层行为画像  和高层 行为画像;其中,采用程序PE文件的sections进行基本结构画像;采用  程序运行过程中所 调用的API和DLL信息进行底层行为画像;采用程序运行过  程中发生的文件操作行为、注册 表操作行为和网络行为进行高层行为画像; 提取样本集中各样本的PE文件的sections、调用的API和DLL信息、以及  文件操作 行为、注册表操作行为和网络行为特征,对分类器进行训练; 利用训练好的分类器进行恶意代码检测。 较佳的,所述PE文件的sections特征包括sections名称及大小,以sections  作为 特征向量,section的size作为其特征值,生成基本结构画像的特征矩阵。 较佳的,对提取出的sections进行模糊匹配归类,并去除包含乱码、名称无  意义 的sections。 较佳的,取前N个贡献度最大的API作为特征向量,API对应的出现次数  作为其特 征值,生成底层行为画像的API序列特征矩阵。 较佳的,API序列特征矩阵的获得方法如下: 提取样本的API序列,统计所有样本中每个API出现的次数、每一类样本  中每个 API出现的次数及每一个样本中每个API出现的次数; 采用tf-idf加权方法计算每一类样本中API的贡献度并按从大到小进行排序; 选取贡献度排序前N个API组成特征向量; 基于前N个API对每一个样本进行匹配,以该API在样本中出现的次数作  为其特征 值; 为每一个样本生成API序列特征向量; 生成基于API序列的特征向量矩阵。 较佳的,提取样本集合的DLL序列,以DLL序列作为特征向量,DLL对  应的出现次数 作为其特征值,生成基本结构画像的DLL序列特征矩阵。 较佳的,对恶意代码样本动态分析技术报告中提取的DLL序列进行模糊匹  配归 类,并去除乱码DLL。 较佳的,文件操作行为特征包括:create、recreate、open、read、write、delete、  failed、move、exist文件次数统计,create、remove和enumerate文件夹次数统  计; 注册表操作行为特征包括:Create、read、write、open、delete注册表值次  数统 计; 网络行为特征包括:采用TCP、UDP协议的不同源IP、目的IP、源端口、  目的端口统 计,请求的主机、请求的dead主机、请求的域,DNS请求及请求的  DNS服务器统计。 较佳的,采用机器学习算法对分类器进行训练;所述机器学习算法为随机  森林 法、决策树法或朴素贝叶斯法。 本发明还提供了一种基于三位一体综合画像的恶意代码恶意性定位方法,  首先 5 CN 111552970 A 说 明 书 3/6 页 采用上述检测方法对恶意代码进行检测,其中,计算恶意代码画像的每一  个特征的信息增 益并进行排序,选取前N个信息增益最大的特征进行恶意代码  检测;然后,计算前N个信息 增益最大的特征分别在其所属的基本结构画像、  底层行为画像或高层行为画像的特征子 集中所占的比例,所占比例越高,则其  对应的画像的恶意性越明显。 有益效果: 本发明在融合静态分析和动态分析方法的基础上,综合提取恶意代码的多  方面 主要特征,引入系统画像的思想,从基本结构、底层行为和高层行为等三  个方面构建起“三 位一体”的综合画像,建立能够系统准确刻画恶意代码的特  征空间,实现对恶意代码的准 确检测和家族分类。在此基础上,基于检测结果  对三个画像部位的恶意性进行评估,由此 实现对代码恶意性部位的准确定位,  辅助研究人员建立起关于恶意代码的系统认知。 附图说明 图1为本发明的基于画像的检测过程流程图。 图2为本发明过程详细设计。 图3为数据采集过程。 图4为PE文件结构。 图5为API序列特征向量生成过程。 图6为不同名称DLL归类示例。
分享到:
收藏