Die Zahl der veröffentlichten neuen Sicherheitslücken nimmt ab, weil immer mehr davon auf dem Privat- oder Schwarzmarkt verkauft werden. Gleichzeitig nimmt der Anteil schwerwiegender Sicherheitslücken zu. Dies sind zentrale Ergebnisse des "Top Cyber Security Risks Reports" für das Jahr 2011.
Mit dem "Top Cyber Security Risks Report" gibt HP im Halbjahresrhythmus einen Überblick über Sicherheitslücken und Angriffstrends. Der Zweck dieses Reports ist es, die größten Risiken aufzuzeigen, sodass Unternehmen und Verwaltungen entsprechende Prioritäten in ihren Schutzstrategien setzen können. Zu den Quellen des Reports zählen unter anderem die Open Source Vulnerability Database (OSVDB), die HP Dvlabs Zero Day Initiative (ZDI), reale Angriffsdaten aus einem weltweiten Netzwerk von Intrusion-Prevention-Systemen sowie Tausende von Quellcode- und Penetration-Tests von Softwareanwendungen.
Die folgenden Abschnitte fassen einige zentrale Ergebnisse des Gesamtjahresberichts für das Jahr 2011 zusammen, wobei ein Schwerpunkt auf den Sicherheitslücken und dabei insbesondere auf denen der Web-Anwendungen liegt. Dies ist auch eine Referenz an die Aufmerksamkeit, die die Themen Cloud Computing und mobile IT im Hinblick auf IT-Sicherheit derzeit genießen. Nach Ansicht der Dvlabs ist der Zugriff auf die Anwendungen und die Bereitstellung der Anwendungen ein Schlüssel für das Management von Sicherheitsrisiken - unabhängig davon, welche Endgeräte und welche Betriebsmodelle dabei zum Einsatz kommen.
Laut OSVDB ist die Zahl der veröffentlichten neuen Sicherheitslücken im Jahr 2011 rund 19,5 Prozent niedriger als 2010: Im Laufe des Jahres 2011 verzeichnete die OSVDB 6.843 veröffentlichte Sicherheitslücken - im Jahr 2010 waren es noch 8.502 (Bild 1). Die OSVDB-Daten zeigen außerdem, dass die Zahl der veröffentlichten neuen Sicherheitslücken nach einer Spitze im Jahr 2006 kontinuierlich zurückgegangen ist. Dieser Rückgang bedeutet aber nicht, dass die Zahl der Sicherheitslücken tatsächlich zurückgeht. Er ist vielmehr ein Indiz dafür, dass sich die Art und Weise ändert, in der Sicherheitslücken entdeckt und mitgeteilt werden.
Informationen über Sicherheitslücken kommen über eine Vielzahl von Kanälen an die Öffentlichkeit und in den Handel. Dazu gehören öffentliche Programme wie die Zero Day Initiative, Beratungsunternehmen und der Schwarzmarkt. Die Daten in der OSVDB geben einen hervorragenden Überblick über Sicherheitslücken - allerdings zählt die OSVDB nur solche Sicherheitslücken, die ihr direkt gemeldet oder öffentlich gemacht werden. Eine beträchtliche Zahl an Sicherheitslücken wird zwar entdeckt, aber nur an bestimmte Kunden weitergegeben - das können Security-Beratungsunternehmen wie beispielsweise Vupen sein, aber auch Kriminelle. Damit taucht eine beträchtliche Zahl an Sicherheitslücken nicht mehr in öffentlichen Statistiken auf.
Schwarzmarktpreise steigen
Seit Jahren verbessern die Softwareanbieter ihre Produkte und fügen Funktionen hinzu, um den unautorisierten Zugriff zu unterbinden. Dies hat nicht nur diverse Löcher gestopft, sondern hat auch dazu geführt, dass Sicherheitslücken schwerer zu entdecken sind. Diese Tatsache, kombiniert mit dem Marktwert von Sicherheitslücken mit einem hohen CVSS-Wert zwischen 8 und 10, belebt den Markt für Sicherheitslücken insgesamt. CVSS (Common Vulnerability Scoring System) ist eine Methode zur Klassifizierung von Sicherheitslücken, wobei 10 die höchste Gefahrenstufe darstellt. Viel Expertise und Zeit sind erforderlich, um die hochgradig gefährlichen Sicherheitslücken zu entdecken. Aber es lohnt sich, weil man damit auf dem Schwarz- oder Graumarkt sehr hohe Preise erzielen kann.
Bild 2 zeigt, wie der Anteil der schwerwiegenden Sicherheitslücken in den letzten zehn Jahren zugenommen hat. Im Jahr 2011 hatten 24 Prozent der Sicherheitslücken einen CVSS-Wert von 8 bis 10. Solche Sicherheitslücken können beispielsweise ein Einfallstor für eine Remote Code Execution sein, ein Angreifer kann also über diese Lücke die Kontrolle über das System übernehmen. Eine solche Sicherheitslücke zu entdecken bedingt tiefgreifende Kenntnis der Anwendungen und Systeme.
Im Jahr 2006 machten mittelschwere Lücken (CVSS von 5 bis 7) den Großteil aus. Das war die Zeit, als so genannte Fuzzing-Werkzeuge beliebt wurden und Sicherheitsexperten eine Vielzahl einfacherer Sicherheitslücken zu finden begannen, von denen viele in die CVSS-Kategorien 5 bis 7 fielen. Der Anteil dieser Sicherheitslücken hat seitdem stark abgenommen, unter anderem, weil die Softwarehersteller große Anstrengungen unternommen haben, um diese Lücken zu beseitigen.
Einfallstor Web
Sicherheitslücken lassen sich überall in Anwendungen finden: beispielsweise im eigentlichen Softwarecode, in den Verbindungen zu anderen Systemen oder in Plug-ins und Add-ons, die der Anwender installiert. Von den häufigsten Verwundbarkeitskategorien auf der Grundlage der OSVDB-Daten lassen sich alle remote ausnutzen. Vier der dort aufgeführten Sicherheitslücken - SQL Injection, Cross-Site Scripting, Cross-Site Request Forgery und Remote File Include - lassen sich ausschließlich über das Web erschließen. Alleine diese vier machen 36 Prozent aller Sicherheitslücken aus.
Um ein präziseres Bild der Sicherheitslücken von Web-Anwendungen zu bekommen, hat die HP Web Security Research Group die Ergebnisse tausender Applikations-Assessments ausgewertet. Diese Daten umfassen Ergebnisse von Quellcodeanalysen und Penetration-Tests.
Statische Analysen
Statische oder Code-Analysen finden Sicherheitslücken, indem sie den Code einer Anwendung untersuchen, wobei der Code nicht ausgeführt wird. Die im folgenden dokumentierten Ergebnisse beruhen auf der statischen Analyse von 359 Anwendungen.
Die Ergebnisse zeigen, dass Web-Anwendungen auf mehreren Ebenen verwundbar sind. 54 Prozent der Web-Applikationen waren anfällig für reflexives (nicht-persistentes) Cross-Site Scripting (XSS), 40,66 Prozent für persistentes (Stored) XSS. Persistentes XSS findet statt, wenn der Angriff in irgendeiner Form auf dem Ziel-Server gespeichert wird. Das Opfer wird den Angriffscode in einem Browser ausführen, sobald diese gespeicherte Information aufgerufen wird.
86,35 Prozent der Web-Anwendungen waren anfällig für Injection-Fehler. Diese Kategorie umfasst SQL Injection und alle anderen Fälle, bei denen eine Anwendung nicht-vertrauenswürdige Daten als Teil eines Befehls oder eine Abfrage akzeptiert. 77,16 Prozent boten eine Angriffsfläche für Insecure Direct Object Reference. Eine solche Sicherheitslücke entsteht, wenn ein Entwickler aus Versehen eine Referenz offenlegt, die auf ein internes Implementierungsobjekt verweist, beispielsweise eine Datei oder ein Datenbankschlüssel. Da es keine Zugriffskontrolle gibt, können Angreifer diese Schwachstellen ausnutzen, um Zugriff auf diese Daten zu erlangen. Fast alle der untersuchten Anwendungen - 93,87 Prozent - waren anfällig für Information Leakage und Improper Error Handling, machen also unbeabsichtigt - etwa über Fehlermeldungen - Informationen zugänglich, die sich für Angriffe nutzen lassen. 60,72 Prozent hatten Probleme mit der Authentifizierung und dem Session-Management. Hier waren also Zugangs- und Sitzungsinformationen nicht ausreichend vor unerlaubten Zugriff geschützt, sodass Angreifer Zugang zur Applikation erhalten können. 80,74 Prozent der Anwendungen boten Lücken aufgrund unsicherer Verschlüsselung - weil der kryptografische Schlüssel mangelhaft implementiert oder unsicher aufbewahrt war.
Dynamische Analysen
Bei einer dynamischen Analyse erfolgt ein Angriff auf eine Anwendung, wobei man zahlreiche Techniken nutzt und die Reaktionen der Anwendung beobachtet, um Sicherheitslücken zu entdecken. Die folgenden Ergebnisse wurden mittels dynamischer Analyse von 2.714 unterschiedlichen Anwendungen erzielt. Im Folgenden ein grober Überblick über die Arten von Sicherheitslücken, die entdeckt wurden:
52,35 Prozent waren anfällig für reflexives XSS,
66,87 Prozent waren anfällig wegen unsicherer oder unverschlüsselter Übertragung von Daten,
15 Prozent waren anfällig für Information Leakage und Improper Error Handling und
12,3 Prozent waren anfällig für Injection-Fehler.
Schlussfolgerungen
Diese Daten zeigen, dass Programmierfehler, die zu Sicherheitslücken führen, weit verbreitet sind. Die Zahl der Angriffe auf Web-Anwendungen schwankt von Jahr zu Jahr, aber erfolgreiche Angriffe werden mit den Jahren immer gefährlicher für den Geschäftsbetrieb. Ein simples Lahmlegen einer Website ist nicht mehr die Norm. Stattdessen geht es bei heutigen Angriffen oft darum, Daten so lange wie möglich abzugreifen, ohne entdeckt zu werden.
Einfache Fehler wie Information Leakage oder unsichere Datenübertragung finden sich nach wie vor in Unternehmen aller Größen. Deshalb müssen Unternehmen Maßnahmen ergreifen, um Informationen, die dem Angreifer Wissen über die Applikation vermitteln, zu schützen. Insgesamt gilt: Die Lösung des Sicherheitsproblems liegt im Entwicklungsprozess, nicht im nachträglichen Stopfen von Löchern oder Errichten von Schutzmauern. In der Praxis sollte man dabei statische und dynamische Tests kombinieren, sodass der Code während simulierter Angriffe überwacht wird. Damit können Security-Tester Verwundbarkeiten bis auf einzelne Quellcodezeilen zurückführen und beheben.