基于机器学习的恶意脚本代码检测方法的研究与实现

基于机器学习的恶意脚本代码检测方法的研究与实现

论文摘要

随着互联网富媒体应用的快速发展,网页恶意脚本的传播速度不断加快,其种类也日益增多。随着脚本压缩和混淆加密等技术的兴起,恶意脚本检测的难度逐渐提高,严重威胁了互联网应用安全。目前的恶意代码检测主要分为静态检测和动态检测两种方法。静态检测是针对恶意代码的文本特征进行分析,特征需由专家对已知恶意代码分析得到,具有识别快、准确率高等优势,但是无法识别未知恶意代码。动态检测是为恶意代码建立一个虚拟运行环境,根据运行情况识别恶意行为,能有效识别新的恶意代码,但是检测效率较低。本文专门针对JavaScript脚本,结合静态的脚本文本分析和动态的脚本机器码提取分析,应用机器学习算法进行研究,取得以下几方面成果:1.提出了简单、快速识别混淆脚本的方法。一些恶意的JavaScript脚本利用混淆技术来隐藏自身特征,躲避以检测规则为基础的或以正则表达式为基础的杀毒软件的检测。对于混淆的脚本,目前还没有成熟的自动检测工具。本文在研究各类脚本混淆方法的基础上,采用N-gram方法,对脚本进行特征提取,使用K-最邻近(KNN)分类算法进行训练,能有效识别混淆脚本和非混淆脚本。检测脚本的混淆性对检测恶意脚本工作具有重要作用。2.提出了检测混淆恶意脚本的方法。对于混淆的JavaScript脚本,其文本特征已被隐藏,难以用静态方法分析。本文使用V8引擎对混淆脚本动态编译,自动获取脚本执行的机器码,通过对机器码中Call序列的N-gram特征提取,再结合KNN方法进行分类训练,经实验分析证实,能有效识别混淆脚本是否恶意。3.提出了检测未混淆恶意脚本的方法。使用静态方法分析JavaScript脚本特征,包括一些特征函数、系统对象调用、信息熵统计等,先获取脚本的特征向量,再使用支持向量机(SVM)机器学习算法,进行样本训练并建立优化的预测模型,经实验分析证实,能有效识别未混淆脚本是否恶意。4.设计开发了一套基于Web的综合的恶意脚本代码检测原型系统,可在线快速检测JavaScript脚本是否混淆以及是否包含恶意代码。

论文目录

  • 摘要
  • ABSTRACT
  • 第1章 绪论
  • 1.1 研究背景
  • 1.2 研究意义
  • 1.3 国内外研究现状
  • 1.4 研究目标和内容
  • 1.5 本文组织结构
  • 第2章 数据挖掘和机器学习
  • 2.1 数据挖掘和机器学习
  • 2.1.1 数据挖掘
  • 2.1.2 机器学习
  • 2.2 N-gram特征模型
  • 2.3 KNN分类方法
  • 2.4 SVM分类方法
  • 2.5 本文研究方案
  • 第3章 混淆脚本识别
  • 3.1 脚本混淆特征分析
  • 3.2 混淆脚本识别方法
  • 3.3 实验分析
  • 第4章 混淆恶意脚本检测
  • 4.1 混淆脚本的机器码特征分析
  • 4.2 混淆脚本的恶意性检测方法
  • 4.3 实验分析
  • 第5章 未混淆恶意脚本检测
  • 5.1 未混淆脚本的静态特征分析
  • 5.2 未混淆脚本的恶意性检测方法
  • 5.3 实验分析
  • 第6章 原型系统设计及实现
  • 6.1 检测系统模块设计
  • 6.2 检测系统效果测试
  • 第7章 总结与展望
  • 参考文献
  • 致谢
  • 攻读学位期间参加的科研项目和成果
  • 相关论文文献

    • [1].利用代码重构改善软件设计[J]. 信息记录材料 2020(09)
    • [2].代码对比与动态规划[J]. 电脑编程技巧与维护 2017(03)
    • [3].什么样的代码才是好代码[J]. 计算机与网络 2017(06)
    • [4].安全通论(14)——病毒式恶意代码的宏观行为分析[J]. 成都信息工程大学学报 2017(01)
    • [5].恶意代码同源判定技术综述[J]. 通信技术 2017(07)
    • [6].基于方法的克隆代码检测[J]. 信息与电脑(理论版) 2017(13)
    • [7].市代码[J]. 山西教育(招考) 2020(03)
    • [8].有关信息代码[J]. 山西教育(招考) 2019(02)
    • [9].关于机场的冷知识[J]. 意林 2019(22)
    • [10].市代码[J]. 山西教育(招考) 2016(08)
    • [11].代码自动生成及代码上下文分析研究综述[J]. 数据通信 2020(02)
    • [12].智能代码补全研究综述[J]. 软件学报 2020(05)
    • [13].基于文本分类技术的恶意代码检测工具应用[J]. 科技经济导刊 2020(27)
    • [14].克隆代码映射的方法与应用[J]. 计算机工程与应用 2017(06)
    • [15].基于增强描述的代码搜索方法[J]. 软件学报 2017(06)
    • [16].银行代码安全审计工作探索与实践[J]. 网络安全技术与应用 2017(08)
    • [17].重视统一信用代码的应用[J]. 浙江经济 2017(19)
    • [18].代码依恋检测与重构研究[J]. 电子科技 2016(11)
    • [19].基于相识度的恶意代码检测[J]. 计算机科学 2015(01)
    • [20].有关信息代码[J]. 山西教育(招考) 2018(03)
    • [21].有关信息代码[J]. 山西教育(招考) 2016(Z1)
    • [22].有关信息代码[J]. 山西教育(招考) 2011(08)
    • [23].基于模糊识别恶意代码检测技术的研究[J]. 微电子学与计算机 2014(06)
    • [24].恶意代码加壳脱壳技术[J]. 辽宁警专学报 2014(05)
    • [25].代码复查的要点探讨[J]. 技术与市场 2013(06)
    • [26].代码规制:构建安全文明网络的必由之路[J]. 保密科学技术 2013(07)
    • [27].消除隔阂,提升效率——MATHWORKS推出基于MATLAB生成HDL代码的产品[J]. 世界电子元器件 2012(05)
    • [28].C~#托管代码调用非托管代码参数传递的实现方法[J]. 软件导刊 2011(01)
    • [29].恶意代码与信息安全[J]. 硅谷 2011(18)
    • [30].代码证书遗失声明[J]. 大众标准化 2010(12)

    标签:;  ;  ;  

    基于机器学习的恶意脚本代码检测方法的研究与实现
    下载Doc文档

    猜你喜欢