Technical debt accumulates if you don’t build security in throughout your development cycle. Here’s how to pay off old debt and stop creating new debt.
Benjamin Franklin once said there were only two things certain in life: death and taxes—unless you’re responsible for information security, of course. In that case, you can add a third: technical debt. However, instead of discussing the general concept of technical debt, let’s talk about:
In the security context, technical debt has accumulated from years of developing software with little or no emphasis on building security into the process. Security is often seen as a technical burden that slows development. Because of this, teams often omit even the most basic security practices throughout the SDLC in order to make release dates. This is not a trivial problem. Some organizations have taken the drastic step of rewriting applications where the debt became so severe it could not be repaid.
Here are five things you can do to reduce the creation of new debt and even begin to pay off existing debt.
Ignoring a problem doesn’t make it go away. Your organization needs to make a commitment to security. This means creating and empowering a software security group (SSG) that owns the integration of security into the development process.
Resources
If you only make minimum payments, you’ll never pay down your principal. To make a dent in your technical debt you need to determine what applications exist and what risks they pose. Once you’ve done this you can start prioritizing risks for remediation and begin paying down your debt.
Resources
Make a commitment to secure design and architecture. Skipping this step will create effective technical debt before you even write your first line of code.
Resources
Developers must be educated in secure development practices. There is a reason why the same well-known vulnerabilities continue to show up in code and why applications are increasingly being compromised by well-known attack vectors.
Organizations can’t wait until the end of the SDLC to start security. Waiting until the end negatively affects productivity and often results in detected vulnerabilities being ignored.
Resources
While death and taxes are unavoidable, we still take measures to avoid and prevent both. The same is true with technical debt. Understanding how technical debt is incurred allows your business to create a proactive strategy to be successful in the reduction of new debt creation and will allow you to pay back the technical debt you have already incurred.
Important factors to secure your software supply chain include the security of open source code, protection against malicious code, securing development and delivery infrastructure, and the security of APIs.