Sichere C/S-Architektur für E-Government (Fortsetzung)
- Sichere C/S-Architektur für E-Government
- Sichere C/S-Architektur für E-Government (Fortsetzung)
- Sichere C/S-Architektur für E-Government (Fortsetzung)
- Sichere C/S-Architektur für E-Government (Fortsetzung)
Angriffs-Szenarien
Um die Anwendung per Internet bereitstellen zu können, wird diese als HTML-Lösung mit einer mehrschichtigen Softwarearchitektur umgesetzt, die den Vorgaben des SAGA-Standards (SAGA = Standards und Architekturen für E-Government-Anwendungen) entspricht. Als Client-Schicht, die für die Interaktion mit dem Benutzer zuständig ist und die direkte Schnittstelle zum Anwender bildet, werden Standard-HTML-Browser verwendet.
Die Aufbereitung der Anwendungsdaten, die Steuerung der Benutzerschnittstelle und der Seitenübergänge erfolgt in der Präsentationsschicht. Die eigentliche Fach- oder Anwendungslogik ist in der Mittelschicht realisiert. Sie beherbergt die zentrale Programmablaufkontrolle und stellt Zugriffsfunktionen auf das Antragssystem bereit. Die Antragsdaten werden wiederum in einer SQL-Datenbank gehalten, welche die Persistenzschicht des Systems darstellt.
Zu den typischen Angriffsformen auf derartige Web-Anwendungen zählen das »Cross-Site Scripting« und die »SQL-Injection«, das heißt das Einschleusen von Befehlszeilen, die betrügerische Aktionen auslösen.
Beim Cross-Site Scripting (XSS) wird eine Sicherheitslücke dergestalt ausgenutzt, dass Informationen aus einem nicht vertrauenswürdigen Kontext in einen anderen Kontext eingefügt und dort als vertrauenswürdig eingestuft werden. Aus diesem vertrauenswürdigen Kontext kann dann ein Angriff gestartet werden. Die Bezeichnung Cross-Site leitet sich von der Art ab, wie diese Attacke Webseiten-übergreifend ausgeführt wird. So steht beispielsweise auf einer vom Angreifer kontrollierten Seite ein präparierter Hyperlink, der zur vermeintlich vertrauenswürdigen Website einer meist ahnungslosen dritten Partei führt.
Ein ähnliches Manipulations-Muster stellt die Eingabe von Angriffsbefehlen an nachgelagerte Systeme oder das Betriebssystem dar, beispielsweise das Einschleusen von manipulierenden SQL-Abfragen in Web-Server-Eingabefelder, womit dann bestimmte Datenbank-Felder unter Kontrolle gebracht werden (siehe Kasten Seite 36).