XML / SOAP Web Services Security

Slides:



Advertisements
Ähnliche Präsentationen
SOAP, nur ein neuer XML- Dialekt?
Advertisements

Security Lösungen, die Ihnen echten Schutz bieten!
Software Architektur Service­orientierte Architektur und Sicherheit
Was gibt´s neues im Bereich Sicherheit
Präsentation Der Gruppe: Boll, Barbosa, Blädel Klasse: WG 05 a.
Sichere Anbindung kleiner Netze ans Internet
für das Schulnetz der BS Roth
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
SOAP Simple Object Access Protocol
1 Allgemeine Fragestellung Suche nach wissenschaftlicher Information im Internet Quelle wird gefunden, aber… …Zugang nur gegen Passwort oder Zahlung Wiss.
Bernd Oberknapp, UB Freiburg
Erweiterung B2B Usermanagement / LDAP-Anbindung
Verschlüsselungsverfahren Gruppe 3/ Judith Neu / Stephanie Czichon
Web Services und Workflow-Steuerung
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
DOM (Document Object Model)
SOAP (Simple Object Access Protocol)
Information und Technik Nordrhein-Westfalen Single Sign On mit CAS Düsseldorf, Single Sign On für Webanwendungen am Beispiel von CAS.
JAVA RMI.
Security Manager Protocol. Physical Layer Link Layer Host Controller Interface L2CAP Attribute Protocol Attribute Profile PUIDRemote ControlProximityBatteryThermostatHeart.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Virtual Private Networks
Seminar Internet Technologien
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
SSL - Verfahren Secure Socket Layer.
Workshop: Active Directory
Seminar Praktische Informatik Web Services
Seminarleiter: Herr Prof. Klement und Herr Prof. Kneisel
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
3 Wie funktioniert TCP/IP?
Sicherheit beim Internet-Banking
27. Juni 2003 Jan Drewnak – Institut für Geoinformatik, Münster Zugriffskontrolle in Geodateninfrastrukturen Web Authentication Service (WAS) und Web Security.
SecureSocketLayer „Sicherheit in Datennetzen“
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
D I E V E R W A L T U N G D E S 2 1. J H D T ´ S F.Grandits / U.Linauer E-Government Kommunikationsarchitektur Schnittstellen für integrierte Lösungen.
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Software Architektur Service­orientierte Architektur und Sicherheit
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Folgendes kann missbraucht werden: formulare unverschlüsselte login-informationen ungeschützte includes SQL-injection reto ambühler
Präsentation von Lukas Sulzer
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Management- und Web Services- Architekturen
XML (Extensible Markup Language)
Reinhold Rumberger Web Services.
SOAP.
Die Abkürzungen des Internets
VPN – Virtual Private Network
Willkommen zum Brückensemester
->Prinzip ->Systeme ->Peer – to – Peer
Universal Plug and Play
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Welcome to Web Services & Grid Computing Jens Mache
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Virtual Private Network
Mainframe und WebServices bei der W. KAPFERER KG Einfache Internet-Lösungen in Verbindung mit vorhandenen Host-Programm-Strukturen.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
Identity Management.  Zentrale Begriffe und Probleme  Modellbildung  Methoden zur Authentisierung über HTTP  Technische Aspekte  Compliance  Hindernisse,
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
 Präsentation transkript:

XML / SOAP Web Services Security Vortrag für das Seminar IT-Sicherheit WS 02/03 von Dietmar Mühmert

Inhalt Begriffserläuterungen: Web Services, XML, SOAP, WSDL, UDDI Einsatzgebiete von Web Services Merkmale und Sicherheitsrisiken von XML Web Services Welche Probleme sind neu? XML Web Services bezüglich einzelner Schutzziele Welchen Attacken sind Web Services ausgesetzt? Fazit

Begriffe Was sind Web Services? Web Services sind Softwarekomponenten, die über Beschreibungsstandards und Standardprotokolle im Internet zugänglich sind. XML Web Services nutzen XML als Beschreibungssprache und HTTP als Übertragungsprotokoll.

Einsatzmöglichkeiten

Begriffe Was ist XML? eXtensible Markup Language (XML) strukturiert Daten und versieht sie mit Bezeichnerelementen Daten liegen in textueller Form vor ermöglicht den Austausch von Daten zwischen verschiedenen Applikationen

Beispiel: XML Listing <?xml version="1.0" encoding="UTF-8"?> <uni:Referat xmlns:uni="http://www.inf.fu-berlin.de"> <uni:Titel>XML Web Services Security</uni:Titel> <uni:Autor>Dietmar Mühmert</uni:Autor> </uni:Referat>

