XML%20/%20SOAP%20Web%20Services%20Security - PowerPoint PPT Presentation

About This Presentation
Title:

XML%20/%20SOAP%20Web%20Services%20Security

Description:

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 ... – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 35
Provided by: fub71
Category:

less

Transcript and Presenter's Notes

Title: XML%20/%20SOAP%20Web%20Services%20Security


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
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltuniReferat xmlnsuni"http//www.inf.fu-berlin.d
    e"gt
  • ltuniTitelgtXML Web Services Securitylt/uniTitelgt
  • ltuniAutorgtDietmar Mühmertlt/uniAutorgt
  • lt/uniReferatgt

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
11
Beispiel SOAP Listing
  • ltSOAP-ENVEnvelope xmlnsSOAP-ENV"http//schemas.
    xmlsoap.org/soap/enevelope"gt
  • ltSOAP-ENVHeadergtltseccredentials
    xmlnssec"http//schemas.xmlsoap.org/ws/2002/01/s
    ec" mustUnderstand"1"gtltsecuserNamegtmuehmertlt/se
    cuserNamegtltsecuserPasswordgtz65rfe3wlt/secuserPa
    sswordgtlt/seccredentialsgt
  • lt/SOAP-ENVHeadergt
  • ltSOAP-EnvBodygtltSOAPGetUserID
    xmlnsSOAP"http//www.inf.fu-berlin.de/webservice
    s"gtltuserNamegtmuehmertlt/userNamegtlt/SOAPGetUserID
    gt
  • lt/SOAP-EnvBodygt
  • lt/SOAP-ENVEnvelopegt

12
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" ltSOAP-ENVEnvelope
xmlnsSOAP-ENV"http//schemas.xmlsoap.org/soap/en
velope/" SOAP-ENVencodingStyle"http//schemas.
xmlsoap.org/soap/encoding/"gt ltSOAP-ENVBodygt
ltmGetLastTradePrice xmlnsm"Some-URI"gt
ltsymbolgtDISlt/symbolgt
lt/mGetLastTradePricegt lt/SOAP-ENVBodygt lt/SOAP-
ENVEnvelopegt ------------------------------ HTT
P/1.1 200 OK Content-Type text/xml
charset"utf-8" Content-Length
nnnn ltSOAP-ENVEnvelope xmlnsSOAP-ENV"http//
schemas.xmlsoap.org/soap/envelope/"
SOAP-ENVencodingStyle"http//schemas.xmlsoap.org
/soap/encoding/"/gt ltSOAP-ENVBodygt
ltmGetLastTradePriceResponse xmlnsm"Some-URI"gt
ltPricegt34.5lt/Pricegt
lt/mGetLastTradePriceResponsegt
lt/SOAP-ENVBodygt lt/SOAP-ENVEnvelopegt
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
  1. Discovery(optional)
  2. Definition(optional)
  3. 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
lt?xml version'1.0'?gt ltPaymentInfo
xmlns'http//example.org/paymentv2'gt
ltNamegtJohn Smithlt/Namegt ltCreditCard
Limit'5,000' Currency'USD'gt
ltEncryptedData xmlns'http//www.w3.org/2001/04/xm
lenc' Type'http//www.w3.org/2001/04/xmle
ncContent'gt ltCipherDatagt
ltCipherValuegtA23B45C56lt/CipherValuegt
lt/CipherDatagt lt/EncryptedDatagt
lt/CreditCardgt lt/PaymentInfogt
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
  • ltSignature Id"MyFirstSignature"
    xmlns"http//www.w3.org/2000/09/xmldsig"gt
  • ltSignedInfogt
  • ltCanonicalizationMethod Algorithm"http//www.w3
    .org/TR/2001/REC-xml-c14n-20010315"/gt
  • ltSignatureMethod Algorithm"http//www.w3.org/20
    00/09/xmldsigdsa-sha1"/gt
  • ltReference URI"http//www.w3.org/TR/2000/REC-xh
    tml1-20000126/"gt
  • ltTransformsgt
  • ltTransform Algorithm"http//www.w3.org/TR/2001
    /REC-xml-c14n-20010315"/gt
  • lt/Transformsgt
  • ltDigestMethod Algorithm"http//www.w3.org/2000
    /09/xmldsigsha1"/gt
  • ltDigestValuegtj6lwx3rvEPO0vKtMup4NbeVu8nklt/Dige
    stValuegt
  • lt/Referencegt
  • lt/SignedInfogt
  • ltSignatureValuegtMC0CFFrVLtRlk...lt/SignatureValue
    gt
  • ltKeyInfogt
  • ltKeyValuegt
  • ltDSAKeyValuegt
  • ltPgt...lt/PgtltQgt...lt/QgtltGgt...lt/GgtltYgt...lt/Ygt
  • lt/DSAKeyValuegt

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
Web Service
Web Service
HTTP Port 80/443
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 http//www.w3.org
  • WSS http//www.oasis-open.org/committees/wss
  • ...und viele mehr
Write a Comment
User Comments (0)
About PowerShow.com