Improving Vulnerability Inspection Efficiency Using Active Learning

被引:32
作者
Yu, Zhe [1 ]
Theisen, Christopher [2 ]
Williams, Laurie [1 ]
Menzies, Tim [1 ]
机构
[1] North Carolina State Univ, Dept Comp Sci, Raleigh, NC 27695 USA
[2] Microsoft, Seattle, WA 98105 USA
基金
美国国家科学基金会;
关键词
Inspection; Software; Tools; Security; Predictive models; Error correction; NIST; Active learning; security; vulnerabilities; software engineering; error correction;
D O I
10.1109/TSE.2019.2949275
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software engineers can find vulnerabilities with less effort if they are directed towards code that might contain more vulnerabilities. HARMLESS is an incremental support vector machine tool that builds a vulnerability prediction model from the source code inspected to date, then suggests what source code files should be inspected next. In this way, HARMLESS can reduce the time and effort required to achieve some desired level of recall for finding vulnerabilities. The tool also provides feedback on when to stop (at that desired level of recall) while at the same time, correcting human errors by double-checking suspicious files. This paper evaluates HARMLESS on Mozilla Firefox vulnerability data. HARMLESS found 80, 90, 95, 99 percent of the vulnerabilities by inspecting 10, 16, 20, 34 percent of the source code files. When targeting 90, 95, 99 percent recall, HARMLESS could stop after inspecting 23, 30, 47 percent of the source code files. Even when human reviewers fail to identify half of the vulnerabilities (50 percent false negative rate), HARMLESS could detect 96 percent of the missing vulnerabilities by double-checking half of the inspected files. Our results serve to highlight the very steep cost of protecting software from vulnerabilities (in our case study that cost is, for example, the human effort of inspecting 28,750 x 20% = 5,750 source code files to identify 95 percent of the vulnerabilities). While this result could benefit the mission-critical projects where human resources are available for inspecting thousands of source code files, the research challenge for future work is how to further reduce that cost. The conclusion of this paper discusses various ways that goal might be achieved.
引用
收藏
页码:2401 / 2420
页数:20
相关论文
共 50 条
[31]  
Settles Burr, 2012, Active Learning, V6, P1, DOI [DOI 10.2200/S00429ED1V01Y201207AIM018, DOI 10.1007/978-3-031-01560-1, 10.1007/978-3-031-01560-1]
[32]   Can traditional fault prediction models be used for vulnerability prediction? [J].
Shin, Yonghee ;
Williams, Laurie .
EMPIRICAL SOFTWARE ENGINEERING, 2013, 18 (01) :25-59
[33]   Evaluating Complexity, Code Churn, and Developer Activity Metrics as Indicators of Software Vulnerabilities [J].
Shin, Yonghee ;
Meneely, Andrew ;
Williams, Laurie ;
Osborne, Jason A. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2011, 37 (06) :772-787
[34]  
Shin Yonghee., 2008, P 4 ACM WORKSHOP QUA, P47
[35]   Evaluating the cost of software quality [J].
Slaughter, SA ;
Harter, DE ;
Krishnan, MS .
COMMUNICATIONS OF THE ACM, 1998, 41 (08) :67-73
[36]  
Theisen C., 2017, P INT WORKSH SEC SOF
[37]  
Theisen C., 2015, P INT C SOFTW TEST V
[38]   Risk-Based Attack Surface Approximation: How Much Data is Enough? [J].
Theisen, Christopher ;
Murphy, Brendan ;
Herzig, Kim ;
Williams, Laurie .
2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE TRACK (ICSE-SEIP 2017), 2017, :273-282
[39]   Approximating Attack Surfaces with Stack Traces [J].
Theisen, Christopher ;
Herzig, Kim ;
Morrison, Patrick ;
Murphy, Brendan ;
Williams, Laurie .
2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 2, 2015, :199-208
[40]  
Trautman L.J., 2015, Journal of Law, Technology Policy, V2015, P341