基于TextCNN 的恶意源代码功能分类模型
2021-07-09黎星宇
现代计算机 2021年14期
黎星宇
(四川大学计算机学院,成都 610065)
0 引言
随着互联网的普及与发展,越来越复杂的恶意软件造成了绝大多数的互联网安全问题,恶意软件的开发人员通过改写手中的恶意核心代码或使用工具可以相当轻易地制作出大量的恶意软件,这些源代码的中间传播站便是地下黑客网络社区[1]。安全研究人员可以通过探索这些社区来发现新的安全威胁、趋势和黑客行为,目前主流研究方向包括内容分析、社交网络分析和恶意软件分析等。相关研究人员探索了多个地缘政治区域的黑客社区,观察到黑客共享各种网络社区的恶意源代码资源,并且互相传播合作,各种恶意程序和脚本的源代码在黑客之间自由分发[2]。然而,源代码经常伴随着不完整的说明文档甚至没有相关文档和代码注释。对于跨越多个不同区域的社区研究人员会遇到使用不熟悉的编程语言编写的恶意脚本,或者由于源代码本身过于模糊,无法解译,代码中常常存在复杂的代码逻辑与不停转换的变量名,这对恶意源代码的研究和分析上造成了很大的限制。
针对这一问题本文设计了一种基于TextCNN 的自动化恶意源代码功能分类模型,受到自然语言处理领域的启发,将恶意源代码文件转换为普通文本文档,把代码词视为文本词,通过Word2Vec 转换为词向量,将一句代码视为一串词向量序列,该序列能有效地保留词特征,词时序特征以及词语义关系,再利用TextCNN建立恶意源代码分类模型,TextCNN 能高效保留文档的局部特征,通过卷积操作可以实现N-Gram 的单词组合,自学习其中的特征含义并筛选出代表特征词,从抽象的代码词中抽取出不同层次的语义信息。……
登录APP查看全文
