Sicherheitstrends 2009 - Webapplikationen erfordern Umdenken der IT-Sicherheit

Die IT-Sicherheit muss sich zukünftig stärker um die Anwendungsebene kümmern. Denn Webanwendungen gehören auch im Jahr 2009 zu den größten Sicherheitsschwachstellen. Das Bedeutet, dass Sicherheit zentraler Bestandteil des Designs, der Implementierung und des Betriebs von Webanwendungen werden muss. Web-basierte Anwendungen, wie Online-Banking, -Shopping und soziale Netzwerke sind mittlerweile aus dem Alltag der Mehrheit der Deutschen nicht mehr wegzudenken. Immer mehr Bürger nutzen das Netz, um ihr berufliches oder privates Leben zu organisieren. Webapplikation sind folglich ein lohnendes Ziel für Angreifer, die es hauptsächlich auf Daten abgesehen haben.

Im Gegensatz zu Privatpersonen haben viele Unternehmen in Punkto IT-Sicherheit einen Status erreicht, der zumindest eine sichere Infrastruktur bietet. Dies hilft aber nicht, sich gegen Angriffe auf Webapplikationen zu schützen. Aus diesem Grund ist auch bei Unternehmen ein Umdenken erforderlich.

Zum Standard in den Unternehmen gehören heute Firewalls, Antivirensoftware, IDS/IPS-Systeme, Verschlüsselungen und Patch-Management zum Schließ;en von erkannten Schwachstellen in Standardprodukten.

Angriffe, die auf Webanwendungen abzielen, werden mit diesen Maß;nahmen nicht oder nur ungenügend abgewehrt. Denn die Angreifer nutzen typischerweise die erlaubten Netzwerkverbindungen des Benutzers zur Webanwendung, sodass auf Infrastrukturebene keine Unregelmäß;igkeiten zu erkennen sind. Kriminelle zielen hierbei nicht nur auf die eingesetzten Betriebssysteme oder Standardprodukte, sondern überwiegend auf Schwachstellen bei der Verarbeitung von HTTP-Nachrichten durch die Webanwendung selbst ab.

Und diese Angriffe liegen im Trend. Die Ergebnisse des IBM X-Force Annual Report 2008 zeigen, dass 55 Prozent aller Schwachstellen in Software oder Softwarekomponenten sich auf Webapplikation auswirken. Hinzu kommen Fehler im eigentlichen Programmcode, in der Businesslogik oder aufgrund ungenügender Validierung von Daten. Die häufigsten Angriffsverfahren dabei sind SQL-Injection mit 40 Prozent und Cross-Side-Scripting (XSS) mit 28 Prozent.

SQL-Injection Schwachstellen können auftreten, wenn die Webapplikation dynamisch SQL-Abfragen aus den Inputdaten der Benutzer generieren. Ohne entsprechende Validierung der Parameter können Befehle auf der Datenbank ausgeführt oder Inhalte gelesen und manipuliert werden. Dasselbe Prinzip ist auch auf andere Backend-Systeme wie LDAP, SSI oder XPath übertragbar.

Bei Cross-Site-Scripting (XSS) wird das Vertrauen des Benutzers in die Webapplikation ausgenutzt, um die anfällige Webapplikation als Medium für einen Angriff zu nutzen. Dabei kann der Angreifer zum Beispiel über einen manipulierten Link Script-Code (meistens Java Script) im Web-Browser des Benutzers zur Ausführung bringen. XSS ist grundsätzlich immer dann möglich, wenn Benutzereingaben von der Webapplikation, wie beispielsweise bei einer Suchfunktion, verarbeitet werden.

Durch die relativ einfache Umsetzung dieser Angriffe und die freie Verfügbarkeit von Tools im Internet, können Angreifer ohne groß;es Fachwissen erheblichen Schaden anrichten, wie:

-Identitätsdiebstahl, um unter falscher Identität Aktionen, wie Wareneinkäufe, Veröffentlichungen von Informationen oder Geldtransaktionen durchzuführen.

