Lack of security expertise among software practitioners is a problem with many implications. First, there is a deficit of security professionals to meet current needs. Additionally, even practitioners who do not plan to work in security may benefit from increased understanding of security. The goal of this paper is to aid software engineering educators in designing a comprehensive software security course by sharing an experience running a software security course for the eleventh time. Through all the eleven years of running the software security course, the course objectives have been comprehensive - ranging from security testing, to secure design and coding, to security requirements to security risk management. For the first time in this eleventh year, a theme of the course assignments was to map vulnerability discovery to the security controls of the Open Web Application Security Project (OWASP) Application Security Verification Standard (ASVS). Based upon student performance on a final exploratory penetration testing project, this mapping may have increased students' depth of understanding of a wider range of security topics. The students efficiently detected 191 unique and verified vulnerabilities of 28 different Common Weakness Enumeration (CWE) types during a three-hour period in the OpenMRS project, an electronic health record application in active use.
翻译:软件从业人员缺乏安全专门知识是一个问题,涉及许多问题。第一,安全专业人员缺乏满足当前需要的能力。此外,即使没有计划从事安全工作的从业人员也可能受益于对安全的认识的提高。本文件的目的是协助软件工程教育者设计一个综合软件安全课程,办法是通过分享使用软件安全课程第11个时期的经验。在开办软件安全课程的所有11年中,课程目标十分全面,从安全测试到安全设计和编码,到安全风险管理的安全要求。这11年中,课程任务的一个主题是,根据学生在最后试探性渗透测试项目上的表现,对公开网络应用安全标准的安全控制发现弱点。这种绘图可能提高了学生对更广泛的安全议题的了解深度。学生们在公开的MRS项目(即电子健康记录应用)的3小时中,有效地发现了191种独特的和经核实的弱点,即28种不同的常见值值(CWE),这是一个积极使用的电子健康记录应用程序。