Begriffe XML Schemas XML Dokumente können unterschiedlich aufgebaut sein, obwohl sie den gleichen Inhalt haben Man braucht eine gemeinsame Vereinbarung für XML Dokumente Man kann mit Hilfe von XML Schemas eigene Datentypen definieren Klassen, die in der Programmiersprache, wie z.B. Java oder Perl, erstellt wurden, lassen sich somit ineinander umwandeln.

Begriffe XML Schemas Mit Hilfe von XML Schemas kann man folgendes überprüfen: Die Struktur von Elementen und Attributen Die Reihenfolge der Elemente Die Datenwerte der Elemente und Attribute, abhängig von Wertebereichen, Aufzählungen und Pattern Matching Die Eindeutigkeit der Werte

Begriffe Was ist SOAP? Simple Object Access Protocols (SOAP) ist ein XML Dialekt definiert ein Rahmenwerk für die Übertragung von XML-Nachrichten über ein standardisiertes und anerkanntes Transportprotokoll

SOAP Envelope SOAP Envelope Header SOAP Header Nachricht mit Daten SOAP Body Header Nachricht mit Daten

Beispiel: SOAP Listing <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/enevelope"> <SOAP-ENV:Header> <sec:credentials xmlns:sec="http://schemas.xmlsoap.org/ws/2002/01/sec" mustUnderstand="1"> <sec:userName>muehmert</sec:userName> <sec:userPassword>z65rfe3w</sec:userPassword> </sec:credentials> </SOAP-ENV:Header> <SOAP-Env:Body> <SOAP:GetUserID xmlns:SOAP="http://www.inf.fu-berlin.de/webservices"> <userName>muehmert</userName> </SOAP:GetUserID> </SOAP-Env:Body> </SOAP-ENV:Envelope>

Begriffe Remote Procedure Call (RPC) entfernter Methodenaufruf POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ------------------------------ HTTP/1.1 200 OK SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <m:GetLastTradePriceResponse xmlns:m="Some-URI"> <Price>34.5</Price> </m:GetLastTradePriceResponse>

Begriffe Was ist WSDL? Web Services Description Language (WSDL), definiert die Web Services Interfaces, die Datentypen und das Zusammenspiel mit dem Übertragungprotokoll XML-basierend über WSDL erfährt ein SOAP-Client, wie eine Anfrage auszusehen hat

Begriffe Was ist UDDI? Universal Description, Discovery and Integration (UDDI), ist ein Web Service Register mit Metadaten Ein unabhängiges Konsortium aus Unternehmen wie Microsoft, IBM, Hewlett-Packard und SAP verwalten einen öffentlichen UDDI Server (vom Konzept her, so ähnlich wie DNS-Server) dient zum Auffinden von Web Services enthält Informationen über die verschiedenen Web Services und unter anderem deren WSDLs

Begriffe Discovery (optional) Definition (optional) Communication UDDI WSDL Web Service A SOAP Web Service B

Merkmale von Web Services Web Services sind charakterisiert durch: dezentrale Architektur und Administration heterogene Implementierungen und Systeme unternehmensübergreifende Kommunikation und Verbindungen öffentlicher Zugang über das Internet

Merkmale von Web Services neue Probleme und häufig gestellte Fragen: Wie setzt man eine übergreifende Sicherheitspolitik durch? Wie kann man versichern, dass Sicherheitspolitiken eingehalten werden, besonders bei Heimanwendern? Wie arbeitet man mit anderen “schwachen” Systemen zusammen? Was macht man mit älteren Anwendungen, die nie für's Internet gedacht waren? Wie administriert und logt man systemübergreifend?

WWW-Security / Web Services Security Im Vergleich zu einem Web-Server hat eine Firewall für die Sicherheit von Web Services wenig nutzen. Eine Verschlüsselung des Kommunikationskanal per Secure Sockets Layer (SSL) ist nicht vollkommen ausreichend. Attacken, die gegen Web Server durchgeführt werden, kann man leicht abgewandelt auch gegen Web Services anwenden.

Schutzziele Datenschutz / Verschlüsselung Authentifizierung Autorisierung Unleugbarkeit / Datenintegrität

Schutzziele Datenschutz / Verschlüsselung Übertragung im Klartext ermöglicht unbefugten Dritten das Lesen der Daten Verschlüsselung mit Hilfe eines asymmetrischen Verfahrens (RSA) Kommunikationskanal per Secure Sockets Layer (SSL) schützen falls sensible Daten an einen dritten Service-Provider weitergeleitet werden, kann man Teile einer XML-Nachricht verschlüsseln und so den Header mit Routing Informationen unverschlüsselt lassen. XML Encryption (siehe Beispiel) Viren lassen sich in verschlüsselten Attachments nicht ausfindig machen (Viren-Scan erst nach dem Entschlüsseln möglich)

