Bundesamt für Sicherheit in der Informationstechnik

G 3.119 Fehlerhafte Anwendung von Standards

Für die Realisierung von Web-Services sind zahlreiche Standards verfügbar (siehe M 4.451 Aktuelle Web-Service Standards ), die insbesondere in ihrem Zusammenwirken und ihren Abhängigkeiten untereinander eine hohe Komplexität erreichen.

Als Konsequenz dieser Komplexität sind Fehler in der Anwendung der Standards naheliegend. Solche Fehler können vielfältige Konsequenzen haben:

  • Der Standard wird nicht wirksam umgesetzt. Insbesondere kann dies dazu führen, dass vorgesehene Sicherheitsfunktionen nicht wirksam realisiert werden, indem zum Beispiel Berechtigungsprüfungen nicht durchgeführt werden oder eine Verschlüsselung nicht erfolgt.
    Beispiel: In einem sicherheitsrelevanten SOAP-Header wurde ein Tippfehler gemacht, gleichzeitig fehlt das Attribut env:mustUnderstand=true. Der SOAP-Knoten kann den Header aufgrund des Tippfehlers nicht interpretieren und ignoriert ihn.
  • Die Anwendung des Standards erfolgt nicht in der vorgesehenen Art beziehungsweise nicht im vorgesehenen Umfang. So ist es denkbar, dass zum Beispiel XML -Signaturen nicht alle relevanten Bestandteile einer Nachricht umfassen, oder dass nicht mit ausreichend sicheren Algorithmen verschlüsselt wird.
    Beispiel: Eine XML -Signatur wird über ein XML -Element erzeugt, das in der verwendeten XML -Struktur mehrfach vorkommen kann, sodass ein Angreifer mit XML Signature Wrapping die Inhalte der Nachricht semantisch verändern kann, ohne dass die Signatur ihre Gültigkeit verliert.
  • Die Implementierung erzeugt Fehler im Betrieb, die unter Umständen nur in besonderen Situationen auftreten und die Verfügbarkeit des Web-Service einschränken.
    Beispiel: Berechtigungsprüfungen werden mit einem Fehler abgebrochen, wenn der aufrufende Benutzer einer bestimmten Kombination aus Rolle und Organisationseinheit zuzuordnen ist.
  • Die Implementierung umfasst zusätzliche, vom jeweiligen Standard umfasste Funktionen, die für den konkreten Web-Service nicht erforderlich sind. Solche ungenutzten Funktionen bieten dem Angreifer eine höhere Angriffsfläche und können insbesondere für Angriffe auf die Verfügbarkeit des Web-Service missbraucht werden.
    Beispiel: Beim Parsen einer Nachricht werden externe XML-Referenzen aufgelöst, obwohl dies für den betroffenen Web-Service nicht erforderlich ist.

Aus Implementierungsfehlern kann sich einerseits eine unbeabsichtigte Beeinträchtigung der Verfügbarkeit, Offenlegung oder Verfälschung von Informationen oder Metadaten ergeben, indem die implementierten Dienste nicht oder falsch funktionieren. Andererseits können Angreifer solche Implementierungsfehler auch gezielt ausforschen (siehe G 5.184 Informationsgewinnung über Web-Services ) und ausnutzen, um die Verfügbarkeit, Vertraulichkeit oder Integrität des Web-Service anzugreifen.

Wegen der hohen Abhängigkeiten der relevanten Standards untereinander besteht zudem die Gefahr, dass Fehler in der Anwendung eines Standards ihre Auswirkungen erst im Kontext davon unmittelbar oder mittelbar abhängiger Standards und Komponenten zeigen, sodass der Fehler nur mit hohem Aufwand eingegrenzt und behoben werden kann.

Stand: 14. EL Stand 2014