Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML / SOAP Web Services Security

Ähnliche Präsentationen


Präsentation zum Thema: "XML / SOAP Web Services Security"—  Präsentation transkript:

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

2 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

3 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.

4 Einsatzmöglichkeiten

5 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

6 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>

7 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.

8 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

9 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

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

11 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>

12 Begriffe Remote Procedure Call (RPC) entfernter Methodenaufruf
POST /StockQuote HTTP/1.1 Host: 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/ OK SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <m:GetLastTradePriceResponse xmlns:m="Some-URI"> <Price>34.5</Price> </m:GetLastTradePriceResponse>

13 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

14 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

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

16 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

17 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?

18 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.

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

20 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)

21 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>

22 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

23 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.

24 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.

25 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 "/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/> <Reference URI="http://www.w3.org/TR/2000/REC-xhtml /"> <Transforms> <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n "/> </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>

26 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

27 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

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

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

30 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

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

32 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!

33 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.

34 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: WSS: ...und viele mehr


Herunterladen ppt "XML / SOAP Web Services Security"

Ähnliche Präsentationen


Google-Anzeigen