© Ekaphon maneechot/Shutterstock.com
Grundlagen des Testens von SOA Security

Sicher testen mit SOA


Da serviceorientierte Architekturen (SOA), basierend auf Web Services, zunehmend die Grundlage jeder modernen IT-Infrastruktur bilden, sind proaktive Tests von Web Services, die das Thema Security berücksichtigen, entscheidend für die IT-Sicherheit im Allgemeinen. Dieser Artikel beschreibt die Grundlagen des Testens der Sicherheit von Web Services und gliedert das Thema in die Überprüfung der Funktion, Performance, Interoperabilität und Angreifbarkeit.

Sicherheitstests steigern das Vertrauen in Services dadurch, dass die Prinzipien einer unfälschbaren Identität, Privatsphäre und Integrität geprüft und Bedrohungen wie Denial of Service, Malware und Datenlecks von den SOA-Implementierungen ferngehalten werden. Funktionsreiche Internetapplikationen, Service-APIs und Virtualisierungen sowie Cloud Services bieten eine umfassende Integration von Daten, die die Nutzung der Informationen in Echtzeit erlaubt. Diese großartigen Möglichkeiten, die zweifellos den Wert von Businessanwendungen steigern, haben ihren Preis: die Sicherheit der Services. Dieser Artikel befasst sich mit dem Testen von SOA Security. Die Vertrauenswürdigkeit eines Service ist ein entscheidender Faktor dafür, ob ein potenzieller Konsument ein Serviceangebot nutzt oder nicht. Interessanterweise vernachlässigen viele Anbieter von Web Services diese Tatsache. Sie gehen davon aus, dass ein reichhaltiger Funktionsumfang für die meisten Verbraucher gut genug ist. Doch die Erfahrung der Autoren zeigt, dass oftmals nicht funktionale Anforderungen den Unterschied zwischen erfolgreichen Serviceangeboten und ergebnislosen, akademischen Versuchen ausmachen, SOA in einer Organisation durchzusetzen. Aufgrund der komplexen Natur von SOA, die viele Systeme, Protokolle, Datentypen, Identitätstoken, Verschlüsselungsmechanismen und Signaturtechniken beinhaltet, erfordert das Testen der Sicherheit in einer SOA erhebliche Disziplin. Komplexe Geschäftsfunktionen, die durch Web Services zugänglich gemacht werden können, verarbeiten häufig sensible Informationen wie Kundendaten, Bestellungen, Steuererklärungen, Finanzberichte oder Gesundheitsscans. Aus diesem Grund sind Tests, die nachweisen, dass bei der Übertragung und Verarbeitung solcher komplexen Strukturen die Spielregeln im Umgang mit Benutzeridentität, Privatsphäre und Integrität eingehalten werden, essenziell für den Aufbau einer sicheren SOA.

Funktionsüberprüfung

Die Funktionsüberprüfung ist der erste Eckpfeiler von SOA-Security-Tests. Hier geht es darum zu prüfen, ob ein Service geforderte Richtlinien überhaupt erfüllt. Ist beispielsweise definiert, dass ein Service nur Nachrichten verarbeiten darf, die verschlüsselt übertragen wurden, dann ist es Aufgabe des Testers, genau dieses Verhalten nachzuweisen. Nachdem solche grundlegenden Tests durchgeführt wurden, entwerfen Tester Regressionstestfälle für die Automatisierung des Tests. Dabei sind in der Regel folgende Punkte zu beachten:

  • Transportprotokolle: Services sollten unabhängig vom Transportprotokoll funktionieren. Die meisten Internetdienste vertrauen in puncto Kommunikation auf HTTP oder HTTPS. Innerhalb eines Unternehmens sind jedoch JMS, IBM MQ Series, Tibco EMS und FTP weitere beliebte Transportprotokolle. Ihre Vielfalt verlangt, dass die Testumgebung in der Lage ist, Nachrichten mit diesen Protokollen sowohl zu senden als auch zu empfangen. Bei der Verwendung von SSL wird zudem das Management einer Public-Key-Infrastruktur erforderlich.

  • Identity-Token: Die meisten Services verlangen die Authentifizierung und Autorisierung des Benutzers, bevor ein Aufruf überhaupt angenommen und eine Antwort zurückgegeben wird. Die Identität des Benutzers kann über die verschiedensten Kanäle übertragen werden:

  • HTTP Basic Authentication

  • Cookie-based Authentication

  • HTTP x.509 Mutual Authentication

  • SAML, WS-Username, WS-X.509

  • Ad-hoc-Content in der Nachricht (Header, Nachricht, Anlage)

  • Datenschutz und Integrität: SOA Security stellt durch Verschlüsselung den Datenschutz und per Signaturverfahren die Integrität von Daten sicher. Dieser Schutz ist sowohl während des Transports als auch für den Fall der Speicherung gegeben. Die Verbindung des Schutzes der Transportstrecke und der Nachrichteninhalte ermöglicht dem Unternehmen eine gute Kontrolle bei der Implementierung seiner Sicherheitsrichtlinien. Auf der anderen Seite entsteht mit dieser Flexibilität ein hoher Anspruch an das QS- und Testteam, die verschiedene Variationen der in der Praxis eingesetzten Standards in Tests widerspiegeln müssen. SOA-Implementierungen erfordern die Prüfung folgender Securityelemente:

  • HTTP über SSL

  • SOAP/XML-Verschlüsselung

  • SOAP/XML-Signaturen

  • MTOM und SOAP inklusive Anhänge

Funktionale Sicherheitstests sind kein triviales Unterfangen. Ein gutes Know-how ist nötig, um...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang