Security bugs are errors in code that, when exploited, can lead to serious software vulnerabilities. These bugs could allow an attacker to take over an application and steal information. One of the ways to address this issue is by means of awareness training. The Sifu platform was developed in the industry, for the industry, with the aim to raise software developers' awareness of secure coding. This paper extends the Sifu platform with three challenges that specifically address embedded programming courses, and describes how to implement these challenges, while also evaluating the usefulness of these challenges to raise security awareness in an academic setting. Our work presents technical details on the detection mechanisms for software vulnerabilities and gives practical advice on how to implement them. The evaluation of the challenges is performed through two trial runs with a total of 16 participants. Our preliminary results show that the challenges are suitable for academia, and can even potentially be included in official teaching curricula. One major finding is an indicator of the lack of awareness of secure coding by undergraduates. Finally, we compare our results with previous work done in the industry and extract advice for practitioners.
翻译:安全错误是代码中的错误,一旦被开发,可能会导致严重的软件脆弱性。这些错误可以让攻击者接管应用程序并窃取信息。解决这一问题的方法之一是通过提高认识培训。Sifu平台是在业界为业界开发的,目的是提高软件开发者对安全编码的认识。本文件扩展了Sifu平台,提出了三项挑战,具体涉及嵌入的编程课程,并描述了如何应对这些挑战,同时评估了这些挑战在学术环境中提高安全意识的有用性。我们的工作介绍了软件脆弱性检测机制的技术细节,并就如何实施这些机制提供了实用的建议。对挑战的评估是通过两次试验进行的,共有16人参加。我们的初步结果显示,挑战适合学术界,甚至有可能被纳入正式教学课程。一个主要结论是缺乏对本科生安全编码的认识。最后,我们将我们的成果与业界以往的工作进行比较,并向从业人员提出建议。