Microsoft Rebukes Developers for Poor App Security
Microsoft now 'gets' security at every level of the organisation but the wider software industry has yet to match its zeal, the company has said in its latest Software Development Lifecycle (SDL) Progress Report.
The report first notes that despite falling since 2006, the number of software vulnerabilities counted on the National Vulnerability Database still numbered approaching 4,000 in 2010, a large number of which were categorised as both 'high severity' and yet easy to exploit.
Most of these were now in applications rather than the operating system or browsers, which is where the company's exasperation with third party developers starts to seep through the text.
Microsoft's reserves particular ire for the modest adoption by third party developers of one of the SDL's many security assurance strictures, Address Space Layout Randomisation (ASLR). Introduced in Windows Vista, this is an important defence technique because it randomises the memory location of software components (such as DLLs), which stops malware programmers accessing them reliably on every PC.
Despite this, only 43 percent of the 41 common applications surveyed by Microsoft fully enabled support for ASLR defence, with 19.5 percent not supporting it at all. Major culprits were browser plug-ins which undermined that all browsers supported it. Ironically, around one in five security products also lacked ASLR.
"This [the lack of support in security software] is noteworthy given that security products are inherently exposed to untrusted data and the limited adoption of ASLR might therefore make it easier for attackers to exploit vulnerabilities in security products," the authors explain.
Even Data Execution Prevention (DEP) - which stops attackers executing machine code (shellcode) from areas of memory reserved for data only - was not being used by 29 percent of applications looked at by Microsoft, despite being simple to implement. This failure is even more galling since DEP has been recommended by Microsoft since the advent of Windows XP Service Pack 2 (SP2) in 2004.
Quite apart from the needless risk to users, the economic consequences of sorting out security problems after the fact has been plan for all to see.
"The National Institute of Standards and Technology (NIST) estimates that code fixes performed after release can result in 30 times the cost of fixes performed during the design phase," the authors say.
Microsoft's own Damascene conversion to the scripture of SDL and software security dates from a famous memo written by Bill Gates in January 2002 to launch the company's Trustworthy Computing (TwC) Initiative. From that emerged XP SP2 in the nick of time as the company retrofitted security on to an operating system buckling under a sudden surge in security woes.
"Within 10 years, it will be an integral and indispensable part of almost everything we do," Gates wrote in the memo. "Microsoft and the computer industry will only succeed in that world if CIOs, consumers and everyone else sees that Microsoft has created a platform for Trustworthy Computing."
In Microsoft's view it has done its bit. Now it is up to the long tail of software vendors do follow suit.