Suchen

Gefahr durch Cross Site Scripting und SQL Injection Webanwendungen vor Command Execution und Client-seitigen Angriffen schützen

| Autor / Redakteur: Dr. Stefan Blum, (ISC)²-zertifizierter CISSP, und Hendrik Vagts, IBM Global Business Services / Stephan Augsten

Webapplikationen können den geschäftlichen und privaten Alltag erheblich vereinfachen. Dabei werden die funktionalen Aspekte der Sicherheit meist übergeordnet. Dadurch wird es Kriminellen leicht gemacht, Angriffe zu initiieren und sensible Daten zu stehlen. Dieser Beitrag beleuchtet gängige Angriffsszenarien und stellt mögliche Sicherheitsmaßnahmen vor.

Firmen zum Thema

Webanwendungen lassen sich schon während der Design- und Entwicklungsphase absichern, müssen aber nachträglich immer wieder angepasst werden.
Webanwendungen lassen sich schon während der Design- und Entwicklungsphase absichern, müssen aber nachträglich immer wieder angepasst werden.
( Archiv: Vogel Business Media )

Web-basierte Anwendungen wie Online-Banking, Internet-Shops und soziale Netzwerke werden von immer mehr Menschen genutzt. Das „Netz“ ist ein fester Bestandteil des alltäglichen Lebens geworden, um Berufliches oder Privates zu organisieren.

Mal davon abgesehen, dass etliche Nutzer der Web-2.0-Dienste nachweislich viel zu offen mit ihren persönlichen Informationen umgehen, steht auch bei den Betreibern die Sicherheit nicht immer an erster Stelle. Dabei zeigen die Ergebnisse des IBM X-Force Annual Report 2008 zeigen, dass 55 Prozent aller Schwachstellen in Software oder Software-Komponenten sich auf Webapplikation auswirken.

Angreifer haben diesen Trend erkannt und initiieren ihre Attacken immer öfter über webbasierte Anwendungen. Die meisten Angriffe lassen sich in der Praxis in die Kategorien Command-Execution und Client-seitige Attacken unterteilen.

Command Execution

Unter Command-Execution versteht man die Ausführung von Befehlen auf dem Web,- oder Applikationsserver oder den nachgelagerten Backend-Systemen. In den meisten Fällen werden dabei SQL-Injection-Schwachstellen ausgenutzt. Diese ermöglichen es einem Angreifer, beliebige SQL-Abfragen in der jeweiligen Datenbank durchzuführen.

In der Regel können die SQL-Injection-Schwachstellen darauf zurückgeführt werden, dass viele Webapplikation dynamische SQL-Abfragen durch die Eingabedaten des Benutzers generieren, ohne dabei die eingegebenen Parameter entsprechend zu überprüfen. Erfolgreiche SQL-Injection-Angriffe können weitreichende Folgen haben:

  • Auslesen der gesamten Datenbank-Inhalte, die unter Umständen sensible Informationen enthalten.
  • Vollständige Manipulation der Web-, Applikations,- und Backend-Server sowie evtl. der gesamten Datenbestände.
  • Einschleusen und Speichern von Schadsoftware wie Viren und Trojaner, die bei einem Aufruf der Webapplikation den PC des Users infizieren können.

Client-seitige Angriffe

Bei sogenannten Client Side Attacks wird die Webapplikation als Medium genutzt, um an sensible Daten des Users zu gelangen. Der eigentliche Angriff erfolgt dann auf dessen PC.

Ein prominentes Beispiel solcher Angriffe ist das so genante Cross Site Scripting (XSS). Dabei wird ein eingeschleuster Script-Code im Browser des Users ausgeführt. Ein Link einer scheinbar vertrauenswürdigen Anwendung verleitet den unwissenden User zu einem Klick mit negativen Folgen.

Urch Betätigung des Links wird eine vertrauenswürdige Webapplikation aufgerufen und gleichzeitig der Script Code des Angreifers versteckt an die Webapplikation gesendet. Falls die Webapplikation keine entsprechende Validierung der Rückgabedaten durchführt, gelangt der Script Code des Angreifers ungefiltert an den Web-Browser des Users, wo er dann im Kontext der Webapplikation ausgeführt wird.

XSS ist grundsätzlich immer dann möglich, wenn Benutzereingaben von der Webapplikation, beispielsweise einer Suchfunktion, verarbeitet werden. Am häufigsten werden diese Angriffe eingesetzt, um die Login-Daten eines Users oder andere Authentifizierungsmerkmale auszuspähen.

In diesem Fall kann der Angreifer beispielsweise auf der Rechnung derjenigen einkaufen, deren Daten ausgespäht wurden, oder einen Zugang zum Online-Banking und somit zu Bankdaten und Transaktionsfunktionen erhalten

Seite 2: Schutz vor Server- und Client-seitigen Angriffen

(ID:2022424)