Klassische Angriffsmethoden

Schutz von Webshops und E-Commerce-Lösungen

13.02.2009 von Peter Höpfl
Webshops und Web-Applikationen sind ein zentrales Element zur Kommunikation mit Kunden. Doch da die frei zugänglichen Webseiten im Hintergrund auf sensible Geschäftsdaten zugreifen, stellen sie ein lohnendes Ziel für Hacker dar.

Mit direkten Angriffen über das Netzwerk haben Hacker heute nur noch bei Home-Anwendern eine Chance. Zugriffe auf interne Firmendaten werden über Firewalls, Intrussion Prevention und eine Kapselung der Netzwerke zuverlässig verhindert. Aber mit Webshops und Web-Applikationen bieten Firmen eine neue Angriffsfläche an.

Meist greifen die Web-Anwendungen auf sensible Datenbanken wie den Kundenstamm samt Bankverbindung und Kreditkartennummer zu. Gelingt es einem Angreifer, über Schwachstellen im Browser oder in der Anwendung in die Datenbank einzudringen, ist nicht nur der Imageschaden groß. Im Folgenden zeigen wir die wichtigsten Einfallsvektoren für Angriffe aus dem Internet und bieten Lösungen zum Schutz.

Phishing

Das Versenden von Phishing-Mails zählt zu den populärsten Methoden, um vertrauliche Daten in E-Commerce-Infrastrukturen und Online-Bezahlsystemen auszuspionieren - und zu missbrauchen. Vor allem Mittelständler, die über keine dedizierte IT-Sicherheitsabteilung verfügen, geraten zunehmend ins Visier von Betrügern. Der Begriff Phishing umfasst den Versand betrügerischer E-Mails mit dem Ziel, den Empfänger zur Preisgabe persönlicher Informationen zu bewegen.

Häufig sind E-Mails mit falschen Absenderadressen in ihrer Aufmachung elektronischen Nachrichten von vertrauenswürdigen Unternehmen täuschend ähnlich und enthalten einen Link, der meist direkt auf eine gefälschte Internet-Seite führt. Abgefischt werden neben aktuellen Zugangs- und Transaktionsdaten Informationen zur Identität - etwa Geburtsdatum, Anschrift und Führerscheinnummern - sowie Konto- und Kreditkartendaten. Phishing-Versuche sind nicht mehr so leicht zu erkennen wie früher - sich ständig wandelnde Angriffstechniken der Online-Datendiebe erschweren es erheblich, zwischen Legitimem und Gefälschtem zu unterscheiden.

Der beste Schutz vor Phishing besteht darin, grundsätzlich allen E-Mails zu misstrauen, die persönliche Daten fordern. Seriöse Firmen verlangen niemals die Eingabe von Zugangs- oder Kontodaten. Zudem sollten Mails von unbekannten Absendern nicht beantwortet und beigefügte Anhänge nicht geöffnet werden.

Was ist Cross Site Scripting (XSS)?

Das so genannte Cross Site Scripting ist eine zunehmend verbreitete Methode, Web-Applikationen anzugreifen. Dabei manipuliert ein Angreifer die Web-Anwendung so, dass sie schädlichen Skriptcode in die dem Besucher angezeigte Seite einbettet. Der Browser verarbeitet den eingeschmuggelten Code dann so, als sei es ein legitimer Inhalt der Web-Seite - mit allen entsprechenden Sicherheitsfreigaben. Ferner droht Unternehmen im Fall eines Server-Absturzes und dem damit verbundenen Datenverlust erheblicher Schaden. Denn oft fehlt ein ausgearbeiteter Krisenplan im Hinblick auf ein verlässliches Ersatzsystem zur Datensicherung, was die zeitnahe Wiederherstellung von Daten erschwert.

Was hilft gegen XSS-Attacken?

Sämtliche Informationen, die per Formulareingabe oder URL-Parameter (Uniform Resource Locator) an den Server übermittelt werden, sind zunächst auf Schadcodes zu überprüfen. Gibt ein User zur Registrierung auf einer Website etwa als Benutzernamen <script type='text/javascript'> alert('hallo');</script> ein, dürfte nach dem Senden der Formulareingabe in keinem Fall ein Dialogfenster "Hallo" statt des Benutzernamens erscheinen. Dies wäre ein eindeutiges Indiz für eine nicht geprüfte und folglich für Cross Site Scripting und eventuell sogar SQL-Injection anfällige Web-Seite.

Gerade Schwachstellen im Eingabefeld wie dem Suchformular ermöglichen es, Inhalte auszutauschen oder schädlichen Programmcode auszuführen, um den Benutzer zu täuschen und so an seine Zugangsdaten oder Kontoinformationen zu gelangen. Mit einem Web-Scanner lassen sich Web-Seiten einfach auf XSS-Lücken abklopfen.

Wie lassen sich Session-Hijacking und SQL-Injection verhindern?

Viele Web-Applikationen arbeiten mit Sessions, um den Nutzer nach dem Einloggen zu identifizieren. Hier hat sich der Gebrauch von GUIDs (Globally Unique Identifiers) bewährt. Dabei handelt es sich um eine 32-stellige alphanumerische Zeichenkette, die das Identifizieren der Session-ID durch Ausschnüffeln (Session-Hijacking) praktisch unmöglich macht.

