论文研究 基于多字节码的恶意JavaScript代码检测 .pdf
基于多字节码的恶意JavaScript代码检测,张紫陌,武斌,源于网页木马的基于多字节码的恶意JavaScript代码检测攻击近几年依旧活跃,Javascript为该种攻击方式普遍使用的方法。由于JavaScript语言本山国武技论文在线还会存在少量未知攻击,但由于本文的目的并不是去识别最新的攻击方法,而是研究个通用的恶意分类方法,因此不受影响。deffun defifunnopde fifundefifun nopnop callgnamecallgname " dnnViewstatenop cal gnamei"interp":13defifun nap callyname训练样本集JS引攣编特征提特征选择模型训|练正常测试样本集译JS引擎特征提取分类恶意分类研究方法概览fumction dnn View StateOdefifun .+x[2{+x[1+}<+x[0+);hnnViewStateo图恶意代码以及使用编译器提取的字节码原始文件可能分布在同一个页面的多个部分,包括存在于页面本身,存在于标签和等标签的外部引用中,因此在分析之前需要把同一个域名中的代码合并作为一个文件进行分析。木文提出的检测方法步骤大致如图所示。数据预处理在开始编译的最初,编译器会将源代码编译成一个抽象语法树,这也是勹法结构的树型表示,随后解释器会根据语法树生成字节码,字节码是每个网页呈现过程的中间抽象表示。在执行任何分析之前,对于获取到的所有文件,需要提取它们经过编详后的字节码。山国武技论文在线本文使用川源的引擎来获取源代码的字节码。是个独立的引擎,可以使用它解析、编译代码。字节码由机器指令码、第一操作数、第二操作数等组成,为了突出代码的执行动作,同时也为了诚少可能的特征数量提髙效率,提取每个字节码调用中的机器指令。图展示了一个恶意代码段与其相对应的字节码(第行特征提取特征提取在很多机器学习和异常检测的研究中,使用提取关键特征米提高检测的总体有效性是一和普遍的研究方法基于假设:第个出现的词与前个词相关,而与其他任何词都不相关。将应用于字节码特征的提取,是结合了在编译过程中,源代码中一个完整的稈序行为在字节码序列中公由几个连续的字节码表示。为了将解析出的静态字节码统一表示,本文使用空白字符将字节码的机器指令拼接成一个单词序列。对于字节码文件使用一个固定的滑动窗口在每个单词位置提取个单词的」序列作为机器学习用的初步特征。当窗口通过字芍码流进行截取时,提取字节码关键特征。defifuninop icallgname undefined call popdefifuni nop callgnamej undefined call popefifun nop callgname undefined;call pop图从图中字节码序列提取字节码本文通过将滑动窗口大小遍历至,提取出宇节码文件中的宁节码至字节码,即结合多个字节码进行机器学习模型的训练,如图所小。通过实验来确定的最适当值以便找到可接受的检测效率和质量的折衷。表从图字节码序列中提取出的字节码、字节码、字节码示例字节码字节码字节码特征选择由于唯ˉ的操作码的数量过多,因此难以在原始数据上运行机器学习算法。针对该问题的较好解决方法是对所有操作码应用特征选择,即选取最佳特征,且滤掉不太重要的特征。在减少特征数量的步骤中,是数据挖掘中一种常用的特征加杈技术。为词频,即词条在文档中出现的频率;是逆向文件频率,包含该词条的文档数量越小值越大。经过处理,从上个步骤获得的字节码序列中,选出在本类型中出现多而在其他类型中出现少的一些词作为特征。在使用并标准化之后,可以获取各个文本的词特征向量作为文本的特征并进一步分析。山国武技论文在线评估在本节中,我们将评估在不同的情况下在恶意分类方面的性能。对宁节码序列的初步分析表明,模型对不同长度的序列长度较为敏感,特别是较短的长度。实验数据集包含个恶意样本和个正常样本。木文使用机器学习算法和深度学习算法进行模型的训练用于分类检验,使用准确率和召回率的加权平均值来报告检测结果,并使用折交叉验证来校验结果。在恶意代码分类研究中,样本分为两个类别:正常和恶意样本。本文测试值改变的同时,比较恶意软件分类的性能。图所示,滑动窗口大小遍历至,的范围为至时,对于恶意代码的分类效果的测量值,随着增加,测量值不断増加,当大于时,检测效果较为稳定。可以看出,等于相较于等于(仅仅以单词的频率作为特征)检测效果更滑动窗口人小固定为,的范围为至时,随着的增加,值逐渐下降。同样,当使用算法时,可以看到在时进行特征提取的方法性能最佳,值达到相较方法而言分类效果更好,如图所示。总体而言,特征结合了不同长度的字节码时进行特征提取,在分类效果上显示出更为良好的性能。1.0000800图使用算法训练结合不同长度字节码特征与仅相同长度字节码特征的分类结果svm n: gram(n, n)0600图使用算法训练结合不同长度字节码特征与仅相同长度字节码特征的分类结果表显示了恶意检测的前位的字节码特征,这里只列举长度至的字节码。一个观察结果是,值为时的字节码和,以及值为时的宁节码和,都是值为时排名第、排名第的和排名第的的扩展。基于这一观察结果,本文认为结合使用不同长度的字节码特征来训练机器学山国武技论文在线习的分类模型是有必要的。表前位用于检测恶意代码的宁节码序号值0. 8.75mlp n-gram(1, nsvm n-gram(i,nlb n-gram(l, n0.70图使用字节码进行恶意检测的结果在等人的研究中通过提取操作码中的指令代码,计算单个指令代码的频率作为恶意代码的特征也即作中为的情况,方法中计算了单个字节码的频率作为网页木马的分类特征,其中通过算法训练得到的结果为,值值值值计算得到值为使用本文提出方法得到的分类结果中,通过算法的结果在为时最佳,值为,高J使用单个字节码频率作为特征的分类方法图显示了滑动窗∏大小从字节码到字节码时,使用算法进行模型训练及恶意代码分类的结果。和算法在大部分取值处性能相似,而算法分类表现最佳,当为算法的最佳测量值为,准确率为,精确率为召回率为当大于时,值较为稳定,并且在和的情况下,在恶意代码分类中都获得了超过的值结论本文调研和分析了基于字节码的恶意代码检测方法,用于网页木马的检测。这种方法可以避兔人工分析定义特征以及代码混淆或监控环境不完整带来的难度。与前期使用源码层面的特征不同,本文选取字节码层面的机器指令作为特征,可以减小原始特征的范围以及避免源代码层面的语意上的不确定性,且本文能够自动提取并学习给定数据集中的关键特征。此外,本文通过实验中利用结合字节码与先前研究中的仅使用单字节码或同一长度字节码相比较,实现了更多字节码的分析。在预处理期间使用数据分段技术,以使在经山国武技论文在线可能大的数据集上进行特祉选择。本文的结果表明,通过使用结合了不同长度的字节码,可以实现良好的恶意代码检测效果。参考文献马洪亮王伟袆臻混淆恶意代码的检测与反混淆方法研究计算机学报
下载地址
用户评论