Top 25 der gefährlichsten Fehler in der Softwareentwicklung

SQL Injection ist nach wie vor eine der am häufigsten anzutreffenden Schwachstellen. Doch es gibt noch mehr Fehler, die zum Verhängnis werden können – eine Top 25 hat das CWE & SANS Institute jetzt neu zusammengestellt.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 1 Min.
Von
  • Robert Lippert

Einmal im Jahr erstellt das CWE & SANS Institute eine Studie zu den 25 am häufigsten gemachten Programmierfehlern, die letztlich zu kritischen Schwachstellen in der Software führen können. Dabei heraus kommen die Top 25 Most Dangerous Software Errors. Angeführt wird die Negativliste in diesem Jahr von der Anfälligkeit für SQL Injection in Folge schlecht oder gar nicht gefilterter Elemente.

Top 25 der gefährlichsten Softwarefehler 2011 (CWE/SANS)
1 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') 14 Download of Code Without Integrity Check
2 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') 15 Incorrect Authorization
3 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') 16 Inclusion of Functionality from Untrusted Control Sphere
4 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') 17 Incorrect Permission Assignment for Critical Resource
5 Missing Authentication for Critical Function 18 Use of Potentially Dangerous Function
6 Missing Authorization 19 Use of a Broken or Risky Cryptographic Algorithm
7 Use of Hard-coded Credentials 20 Incorrect Calculation of Buffer Size
8 Missing Encryption of Sensitive Data 21 Improper Restriction of Excessive Authentication Attempts
9 Unrestricted Upload of File with Dangerous Type 22 URL Redirection to Untrusted Site ('Open Redirect')
10 Reliance on Untrusted Inputs in a Security Decision 23 Uncontrolled Format String
11 Execution with Unnecessary Privileges 24 Integer Overflow or Wraparound
12 Cross-Site Request Forgery (CSRF) 25 Use of a One-Way Hash without a Salt
13 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Mittels SQL Injection kann ein Angreifer Zugang zum kompletten System erlangen. Dass diese Schwachstelle die Liste anführt, kann als Tiefschlag gewertet werden. Platz Zwei, OS Command Injection, spielt sich an der Schnittstelle zwischen Anwendung und Betriebssystem ab und mit Platz drei hält sich der klassische Buffer Overflow hartnäckig in der Spitzengruppe der möglichen Schwachstellen.

Mit seiner Top-25-Liste will das Institut Entwickler auf die möglichen Gefahren hinweisen, die aus Programmierfehlern potentielle Schwachstellen machen. Sie ist das Ergebnis einer Zusammenarbeit zwischen SANS, MITRE und diverser europäischer und amerikanischer Sicherheitsexperten. Der Liste liegt das Common Weakness Scoring System (CWSS) zu Grunde, das unter anderem eine quantitative Aussage zu in einer Software entdeckten, unbehobenen Schwachstellen trifft. (rl)