Web Application Security - der blinde Fleck der Internetsicherheit

12.06.2007
Wer eine Web-Anwendung betreibt, sei es nun ein Forum, ein Shop oder ein Extranet für Geschäftspartner, muss allein schon aus Compliance-Gründen für Sicherheit sorgen. Doch allzu häufig fehlt es an dedizierten Sicherheitsbeauftragten und entsprechenden Verfahren.

Wer denkt, seine Web-Anwendung sei sicher, irrt meistens. Viele E-Business-Unternehmen beschäftigen zwar dedizierte Spezialisten für die Sicherheit, diese kümmern sich jedoch hauptsächlich um Netzwerk-Fragen. Die Web-Applikationen liegen dabei wie ein blinder Fleck außerhalb des Gesichtsfeldes.

Dabei gäbe es allen Grund zur Vorsicht: Aktuelle Studien wie der Report von Forrester Research zur IT-Security in Europa 2007, die Studie von Steria Mummert oder der Symantec-Sicherheitsbericht warnen, dass die meisten Angriffe im Netz auf Web-Anwendungen abzielen – viele Unternehmen sind sich der Gefahr aber nicht bewusst.

Bei Online-Banking-Angeboten ersetzen Phishing-Angriffe, SQL-Injections oder Man-in-the-Middle-Attacken den konventionellen Bankeinbruch, bei Web-Shops gehen Web-Kriminelle mit fremden Identitäten auf Shopping-Tour und bei Partnerportalen werden unter Umständen Planungsdaten für neue Produkte ausspioniert.

Wichtig zu wissen: Web-Anwendungen benötigen speziellen Schutz. Klassische Schutzwälle wie Firewalls, Reverse Proxys oder Intrusion-Detection-Systeme greifen hier zu kurz. Die Lösung sind spezielle „digitale Türsteher“ – sogenannte Web Application Firewalls (WAFs) – die bildlich gesprochen nicht nur die „Ausweise“, sondern auch die „Taschen“ eingehender Anfragen kontrollieren.

Wer sichert die Web-Applikation?

IT-Security-Verantwortliche kümmern sich um die Netzwerk-Sicherheit, Systemadministratoren um den Betrieb – und Entwickler um die Bereitstellung der geforderten Funktionalitäten einer Applikation. Die Sicherheit der Web-Applikation wird dabei nur allzu oft vergessen.

Es entsteht ein „Bermudadreieck“ der Zuständigkeiten zwischen den Abteilungen. Und das Fatalste daran: Den Entscheidern ist das nicht einmal bewusst. Die einzelnen Sicherheitsbeauftragten melden, ihr jeweiliger Bereich sei sicher – und haben Recht damit. Nur wird dabei übersehen: Die teure Alarmanlage sichert den Keller, das Erdgeschoss und den ersten Stock, das Dachfenster hingegen ist offen.

Anfrage: Zwar werden die unteren Schichten der Anfrage meist geschützt, doch wer entscheidet, ob diese Überweisung legitim ist?

Analog schützen die klassischen Schutzschilde wie Firewalls, Reverse Proxys oder Intrusion-Detection-Systeme die unteren Transportschichten einer Web-Anfrage. Die höher liegende „Anwendungsschicht“ mit ihren speziellen Charakteristiken wie beispielsweise dem verwendeten Web-Framework, der speziellen Anwendungs-Logik und allen notwendigen Nutzereingaben wird nicht geprüft.

Wer schützt was: Die Prüfung der aller Schichten (Layer) bei einem eingehenden HTTP-Request.

Haften muss für dieses Loch im Sicherheitszaun die Geschäftsleitung: Das Ausspionieren kritischer Kunden- und Mitarbeiterdaten wie Preisstrategien, Bezugswege, Produktgeheimnisse oder Vertragsdaten ist nicht nur ärgerlich, sondern kann richtig teuer werden. Für gestohlene Daten oder den Missbrauch einer Website für illegale Transaktionen oder den Versand von Spam ist der Betreiber in der Pflicht (siehe Kasten am Ende des Artikels).

Branchenspezifische Angriffsszenarien

Bei den Netzfilialen von Banken und Versicherungen beispielsweise sind die begehrten Zielobjekte der Cyber-Diebe PINs, TANs, Kreditkartennummern und andere hochsensible Kundendaten, die bei Online-Transaktionen zum Einsatz kommen. Phishing und Pharming sind im Bereich der Finanzdienstleistungen immer noch akute Probleme – Deutschland ist Phishing-Hochburg Nummer eins in Europa. Und das Problem greift allmählich auf den gesamten E-Commerce über.

