基于深度学习的JavaScript恶意代码检测技术研究与实现
发布时间:2021-02-02 12:54
JavaScript(JS)是网络开发中最为广泛应用的脚本语言,也是最常被攻击者利用的语言之一,这使恶意JS代码检测成为了安全领域的热点问题。近年来,机器学习在多个领域取得了令人瞩目的进展,研究者提出了一些基于机器学习的恶意JS代码检测方法。然而,这些方法通常将JS视作一种自然语言而非程序语言,并应用自然语言处理的模型和方法进行研究。虽然自然语言和程序语言存在相似之处,但这些方法忽略了程序语言独有的语法信息和语义信息。本文提出了一个恶意JS代码检测模型JSAC。JSAC模型结合了深度学习技术和程序分析方法以分析JS程序中的语法和语义信息,并依据这两类信息对程序进行恶意性检测。具体来说,对于一个JS程序,JSAC模型生成出它的抽象语法树(Abstract Syntax tree,AST)和控制流图(Control Flow Graph,CFG);再将AST中的结点和CFG中的指令转换为向量表示;接着JSAC模型将这两类向量分别送入基于树结构的卷积神经网络模型和基于图结构的卷积神经网络模型,从中提取语法特征和语义特征;最后,提取出的两类特征向量被合并到一起以用作分类检测。本文在包含有695...
【文章来源】:北京邮电大学北京市 211工程院校 教育部直属院校
【文章页数】:88 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 课题背景和意义
1.2 研究领域现状
1.2.1 静态分析方法
1.2.2 动态分析方法
1.3 本文研究内容
1.4 本文结构安排
第二章 相关技术和理论
2.1 网络爬虫
2.2 程序分析
2.3 抽象语法树
2.4 控制流图
2.5 词嵌入与分布式向量表示
2.6 卷积神经网络
2.7 小结
第三章 JSAC模型设计
3.1 分布式向量表示
3.1.1 抽象语法树结点类型的向量表示
3.1.2 控制流图指令类型的向量表示
3.2 基于树结构的卷积神经网络
3.2.1 表示学习层
3.2.2 编码层
3.2.3 基于树结构的卷积层
3.2.4 动态池化层
3.3 基于图结构的卷积神经网络
3.4 特征合并与分类
3.5 小结
第四章 JSAC模型实现
4.1 数据预处理
4.1.1 生成抽象语法树
4.1.2 生成控制流图
4.2 分布式向量表示
4.2.1 树结点的分布式向量表示
4.2.2 图指令的分布式向量表示
4.3 神经网络模型
4.3.1 基于树结构的卷积神经网络
4.3.2 基于图结构的卷积神经网络
4.3.3 特征合并与分类
4.4 小结
第五章 实验和评估
5.1 构建数据集
5.1.1 获取正常样本
5.1.2 获取恶意样本
5.2 参数调优
5.2.1 调整分布式向量的维度
5.2.2 调整卷积核的数量
5.2.3 调整全连接层的数量
5.3 实验结果和评估
5.3.1 对分布式向量的评估
5.3.2 模型评估指标
5.3.3 对JSAC检测性能的评估
5.3.4 对语法特征和语义特征的评估
5.4 小结
第六章 总结与展望
6.1 设计与性能
6.2 存在的不足
6.3 未来工作
参考文献
附录 缩略语表
致谢
攻读学位期间发表的学术论文目录
本文编号:3014731
【文章来源】:北京邮电大学北京市 211工程院校 教育部直属院校
【文章页数】:88 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 课题背景和意义
1.2 研究领域现状
1.2.1 静态分析方法
1.2.2 动态分析方法
1.3 本文研究内容
1.4 本文结构安排
第二章 相关技术和理论
2.1 网络爬虫
2.2 程序分析
2.3 抽象语法树
2.4 控制流图
2.5 词嵌入与分布式向量表示
2.6 卷积神经网络
2.7 小结
第三章 JSAC模型设计
3.1 分布式向量表示
3.1.1 抽象语法树结点类型的向量表示
3.1.2 控制流图指令类型的向量表示
3.2 基于树结构的卷积神经网络
3.2.1 表示学习层
3.2.2 编码层
3.2.3 基于树结构的卷积层
3.2.4 动态池化层
3.3 基于图结构的卷积神经网络
3.4 特征合并与分类
3.5 小结
第四章 JSAC模型实现
4.1 数据预处理
4.1.1 生成抽象语法树
4.1.2 生成控制流图
4.2 分布式向量表示
4.2.1 树结点的分布式向量表示
4.2.2 图指令的分布式向量表示
4.3 神经网络模型
4.3.1 基于树结构的卷积神经网络
4.3.2 基于图结构的卷积神经网络
4.3.3 特征合并与分类
4.4 小结
第五章 实验和评估
5.1 构建数据集
5.1.1 获取正常样本
5.1.2 获取恶意样本
5.2 参数调优
5.2.1 调整分布式向量的维度
5.2.2 调整卷积核的数量
5.2.3 调整全连接层的数量
5.3 实验结果和评估
5.3.1 对分布式向量的评估
5.3.2 模型评估指标
5.3.3 对JSAC检测性能的评估
5.3.4 对语法特征和语义特征的评估
5.4 小结
第六章 总结与展望
6.1 设计与性能
6.2 存在的不足
6.3 未来工作
参考文献
附录 缩略语表
致谢
攻读学位期间发表的学术论文目录
本文编号:3014731
本文链接:https://www.wllwen.com/kejilunwen/zidonghuakongzhilunwen/3014731.html