Sicherheitslücken: XML-Verschlüsselung mit vielen Fallstricken

Zahlreiche Sicherheitslücken plagen die Standards zum Verschlüsseln und Signieren von XML-Daten. Obwohl die Lücken schon viele Jahre bekannt sind, finden sich nach wie vor viele verwundbare Produkte.

Artikel veröffentlicht am , Hanno Böck
Ein Tool zum Testen zahlreicher Schwachstellen von XML-Verschlüsselungsimplementierungen.
Ein Tool zum Testen zahlreicher Schwachstellen von XML-Verschlüsselungsimplementierungen. (Bild: Juraj Somorovsky)

Einen Überblick über Sicherheitsprobleme in XML-Standards hat Juraj Somorovsky von der Ruhr-Universität Bochum auf der Black Hat Amsterdam präsentiert. Mit einem automatisierten Tool hat Somorovsky zusammen mit seinen Kollegen diverse Server-Implementierungen auf bekannte Sicherheitslücken getestet.

Signature Wrapping

Das W3C hat für die Verschlüsselung und für digitale Signaturen in XML-Dateien jeweils separate Standards. Bereits 2005 wurde ein Angriff auf die digitalen Signaturen in zahlreichen Implementierungen entdeckt, der als Signature Wrapping bezeichnet wird.

Der XML-Signatur-Standard sieht vor, dass man nicht nur ganze Dokumente signieren kann, sondern auch einzelne Teile eines Dokuments. Beim Signature-Wrapping-Angriff manipuliert ein Angreifer ein existierendes Dokument mit gültigen, signierten Daten. Die signierten Daten werden in einen Teil des Dokuments verschoben, in dem sie keinen Effekt mehr haben. So kann man beispielsweise die signierten Daten in den Header verschieben. Anschließend werden unsignierte Daten in das Dokument eingefügt.

Wie sich herausstellte, prüfen zahlreiche Implementierungen zunächst die Signatur und parsen anschließend die Daten unabhängig davon, ohne zu prüfen, ob die entsprechenden Daten auch von der Signatur erfasst wurden. Dadurch können von einem Angreifer komplett unsignierte Daten eingeschleust werden. Dass dieser Angriff praktische Relevanz hatte, konnte Somorovsky zusammen mit anderen Sicherheitsforschern 2011 zeigen, ein Angriff erlaubte die Kontrolle von Amazon-EC2-Instanzen fremder Nutzer.

Symmetrische und asymmetrische XML-Verschlüsselung unsicher

Die Verschlüsselung in XML-Dateien hat gleich mehrere Probleme, die Somorovsky bereits 2011 zusammen mit anderen Sicherheitsforschern publiziert hatte. Die asymmetrische Verschlüsselung erfolgt nach dem alten Standard PKCS #1 1.5. Dieser ist anfällig für den sogenannten Bleichenbacher-Angriff, den der Kryptograph Daniel Bleichenbacher 1998 entdeckt hat. Der Angriff ist jedoch vergleichsweise aufwendig.

Noch kritischer ist ein Angriff auf die symmetrische Verschlüsselung. Der ursprüngliche XML-Encryption-Standard sah nur eine Verschlüsselung mit dem AES-CBC-Verfahren vor. Bei AES-CBC lassen sich von einem Angreifer einzelne Bits manipulieren. Da die verschlüsselten Daten gültige XML-Tags enthalten müssen, ist die Zahl der gültigen Zeichen auf den ASCII-Zeichensatz beschränkt. Somit kann ein Angreifer gezielt Bits manipulieren und anhand der Fehlermeldungen eines Servers, der mittels XML-Verschlüsselung kommuniziert, Rückschlüsse auf die Daten erhalten. Für die Entschlüsselung eines Bytes genügen hierfür 14 manipulierte Datenpakete.

Dieser Angriff hat große Ähnlichkeit mit den Padding-Oracle-Angriffen, die vor allem bei TLS immer wieder zu Problemen geführt haben. Grundsätzlich sollten Verschlüsselungsprotokolle nie Daten entschlüsseln, ohne deren Echtheit vorher zu prüfen.

