When a security-related defect is found in code, it’s easy for security teams to jump to conclusions and place the blame on the developers. However, security teams need to change their approach to this issue and start understanding why there is a gap in developers’ security knowledge. Furthermore, how can we overcome that hurdle and provide our developers the tools they need to produce secure software from the start of the coding process?
Recently, Forrester’s Amy DeMartine and Trevor Lyness put together a report, Show, Don’t Tell, Your Developers How To Write Secure Code, to demonstrate how to use application security testing to educate developers.
Where Does the Knowledge Gap Come From?
There are a few reasons why developers have a lack of security knowledge; one significant reason is the fact that developers aren’t taught application security in school. Forrester looked at the top 40 computer science programs and found that “none of the top-ranked computer science programs in the United States require a class about secure coding or secure application design.” Furthermore, general cybersecurity is offered as an option – rather than as a priority – in many schools. Only one school out of the top 40 requires a general cybersecurity course to obtain a degree in computer science.
Not only is there a lack of formal cybersecurity education, but there’s also a general unawareness about application security trends, for instance, using insecure open source components. There’s no doubt about it – open source code is a huge time-saver for developers, after all, we live in a world where time is money. Rapidly releasing software can be a huge competitive advantage for businesses across multiple industries, and open source components save a large amount of time for coders. Unfortunately, many developers don’t know that open source code is riddled with vulnerabilities that can expose the entire organization to risk. That’s where security professionals come in: they need to be working with developers to ensure they have the knowledge and resources they need to code securely.
When you consider the widespread lack of formal cybersecurity education, paired with a general unfamiliarity of application security trends, it’s no wonder that many development teams are flying blind when it comes to software security.
How Can We Help Developers?
Forrester puts it best when they say, “With the right practices and technology in place, you can encourage and enforce secure coding practices and developer accountability without sacrificing speed or quality.” Many application security solutions today education developers on the job. Forrester emphasizes the importance of choosing a tool that has brief, integratable training modules that fit right into the testing tools that the developers are using.
Another important tool to equip your developers with is a software composition analysis (SCA) tool. Developers aren’t going to stop using open source components any time soon, and it’s crucial that they’re staying on top of all of the most recent open source vulnerabilities that have been discovered. If they happen to be using an insecure component from a vulnerable library, it could mean bad news for your organization if a cyberattacker attempts to exploit it. Veracode Software Composition Analysis alerts your developers of all of the new vulnerabilities that hit the news, and tells them if they’re using the vulnerable component so that they can go in and remediate the vulnerability as soon as possible.
Beyond tools, organizations can adopt practices like red team exercises to put their developers in the role of an attacker. Learning about hacking techniques will help change their mindsets to think about how an attacker might try to penetrate their code, and they’ll keep that in mind as they design applications down the road. Assigning developer security champions puts a security advocate on your product team, without having to convince all of your developers individually to devote themselves to security. A security champion can act as a liaison between your security team and developers, and they can help convey security priorities to their colleagues.
Developers are one of your first lines of defense against a potential cyberattack, and with applications being the most frequent attack vector for companies, getting your development teams to start coding securely should be priority number one. Developers may be responsible for application security, but security professionals need to actively work with them and make sure they have the tools they need to execute the task. To learn more about secure coding, check out our video, You Can't Scan Your Way to Secure Code.