中文

挑战机器学习在预测易受攻击的 JavaScript 函数方面的能力

密码学与安全 2024-05-14 v1 软件工程

摘要

网络犯罪活动的快速上升以及受威胁设备的不断增加使软件安全问题受到高度关注。由于约有 90% 的攻击会利用已知类型的安全问题,发现易受攻击的组件并应用现有缓解技术是一种可行的实用方法来对抗网络犯罪。本文调查了最先进的机器学习技术,包括流行的深度学习算法,如何在预测 JavaScript 程序中可能具有安全漏洞的函数方面的表现。我们将 8 种机器学习算法应用于构建预测模型,使用本研究构建的新数据集,该数据集来自 Node Security Project 和 Snyk 平台的漏洞信息,以及来自 GitHub 的代码修复补丁。我们使用静态源代码度量作为预测器,并使用广泛的网格搜索算法寻找最佳性能模型。我们还检查了 various 重抽样策略处理数据集不平衡性的效果。最佳性能算法是 KNN,它创建了一个用于预测易受攻击函数的模型,F-measure 为 0.76(精确度为 0.91,召回率为 0.66)。此外,深度学习、树和森林基于分类器以及 SVM 在 F-measure 超过 0.70 时表现竞争。尽管 F-measure 在重抽样策略下没有显著变化,但精确度和召回率的分布会发生变化。没有重抽样似乎产生了偏好高精度的模型,而重抽样策略平衡了 IR 测度。

关键词

引用

@article{arxiv.2405.07213,
  title  = {Challenging Machine Learning Algorithms in Predicting Vulnerable JavaScript Functions},
  author = {Rudolf Ferenc and Péter Hegedűs and Péter Gyimesi and Gábor Antal and Dénes Bán and Tibor Gyimóthy},
  journal= {arXiv preprint arXiv:2405.07213},
  year   = {2024}
}