基于 Transformer 的恶意源代码检测
密码学与安全
2022-09-19 v1 机器学习
摘要
开源代码在现代软件开发中被视为一种常见实践。然而,复用他人代码使得恶意行为者能够访问广泛的开发者社区,进而访问依赖该代码的产品。此类攻击被归类为供应链攻击。近年来,利用软件开发过程中开源代码的供应链攻击数量不断增长,这些攻击借助自动或手动的下载与安装流程。多年来,已发明许多方法来检测存在漏洞的软件包。然而,检测软件包内的恶意代码并不常见。这些检测方法可大致分为使用(动态)和不使用(静态)代码执行的分析。在此,我们提出恶意源代码检测 Transformer(MSDT)算法。MSDT 是一种基于深度学习的新型静态分析,可检测源代码包中真实世界的代码注入案例。在本研究中,我们使用 MSDT 和一个包含超过 600,000 个不同函数的数据集来嵌入各类函数,并对所得向量应用聚类算法,通过检测离群点来识别恶意函数。我们通过大量实验评估了 MSDT 的性能,结果表明我们的算法能够以高达 0.909 的 precision@k 值检测被注入恶意代码的函数。
引用
@article{arxiv.2209.07957,
title = {Malicious Source Code Detection Using Transformer},
author = {Chen Tsfaty and Michael Fire},
journal= {arXiv preprint arXiv:2209.07957},
year = {2022}
}