Sicherheit bei Webservices

Sicherheitsrisiko SOAP und HTTP

Die meisten Webservices verwenden zum Nachrichtenaustausch SOAP (Simple Object Access Protocol). SOAP ist ein mit XML-Syntax arbeitendes Kommunikationsprotokoll für Webservice-Anwendungen, die Dienste nachfragen oder anbieten. Das Protokoll verwendet als Transportmedium in erster Linie HTTP und ist unabhängig von der verwendeten Programmiersprache sowie dem jeweiligen Betriebssystem.

SOAP als Kommunikationsprotokoll und HTTP als Transportprotokoll unterstützen in ihrer Basisform keinerlei Sicherheitsmechanismen, da die Zielsetzung bei der Festlegung des Standards Einfachheit war. Der Nachteil: Sämtliche Daten werden im Klartext übermittelt, so dass jeder den HTTP-Verkehr, also auch die transportierten SOAP-Nachrichten, mitlesen kann. Beide Protokolle bieten auch keine Konzepte für die Anforderungen im Bereich Authentifizierung, Autorisierung und Datenintegrität.

Ein zusätzliches Sicherheitsproblem entsteht durch die Übertragung von Informationen und Anfragen an Webservices über HTTP. Da der HTTP-Verkehr normalerweise über den Port 80 einer Firewall übertragen wird, können Angriffe an der Firewall vorbeigeleitet werden. Die Manipulation eines HTTP-GET- oder POST-Parameters stellt aus der Sicht der Anwendung einen Angriff dar, aus Firewall-Sicht handelt es sich aber um eine legale HTTP-Transaktion. Die Schwäche entsteht durch die Möglichkeit der Programmsteuerung über SOAP-Nachrichten, die an der Firewall vorbeigeschleust werden. Dies kann zu Datenspionage, Datendiebstahl oder zur Störung des Betriebs von Anwendungen führen.