Skip to main content
QUICK REVIEW

[论文解读] Better Security Bug Report Classification via Hyperparameter Optimization

Rui Shu, Tianpei Xia|arXiv (Cornell University)|May 16, 2019
Software Engineering Research参考文献 62被引用 30
一句话总结

该论文通过同时对机器学习学习器和数据预处理方法进行超参数优化,提升了安全漏洞报告分类的性能,尤其聚焦于处理类别不平衡问题。结果表明,优化预处理步骤——特别是使用SMOTUNED——相比基线方法可将召回率显著提高至65%,同时仅导致假阳性率适度上升,优于对学习器超参数的调优。

ABSTRACT

When security bugs are detected, they should be (a)~discussed privately by security software engineers; and (b)~not mentioned to the general public until security patches are available. Software engineers usually report bugs to bug tracking system, and label them as security bug reports (SBRs) or not-security bug reports (NSBRs), while SBRs have a higher priority to be fixed before exploited by attackers than NSBRs. Yet suspected security bug reports are often publicly disclosed because the mislabelling issues ( i.e., mislabel security bug reports as not-security bug report). The goal of this paper is to aid software developers to better classify bug reports that identify security vulnerabilities as security bug reports through parameter tuning of learners and data pre-processor. Previous work has applied text analytics and machine learning learners to classify which reported bugs are security related. We improve on that work, as shown by our analysis of five open source projects. We apply hyperparameter optimization to (a)~the control parameters of a learner; and (b)~the data pre-processing methods that handle the case where the target class is a small fraction of all the data. We show that optimizing the pre-processor is more useful than optimizing the learners. We also show that improvements gained from our approach can be very large. For example, using the same data sets as recently analyzed by our baseline approach, we show that adjusting the data pre-processing results in improvements to classification recall of 35% to 65% (median to max) with moderate increment of false positive rate.

研究动机与目标

  • 解决安全漏洞报告(SBRs)被错误标记为非安全报告(NSBRs)这一关键问题,该问题会延迟补丁修复并增加被利用的风险。
  • 在FARSEC方法基础上,通过同时对学习器和数据预处理方法进行超参数优化,以提升分类性能。
  • 探究优化数据预处理(尤其是针对类别不平衡问题)是否能带来比优化机器学习模型参数更大的性能提升。
  • 证明通过调优预处理实现更优的数据准备,可在漏洞检测任务中超越更优的模型调优。

提出的方法

  • 对机器学习学习器(如SVM、随机森林)和数据预处理技术进行超参数优化,以提升安全与非安全漏洞报告的分类性能。
  • 采用SMOTUNED——SMOTE(合成少数类过采样技术)的调优版本——来解决SBRs仅占报告总数0.8%的类别不平衡问题。
  • 优化预处理参数以控制异常值剔除和少数类样本生成,从而提升模型在类别不平衡数据上的泛化能力。
  • 使用与FARSEC研究相同的数据库和预处理数据复现基线方法,实现性能提升的直接对比。
  • 采用标准评估指标(包括召回率、精确率和F1分数)评估结果,重点关注提升罕见SBR的召回率。
  • 通过仅在训练数据上应用预处理(如SMOTUNED)避免数据泄露。

实验结果

研究问题

  • RQ1RQ1:与默认配置相比,对数据预处理步骤进行超参数优化是否能显著提升安全漏洞报告分类性能?
  • RQ2RQ2:在SBR分类背景下,优化数据预处理是否比优化机器学习模型的超参数带来更大的性能提升?
  • RQ3RQ3:在多个开源项目中,所提出方法在召回率和假阳性率方面与基线FARSEC方法相比表现如何?

主要发现

  • 优化数据预处理步骤——特别是使用SMOTUNED——相比优化机器学习模型超参数,带来了显著更高的召回率提升。
  • 在与FARSEC研究相同的数据库上,预处理优化后,召回率从中位数33%提升至66%,最高达65%,同时假阳性率仅适度上升。
  • 在SBR比例极低的项目中(如Chromium项目),召回率提升最为显著,从15%提升至77%。
  • 结果证实,在此情境下‘更优的数据’(通过优化预处理实现)优于‘更优的学习器’(通过超参数调优实现),支持了数据质量比模型调优更重要的假设。
  • 本研究证明,将SMOTUNED或类似预处理技术应用于测试数据会导致数据泄露并产生无效结果,强调必须仅在训练数据上应用此类方法。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。