Cybersecurity education is considered an important part of undergraduate computing curricula, but many institutions teach it only in dedicated courses or tracks. This optionality risks students graduating with limited exposure to secure coding practices that are expected in industry. An alternative approach is to integrate cybersecurity concepts across non-security courses, so as to expose students to the interplay between security and other sub-areas of computing. In this paper, we report on our experience of applying the security integration approach to an undergraduate web programming course. In particular, we added a practical introduction to secure coding, which highlighted the OWASP Top 10 vulnerabilities by example, and demonstrated how to identify them using out-of-the-box security scanner tools (e.g. ZAP). Furthermore, we incentivised students to utilise these tools in their own course projects by offering bonus marks. To assess the impact of this intervention, we scanned students' project code over the last three years, finding a reduction in the number of vulnerabilities. Finally, in focus groups and a survey, students shared that our intervention helped to raise awareness, but they also highlighted the importance of grading incentives and the need to teach security content earlier.
翻译:网络安全教育被视为本科计算机课程的一个重要部分,但许多机构仅在专门课程或轨道上教授。这种选择性使毕业的学生面临风险,他们接触不到工业中预期的安全编码做法。一种替代办法是将网络安全概念纳入非安全课程,以便使学生接触安全和其他计算机子领域的相互作用。在本文中,我们报告了我们在将安全一体化方法应用于本科网络编程课程方面的经验。特别是,我们增加了一个安全编码的实用介绍,以实例突出OWASP前十大弱点,并展示了如何使用箱外安全扫描仪工具(例如ZAP)来识别他们。此外,我们鼓励学生在自己的课程项目中使用这些工具,提供奖金。为了评估这一干预的影响,我们扫描了学生的项目代码,在过去三年中发现了脆弱性的减少。最后,在重点小组和一项调查中,学生们一致认为我们的干预有助于提高认识,但他们也强调了分级奖励的重要性和提前教授安全内容的必要性。