Posted by Jim Ivers on September 16, 2015
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 re-writing 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.
1. Make security a priority. 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.
2. Identify and consolidate your debt. 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.
3. Secure design matters. 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.
4. Never stop learning. 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.
5. Move testing to the left. 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.
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.
Get the latest Software Integrity news, thought leadership, and more.