Microsoft Corp.s application of a mandatory “Security Development Lifecycle” for all its Internet-facing products has “significantly reduced” the number—and severity—of security vulnerabilities, according to a white paper released by the software giant.
The 19-page document, titled The Trustworthy Computing Security Development Lifecycle, outlines the “cradle to grave” procedures used for software creation at Microsoft. According to senior executives, the new approach represents a major change in the way that software is designed, developed and tested.
Michael Howard, senior security program manager at Microsoft Corp. and one of the authors of the white paper, told eWEEK.com that the SDL is mandatory for about 90 percent of all products shipped. It covers four high-level principles covering every stage of software creation.
“Under the old structure, you wrote the code and then reviewed it for bugs. But that doesnt work anymore. You have to change your processes and techniques from cradle to grave to develop software that can withstand a malicious attack,” Howard said.
Under the SDL, Howard said, Microsoft engineers now eat, sleep and breathe security at every stage. From the design stage through deployment, Howard said, the SDL mandates that the architecture is built to protect itself from the information it processes and to resist attacks.
“In the real world, software will not achieve perfect security, so designers should assume that security flaws would be present. To minimize the harm that occurs when attackers target these remaining flaws, softwares default state should promote security,” Howard wrote in the white paper, which is coauthored by Steve Lipner, director of security engineering strategy in Microsofts Security Business Unit.
“For example, software should run with the least necessary privilege, and services and features that are not widely needed should be disabled by default or accessible only to a small population of users,” Howard wrote.
“This is absolutely mandatory. And the directive comes down from Bill Gates and Steve Ballmer. Thats one of the exciting things from a security perspective, weve got 1,000 percent buy-in from executives at the highest level,” Howard said.
The SDL framework was first implemented in Windows Server 2003, SQL Server 2000 Service Pack 3 and Exchange 2000 Server Service Pack 3, and while Howard is careful to avoid making conclusive claims, he said the results are encouraging.
Pre-SDL, Microsoft released 62 bulletins to fix flaws in Windows 2000, compared to just 24 advisories in Windows Server 2003. The numbers are the same for pre- and post-SDL advisories for SQL Server 2000 and Exchange Server 2000.
Overall, security bulletins from Microsoft have decreased in recent years, dropping from 72 in 2002 to 51 in 2003 to 45 in 2004.
“The process is not perfect, and is still evolving,” Howard said, noting that it was unlikely to reach perfection or to cease evolving in the foreseeable future. “Software developers are human beings. There will be mistakes and bugs will creep into the code. But with the SDL, its about putting systems in place to reduce those errors.”
“We have seen an overall reduction in security vulnerabilities. And, more importantly, weve also seen a reduction in the severity of vulnerabilities that you miss when writing the code,” he added.
A significant part of the SDL, Howard explained, is the education of software engineers. Generally, he said, developers lack the necessary training to design and develop secure software. Under those circumstances, Howard argues that a software company must take responsibility for educating staff.
“At Microsoft, all personnel involved in developing software must go through yearly security refresher training,” he said. “Its absolutely mandatory for all the software development groups and we track it all the way up to the vice presidents. We make sure theyre all meeting the SDL requirements on education.”
He said the ultimate test of the SDL is the extent to which it removes and mitigates vulnerabilities in Microsoft software. “Were meeting this test but we have to keep modifying too, because the security industry is evolving daily.”
Howard said recent experience proved that security measures planned for or implemented in new software versions successfully blocked attacks that were effective against older versions.
Microsoft Windows XP Service Pack 2 also provided proof that the security changes that had been planned but not yet implemented or discussed publicly were found to eliminate a significant number of vulnerabilities reported against prior versions of Windows.