Skip Links

Network World

  • Social Web 
  • Email 
  • Close

(Comma separation for multiple addresses)
Your Message:

Top 25 software screw-ups

SQL injection, cross-site scripting among worst software-programming errors
By Ellen Messmer, Network World
January 12, 2009 08:08 AM ET
  • Share/Email
  • Tweet This
  • Comment
  • Print

Most IT security woes, from software patching to cyberespionage and cybercrime, can be traced to the devastating effects wrought by the Top 25 programming errors made in software, according to a broad consensus of government and security firms.

These programming errors include improper input validation, improper encoding or escaping of output, failure to preserve SQL query structure (SQL injection), and failure to preserve Web page structure (cross-site scripting). These are among the worst of the worst in the list of the Top 25, published Monday by MITRE Corp. and The SANS Institute, participants in what's called the Common Weakness Enumeration (CWE) project organized by the U.S. Department of Homeland Security's National Cybersecurity Division.

Software security
The Top 25 programming errors

1. Improper input validation
2. Improper encoding or escaping of output
3. Failure to preserve SQL query structure (SQL injection)
4. Failure to preserve Web page structure (cross-site scripting)
5. Failure to preserve operating system command structure (OS command injection)
6. Cleartext transmission of sensitive information
7. Cross-site request forgery
8. Race condition
9. Error message information leak
10. Failure to constrain operations within the bounds of a memory buffer
11. External control of critical state data
12. External control of file name or path
13. Untrusted search path
14. Failure to control generation of code (code injection)
15. Download of code without integrity check
16. Improper resource shutdown or release
17. Improper initialization
18. Incorrect calculation
19. Porous defenses
20. Use of a broken or risky cryptographic algorithm
21. Hard-coded password
22. Insecure permission assignment for critical resource
23. Use of insufficiently random values
24. Execution with unnecessary privileges
25. Client-side enforcement of server-side security
For in-depth definitions about these Top 25 software-programming errors, visit the Web sites of The SANS Institute and MITRE Corp. at www.sans.org and www.mitre.org
SOURCE: SANS and MITRE
Click to see: The Top 25 programming errors

"It's been a three-year project to collect all the things that can go wrong in software architecture, design or code," says Bob Martin, CWE project leader at MITRE, known for its role in federal research projects.

After more than 700 types of problems were identified for CWE inclusion last year, MITRE and SANS asked experts in security organizations, firms and academia to help narrow the list down to the 25 worst. The goal was not only to get industry to focus on the worst software mistakes but also to provide a common vocabulary to address them with training and tools.

Several tools vendors, including Breach Security, Fortify Software, Veracode, Ounce Labs, and Core Security Technologies, are backing the Top 25 and CWE categorization. "This is the first serious attempt at building a taxonomy of software security weaknesses and flaws with an emphasis on practical application of identifying, preventing and fixing or mitigating the issues they pose," said Ivan Arce, CTO at Core Security Technologies in a prepared statement.

  • Share/Email
  • Tweet This
  • Comment
  • Print

Comments (4)
Login
Forgot your account info?

UselessBy Anonymous on January 13, 2009, 2:12 amThis is a useless article as often. Where are the 25 weaknesses you are yekking about. Any clue as to where I can find them as a technician ?

Reply | Read entire comment

Useless is rightBy Anonymous on January 13, 2009, 8:39 amYou give a link in the article (www.sans.org) to get more details about those programming errors, but when you click on the "The Top 25 programming errors" on that...

Reply | Read entire comment

Read the full story for link infoBy Anonymous on January 13, 2009, 9:41 amSee the "Full story" link in the web article, or go to http://www.networkworld.com/news/2009/011209-top-25-programming-errors.html?netht=rn_011209&nladname=011209

Reply | Read entire comment

Top 25 Software Screw-UpsBy Anonymous on February 12, 2009, 3:38 pmThe original press release was weak and the articles in most publication fail to provide useful links such as to: http://cwe.mitre.org/ or the origination documents...

Reply | Read entire comment

View all comments

Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a NetworkWorld account? Log in here. Register now for a free account.

Videos

rssRss Feed