The US National Security Agency is leading an initiative to makesoftware more secure. The NSA is teaming up with more than 30 organisations, including the Department of Homeland Security, Microsoft and Symantec, to publish a blueprint outlining the most dangerous software programming errors.
The list represents the first time the industry has reached consensus on the worst things that can happen when software is being written.
"The top 25 list gives developers a minimum set of coding errors that must be eradicated before software is used by customers," said Chris Wysopal, chief technology officer with Veracode.
More than just a list, however, the document could be used as a negotiating tool between buyers and software vendors, said Alan Paller, director of research with the SANS Institute, a security training group that spearheaded the work.
In fact, New York state is now developing procurement documents that could be used by state agencies to make their vendors certify that their code contains none of these programming errors. Ultimately that will make the vendor, not the state, responsible when buggy software leads to a security problem, Paller said. "When the software is found to be flawed ... all of the economic liability shifts to them."
Paller expects that this kind of certification, virtually unknown today, will become more common now that such a large part of the industry has agreed on what programming errors are most dangerous. But he expects it to be used in large custom-coding contracts rather than in the software licensing agreements used for widely distributed software such as Microsoft Windows.
The flaws include things such as allowing for SQL injection or cross-site scripting attacks, sending sensitive information in clear text, which can be easily read, and hard-coding security passwords into programs, where they're hard to change if discovered. The list of errors is set to be posted here.
Two of these bugs led to more than 1.5 million Web site breaches last year, SANS said. And that was just the start: Often, these Web breaches were used by online attackers to then launch more attacks against people who surfed the hacked sites.