Ein anderer Angriffsfall: Eine Command-Injection-Attacke wirkt auf den ersten Blick wie eine harmlose Anfrage. Wenn jedoch ein Angreifer im Eingabefeld „Name“ statt des Nachnamens einen Command-Befehl eintippt und dieser Befehl akzeptiert wird, kann er auf diesem Wege ohne Berechtigung sensible Informationen aus der Datenbank abfordern. Böswillige Requests in großer Menge können sogar ganze Web-Anwendungen lahmlegen – beispielsweise wenn sie rechenintensive Datenbankabfragen auslösen.

XSS: Cross Site Scripting (XSS) bedroht Online-Banking-Angebote genauso wie Web-Shops oder Portale.

Bei „Man-in-the-Middle“-Attacken schaltet sich der Datendieb zwischen die beiden Kommunikationspartner – beispielsweise Bank und Kunde. Da er nach dem Janusprinzip jedem der beiden Teilnehmer den jeweils anderen vorspiegelt, gelingt es ihm, Datenströme an seine Adresse umzulenken. Egal, ob beim Session-Riding – der unberechtigten Übernahme einer HTTP-Session – oder dem Cross-Site-Scripting, bei dem der Browser des Benutzers angegriffen wird: Datendiebe kommen an falsche Identitäten und nutzen diese. So können sie im Namen des Geschädigten nahezu alle Geschäfte abwickeln, von falschen Überweisungen bis hin zu Dispokrediten. Es entstehen hohe wirtschaftliche Schäden sowie irreparable Image- und Vertrauensverluste.

Beliebte Zielscheibe: Web-Shops

Auch der Datendiebstahl bei Web-Shops hat es auf personenbezogene Kundendaten abgesehen. Ganz oben auf der „Wunschliste“ der Cyber-Diebe stehen Kreditkartendaten, persönliche Daten, Passwörter und Benutzernamen. Sie alle lassen sich lukrativ weiterverkaufen. Mit dem Diebstahl fremder Identitäten gehen Web-Kriminelle auf Shopping-Tour. Bevor Kunde oder Shop-Betreiber etwas merken, hat sich der Datendieb die Taschen schon auf Kosten eines anderen gefüllt. Manchmal können sogar unerwünschte Fremdinformationen in das Web-Shop-System eingeschleust und die Kunden damit getäuscht werden – beispielsweise durch die Manipulation von Preisen.

An die Existenz eines Web-Shops kann es gehen, wenn die komplette Web-Shop-Software durch einen Angriff lahm gelegt werden kann. Während der Fußballweltmeisterschaft wurden so von einigen Online-Wettbüros Schutzgelder erpresst. Und diese Form der „digitalen Schutzgelderpressung“ nimmt zu – Betrugsformen des realen Lebens verlagern sich einfach in die digitale Welt.

Hemmnisse beim Online-Shopping

600 Euro – mehr wird für den Kauf eines Artikels im Internet im Durchschnitt nicht ausgegeben. Das sagt eine Studie zum Thema „Sicherheit im Online-Handel“, die TNS Infratest durchgeführt hat. Grund für die Obergrenze: Jeder Dritte klagt über mangelndes Vertrauen in die Sicherheit.

Für viele E-Kunden ist die Weitergabe persönlicher Daten die größte Hemmschwelle im Vergleich zum Einzelhandel. Die meisten sehen das Bezahlverfahren als absoluten Nachteil des E-Commerce, so die Ergebnisse diverser Umfragen zum Online-Shopping.

Sicherheitsmängel fürchten dabei nicht nur die älteren Konsumenten: In der Altersgruppe 21 bis 30 Jahre ist das Unbehagen bei der Übermittlung privater Daten sogar am höchsten, wie Studien belegen – fast jeder zweite Befragte sieht hier einen Nachteil gegenüber dem traditionellen Handel. Auf Seiten der Web-Shop-Betreiber besteht akuter Handlungsbedarf, der nicht nur Vertrauen, sondern auch neuen Umsatz generieren kann.

Bedrohung für Kunden-, Partner- und Mitarbeiter-Portale

