Software Security Assurance

Aus MittelstandsWiki
Wechseln zu: Navigation, Suche

Die 25 gefährlichsten Programmierfehler

Von Uli Ries

Es ist eine Art Worst-of der Software-Entwicklung: Die von CWE/SANS publizierte Top-25-Liste versammelt die gravierendsten Programmier­fehler, die für ernste Schwächen ver­antwortlich sein können. Im Unter­schied zu ähnlichen Listen wurde die Kompilation aber nicht von einer einzelnen Organisation nach eigenen Standards zusammen­gestellt, sondern von MITRE und dem SANS Institute, über drei Jahre hinweg.

Kandidaten in der Auswahl

Beide Organisationen gehören zum Projekt Common Weakness Enumeration (CWE), das die US-Heimatschutzbehörde organisiert. Im vergangenen Jahr wurden über 700 Programmierfehler ins CWE-Listing aufgenommen – zu viel für eine brauchbare Liste. Also baten MITRE und SANS Experten von Software- und IT-Sicherheitsfirmen, die Liste auf 25 Bugs einzudampfen. Zu den zirka 30 Firmen und Organisationen, die an der Bewertung mitarbeiteten, gehören die Software-Hersteller Apple, Microsoft, Oracle und Red Hat. Darüber hinaus wirkten die IT-Sicherheitshersteller EMC, McAfee und Symantec mit sowie die National Security Agency (NSA) und das amerikanische Energieministerium. Ebenfalls beteiligt waren das Computer Emergency Response Team (CERT) und das Open Web Application Security Project (OWASP).

Sie alle einigten sich auf ein Bewertungsschema und filterten so lange, bis die schlimmsten Fehler übrig blieben. Dazu gehören schlampige Absicherungen von Benutzereingaben (Input Validation), mangelndes Einhalten der SQL-Anfragestruktur (SQL Injection) und fehlerhafter Aufbau von Internet-Seiten (Cross-Site Scripting). Diese üblichen Verdächtigen tauchen laut Listenverfasser häufig auf, sind einfach zu entdecken und leicht auszunutzen – dies macht sie so gefährlich.

Beim einen Ohr hinein …

Denn Angreifer nutzen solche Schludrigkeiten der Entwickler oft aus, um Daten zu klauen, die Software unter ihre Kontrolle zu bringen oder die Anwendungen komplett unbrauchbar zu machen (Denial of Service). Dem Listenkommentar zufolge sind die Konsequenzen der aufgelisteten Bugs enorm weitreichend: Allein Sicherheitslücken, die sich in über 1,5 Mio. Websites finden lassen, gehen auf das Konto von nur zwei Programmierfehlern. Cyberkriminelle infizierten die PCs der Website-Besucher, indem sie durch Ausnutzen der Sicherheitslöcher Trojaner einschleusten.

Serie: IT-Sicherheit
Teil 1 beschreibt die heutige IT-Sicherheitslage: Das Web bietet Angreifern bequeme Einfallstore. Teil 2 benennt die Lücken in Firmennetzwerken und zeigt die Tricks von Hackern und Spionen. Teil 3 skizziert die Zukunft der Gefahrenabwehr: System und Sicherheit unter einem Hut.

Kritiker bemängeln allerdings, dass es bereits seit Jahren solche und ähnliche Listen gibt, die angesprochenen Programmierer sie aber entweder ignorieren oder gar nichts davon mitbekommen. Die Verantwortlichen der Top 25 sind sich jedoch sicher, dass ihre Liste mehr erreichen wird als andere Zusammenstellungen. Schließlich wollten SANS und MITRE nicht nur die Software-Hersteller öffentlichkeitswirksam auf die schlimmsten Bugs hinweisen.

Fazit: Über den Einkauf Druck machen

Das eigentliche Ziel ist es, industrieweit Programmiertools und Schulungskonzepte zu entwickeln, um damit die immer wiederkehrenden Probleme anzugehen. Da alle großen Hersteller schon beim Sammeln der Bugs zusammenkamen, könnte daraus leichter eine weitere Zusammenarbeit entstehen. Außerdem wollen die Organisationen Software-Managern und CIOs mit der Top 25 eine Art Messlatte an die Hand geben, mit der Fortschritte bei der Absicherung der eigenen Software dokumentiert werden können.

Kommunikation-und-netze-2015-02.jpg
Schwarz auf Weiß
Dieser Beitrag erschien zuerst in unserer Magazin­reihe. Einen Über­blick mit freien Down­load-Links zu sämt­lichen Einzel­heften bekommen Sie online im Presse­zentrum des MittelstandsWiki.

Laut SANS denken auch schon einige US-Regierungsbehörden darüber nach, beim Einkauf von Software zukünftig darauf zu achten, dass die neuen Anwendungen keine der Top-25-Fehler enthält. Wenn auch andere große Einkäufer von maßgeschneiderter Software diesem Beispiel folgen, wird sich Relevanz und Inhalt der Liste auch schnell bis zum verschlafensten Software-Programmierer herumsprechen.

Nützliche Links