Beispiel: XML Encryption <?xml version='1.0'?> <PaymentInfo xmlns='http://example.org/paymentv2'> <Name>John Smith</Name> <CreditCard Limit='5,000' Currency='USD'> <EncryptedData xmlns='http://www.w3.org/2001/04/xmlenc#' Type='http://www.w3.org/2001/04/xmlenc#Content'> <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData> </CreditCard> </PaymentInfo>

Schutzziele Authentifizierung Bisher hat sich nur der Anwender beim Web-Server angemeldet, um an Informationen zu gelangen. Nun sollten sich sowohl der Service-Requester als auch der Service-Provider gegenseitig authentifizieren, da sensible Daten in beide Richtungen versendet werden. Man kann z.B. Passwörter, Zertifikate, Kerberos, Lightweight Directory Access Protocol (LDAP) oder Active Directory verwenden. Single sign-on

Schutzziele Autorisierung Prüfen, ob Benutzer Zugang zu bestimmten Ressourcen hat und welche Operationen der Benutzer ausführen darf. Es empfiehlt sich nach dem Prinzip “least privilege” vorzugehen. Mehrere Administratoren mit unterschiedlichen Rechten, um Risiken zu verteilen. Nur Leserechte auf Logdateien für Admins.

Schutzziele Unleugbarkeit / Datenintegrität Nachweisen des Ursprungs einer Nachricht mittels Signaturen lässt sich feststellen, ob die Nachricht unterwegs verändert wurde (signieren mit dem private key, verifizieren mit dem public key) Logdateien signieren, um zu verhindern, dass Hackerspuren verwischt werden können.

Beispiel: Signatur Listing <Signature Id="MyFirstSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/> <Reference URI="http://www.w3.org/TR/2000/REC-xhtml1-20000126/"> <Transforms> <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>j6lwx3rvEPO0vKtMup4NbeVu8nk=</DigestValue> </Reference> </SignedInfo> <SignatureValue>MC0CFFrVLtRlk=...</SignatureValue> <KeyInfo> <KeyValue> <DSAKeyValue> <P>...</P><Q>...</Q><G>...</G><Y>...</Y> </DSAKeyValue> </KeyValue> </KeyInfo> </Signature>

Sicherheitsrisiken Single sign-on Ziel: einmalige Authentifizierung für mehrere Web Services Ansatz: Security Assertion Markup Language (SAML), ist ein Standard in XML, womit man für verschiedene Web Services Informationen zur Authentifizierung und Autorisierung festhalten kann. somit kann jeder Web Service bei einer SAML-Autorität die SAML-Zuweisungen bezüglich eines Anwenders abfragen

Attacken die Daten werden durch die Firewall durchgelassen (Port 80 bzw. 443), da bekommt jeder Administrator Bauchschmerzen 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

Attacken Firewall Hacker interne Bedrohung Web Service HTTP Web Port 80/443 Web Service interne Bedrohung Web Service Firewall Hacker

Attacken Denial of Service Abhängig von der Art des Web Services Daten sammeln XML-Nachrichten auswerten Mustererkennung

Attacken Fehlerhafte Parameter ältere Systeme rechnen eventuell nicht mit falsch formatierten Eingaben Parameter angeben, die die Maximallänge überschreiten Wildcards oder Escape-Zeichen einbauen Werte und Attribute mittels XML Schemas prüfen

Attacken Dictionary Attack Verwendung von starken Passwörtern häufiges Wechseln

Sicherheitslöcher schliessen System runterzufahren (nicht so einfach wie z.B. bei einem Web-Server) Wichtig: Standards für die Logdateien und Sicherheitspolitiken entwickeln. Nur so ist eine Systemübergreifende Fehlersuche möglich. Die Koordination unter den einzelnen Administratoren ist wichtig!

Fazit Web Services stehen noch am Anfang ihrer Entwicklung Sicherheitsrisiken hindern Web Services am großen Durchbruch Viele Unternehmen wagen nicht den ersten Schritt, sondern warten auf andere Vorreiter.

Quellen Bücher / Artikel: XML Web Service-Anwendungen mit Microsoft .NET (Christian Weyer) Understanding Web Services (Eric Newcomer) eAI Journal, September 2002, Web Services Security (Andy Yang) Internet: XML: http://www.w3.org WSS: http://www.oasis-open.org/committees/wss ...und viele mehr