Ein ähnlich heikles Thema sind Intranets und Extranets, die Zugang zu Unmengen sensibler Personen- und Unternehmensdaten schaffen. Bestünde das Intranet isoliert von der Außenwelt, wäre dies weniger problematisch. Manche Bereiche des Intranets sollen jedoch bewusst von außen zugänglich sein. Dadurch ist das Intranet zum Internet hin offen. Zum Beispiel bei Partnerportalen, die vertrauliche Informationen – oft abgestuft nach unterschiedlichem Status – enthalten. Hier sind unter Umständen Produkt- oder sogar Planungsdaten von neuen Produkten verfügbar und entsprechend unternehmenskritisch.

Das Gleiche gilt für Mitarbeiterplattformen, auf denen personenbezogene Daten wie Lohnabrechnungen, aber auch Kunden- und Produktdaten in einem CRM-System gespeichert sind. Oft können Mitarbeiter aus anderen Niederlassungen per VPN (Virtual Private Network) auf die Plattform zugreifen, was dann ebenfalls über eine Verbindung per Internet läuft – auch wenn der Name der Verbindung etwas anderes suggeriert.

Bei einem Lieferantenportal, das Bestellung und Just-in-time-Lieferung wichtiger Zulieferteile koordiniert, ist eine Manipulation besonders heikel. Fällt ein solches Portal mehrere Tage aus, steht im schlimmsten Fall das Band still – mit entsprechend hohen Konventionalstrafen für den Betreiber.

Aber auch legitime Nutzer sollen nicht immer auf den gesamten Content Zugriff haben. Beispiel Partnerportal: Ein Lieferant soll selbstverständlich nicht das Benutzerkonto der anderen einsehen können – auch nicht durch Zufall. Die Kenntnis der Konditionen seiner Wettbewerber verschafft ihm einen klaren Verhandlungsvorteil – im schlimmsten Fall könnten aber auch zeitkritische Bestellungen beispielsweise bei einem Ersatzteilportal verändert werden. In letzterem Fall drohen ebenfalls Konventionalstrafen bei einer Zeitüberschreitung der Lieferung.

Skriptsprachen: Dynamisch, aber unsicher?

Sind dynamische Websites und Web-Services mit PHP programmiert, ist besondere Vorsicht geboten. Viele erfolgreiche Angriffe von außen auf einen Server laufen über das PHP-Modul des Web-Servers. Wird eine Schwachstelle in einer Open-Source-Bibliothek bekannt, kann ein Angreifer mithilfe bestimmter Suchmaschinen diejenigen Websites finden, die diese Bibliothek derzeit verwenden – und sie dann gezielt angreifen.

Dass PHP so weit verbreitet ist, erleichtert einem Angreifer sein Handwerk: Die Anwendungen werden leicht „in Serie“ attackiert. Neben den Schwachstellen, die PHP und die oben genannten Bibliotheken bieten, nutzen Angreifer vor allem Fehler beziehungsweise Schwachstellen in der Programmierung der Anwendungen.

So werden beispielsweise Eingaben des Nutzers nicht geprüft oder auf erwartete Bereiche eingeschränkt. Was passiert beispielsweise, wenn ein Hacker in das „Namen“-Feld eines Kontaktformulars eine Bilddatei eingibt? Wird diese von der Anwendung abgelehnt? Oder ist die Anwendung auf eine derartige Eingabe schlichtweg nicht vorbereitet und deshalb in einem angreifbaren Zustand?

PHP - Schnell und schmutzig?

PHP verzeiht Fehler im Code relativ großzügig – das beschleunigt die Entwicklung – und im normalen Anwendungsfall wirken sich Fehler nicht auffällig aus. Für Angreifer allerdings sehen diese Fehler aus wie große offene Tore zu einem Selbstbedienungsladen mit Daten und Informationen.

Wie lassen sich Angriffe abwenden? Eine Möglichkeit wäre es, Web-Applikationen statt schnell und dynamisch in einer Skriptsprache zu entwickeln, auf Programmiersprachen zu setzen, bei denen vor der Ausführung die Programm-Codes analysiert werden.

Damit dauert die Entwicklung allerdings wesentlich länger, was die Kosten in die Höhe treibt. Gleichzeitig wird diese Website den steigenden Anforderungen der Nutzer nach Aktualität und dynamischer Präsentation kaum genügen. Mit einer lose organisierten Sicherheitsfortbildung für IT-Administratoren oder Entwickler ist das Problem auch keineswegs gelöst. Die richtige Lösung ist gezielte Web Application Security, die effektiv umgesetzt wird.

Das Mittel der Wahl: Web Application Firewall (WAF)

