In recent years, the number of cyber attacks has grown rapidly. An effective way to reduce the attack surface and protect software is adoption of methodologies that apply security at each step of the software development lifecycle. While different methodologies have been proposed to address software security, recent research shows an increase in the number of vulnerabilities in software and data breaches. Therefore, the security practices incorporated in secure software development methodologies require investigation. This paper provides an overview of security practices involved in 28 secure software development methodologies from industry, government, and academia. To achieve this goal, we distributed the security practices among the software development lifecycle stages. We also investigated auxiliary (non-technical) practices, such as organizational, behavioral, legal, policy, and governance aspects that are incorporated in the secure software development methodologies. Furthermore, we explored methods used to provide evidence of the effectiveness of the methodologies. Finally, we present the gaps that require attention in the scientific community. The results of our survey may assist researchers and organizations to better understand the existing security practices integrated into the secure software development methodologies. In addition, our bridge between "technical" and "non-technical" worlds may be useful for non-technical specialists who investigate software security. Moreover, exploring the gaps that we found in current research may help improve security in software development and produce software with fewer number of vulnerabilities.
翻译:近些年来,网络攻击的数量迅速增加。减少攻击表面和保护软件的有效方法是采用在软件开发生命周期的每个阶段都采用安全的方法。虽然提出了不同的方法来处理软件安全问题,但最近的研究表明软件和数据破坏的脆弱性有所增加。因此,安全软件开发方法中所包含的安全做法需要调查。本文件概述了工业、政府和学术界28种安全软件开发方法中涉及的安全做法。为了实现这一目标,我们在软件开发生命周期的各个阶段中分配了安全做法。我们还调查了辅助(非技术)做法,例如组织、行为、法律、政策和治理方面,这些做法被纳入安全软件开发方法。此外,我们探讨了用来提供方法有效性证据的方法。最后,我们介绍了需要科学界注意的差距。我们的调查结果可能帮助研究人员和组织更好地了解纳入安全软件开发方法中的现有安全做法。此外,我们在“技术”和“非技术”世界之间的桥梁可能有利于非技术专家调查软件安全性研究当前安全性研究中发现的差距。此外,我们研究软件安全性研究中发现的差距可能减少。