The biggest cybersecurity blind spot you don’t know you have

Developers
Leaders

Why is the current approach to software security falling short, and how can we do better?
Cybersecurity

Errors happen to everyone, including developers. Software bugs are unavoidable and are considered as the “cost of doing business” in this field. However, unaddressed bugs serve as opportunities for attackers. If they happen to identify a vulnerability in a system, they can exploit it and cause significant damage, sometimes resulting in financial losses reaching tens of millions of dollars. And even minor vulnerabilities can be very costly, particularly if these weaknesses are caused by design flaws or missing security requirements introduced early in the Software Development Life Cycle (SDLC).  

Wouldn’t it be better to eradicate these issues from the system at the outset rather than trying to detect and stop an ongoing attack targeting them? 

Why is the current approach to software security not enough?  

Overreliance on technology 

While automation and cybersecurity tools are meant to reduce developers and security team’s workload by finding and mitigating software vulnerabilities, relying on them is not enough. Studies demonstrate that these tools only detect about 45% of all vulnerabilities and can also result in “false positives” causing delays and rework. Worst still, they can result in “false negatives”, an illusion of security. More recently, a 2023 survey revealed that only 10% of organizations using automated tools could decrease the amount of vulnerabilities in their system compared to organizations not using those tools – on the other hand, 60% of organizations that trained employees in secure coding greatly improved their code security.  

The Dev-Sec disconnect  

The Dev-Sec disconnect underscores the ongoing tension between development and security teams, driven by their differing priorities regarding new features and bug fixes – developers think that security is just an annoyance slowing everything down, while security teams consider developers to be lazy for not applying best practices. Consequently, 48% of developers often deploy vulnerable code into production. Delayed detection of vulnerabilities in the development cycle leads to heightened costs, delays, and risks. This highlights the necessity for a forward-thinking strategy that prioritizes proactive solutions over reactive measures. 

Monitoring your supply chain while neglecting your own software 

Another common mistake is concentrating only on securing the software supply chain and fixing known vulnerabilities in existing software products listed in databases like Common Vulnerabilities and Exposures or the National Vulnerability Database. While it’s crucial to manage vulnerabilities in third-party components and to monitor potential attacks using intrusion detection systems and firewalls, these efforts only address the consequences of cyberattacks rather than the root cause. 

The solution: Make secure coding a team sport 

The strength of your cybersecurity relies on its weakest point. Software development depends on developers’ creativity and decision-making abilities. Ultimately, the security of code hangs on individual developers’ skills. While processes, standards, and tools can help, developers who are unaware of certain bad practices may inadvertently introduce vulnerabilities into the code.  

Cybersecurity

Empower secure coding: Our top tips 

Shift left – integrate security considerations into the early stages of development 

While DevSecOps-style security tool automation is valuable, relying on it isn’t enough. You need to foster a cultural shift. For more effective coverage, move security assessments like SAST, DAST, or penetration testing from the later stages to the beginning of the software development lifecycle. 

Implement a secure development lifecycle (SDL) strategy 

Leverage frameworks like MS SDL or OWASP SAMM for your processes, laying a strong groundwork for your cybersecurity efforts. 

Ensure comprehensive coverage of your IT ecosystem 

While third-party vulnerabilities represent risks to your business’s cybersecurity, your developers can also unintentionally introduce issues to the application. It’s crucial to be able to detect and address vulnerabilities across on-premises, cloud, and third-party environments. 

Shift from reacting to preventing 

Incorporate defensive programming principles into your coding guidelines to bolster robustness. Remember, effective security embraces a healthy dose of skepticism. 

Mindset over technology 

Firewalls and IDSs alone won’t shield your software from hackers; they only address the aftermath of existing vulnerabilities. Focus on the problem’s root cause: the developers’ mindset and personal responsibility. 

Invest in Secure Code Training 

Opt for a training program that covers various programming languages and offers comprehensive coverage of secure coding standards, vulnerability databases, and well-known critical software weaknesses.  Hands-on lab exercises in developers’ native environments are crucial for rapidly bridging the gap between theoretical knowledge and practical application. 

Cydrill provides a blended learning journey for software engineers to ensure effective secure coding practices. With its gamified environment and content, Cydrill award-winning training program equips your developers with the secure coding skills they need to beat hackers at their own game.