Eine Software-basierte Web Application Firewall (WAF) schützt die Web-Anwendung genau in dem Moment, in dem sie für Angriffe offen ist – und Firewall & Co. an ihre Grenzen stoßen. Sie kann als Plug-in ohne großen Verwaltungsaufwand in die bestehende Sicherheitsarchitektur eines Unternehmens integriert werden – und sichert dann die Web-Anwendung, indem sie die Logik der Requests versteht, die an eine solche Anwendung gestellt werden.

Zusätzlicher Schutz: Eine Web Application Firewall (WAF) soll verhindern, dass gefährliche HTTP-Requests beim Webserver ankommen.

Ist die Anfrage, die gerade den Webserver erreicht, in diesem Zusammenhang sinnvoll? Gibt es eine gewisse Häufung auffälliger Anfragen? Entdeckt die „Türsteher“-Software solche Auffälligkeiten und Abweichungen, lässt sie den Request erst gar nicht passieren. Jede Anfrage fällt nach einem Ampel-Schema eindeutig in eine der drei folgenden Klassen: Legitime Requests erhalten ein grünes Signal, eindeutige Angriffe werden mit Rot bewertet und abgewehrt. Verfügbare Informationen werden dabei gespeichert. Ein fraglicher Request schließlich, dessen Gefährlichkeit in der vorgegebenen Kürze der Zeit nicht eindeutig zu beurteilen ist, wird bewertet und gemäß installierter Security-Policy abgelehnt oder weitergegeben.

Analyse- und Auswertungstools liefern dem Anwender Berichte gemäß den Compliance-Richtlinien. Web-Angebote aller Couleur erhalten so eine Art „Vollversiegelung“ gegen schädliche Zugriffe – gleich, ob Kontaktformular auf der Firmen-Website, Mitarbeiterportal oder Web-Shop und unabhängig von der verwendeten Skriptsprache. Angreifer können die Schwachstellen in der Programmierung einer Web-Anwendung nicht mehr ausnützen, da sie erst gar nicht bis hierhin vordringen. (mha/Richard Wieneke)

Autor: Richard Wieneke ist Head of Sales bei der art of defence GmbH, Regensburg. art of defence bietet eine Software-basierte Lösung (Web Application Firewall) für Web-Anwendungssicherheit. Das Produkt hyperguard verhindert Angriffe auf der Anwendungsebene wie Cross-Site-Scripting, Command-Injection-Attacken, Manipulationen von Sessions und vieles andere mehr. Als Plug-in kann hyperguard kostengünstig und leicht in die bestehenden Sicherheitsstrukturen integriert werden.

Richtlinien und rechtliche Regelungen zur Web-Anwendungssicherheit

In Deutschland verlangen das Datenschutzgesetz, das Gesetz zur Kontrolle und Transparenz im Unternehmensbereich (KonTraG) sowie Basel II in vielen Fällen eine persönliche Haftung des Managements. So wurde mit dem 1998 in Kraft getretenen KonTraG die Haftung von Vorstand, Aufsichtsrat und Wirtschaftsprüfern im Unternehmen erweitert.

Kern des KonTraG ist eine Vorschrift, die Unternehmensleitungen dazu zwingt, ein unternehmensweites Früherkennungssystem für Risiken einzuführen und zu betreiben sowie Aussagen zu Risiken des Unternehmens im Lagebericht des Jahresabschlusses der Gesellschaft zu veröffentlichen. Das Bundesdatenschutzgesetz schreibt vor, dass jedes Unternehmen mit zehn oder mehr Mitarbeitern, die mit der Bearbeitung personenbezogener Daten zu tun haben, einen Datenschutzbeauftragten benötigt. Die Pflichten der verantwortlichen Stelle fallen immer der Geschäftsführung zu. Trotzdem ist die Zuständigkeit oft ungeklärt.

Während die Verantwortung für die Sicherheit des Netzwerks meist klar an den IT-Security-Spezialisten delegiert ist, liegt bei der Sicherheit von Web-Anwendungen oft keine eindeutige Regelung vor – und dann haftet die Geschäftsleitung. Gut zu wissen: Der Betreiber einer Web-Anwendung trägt nicht nur die Verantwortung für eigene Systeme, sondern auch für alle an der Nutzung der Web-Anwendung Beteiligten. Wenn Mitte 2008 der Payment Card Industry Standard (PCI) verbindlich wird, könnte die Luft für E-Business-Unternehmen noch dünner werden. Denn PCI gibt Richtlinien vor, wie Firmen die vertraulichen Daten bei Online-Geschäften mit Kreditkartenzahlung zukünftig sichern müssen.