-Offenlegung vertraulicher Daten (u.a. personenbezogene Daten oder Kreditkartennummern)

-Imageverlust und Vertrauensverlust der Kunden, wenn Angriffe gegen die Webapplikation publik werden.

-Störung der Verfügbarkeit bis hin zum kompletten Ausfall der Webapplikation. Dies kann zum Erliegen wichtiger Geschäftsprozesse und damit zu finanziellen Schäden führen.

-Unwissentliche Verbreitung von schadhaften Programmen durch die Webapplikation und damit Schädigung anderer.

Zur erfolgreichen Abwehr von Angriffen auf Webapplikationen sind Unternehmen gut beraten, die IT- und Informations-Sicherheit auf der Applikationsebene zu verstärken. Dies beginnt mit der sicheren Entwicklung von Webanwendungen. Bereits während des Designs der Anwendung ist eine "Bedrohungsanalyse" sinnvoll, die Angriffspotenziale und Bedrohungen identifiziert und eine Definition erster IT-Sicherheitsanforderungen an die Anwendung selbst und an die Einsatzumgebung ermöglicht. Dabei sollten im ersten Schritt, die Entwickler mit den Grundprinzipien der Informations- und IT-Sicherheit, durch das Aufzeigen potenzieller Quellen für Schwachstellen, vertraut gemacht werden.

Zu den Grundlagen sicherer Entwicklung von Webapplikationen gehört beispielsweise, dass Benutzereingaben nicht getraut werden darf. Dazu zählen auch Browser- und andere Informationen, die durch einen Angreifer manipuliert werden könnten. Zudem sollten bei der Validierung von Daten, soweit möglich, nur explizit zulässige Zeichen verwendet werden (Whitebox-Verfahren). Desweiteren können durch die Nutzung von vorbereiteten Anweisungen, sogenannte Prepared-Statements, beim Ansprechen von Backendsystemen, wie Datenbanken oder LDAP-Systemen, Injection-Schwachstellen verhindert werden.

Die sichere Codierung von Webanwendungen alleine reicht nicht für umfangreiche Informations- und IT-Sicherheit aus. Die IT- und Informations-Sicherheit sollte integraler Bestandteil der Tests, der Qualitätssicherung und der Inbetriebnahme von Webapplikationen sein. Denn durch Code-Review und Penetrationstests lassen sich viele Schwachstellen frühzeitig erkennen und somit rechtzeitig vor der Produktivsetzung beheben. Damit einheitliche Sicherheitsstandards im Unternehmen etabliert werden können, liegt es in der Verantwortung der Security-Abteilung, vor der Inbetriebnahme von neuen oder geänderten Anwendungen, Prüfungen durchzuführen und die Freigabe zu erteilen.

Darüber hinaus erweisen sich weitere regelmäß;ige Penetrationstests unter Zuhilfenahme von hochentwickelten Prüfwerkzeugen (App Scan Tools) im laufenden Betrieb als unerlässlich. Diese Penetrationstests helfen Schwachstellen in der Webapplikation zu entdecken, bevor es ein Angreifer tut. Da kriminelle Hacker immer neue Angriffsstrategien entwickeln, indem sie stets neue Schwachstellen aufdecken, ist eine regelmäß;ige Wiederholung der Tests wichtig. Jedoch ist bei der Durchführung und Auswertung von Penetrationstests spezielles Security-Know-how erforderlich. Dies kann ein Unternehmen selektiv durch gut ausgebildete und zertifizierte Security-Consultants einkaufen. Parallel dazu ist es aber sinnvoll, das eigene Personal mit entsprechendem Fachwissen auszustatten und zu qualifizieren. So können sie dann eigenständig im laufenden Betrieb die notwendigen Sicherheitsschritte einleiten und kontrollieren.