Ein großer Teil der Web-Anwendungen greift auf eine SQL-Datenbank zurück. Das als SQL-Injection bezeichnete Einschleusen oder Manipulieren von SQL-Kommandos ist derzeit die von Hackern am häufigsten genutzte Angriffstechnik auf Anwendungsebene. Besonders anfällig sind fehlerhaft konzipierte Websites, deren Datenbankschnittstellen unnötig Informationen preisgeben.

Solche Schwachstellen finden sich vor allem in Anmeldeformularen oder Formularen zur Anforderung vergessener Passwörter. Um SQL-Injection vorzubauen, sollten sämtliche Zugriffe auf die Datenbank von der Web-Anwendung aus nur über so genannte Prepared Statements oder besser Stored Procedures erfolgen. Der direkte Einsatz von SQL-Befehlen hingegen sollte möglichst vermieden werden.

Welche grundsätzlichen Schutzmaßnahmen gibt es?

Ein Großteil denkbarer Angriffsszenarien lässt sich allein durch die richtige Konfiguration der Skripting-Umgebung abwehren. Dabei ist zu beachten: Je weniger Rechte und Funktionen eine Applikation voraussetzt beziehungsweise erhält, desto weniger kann schiefgehen. Im Idealfall sollte eine Webshop-Applikation auf Basis der "Secure Coding Guidelines" entwickelt sein und regelmäßig daraufhin überprüft werden.

Durch Setzen einiger Optionen und Parameter lassen sich gefährliche Funktionen abstellen beziehungsweise im Ernstfall der Schaden begrenzen. So schützt zum Beispiel das Arbeiten mit "Doppel-Opt-ins" bei der Online-Registrierung über eine E-Mail-Adresse vor Missbrauch. Hierbei erhält der Nutzer nach der Anmeldung per Mail die Aufforderung, die angegebenen Daten zu bestätigen - erst dann wird sein Account akzeptiert.

Ferner sollten Sicherheitsvorkehrungen wie das Filtern von Javascript-Codes beziehungsweise XSS, der Gebrauch von GUIDs sowie Schutzmaßnahmen gegen SQL-Injection getroffen und in alle Web-Applikationen integriert werden.

Wie lassen sich Web-Bedrohungen nachhaltig abwehren?

Um Web-Bedrohungen effektiv entgegenwirken und im entscheidenden Moment schnell reagieren zu können, sollte das Thema Sicherheit als andauernder Prozess behandelt werden und - zum optimalen Schutz der Lösung, aber auch aus Kostengründen - bereits in die Planung von E-Commerce-Projekten einfließen. Umfassende Konzepte basieren auf drei Säulen: Sicherheit innerhalb der Server-Plattform, Absicherung der Web-Anwendungen selbst sowie der sichere Umgang mit Daten innerhalb des Unternehmens.

Anspruchsvolle Konzepte betrachten Sicherheit als andauernden Prozess und basieren auf den drei Säulen: Sicherheit innerhalb der Server-Plattform, die Absicherung der Web-Anwendung selbst sowie der Umgang mit Daten innerhalb der Firma. Quelle: Atrada

Im Hinblick auf eine umfassende Sicherheit im System gilt es darüber hinaus, fremden Daten prinzipiell zu misstrauen, da sich nie ausschließen lässt, dass sie manipuliert sind. Neben der Implementierung gängiger Sicherheitsstandards und gesundem Misstrauen spielt letztendlich erhöhte Wachsamkeit, sprich: fortwährende Überwachung, eine tragende Rolle.

Was ist bei der Absicherung der Server-Plattform zu beachten?

Die Sicherheit von Server und Netz bilden das Sicherheitsfundament einer Web-Anwendung. Grundsätzlich gilt es, die Server-Plattform in mehrere Zonen aufzuteilen - und selbstverständlich eine Firewall einzusetzen. Dabei sollten nur Web-Applikations-Server direkt mit dem Internet verknüpft werden.

Bei allen anderen Systemen, die nicht unmittelbar vom User angesprochen werden - beispielsweise dem Datenbank-Server - ist eine Web-Verbindung zu vermeiden. Nur so lässt sich das Angriffsrisiko verringern. Gelangt ein Angreifer beispielsweise an Login-Daten eines Datenbank-Servers, sind sie für ihn wertlos, solange er nach der Devise der geringsten Privilegien keinen Zugriff auf den Server erlangt.

Darüber hinaus gelten heute regelmäßige Software-Updates als unabdingbarer Standard, um sich vor Angriffen von außen zu schützen. Auch sollten auf den eingesetzten Systemen nur für den Betrieb zwingend erforderliche Dienste laufen: Je weniger "Default"-Anwendungen aktiviert sind, desto kleiner die potenzielle Angriffsfläche.

Inwieweit sind die eigenen Mitarbeiter gefordert?

Der richtige Umgang mit sicherheitsrelevanten Themen im Unternehmen selbst wird oft vernachlässigt, ist zum eigenen Schutz jedoch unabdingbar. Daher gilt es, die Zugriffsberechtigung auf Kundendaten für jeden Mitarbeiter klar zu regeln - und zwar nach der Devise: "Weniger ist mehr". Je weniger Personen hier Einblick haben, desto eher sind die Informationen vor unbefugtem Zugriff geschützt.

Vor diesem Hintergrund empfiehlt es sich zum einen, einen Zugriffsschutz von innen zu installieren, zum anderen, die erfolgten Zugriffe mit Hilfe von Spezialsoftware zu protokollieren. Auf diese Weise lassen sich Änderungen in den Bestandsdaten jederzeit nachvollziehen. (ala)

Dieser Artikel basiert auf einem Beitrag unserer Schwesterpublikation Computerwoche.