SOAP Facts

This document provides facts related to XML SCHEMA for usage in the written part of my diploma thesis.

General

  • Simple Object Access Protocols
  • ist ein XML-Dialekt [Mü02]
  • independent of the underlying communication layers [On02]
  • definiert ein Rahmenwerk für die Übertragung von XML-Nachrichten über ein standardisiertes und anerkanntes Transportprotokoll[Mü02]
  • generally bound to HTTP, which already has SSL for authentication and confidentiality [On02]
  • many different communications technologies (f.e. HTTP, SMTP ...) can be used in the context of one multihop SOAP message [On02]
  • security information must persist inside the SOAP-Message [On02]

CONTRAs

Article foundFact
XML / SOAP Web Services Security [Mü02]
  • die Daten werden durch die Firewall durchgelassen (Port 80 bzw. 443)
  • man kann aber Firewalls oft so konfigurieren, dass sie SOAP Nachrichten generell blocken
  • man muss sich den Inhalt der Nachrichten genauer angucken und auswerten
  • Web Services bieten aufgrund ihrer unfangreichen Funktionalität eine große Angriffsfläche für Hacker

PROs

Article foundFact
MOSTLY ALREADY MENTIONED IN THE GENERAL-SECTION!
Sicherung von Web Services durch Firewalls [JZ03] Das SOAP v1.2 Protokoll -- Protokollunabhängigkeit:

SOAP-Message-Structure

Article foundFact
XML / SOAP Web Services Security [Mü02] SOAP-Envelope:

Sicherung von Web Services durch Firewalls [JZ03] Das SOAP v1.2 Protokoll -- struktureller Aufbau:

Why SSL isn't enough?

Article foundFact
Web Service Security [On02]
  • [...] independent of the underlying communications layers. Many different communications technologies can be used in the context of one multihop SOAP message; for example, using HTTP for the first leg, then SMTP for the next leg, and so forth. End-to-end security cannot therefore rely on a security technology that presupposes one particular communications technology
  • [...] transport-level security only deals with the originator of the SOAP request. SOAP requests are generated by machines, not by people. If the Web Service wishes to perform security based on the end user, it must have access to authentication and/or authorization information about the end user on whose behalf the SOAP request is being sent.
  • (both mentioned reasons applie to SOAP-messages that are routed between Web Services too ("multiple connections"))

Protocol Stack

Article foundFact
Sicherung von Web Services durch Firewalls [JZ03]

SOAP and Firewalls

Article foundFact
Sicherung von Web Services durch Firewalls [JZ03]
  • Herausforderungen:
    • SOAP ist protokollunabhängig

      => Dieselben Inhalte können in verschiedene Protokolle verpackt sein
    • SOAP ist selbst ein Protokoll

      => Auswertung der SOAP-Header
    • SOAP ist XML und damit Text

      => Neue Art von Angriffen (konkret Denial-of-Service-Attacken) denkbar
    • Gültiges SOAP allein ist nicht genug ...

      => Schemagültigkeit nicht immer hinreichend
  • Ansätze:
    1. Keine Überladung des WWW-Ports
    2. Einbezug der SOAP-Kommunikationssemantik
    3. Überwachung des TCP-Verkehrs (etwa der Window Size)
    4. IP-Adressen-basierte (Basis-)Authentisierung
    5. Authentisierung und Autorisierung über SOAP-Inhalte

      (z.B. WS-Security konforme Signatur- und Verschlüsselungsheader)
    6. XML-agnostische Prüfung von Body-Inhalten

      (reguläre Ausdrücke)
    7. XML-basierte Validierung (Nutzung von (restriktivem) XML-Schema)
    8. Keine Nutzung von SOAP-Implementierungen die programmiersprachliche Reflektionsmechansimen ausbeuten!
  • "SOAP-Firewalls"
    • Derzeit: Idee oder Vision
    • Kaum (ausgereifte) Produkte
    • Integration mit bestehenden XML-Sicherheitsstandards wünschenswert
    • Grundsätzliche Entscheidung:
      • Erweiterung einer "klassischen" Firewall
      • Zusätzliche Firewall(-schicht)