Open source security incidents aren’t going away. The reliance on open source software (OSS) increases year-over-year, with more than 95% of all software, including open source, in some capacity. From operating systems to critical libraries to Web applications and more, open source software (OSS) plays a pivotal role in the current technology landscape. However, this widespread reliance introduces significant security risks. As the use of OSS continues to evolve, so does the importance of securing it. This responsibility falls not on individual hobbyist developers, but on the companies and organizations that have the resources to dedicate engineers specifically to open source security. These organizations are the ones that benefit the most from open source and should be the ones who contribute the most back.
Essential Skills for Open Source Security Developers
Securing open source is similar to securing closed source, but many of the skills required are of higher importance for open source, due to various factors. Open source is public and tends to have broader adoption than much closed source software. A closed source tool with a security vulnerability used by a handful of customers is going to have a very different impact than something like OpenSSH having a vulnerability, given its use on millions of servers worldwide.
I hope this doesn’t come as a surprise, but the most important open source skills to have are soft skills. Most software development time is spent doing things other than actually writing code. Here are a few key skills:
-
Great Communication
-
Public collaboration: Open source projects are inherently collaborative and involve contributors from around the globe. Effective communication ensures that security practices are understood and implemented correctly.
-
Preventing miscommunication: Many security bugs arise from misunderstandings. Clear documentation and open dialogues can prevent these issues from occurring.
-
Proactive approach: Keeping security at the forefront of daily tasks helps in early detection of potential vulnerabilities.
-
Continuous vigilance: A security-first mindset encourages constant evaluation of code for potential risks.
-
Responsibility: Treating open source projects with the same seriousness as closed source commercial projects ensures higher security standards.
-
Accountability: Developers who feel a sense of ownership are more likely to produce secure and reliable code.
Just because soft skills are more important than hard skills for software development doesn’t mean those hard skills are irrelevant. They are still important, and a few of them in particular are of focused importance for open source security. The open source community gets the benefit of a project being public, enabling the community to come together to secure the project with experts in different areas providing their expertise. However, with open source being public, it also exposes projects to malicious actors, like we saw in the XZ compromise, where a bad actor maintainer contributed innocuous-looking, but ultimately malicious, code. This is why software engineers focused on open source security need to be vigilant and experienced to know what to look for when they get contributions from anonymous developers. Here are some of the skills that are important:
-
Security Engineering and Threat Modeling
-
Understanding attack vectors: Knowledge of how vulnerabilities are exploited is crucial.
-
Techniques like STRIDE: Familiarity with threat modeling methodologies helps in identifying and mitigating risks.
Source: https://www.darkreading.com/vulnerabilities-threats/open-source-security-incidents-aren-t-going-away