Sichere Programmierung: Verarbeitung von XML-Daten, Teil 1

Extensible Markup Language (XML) ist eine Auszeichnungssprache, die zum Kodieren von Dokumenten in einem Format verwendet wird, das sowohl für Maschinen leicht zu verarbeiten als auch für Menschen lesbar ist. Dieses weit verbreitete Format weist jedoch mehrere Sicherheitslücken auf. In diesem ersten Blogbeitrag zum Thema XML erläutere ich die Grundlagen für den sicheren Umgang mit XML-Dokumenten mithilfe eines Schemas.
OWASP unterteilt die verschiedenen Schwachstellen im Zusammenhang mit XML und XML-Schemas in zwei Kategorien.
Fehlerhaft formatierte XML-Dokumente
Fehlerhaft formatierte XML-Dokumente sind Dokumente, die nicht den W3C-XML-Spezifikationen entsprechen. Beispiele hierfür sind das Entfernen eines schließenden Tags, das Ändern der Reihenfolge verschiedener Elemente oder die Verwendung verbotener Zeichen. All diese Fehler sollten zu einem schwerwiegenden Fehler führen, und das Dokument sollte keiner weiteren Verarbeitung unterzogen werden.
Um Schwachstellen durch fehlerhaft formatierte Dokumente zu vermeiden, sollten Sie einen gut getesteten XML-Parser verwenden, der die W3C-Spezifikationen einhält und für die Verarbeitung fehlerhafter Dokumente nicht wesentlich länger benötigt.
Ungültige XML-Dokumente
Ungültige XML-Dokumente sind zwar korrekt formatiert, enthalten aber unerwartete Werte. Hier kann ein Angreifer Anwendungen ausnutzen, die kein korrektes XML-Schema definieren, um die Gültigkeit von Dokumenten zu prüfen. Nachfolgend finden Sie ein einfaches Beispiel für ein Dokument, das bei fehlerhafter Validierung unbeabsichtigte Folgen haben könnte.
Ein Webshop, der seine Transaktionen in XML-Daten speichert:
<purchase></purchase>
<id>123</id>
<price>200</price>
Der Benutzer hat nur Kontrolle über den <id>-Wert. Ohne die richtigen Gegenmaßnahmen ist es für einen Angreifer möglich, Folgendes einzugeben:</id>
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
Wenn der Parser, der dieses Dokument verarbeitet, nur die erste Instanz der <id>- und <price>-Tags liest, führt dies zu unerwünschten Ergebnissen. </price></id>

Es ist auch möglich, dass das Schema nicht restriktiv genug ist oder andere Eingabevalidierungen unzureichend sind, sodass negative Zahlen, spezielle Dezimalwerte (wie NaN oder Infinity) oder übermäßig große Werte dort eingegeben werden können, wo sie nicht erwartet werden, was zu ähnlichem unbeabsichtigtem Verhalten führt.
Um Schwachstellen im Zusammenhang mit ungültigen XML-Dokumenten zu vermeiden, sollte ein präzises und restriktives XML-Schema definiert werden, um Probleme durch unsachgemäße Datenvalidierung zu verhindern.
Im nächsten Blogbeitrag werden wir auf fortgeschrittenere Angriffe auf XML-Dokumente eingehen, wie z. B. Jumbo Payloads und die gefürchtete Nummer vier der OWASP Top Ten: XXE.
In der Zwischenzeit können Sie Ihre Fähigkeiten zur XML-Eingabevalidierung auf unserem Portal testen oder vertiefen.
Die Spezifikationen für XML und XML-Schemas weisen mehrere Sicherheitslücken auf. Gleichzeitig bieten diese Spezifikationen die notwendigen Werkzeuge, um XML-Anwendungen zu schützen. Obwohl wir XML-Schemas verwenden, um die Sicherheit von XML-Dokumenten zu definieren, können sie auch für eine Vielzahl von Angriffen missbraucht werden: Dateizugriffe, Server-Side Request Forgery, Port-Scanning oder Brute-Force-Angriffe.
Kontrollieren Sie KI-gestützte Entwicklung, bevor sie in Produktion geht
Bewerten Sie KI-gestützte Risiken, setzen Sie Richtlinien für sicheren Code direkt beim Commit durch und beschleunigen Sie die sichere Bereitstellung über Ihren gesamten SDLC hinweg.
Weitere Blogs entdecken
Erhalten Sie Zugang zu Experteninhalten über sichere Programmierung, KI-Governance und Software-Risikomanagement.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Eine Sicherheitskultur: Wie Sage sein Champions-Programm aufgebaut hat
Erfahren Sie, wie Sage die Sicherheit durch einen flexiblen, beziehungsorientierten Ansatz gestärkt, über 200 Security Champions ausgebildet und eine messbare Risikoreduzierung erzielt hat.

Cybersecurity Awareness Month 2026: Das Verständnis von KI-Sicherheit ist entscheidend für die Unternehmensverteidigung
Wir haben einen Punkt erreicht, an dem die meisten führenden KI-Unternehmen öffentlich eine weltweite Verlangsamung der KI-Entwicklung gefordert haben, damit die Sicherheitsvorkehrungen Schritt halten können. Doch die Wahrheit ist: Ernsthafte Sicherheitsprobleme sind bereits Realität geworden. Dies bringt unzählige Sicherheitsverantwortliche und Führungsteams in eine dringliche Lage, da die finanziellen Kosten und Risiken durch die Implementierung von KI stetig steigen.

Enabler 8: Branding für Ihr Programm
Ein Programm für sicheres Programmieren braucht mehr als nur großartige Inhalte, um erfolgreich zu sein. Enabler 8 zeigt, wie Branding die Teilnahme zu einem begehrten, statusorientierten Erlebnis macht.
.avif)
Jeder Mitarbeiter steht jetzt an vorderster Front der KI-Cybersicherheit
Die Unternehmenslandschaft wandelt sich mit einer Geschwindigkeit, die kaum jemand vorhergesehen hat, bis es zu spät war. Wir haben offiziell die Schwelle von handgeschriebenem Code und einfacher Copilot-Unterstützung hin zur Ära des Agentic Development Lifecycle (ADLC) überschritten. Während autonome KI-Agenten eine beispiellose Effizienz in vielen Bereichen versprechen, bringen sie auch eine völlig neue Klasse von Sicherheits- und Regulierungsrisiken mit sich.
Sichere KI-gestützte Entwicklung vor dem Release
Erkennen Sie Entwicklerrisiken, setzen Sie Richtlinien durch und verhindern Sie Schwachstellen über den gesamten Softwareentwicklungszyklus hinweg.