Sicherheit ist und war schon immer ein menschliches Grundbedürfnis. Doch in einer Gesellschaft, die immer stärker abhängig wird von funktionierender Informations- und Kommunikationstechnik, steigt das Bedürfnis nach Sicherheit noch weiter an. Nicht zuletzt durch die Entwicklung der modernen Wirtschaft hin zu mehr Dienstleistungen, und der monetären Bewertung von Informationen und Know-how. Einem modernen Unternehmen, das all sein Wissen in einem modernen Portal als „Single Point of Access“ seinen Mitarbeitern zur Verfügung stellt, kann ein erheblicher, wenn nicht sogar existenzieller Schaden drohen, sollte es Fremden gelingen an diese Informationen zu gelangen und sie z. B. der Konkurrenz zugänglich zu machen. Je komplexer und aufwendiger die Anwendungen werden, und je besser diese über Internet etc. erreichbar sein sollen, desto größer wird die Angriffsfläche für Datendiebstahl und -Manipulation.
Inhaltsverzeichnis
1 Security! Sicher?
2 Application Security
2.1 Definition
2.2 Hindernisse
2.3 Lösungen
2.3.1 Grundsätze
2.3.2 Application Design
2.3.3 Application Testing
3 Application Security Exploits
3.1 Cookie Poisoning
3.1.1 Cookies
3.1.2 Ablauf
3.1.3 Lösungen / Schutz
3.2 Cross-Site Scripting
3.2.1 Ablauf
3.2.2 Lösungen / Schutz
3.3 SQL-Injection
3.3.1 SQL
3.3.2 Ablauf
3.3.3 Lösungen / Schutz
4 Application Security Software
4.1 Varianten
4.2 Beispiel AirLock
4.2.1 Aufbau
4.2.2 Lösungen / Funktionen
5 Fazit / Ausblick
Zielsetzung und thematische Schwerpunkte
Die Arbeit untersucht die Herausforderungen der Sicherheit bei modernen Web-Applikationen, da herkömmliche Schutzmaßnahmen wie Firewalls auf Applikationsebene oft wirkungslos sind, und zeigt Strategien sowie softwarebasierte Lösungsansätze auf.
- Grundlagen und Hindernisse der Application Security
- Analyse der gängigsten Exploits (Cookie Poisoning, XSS, SQL-Injection)
- Methoden zur Absicherung während des Software-Entwicklungszyklus
- Einsatz von Application Security Gateways am Beispiel von AirLock
- Strategien zur Schadensbegrenzung durch Rechte-Management
Auszug aus dem Buch
3.3.2 Ablauf
Hinter Eingabefeldern, die auf Datenbanken zurückgreifen stehen meist im Applikations-Code aus Strings zusammengesetzte SQL-Kommandos, wie z. B. SELECT author, subjekt, text FROM artikel WHERE ID=42
Anstatt der 42 könnte im Code eine Variable stehen, die durch einen Parameter in der URL festgesetzt wird. Z. B. http://webserver/cgi-bin/find.cgi?ID=42
In der URL steht dieser Wert von 42 womöglich, weil aus einer Artikelliste der Artikel mit der Nummer 42 ausgewählt wurde und nun angezeigt werden soll.
Zur SQL-Injection hängt man nun an die 42 in der URL noch weiteren Code an, um an den SQL-Befehl einen weiteren anzuhängen. Z. B. http://webserver/cgi-bin/find.cgi?ID=42;UPDATE%20USER%20SET%20TYPE="admin"%20WHERE%20ID=23
Das Semikolon beendet den ersten Befehl, so dass der zweite beginnen kann, während „%20“ für ein Leerzeichen steht. Im Code der Applikation wird der SQL-Befehl dann folgendermaßen zusammengesetzt: SELECT author, subjekt, text FROM artikel WHERE ID=42; UPDATE USER SET TYPE="admin" WHERE ID=23
Somit wird ein zusätzlicher Befehl auf der Datenbank ausgeführt, der einem User z. B. Administratoren-Rechte zuweist.
Doch dies ist nur eine Beispielhafte Variante, wie Daten in einer Datenbank verändert werden können. Mit angehängten Befehlen, wie „GO EXEC cmdshell(’format c’)“ können auch die Web-Server selbst manipuliert werden, indem man auf ihnen Programme oder Befehle laufen lässt, oder sogar jeden beliebigen Code (je nachdem wie der Server gesichert ist und welche SQL-Befehle er erlaubt)28.
Zusammenfassung der Kapitel
1 Security! Sicher?: Dieses Kapitel beleuchtet das wachsende Sicherheitsbedürfnis in einer zunehmend digitalisierten Wirtschaft und die damit einhergehende Vergrößerung der Angriffsflächen.
2 Application Security: Es wird definiert, warum klassische Netzwerk-Sicherheitslösungen für Applikationen nicht ausreichen und welche organisatorischen sowie entwicklungsspezifischen Hindernisse existieren.
3 Application Security Exploits: Dieses Kapitel beschreibt technische Angriffsszenarien wie Cookie Poisoning, Cross-Site Scripting und SQL-Injection sowie deren spezifische Funktionsweisen und Schutzmechanismen.
4 Application Security Software: Hier werden unterschiedliche Software-Konzepte zur Absicherung vorgestellt und die Funktionsweise eines dedizierten Gateways anhand des Produkts AirLock erläutert.
5 Fazit / Ausblick: Der abschließende Teil reflektiert die technologische Entwicklung im Verhältnis zur Gesetzgebung und betont die Notwendigkeit einer sicherheitsbewussteren Softwareentwicklung.
Schlüsselwörter
Application Security, Netzwerksicherheit, Cookie Poisoning, Cross-Site Scripting, XSS, SQL-Injection, Threat Modeling, Input-Validation, AirLock, Session Hijacking, Datendiebstahl, Software Appliance, IT-Sicherheit, Code-Schwachstellen, Web-Applikationen
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit der Sicherheit von Web-Applikationen und den technischen Schwachstellen, die durch den Einsatz moderner IT-Infrastrukturen entstehen.
Welche zentralen Themenfelder werden behandelt?
Die Themenfelder umfassen die Definition von Application Security, die Analyse von häufigen Exploits sowie den Einsatz von spezialisierter Sicherheitssoftware.
Was ist das primäre Ziel der Untersuchung?
Ziel ist es, Entwickler und Unternehmen für die Notwendigkeit aufzuzeigen, Sicherheit bereits in der Designphase einer Applikation zu berücksichtigen, statt sich nur auf externe Firewalls zu verlassen.
Welche wissenschaftlichen Methoden werden verwendet?
Es werden eine Literaturanalyse zum Stand der Technik sowie eine fallbasierte Untersuchung bekannter Angriffsmuster (Exploits) und deren Abwehrmöglichkeiten durchgeführt.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in die theoretischen Grundlagen, die detaillierte Analyse spezifischer Schwachstellen (Cookie Poisoning, XSS, SQL-Injection) und die Vorstellung von Schutzsoftware-Lösungen.
Durch welche Schlüsselwörter lässt sich die Arbeit charakterisieren?
Die zentralen Schlagworte sind Application Security, SQL-Injection, Cross-Site Scripting, Cookie Poisoning und IT-Sicherheit.
Wie unterscheidet sich die Absicherung durch AirLock von einer normalen Firewall?
AirLock fungiert als Application Security Gateway, das nicht nur den Netzwerkverkehr filtert, sondern aktiv Benutzersessions authentifiziert und den Datenverkehr auf Applikationsebene auf Angriffe hin überprüft.
Warum ist eine nachträgliche Absicherung von Software oft problematisch?
Nachträgliche Sicherheitsanpassungen im Code sind laut der Arbeit mit einem deutlich höheren Kosten- und Zeitaufwand verbunden als eine von Beginn an sicherheitsorientierte Softwarearchitektur.
- Quote paper
- Florian Biehlig (Author), 2005, Application Security, Munich, GRIN Verlag, https://www.grin.com/document/47580