Alte Angriffe, nach wie vor verwundbare Server

Mit einem automatisierten Tool hat Somorovsky zahlreiche Serveranwendungen, die die XML-Verschlüsselung nutzen, geprüft. Das Tool wurde auf Github veröffentlicht. Von fünf getesteten Produkten waren vier in der Standardkonfiguration für den CBC-Angriff verwundbar (Apache Axis2, Apache CXF, Axway Gateway, IBM Datapower). Lediglich Microsofts WCF-Server hatte gegen alle Angriffe wirksame Gegenmaßnahmen implementiert.

Vermeiden lässt sich dieser Angriff auf die CBC-Verschlüsselung, wenn eine Implementierung die verschlüsselten Daten nur innerhalb eines signierten Datenblocks akzeptiert. Wichtig ist hierbei, den oben erwähnten Signature-Wrapping-Angriff ebenfalls zu berücksichtigen und sicherzustellen, dass keine unsignierten Daten entschlüsselt werden. Auch die Angriffe auf die RSA-Verschlüsselung mit PKCS #1 1.5 lassen sich vermeiden.

Besser ist es allerdings, auf die alten Standards zu verzichten. Der XML-Encryption-Standard 1.1 erlaubt die XML-Verschlüsselung mit dem RSA-OAEP-Verfahren, das den Bleichenbacher-Angriff verhindert. Statt der unauthentifizierten CBC-Verschlüsselung steht außerdem das GCM-Verfahren (Galois/Counter-Mode) als Möglichkeit für symmetrische Verschlüsselungsoperationen zur Verfügung.

Apache CXF hat ein Update herausgegeben, das die Probleme behebt. Von IBM gab es als Reaktion Empfehlungen, wie man XML-Verschlüsselung sicher nutzt und die Konfiguration entsprechend anpasst.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Whistleblower
USA sollen intaktes außerirdisches Fluggerät besitzen

Klingt schräg, aber der Whistleblower ist ungewöhnlich glaubwürdig: Die USA sollen mehrere außerirdische Fluggeräte haben.

Whistleblower: USA sollen intaktes außerirdisches Fluggerät besitzen
Artikel
  1. Landkreis Lüneburg: Telekom pausiert Sendemastbau nach Protesten zeitweise
    Landkreis Lüneburg
    Telekom pausiert Sendemastbau nach Protesten zeitweise

    Deutsch Evern will nicht mit einer Antenne von Deutsche Funkturm versorgt werden. Die Telekom hat das Anliegen der Anwohner geprüft und baut nun weiter.

  2. Game Porting Toolkit: Wie Apple Windows-Spiele auf MacOS bringen will
    Game Porting Toolkit
    Wie Apple Windows-Spiele auf MacOS bringen will

    Wenige Stunden nach Bereitstellung der Werkzeuge laufen Diablo 4 und Cyberpunk auf MacOS. Apple zeigt, dass Ports schneller gehen könnten, als viele erwarten.
    Von Sebastian Grüner

  3. Freelancer in der IT: Schön, lukrativ, aber alles andere als easy
    Freelancer in der IT
    Schön, lukrativ, aber alles andere als easy

    Viele junge Entwickler wollen lieber Freelancer sein als angestellt. Doch das hat mehr Haken, als man denkt. Wir haben Tipps für den Einstieg.
    Ein Ratgebertext von Rene Koch

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Samsung SSD 8TB 368,99€ • MindStar: Gigabyte RTX 4090 1.599€, Crucial 4TB 169€ • Acer Curved 31,5" WQHD 165Hz 259€ • PS5-Spiele & Zubehör bis -75% • Samsung 990 Pro 1TB (PS5) 94€ • Chromebooks bis 32% günstiger • Bis 50% auf Gaming-Produkte bei NBB • PS5 mit Spiel 549€ [Werbung]
    •  /