CONTEXT: Applying vulnerability detection techniques is one of many tasks using the limited resources of a software project. OBJECTIVE: The goal of this research is to assist managers and other decision-makers in making informed choices about the use of software vulnerability detection techniques through an empirical study of the efficiency and effectiveness of four techniques on a Java-based web application. METHOD: We apply four different categories of vulnerability detection techniques \textendash~ systematic manual penetration testing (SMPT), exploratory manual penetration testing (EMPT), dynamic application security testing (DAST), and static application security testing (SAST) \textendash\ to an open-source medical records system. RESULTS: We found the most vulnerabilities using SAST. However, EMPT found more severe vulnerabilities. With each technique, we found unique vulnerabilities not found using the other techniques. The efficiency of manual techniques (EMPT, SMPT) was comparable to or better than the efficiency of automated techniques (DAST, SAST) in terms of Vulnerabilities per Hour (VpH). CONCLUSIONS: The vulnerability detection technique practitioners should select may vary based on the goals and available resources of the project. If the goal of an organization is to find "all" vulnerabilities in a project, they need to use as many techniques as their resources allow.
翻译:应用脆弱性检测技术是使用软件项目有限资源的许多任务之一。 目标:本研究的目标是协助管理人员和其他决策者对软件脆弱性检测技术的使用作出知情选择,办法是对以爪哇为基础的网络应用中四种技术的效率和效力进行实证研究。 方法:我们应用四种不同类型的脆弱性检测技术(Textendash~系统人工渗透测试)、人工探测渗透测试(EMPT)、动态应用安全测试(DAST)和静态应用安全测试(SAST)到开放源医疗记录系统(SAST)\textendash\ 静态应用安全测试(SAST) 。 成果:我们发现使用SAST的最为脆弱性。然而,EMPT发现了更为严重的脆弱性检测技术。我们发现,每种技术都发现独特的脆弱性,但没有使用其他技术。 人工检测技术(EMPT,SMPT)的效率与自动化技术(DAT,SAST)的效率相当或更好,每个小时的VPH(VPH) 。结论:脆弱性检测技术从业人员应根据项目的目标和可得资源选择不同的选择。 "如果能够将项目的目标作为组织。