Slashdot Mirror


The 25 Most Dangerous Programming Errors

Hugh Pickens writes "The Register reports that experts from some 30 organizations worldwide have compiled 2010's list of the 25 most dangerous programming errors along with a novel way to prevent them: by drafting contracts that hold developers responsible when bugs creep into applications. The 25 flaws are the cause of almost every major cyber attack in recent history, including the ones that recently struck Google and 33 other large companies, as well as breaches suffered by military systems and millions of small business and home users. The top 25 entries are prioritized using inputs from over 20 different organizations, who evaluated each weakness based on prevalence and importance. Interestingly enough the classic buffer overflow ranked 3rd in the list while Cross-site Scripting and SQL Injection are considered the 1-2 punch of security weaknesses in 2010. Security experts say business customers have the means to foster safer products by demanding that vendors follow common-sense safety measures such as verifying that all team members successfully clear a background investigation and be trained in secure programming techniques. 'As a customer, you have the power to influence vendors to provide more secure products by letting them know that security is important to you,' the introduction to the list states and includes a draft contract with the terms customers should request to enable buyers of custom software to make code writers responsible for checking the code and for fixing security flaws before software is delivered."

1 of 534 comments (clear)

  1. Re:Yeah, right. by Brett+Buck · · Score: 1, Redundant

    Have you ever programmed? I mean this seriously. It sounds like you either do not understand the complexity of software, or just want to complain.

    Software bugs are logic typos. Have you ever made a grammatical error? Reading your post, I can say yes. Bugs are like that. In projects with tens of thousands of lines of code, it is unreasonable and completely unrealistic to expect every line to be a pinnacle of perfection, just like it is unreasonable to expect that every sentence in a book is completely without error.

                I have to ask you the same question - have *you* ever written a program? Each line should be perfect, and when it's not, it's like a grammatical error? The serious bugs are certainly not like typos. A strange new type of program called a "compiler" can find most typos.

              The biggest sort of problem with programming is making sure that different parts work together and don't give unexpected results. Every routine or section can be absolutely perfectly written and but not interact the way you expected. Looking at it line at a time and determining that line's "perfection" will get you pretty much nowhere.