Zu den neuen Entwicklungen im Bereich IT-Sicherheit gehören Web-Applikation-Firewalls (WAF). Diese sind in der Lage HTTP- und XML-Nachrichten auf invalide und schadhafte Bestandteile zu untersuchen. Zudem können Web-Application-Firewalls die Aufgaben der Autorisierung, Verschlüsselung und Signierung übernehmen. Durch den vorgelagerten Einsatz einer WAF können beispielsweise Validierungs- und Filterprobleme zentral für mehrere Webapplikationen gelöst werden. Schwachstellen in der Businesslogik der Anwendung können durch den Einsatz von WAF jedoch nicht verhindert werden. Dies kann nur durch eine sichere Anwendungsentwicklung erreicht werden. Damit die WAF ihre Wirkung entfalten kann, muss jedoch die Verschlüsselung für die Filterung unterbrochen werden.

Um schnell auf neu entdeckte Angriffe und Schwachstellen reagieren zu können, muss der Betrieb der Webapplikationen in den Information-Security-Managemenprozess des Unternehmens eingebunden sein. Ein Computer-Emergency-Response-Team (CERT) wertet aktuelle Meldungen aus und leitet gezielt relevante Informationen an die Betriebsabteilungen weiter. Falls Schwachstellen der Webapplikation entdeckt werden, reicht es meist nicht die Korrekturauslieferung, also den Patch zu den eingesetzten Standardprodukten einzuspielen. Die Fehlerbehebung muss in der Anwendung selbst - demnach im eigentlichen Programmcode oder in der Businesslogik - durchgeführt werden. Eine gute Reaktionsfähigkeit erreicht man jedoch nur, wenn Entwickler, die entsprechendes Sicherheits-Know-how haben, zeitnah eingebunden werden können, um diese Fehler nachhaltig zu beheben.

Und zu guter Letzt: Der Nutzer von Webanwendungen spielt auch eine entscheidende Rolle. Viele Angriffe auf Webapplikation werden möglich, weil Nutzer unachtsam oder unwissend auf Links in nicht vertrauenswürdigen SPAM-Mails oder auf unbekannten Webseiten klicken. Die nötige "Security-Awareness" kann nur durch Information und Aufklärung der jeweiligen Nutzer erreicht werden. Darüber hinaus muss der Umgang mit dem Thema innerhalb eines Unternehmens durch IT-Sicherheitsrichtlinien geregelt und je nach Unternehmenskultur mehr oder weniger restriktiv gestaltet werden.

Keine Frage, Web-Applikationen sind nützliche Tools, die vieles ermöglichen und vereinfachen. Sie bergen jedoch auch Risiken, deren Konsequenzen in keinem Verhältnis zum Nutzen und dem Wert dieser stehen. Das bedeutet nicht, dass wir auf sie verzichten sollten oder müssen. Wir können vom Service der Web-Anwendungen weiterhin profitieren, so lange wir dafür sorgen, dass sie sicher sind. Es gilt daher, IT- und Informations-Sicherheit zum integralen Bestandteil bei Design, Implementierung und Betrieb von Webanwendungen zu machen. Dazu gehören die sichere Codierung von Webanwendung, Penetrationstests, Einsatz von App Scans und Web Application Firewalls, die Umsetzung von Information Security Management Prozessen, sowie das Schaffen eines höheren Sicherheits-Bewusstseins bei Entwicklern und Nutzern. Sie würden schließ;lich auch kein Auto am Berg abstellen und die Handbremse nicht anziehen, oder?

(Autor: Dr. Stefan Blum, CISSP & Hendrik Vagts)

RSS Feed

Hat Ihnen der Artikel gefallen?
Abonnieren Sie doch unseren Newsletter und verpassen Sie keinen Artikel mehr.

Mit einem * gekennzeichnete Felder sind Pflichtfelder!

CAPTCHA
Diese Frage stellt fest, ob du ein Mensch bist.

Neuen Kommentar schreiben

Entdecken Sie die Printmagazine des WIN-Verlags