Die Zukunft der Cyber-Kriminalität
Die Zukunft der Cyber-Kriminalität
Die Zukunft der Cyber-Kriminalität
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
gtr | April 2007<br />
Sichern von anWenDungen<br />
eine schnell steigende Anzahl von Malware-Angriffen<br />
nutzt Schwachstellen in Softwareanwendungen aus.<br />
<strong>Die</strong>s hat zur Folge, dass die Anwendungssicherheit in<br />
hohem Tempo weiterentwickelt wird. Täglich werden neue<br />
Bedrohungen, Ausnutzungstechniken und Schwachstellenklassen<br />
entdeckt. Außerdem berichten die Medien im<br />
Zusammenhang mit Topthemen wie Terrorismus und<br />
organisierter <strong>Kriminalität</strong> zunehmend über <strong>Cyber</strong>-<br />
Bedrohungen, wodurch das Thema Anwendungssicherheit<br />
mehr Aufmerksamkeit erhält als je zuvor. Trotzdem tauchen<br />
regelmäßig kritische Fehler in Standardsoftware für das<br />
Internet und in weit verbreiteten Clientanwendungen auf.<br />
Tatsächlich hat die Anzahl <strong>der</strong> kritischen Schwachstellen,<br />
die in den letzten Jahren entdeckt wurden, nicht ab-,<br />
son<strong>der</strong>n sehr stark zugenommen.<br />
<strong>Die</strong>se Entwicklung wirft die offensichtliche Frage auf: Warum<br />
gibt es heute mehr Schwachstellen als je zuvor? Wenn<br />
Anwendungsentwickler heutzutage in Sicherheitsaspekten<br />
besser ausgebildet sind und ihr Programmcode strengeren<br />
Sicherheitstests unterworfen wird, dann sollte die Anzahl <strong>der</strong><br />
entdeckten Schwachstellen doch sinken. <strong>Die</strong> Antwort ist<br />
beunruhigend: Anwendungssicherheit ist ein Wettrüsten, und<br />
die Entwickler kämpfen darum, Schritt zu halten. Wenn immer<br />
mehr Informationen über Softwarefehler und Methoden zu<br />
ihrer möglichen Ausnutzung veröffentlicht werden, können<br />
Hacker diese Informationen für ihre Suche verwenden und<br />
Schwachstellen in Softwarekomponenten finden, die bisher<br />
für sicher gehalten wurden. Zudem muss die Tatsache<br />
berücksichtigt werden, dass Entwickler nicht perfekt sind und<br />
ihre Fehler ausgenutzt werden können. <strong>Die</strong>s ergibt ein Rezept<br />
für eine Katastrophe: ein unsicheres Internet, das voller<br />
Softwareprobleme ist.<br />
Zweifellos lässt sich sagen, dass das Auffinden von<br />
Schwachstellen durch das <strong>der</strong>zeitige Interesse am Thema<br />
Anwendungssicherheit erschwert wird. Programmfehler, die in<br />
heutiger Standardsoftware auftauchen, sind subtiler und<br />
komplizierter als solche Fehler, die vor fünf o<strong>der</strong> zehn Jahren<br />
entdeckt wurden. Denn jedes Mal, wenn <strong>der</strong> Markt für<br />
Anwendungssicherheit die Latte höher legt und Software<br />
sicherer macht, setzen Hacker dementsprechend vergleichbare<br />
Technologien ein, um Softwareschwachstellen besser zu<br />
verstehen und noch tiefer befindliche Fehler zu finden.<br />
Außerdem wurden sie durch Weiterentwicklungen einiger<br />
Sollten unsere programme nicht endlich mal<br />
sicher sein? trotz <strong>der</strong> verbesserungen bei <strong>der</strong><br />
entwicklung von Software findet malware<br />
weiterhin Schlupflöcher, die sich ausnutzen lassen.<br />
relevanter Technologien (vor allem statistische Analysen und<br />
Sicherheitstests bzw. „Fuzzying“) in die Lage versetzt,<br />
Werkzeuge zu entwickeln, mit denen sich potenzielle<br />
Probleme relativ leicht orten lassen.<br />
Um ein endloses Wettrüsten zu vermeiden, hat die<br />
Sicherheitsgemeinde versucht, Gegentechnologien zu<br />
entwickeln, die auf dem Ansatz basieren, dass<br />
Programmfehler zwar vorhanden sein dürfen, ihre Ausnutzung<br />
aber zu schwierig o<strong>der</strong> sogar unmöglich sein soll. Doch Hacker<br />
werden nicht aufgeben, wenn sie auf neue Schutzmaßnahmen<br />
treffen. Sie werden entwe<strong>der</strong> herausfinden, wie sich das<br />
Hin<strong>der</strong>nis umgehen lässt o<strong>der</strong> ihre Angriffe auf eine an<strong>der</strong>e<br />
Stelle richten, die weniger geschützt ist. Hosts sind definitiv<br />
weitaus besser als in <strong>der</strong> Vergangenheit geschützt. Mit diesem<br />
Ansatz lassen sich aber keineswegs alle Probleme lösen. Wie<br />
wird es weitergehen? Nachfolgend wird beschrieben, wie sich<br />
die Situation unserer Meinung nach in den nächsten Jahren<br />
wahrscheinlich entwickeln wird.<br />
Webtechnologien<br />
Das Web wird auch zukünftig einer <strong>der</strong> wichtigsten<br />
Angriffsvektoren sein, vermutlich in einem noch größeren<br />
Ausmaß als heute. Warum ist das Web bei den Bösen so<br />
beliebt? Ganz einfach, weil die Webanbindung von<br />
Unternehmen potenziellen Angreifern riesige Möglichkeiten<br />
bietet. Es erfüllt alle Voraussetzungen: Es ist öffentlich, es gibt<br />
eine große Codebasis, die von unbefugten und meist anonymen<br />
Benutzern ausgeführt werden kann, und Webanwendungen<br />
werden kaum auf Sicherheitsprobleme überprüft. Viele<br />
Webanwendungen und Skripte werden von kleinen IT-Firmen<br />
und -Beratern entwickelt, von denen viele kaum Kenntnisse<br />
über tiefer gehende Sicherheitsprobleme in Webumgebungen<br />
besitzen. Auch wenn sich die Lage <strong>der</strong> Entwicklergemeinde in<br />
puncto Ausbildung etwas gebessert hat, sind Webentwickler<br />
trotzdem im Nachteil, weil Webframeworks und -technologien<br />
so schnell weiterentwickelt werden.<br />
von Mark Dowd<br />
Anwendungssicherheit ist ein Wettrüsten,<br />
und die Entwickler kämpfen<br />
darum, Schritt zu halten.<br />
In den vergangenen Jahren gab es eine begrenzte, aber<br />
bekannte Anzahl von Angriffsvektoren zum Kompromittieren<br />
einer Website: SQL-Injektion, XSS-Angriffe (Cross-Site<br />
Scripting, siteübergreifende Skripte), HTTP-Response-Splitting,<br />
zufällige Codeüberprüfung (accidental code evaluation),<br />
Probleme durch eingeschleuste Dateien, ungeschützter<br />
Servlet-Zugriff, Sitzungsdiebstahl, Zugriffe auf zustandslose<br />
Seiten (out-of-state page access), usw. Einige <strong>der</strong> beliebtesten<br />
Tricks kennen die Webentwickler so langsam (vor allem SQL-<br />
Injektion und XSS), an<strong>der</strong>e Probleme werden jedoch noch<br />
eine Weile bestehen bleiben. Inzwischen werden komplexere<br />
Webanwendungen immer beliebter. In diesen können noch<br />
tiefer gehende o<strong>der</strong> spezifischere Probleme verborgen sein,<br />
die noch nicht vollständig untersucht wurden. So kann zum<br />
Beispiel die umfangreiche Verwendung von AJAX- und<br />
an<strong>der</strong>en Objekt-Serialisierungs-Frameworks zu zustandslosen<br />
Objekten, Verarbeitungsfehlern bei <strong>der</strong> Serialisierung/<br />
Deserialisierung selbst, unerwarteten Vererbungsproblemen<br />
und an<strong>der</strong>en Problemen führen. Der Einsatz von XML hat<br />
auch XML-Injektionsangriffe möglich gemacht – mit einigen<br />
interessanten Konsequenzen. Seit kurzem gibt es auch den<br />
Trend, an<strong>der</strong>e Protokolle (wie SOAP), die für sich genommen<br />
schon kompliziert genug sind, auf HTTP aufzusetzen. Dahinter<br />
steht <strong>der</strong> Gedanke, Webanwendungen aufzuwerten und<br />
Funktionen bereitzustellen, die Perimeterfirewalls nicht<br />
beeinträchtigen werden. <strong>Die</strong>se Ziele wurden von den<br />
Entwicklern zwar verwirklicht, aber um den Preis, dass neue,<br />
Webentwickler sind im Nachteil, da<br />
Webframeworks und -technologien<br />
so schnell weiterentwickelt werden.<br />
größtenteils ungetestete Funktionen über einen<br />
hackerfreundlichen Kanal verfügbar gemacht werden.<br />
Weiterentwicklung <strong>der</strong><br />
Funktionalität<br />
Führende Firmen aus den verschiedensten Netzwerkbereichen<br />
haben das Ziel gemeinsam, ihren Kunden ein<br />
immer vielfältigeres Internet anzubieten, und versuchen, dies<br />
über Erweiterungen vorhandener und Implementierungen<br />
neuer Internetprotokolle zu erreichen. In <strong>der</strong> Vergangenheit<br />
bestanden die Anfor<strong>der</strong>ungen an die meisten Clientcomputer<br />
darin, dass auf ihnen E-Mail-Programme und Webbrowser<br />
ausgeführt werden können. Heute möchten die Benutzer<br />
außerdem in <strong>der</strong> Lage sein, Medien zu streamen, per Chat,<br />
Internet-Messaging-Client o<strong>der</strong> VoIP miteinan<strong>der</strong> zu<br />
kommunizieren sowie neue Feeds zu empfangen. So viel<br />
Funktionalität hat ihren Preis, und die Sicherheitsbranche<br />
muss oft feststellen, dass sie einem beweglichen Ziel<br />
hinterjagt. Ständig werden Sicherheitsprobleme in den<br />
neuen Technologien aufgedeckt, insbeson<strong>der</strong>e in <strong>der</strong>en<br />
Anfangsphase. Und jedes neue Protokoll o<strong>der</strong> jede neue<br />
Client/Server-Anwendung, die in großem Umfang eingesetzt<br />
werden, stellen für Hacker und Fehlersucher neue Ziele dar,<br />
die sich ausnutzen lassen.<br />
Zukünftig wird <strong>der</strong> Schweregrad von Schwachstellen, die in<br />
einige <strong>der</strong> <strong>der</strong>zeit am meisten verbreiteten Fehlerklassen<br />
fallen, wahrscheinlich zurückgehen. So werden zum Beispiel<br />
Speicherausnutzungsfehler in fünf Jahren wahrscheinlich<br />
weniger schwer ins Gewicht fallen, da bis dahin<br />
Speicherschutztechnologien so weit entwickelt sind, dass<br />
eine Ausnutzung dieser Art von Schwachstellen verhin<strong>der</strong>t<br />
wird. Das soll aber nicht heißen, dass die Fehlersuche in<br />
neuem Code überflüssig sein wird. <strong>Die</strong> Einführung neuer<br />
Technologien bringt oft mit sich, dass neue Wege entdeckt<br />
werden, auf denen Anwendungen angegriffen werden<br />
können. So galt es zum Beispiel nicht als gefährlich,<br />
Webseiten mit größtenteils statischen Inhalten im Browser<br />
anzuzeigen, jetzt gibt es jedoch clientseitige XSS-Angriffe,<br />
ActiveX-Ausnutzungen, SQL-Injektion auf Servern, usw. In<br />
ähnlicher Weise wird die Einführung neuer Technologien<br />
(wie HTML/XML-Erweiterungen zur Inhaltsbereitstellung,<br />
verwaltete Anwendungen und Mediensoftware)<br />
wahrscheinlich neuen interessanten Fehlerklassen den Weg<br />
bahnen, die bisher noch nicht in Sicherheitskreisen erörtert<br />
o<strong>der</strong> von Softwareherstellern erwartet wurden.<br />
gtr | April 2007 7<br />
Multifunktionale Clients und<br />
leistungsfähigere Steuerelemente<br />
Obwohl das Web ursprünglich für die Übermittlung statischer<br />
Inhalte ausgelegt war, hat es sich durch den Einsatz von CGI-<br />
Anwendungen und serverseitigen Technologien jedoch in<br />
Richtung dynamische Inhalte entwickelt. Außerdem musste<br />
Clientsoftware mehr und flexiblere Funktionen enthalten,<br />
damit interaktive Client/Server-Anwendungen als<br />
Übermittlungsprotokoll HTTP (und in geringerem Umfang<br />
auch an<strong>der</strong>e Protokolle) nutzen konnten. Durch den Einzug<br />
von Java und JavaScript in Webbrowser konnte ein Teil <strong>der</strong><br />
Arbeit dem Client aufgebürdet werden, was sich positiv auf<br />
die Arbeitsproduktivität <strong>der</strong> Benutzer auswirkte, da nun nicht<br />
mehr jede einzelne Aktion an Webserver weitergereicht<br />
werden musste.<br />
<strong>Die</strong> ActiveX-Technologie von Microsoft eröffnete den<br />
Webbrowser-Steuerelementen vollkommen neue<br />
Möglichkeiten, da Entwickler nun Steuerelemente erstellen<br />
konnten, die sich über eine Webseite aktivieren lassen und<br />
mächtige Funktionen bereitstellen. ActiveX-Steuerelemente<br />
finden sich in Spielen, bei <strong>der</strong> Softwareversionsprüfung, in<br />
Übertragungs-Managern, bei <strong>der</strong> Einbettung von Dokumenten<br />
und bei vielen an<strong>der</strong>en Gelegenheiten, bei denen die<br />
Browserfunktionalität erweitert werden muss. Jede einzelne<br />
dieser Technologien hat zu Schwachstellen geführt, über die<br />
Hacker die Kontrolle über Computer von Opfern erlangen<br />
können, wenn diese eine Webseite mit böswilligem Inhalt<br />
auch nur besuchen. <strong>Die</strong>s gilt beson<strong>der</strong>s für ActiveX, da bei<br />
solchen Steuerelementen nicht eingeschränkt ist, welche<br />
Funktionen sie enthalten dürfen. Zudem leiden viele<br />
Steuerelemente unter Schwachstellen, die daraus resultieren,<br />
dass sie zu komplexe Aufgaben durchführen sollen.<br />
Auch wenn es immer mehr Einschränkungen bezüglich <strong>der</strong><br />
Verwendung solcher Clientson<strong>der</strong>funktionen gibt, stehen wir<br />
kurz vor einer neuen Welle an Clientfunktionen, die auf