您好, 访客   登录/注册

基于N-gram特征的网络恶意代码分析方法

来源:用户上传      作者:

  摘要:由于传统的网络恶意代码分析方法,在进行网络恶意代码分析时无法对网络恶意代码字节特征进行归一化处理,因此网络恶意代码误报率高,无法实现对网络恶意代码的精准分析。针对这一问题,提出基于N-gram特征的网络恶意代码分析方法。建立网络恶意代码N-gram特征列表,通过网络恶意代码空间特征填充曲线映射,分析网络恶意代码。对比实验结果表明,设计的分析方法网络恶意代码误报率远低于传统方法,证明设计的分析方法分析能力更强,可以实现对网络恶意代码的精准分析。
  关键词:N-gram特征;網络恶意代码;曲线映射
  中图分类号:TP309.5 文献标识码:A 文章编号:1007-9416(2020)03-0049-02
  0 引言
  在网络大数据的时代背景下,网络攻击方式层出不穷,网络恶意代码作为最常见的网络攻击方式,已经通过变形的手段进化为更加难以防御的网络攻击内容[1]。网络恶意代码分析方法最主要的作用就是防止网络恶意代码利用计算机的安全漏洞,对计算机系统中的数据进行恶意篡改甚至破坏。网络恶意代码分析是网络恶意代码防御中最为关键的方法,对网络恶意代码分析方法进行深入研究无论是对国家还是个人都是十分重要的[2]。因此,本文基于N-gram特征设计一种新型网络恶意代码分析方法。N-Gram特征核心思想是将网络代码里面的内容按照字节特征进行大小进行相对应的滑动窗口操作,可以将滑动窗口的长度看作字节片段序列N,将在N中的每一个字节片段称为gram[3]。通过对所有gram在N中出现的频度进行统计,按照给定的阈值进行字节特征归一化处理,形成关键的gram特征列表,也就是这个网络代码的向量特征空间。为了最大程度上防止网络恶意代码的有效入侵、确保网络数据安全,本文通过网络恶意代码的N-gram特征向量空间,对网络恶意代码进行深入分析[4]。
  1 基于N-gram特征的网络恶意代码分析方法
  1.1 建立网络恶意代码N-gram特征列表
  假定网络恶意代码的指令集为Queauber,利用基于N-gram特征算法计算网络恶意代码的指令集Queauber的字节特征。设网络恶意代码的指令集Queauber的字节特征为,则的计算公式,如公式(1)所示。
  (1)
  在公式(1)中,指的是网络恶意代码字节特征归一化赋值;指的是网络恶意代码字节指令集合;指的是网络恶意代码字节判断指令;指的是网络恶意代码字节移动位置;指的是网络恶意代码字节返回指令;指的是网络恶意代码字节赋值指令;指的是网络恶意代码字节跳转指令[5]。
  在得出网络恶意代码的指令集Queauber的字节特征基础上,利用N-gram特征对所有gram在N中出现的频度进行统计,按照给定的阈值对字节特征进行归一化处理。网络恶意代码字节特征归一化处理的具体结果,如图1所示。
  通过图1可知,网络恶意代码字节特征归一化处理的结果,就是Queauber网络恶意代码指令集中最关键的gram特征列表[6]。
  1.2 网络恶意代码空间特征填充曲线映射
  观察Queauber网络恶意代码指令集中gram特征列表间的相似度,利用N-gram特征算法将网络恶意代码之间根据N-gram特征的相似性理论进行曲线映射,客观的描述出网络恶意代码空间特征。假定N-gram特征算法中给定的阈值为0.85,根据网络恶意代码N-gram特征层次的逻辑性,以一种填充曲线将离散的多维网络恶意代码空间映射到一维网络恶意代码空间,并保持多维网络恶意代码空间中的基本特征不变[7]。网络恶意代码空间特征填充曲线映射结果,如图2所示。
  通过图2可知,在网络恶意代码空间特征填充过程中,未被曲线连接的部分可以忽略不计,不影响网络恶意代码空间中的基本特征。需要注意的是,在N-gram特征向量空间中必须保证曲线映射的连贯性,如发生断层,则该网络恶意代码特征将直接被剔除。在得出的网络恶意代码空间特征填充曲线映射轨迹的基础上,通过N-gram特征算法确定gram特征列表的有效性以及试用范围。通过分析网络恶意代码,可以建立一个网络恶意代码特征库。将网络恶意代码字节特征与特征库进行匹配。从这些特征中提取出有效的恶意代码特征,完成基于N-gram特征的网络恶意代码分析。
  2 对比实验
  2.1 实验准备
  为构建对比实验,本文在Windows计算机系统上采集了6500个网络代码样本作为实验对象,其中网络正常代码为3000个;网络恶意代码为3500个。根据网络恶意代码样本的特征作为识别依据,进行近邻分类。本次对比实验选取的网络代码样本具体参数,如表1所示。
  结合表1信息,分别使用传统分析方法以及本文设计分析方法进行对比实验,设置传统的分析方法为实验对照组。对比验证硬环境包括:处理器Inter(R)Core(TM)Duo CPU;支持8线双绞线同轴电缆光纤专网、CPRS/DCMA无线公网、无线专网。对比实验软件为Peapctly对比实验软件,使用Logo语言,主要用于对网络恶意代码分析的对比模拟。对比实验主要内容为测试两种分析方法的网络恶意代码误报率,从而评定分析精准度更高的分析方法。在此次的对比实验中,共进行5次实验。针对Peapctly对比实验软件测得的网络恶意代码误报率,记录实验结果,进而判断两种分析方法对于网络恶意代码的分析能力。
  2.2 实验结果分析与结论
  根据上述设计的对比实验步骤,采集5组实验数据,将两种分析方法下的网络恶意代码误报个数进行对比,网络恶意代码误报个数对比结果,如表2所示。
  结合表2信息,计算网络恶意代码误报率。设网络恶意代码误报率为,则的计算公式,如公式(2)所示。
   (2)
  在公式(2)中,指的是网络恶意代码误报个数;指的是网络恶意代码实际个数。   为更加直观地表现出两种分析方法在网络恶意代码误报率方面的差异,将两种分析方法下得出的网络恶意代码误报率绘制为曲线图,如图3所示。
  通过图3可得出的结论:本文设计的分析方法网络恶意代码误报率最高仅为0.25%,實验对照组最低为0.48%,设计的分析方法分析能力更强,可以实现对网络恶意代码的精准分析。通过对比验证结果,证明所设计的分析方法其各项功能均可以满足设计总体要求,可以广泛应用于网络恶意代码分析方面。
  3 结语
  通对比实验证明,基于N-gram特征的网络恶意代码分析方法在网络恶意代码分析中的具体优势已经显现出来。网络恶意代码误报率的高低是保证网络恶意代码分析精度的主要衡量标准,而针对网络恶意代码分析方法进行基于N-gram特征的设计可以大幅度提高网络恶意代码分析精度。基于N-gram特征的网络恶意代码分析方法不但能够完成传统的分析方法所不能完成的任务,还能以N-gram特征为核心算法,为网络恶意代码分析领域的研究提供学术意义。本文不足之处在于没有对N-gram特征的网络恶意代码可视化方法进行深入分析,在未来将会在此方面进行研究。
  参考文献
  [1] 何金栋,王宇,赵志超,等.智能变电站嵌入式终端的网络攻击类型研究及验证[J].中国电力,2020(01):81-91.
  [2] 詹静,范雪,刘一帆,等.SEMBeF:一种基于分片循环神经网络的敏感高效的恶意代码行为检测框架[J].信息安全学报,2019(06):67-79.
  [3] 黄艳群,王妮,刘红蕾,等.基于Skip-gram词嵌入算法的结构化患者特征表示方法研究[J].北京生物医学工程,2019(06):568-574+604.
  [4] 毛丽旦·尼加提,古丽尼尕尔·买合木提,艾斯卡尔·艾木都拉.不同维度下维吾尔语N-gram语言模型性能分析[J].现代电子技术,2019(10):27-30.
  [5] 张洪,钟凯迪,柴源,等.基于N-Gram和动态滑动窗口的改进余弦相似度算法研究[J].成都大学学报(自然科学版),2019(02):163-166.
  [6] 如先姑力·阿布都热西提,亚森·艾则孜,郭文强.维语网页中n-gram模型结合类不平衡SVM的不良文本过滤方法[J].计算机应用研究,2019(11):3410-3414.
  [7] 王旭东,段敬,温志坚,等.基于相似重复记录的N-Gram算法的改进与应用[J].现代计算机(专业版),2018(25):78-82+97.
转载注明来源:https://www.xzbu.com/8/view-15232938.htm