Security is a process - Debian SSL flaw illustrates this
Thursday, May 29th, 2008I saw the following quote in a post on the Security Focus website regarding the bug in Debian and Debian derived distros:
The latest flaw was introduced in the system because developers removed a line of code that had caused warnings about the use of uninitialized data when any program was linked to the OpenSSL library, [HD] Moore said.
It got me thinking back on the days when I was reading software engineering material like there was no tomorrow…
When I see a flaw like this, I think of all the areas where the flaw should have been caught prior to release:
- Code reviews, especially of critical/security systems
- Change/configuration control
- Testing
Though at one point in my life, I had visions of pure, mature software development processes being followed without fail in software shops around the world, I’ve come to believe that dream is a myth.
But for the love of god and all that is holy, if you are going to edit software that’s at the center of a security product or pipeline, you should be doing so within the realm of strict process.
I know there are a lot of developers out there who are editing code without much regard for process, but I urge you, think…
I urge every developer to take some time to refresh their understanding of what good software process is. Though you may not follow it at the organizational level, we, as individuals, can bring some quality to what we do.
Here’s a few of my favorites:
- Software Release Methodology
- A Discipline for Software Engineering
- Testing Computer Software
- Planning Extreme Programming - read all software process books you can, esp the Rational books
- After the Gold Rush - Read all Steve’s books
- The Pragmatic Programmer
Read as many books in the fields of software process, lifecycle, engineering, testing as you can. Don’t forget configuration control.
Bill
