Improper Input Validation (IIV) is a software vulnerability that occurs when a system does not safely handle input data. Even though IIV is easy to detect and fix, it still commonly happens in practice. In this paper, we study to what extent developers can detect IIV and investigate underlying reasons. This knowledge is essential to better understand how to support developers in creating secure software systems. We conduct an online experiment with 146 participants, of which 105 report at least three years of professional software development experience. Our results show that the existence of a visible attack scenario facilitates the detection of IIV vulnerabilities and that a significant portion of developers who did not find the vulnerability initially could identify it when warned about its existence. Yet, a total of 60 participants could not detect the vulnerability even after the warning. Other factors, such as the frequency with which the participants perform code reviews, influence the detection of IIV. Data and materials: https://doi.org/10.5281/zenodo.3996696
翻译:不当输入验证(IIV)是当系统不能安全处理输入数据时出现的软件脆弱性。即使IIV很容易检测和修复,但在实践中仍然经常发生。在本文中,我们研究开发者在多大程度上能够检测IIV并调查基本原因。这种知识对于更好地了解如何支持开发者创建安全软件系统至关重要。我们与146名参与者进行了在线实验,其中105名参与者报告了至少三年专业软件开发经验。我们的结果显示,存在可见的攻击情景有助于发现IIV脆弱性,而且大量最初发现脆弱性的开发者在发现脆弱性时,可以发现它的存在。然而,共有60名参与者即使在发出警告后也无法发现脆弱性。其他因素,如参与者进行代码审查的频率,影响IIV的检测。数据和材料:https://doi.org/10.5281/zenodo3.9996。