Sichere Kodierungstechniken: Verarbeitung von XML-Daten, Teil 1
Extensible Markup Language (XML) ist eine Auszeichnungssprache, die zur Codierung von Dokumenten in einem Format verwendet wird, das sowohl für Maschinen einfach zu handhaben als auch für Menschen lesbar ist. Allerdings enthält dieses häufig verwendete Format mehrere Sicherheitslücken. In diesem ersten Blog-Beitrag zum Thema XML erkläre ich die Grundlagen der sicheren Handhabung von XML-Dokumenten mit Hilfe eines Schemas.
OWASP unterteilt die verschiedenen Sicherheitslücken im Zusammenhang mit XML und XML-Schemas in zwei Kategorien.
Missgebildete XML-Dokumente
Missgebildete XML-Dokumente sind Dokumente, die nicht den W3C-XML-Spezifikationen entsprechen. Einige Beispiele, die zu einem fehlerhaften Dokument führen, sind das Entfernen eines End-Tags, das Ändern der Reihenfolge verschiedener Elemente oder die Verwendung von verbotenen Zeichen. Alle diese Fehler sollten zu einem schwerwiegenden Fehler führen und das Dokument sollte keine weitere Verarbeitung erfahren.
Um Schwachstellen durch missgebildete Dokumente zu vermeiden, sollten Sie einen gut getesteten XML-Parser verwenden, der den W3C-Spezifikationen folgt und nicht wesentlich länger braucht, um missgebildete Dokumente zu verarbeiten.
Ungültige XML-Dokumente
Ungültige XML-Dokumente sind wohlgeformt, enthalten aber unerwartete Werte. Hier kann sich ein Angreifer Anwendungen zunutze machen, die nicht ordnungsgemäß ein XML-Schema definieren, um zu erkennen, ob Dokumente gültig sind. Nachfolgend finden Sie ein einfaches Beispiel für ein Dokument, das, wenn es nicht korrekt validiert wird, unbeabsichtigte Folgen haben kann.
Ein Webspeicher, der seine Transaktionen in XML-Daten speichert:
<purchase></purchase>
<id>123</id>
<price>200</price>
And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>
Es ist auch möglich, dass das Schema nicht restriktiv genug ist oder dass die sonstige Eingabevalidierung unzureichend ist, so dass negative Zahlen, spezielle Dezimalzahlen (wie NaN oder Infinity) oder übermäßig große Werte 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 vermeiden.
Im nächsten Blog-Beitrag werden wir auf einige fortgeschrittenere Angriffe auf XML-Dokumente eingehen, wie z.B. Jumbo Payloads und die gefürchtete OWASP Top Ten Nummer vier, XXE.
In der Zwischenzeit können Sie Ihre Kenntnisse über die XML-Eingabevalidierung auf unserem Portalvertiefen oder herausfordern .
Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig stellen diese Spezifikationen die Tools bereit, die zum Schutz von XML-Anwendungen erforderlich sind. Auch wenn wir XML-Schemas verwenden, um die Sicherheit von XML-Dokumenten zu definieren, können sie für eine Vielzahl von Angriffen verwendet werden: Dateiabruf, serverseitige Request Forgery, Port-Scanning oder Brute Forcing.
Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig stellen diese Spezifikationen die Tools bereit, die zum Schutz von XML-Anwendungen erforderlich sind. Auch wenn wir XML-Schemas verwenden, um die Sicherheit von XML-Dokumenten zu definieren, können sie für eine Vielzahl von Angriffen verwendet werden.
Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenAnwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat
Extensible Markup Language (XML) ist eine Auszeichnungssprache, die zur Codierung von Dokumenten in einem Format verwendet wird, das sowohl für Maschinen einfach zu handhaben als auch für Menschen lesbar ist. Allerdings enthält dieses häufig verwendete Format mehrere Sicherheitslücken. In diesem ersten Blog-Beitrag zum Thema XML erkläre ich die Grundlagen der sicheren Handhabung von XML-Dokumenten mit Hilfe eines Schemas.
OWASP unterteilt die verschiedenen Sicherheitslücken im Zusammenhang mit XML und XML-Schemas in zwei Kategorien.
Missgebildete XML-Dokumente
Missgebildete XML-Dokumente sind Dokumente, die nicht den W3C-XML-Spezifikationen entsprechen. Einige Beispiele, die zu einem fehlerhaften Dokument führen, sind das Entfernen eines End-Tags, das Ändern der Reihenfolge verschiedener Elemente oder die Verwendung von verbotenen Zeichen. Alle diese Fehler sollten zu einem schwerwiegenden Fehler führen und das Dokument sollte keine weitere Verarbeitung erfahren.
Um Schwachstellen durch missgebildete Dokumente zu vermeiden, sollten Sie einen gut getesteten XML-Parser verwenden, der den W3C-Spezifikationen folgt und nicht wesentlich länger braucht, um missgebildete Dokumente zu verarbeiten.
Ungültige XML-Dokumente
Ungültige XML-Dokumente sind wohlgeformt, enthalten aber unerwartete Werte. Hier kann sich ein Angreifer Anwendungen zunutze machen, die nicht ordnungsgemäß ein XML-Schema definieren, um zu erkennen, ob Dokumente gültig sind. Nachfolgend finden Sie ein einfaches Beispiel für ein Dokument, das, wenn es nicht korrekt validiert wird, unbeabsichtigte Folgen haben kann.
Ein Webspeicher, der seine Transaktionen in XML-Daten speichert:
<purchase></purchase>
<id>123</id>
<price>200</price>
And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>
Es ist auch möglich, dass das Schema nicht restriktiv genug ist oder dass die sonstige Eingabevalidierung unzureichend ist, so dass negative Zahlen, spezielle Dezimalzahlen (wie NaN oder Infinity) oder übermäßig große Werte 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 vermeiden.
Im nächsten Blog-Beitrag werden wir auf einige fortgeschrittenere Angriffe auf XML-Dokumente eingehen, wie z.B. Jumbo Payloads und die gefürchtete OWASP Top Ten Nummer vier, XXE.
In der Zwischenzeit können Sie Ihre Kenntnisse über die XML-Eingabevalidierung auf unserem Portalvertiefen oder herausfordern .
Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig stellen diese Spezifikationen die Tools bereit, die zum Schutz von XML-Anwendungen erforderlich sind. Auch wenn wir XML-Schemas verwenden, um die Sicherheit von XML-Dokumenten zu definieren, können sie für eine Vielzahl von Angriffen verwendet werden: Dateiabruf, serverseitige Request Forgery, Port-Scanning oder Brute Forcing.
Extensible Markup Language (XML) ist eine Auszeichnungssprache, die zur Codierung von Dokumenten in einem Format verwendet wird, das sowohl für Maschinen einfach zu handhaben als auch für Menschen lesbar ist. Allerdings enthält dieses häufig verwendete Format mehrere Sicherheitslücken. In diesem ersten Blog-Beitrag zum Thema XML erkläre ich die Grundlagen der sicheren Handhabung von XML-Dokumenten mit Hilfe eines Schemas.
OWASP unterteilt die verschiedenen Sicherheitslücken im Zusammenhang mit XML und XML-Schemas in zwei Kategorien.
Missgebildete XML-Dokumente
Missgebildete XML-Dokumente sind Dokumente, die nicht den W3C-XML-Spezifikationen entsprechen. Einige Beispiele, die zu einem fehlerhaften Dokument führen, sind das Entfernen eines End-Tags, das Ändern der Reihenfolge verschiedener Elemente oder die Verwendung von verbotenen Zeichen. Alle diese Fehler sollten zu einem schwerwiegenden Fehler führen und das Dokument sollte keine weitere Verarbeitung erfahren.
Um Schwachstellen durch missgebildete Dokumente zu vermeiden, sollten Sie einen gut getesteten XML-Parser verwenden, der den W3C-Spezifikationen folgt und nicht wesentlich länger braucht, um missgebildete Dokumente zu verarbeiten.
Ungültige XML-Dokumente
Ungültige XML-Dokumente sind wohlgeformt, enthalten aber unerwartete Werte. Hier kann sich ein Angreifer Anwendungen zunutze machen, die nicht ordnungsgemäß ein XML-Schema definieren, um zu erkennen, ob Dokumente gültig sind. Nachfolgend finden Sie ein einfaches Beispiel für ein Dokument, das, wenn es nicht korrekt validiert wird, unbeabsichtigte Folgen haben kann.
Ein Webspeicher, der seine Transaktionen in XML-Daten speichert:
<purchase></purchase>
<id>123</id>
<price>200</price>
And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>
Es ist auch möglich, dass das Schema nicht restriktiv genug ist oder dass die sonstige Eingabevalidierung unzureichend ist, so dass negative Zahlen, spezielle Dezimalzahlen (wie NaN oder Infinity) oder übermäßig große Werte 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 vermeiden.
Im nächsten Blog-Beitrag werden wir auf einige fortgeschrittenere Angriffe auf XML-Dokumente eingehen, wie z.B. Jumbo Payloads und die gefürchtete OWASP Top Ten Nummer vier, XXE.
In der Zwischenzeit können Sie Ihre Kenntnisse über die XML-Eingabevalidierung auf unserem Portalvertiefen oder herausfordern .
Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig stellen diese Spezifikationen die Tools bereit, die zum Schutz von XML-Anwendungen erforderlich sind. Auch wenn wir XML-Schemas verwenden, um die Sicherheit von XML-Dokumenten zu definieren, können sie für eine Vielzahl von Angriffen verwendet werden: Dateiabruf, serverseitige Request Forgery, Port-Scanning oder Brute Forcing.
Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht ansehenDemo buchenAnwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat
Extensible Markup Language (XML) ist eine Auszeichnungssprache, die zur Codierung von Dokumenten in einem Format verwendet wird, das sowohl für Maschinen einfach zu handhaben als auch für Menschen lesbar ist. Allerdings enthält dieses häufig verwendete Format mehrere Sicherheitslücken. In diesem ersten Blog-Beitrag zum Thema XML erkläre ich die Grundlagen der sicheren Handhabung von XML-Dokumenten mit Hilfe eines Schemas.
OWASP unterteilt die verschiedenen Sicherheitslücken im Zusammenhang mit XML und XML-Schemas in zwei Kategorien.
Missgebildete XML-Dokumente
Missgebildete XML-Dokumente sind Dokumente, die nicht den W3C-XML-Spezifikationen entsprechen. Einige Beispiele, die zu einem fehlerhaften Dokument führen, sind das Entfernen eines End-Tags, das Ändern der Reihenfolge verschiedener Elemente oder die Verwendung von verbotenen Zeichen. Alle diese Fehler sollten zu einem schwerwiegenden Fehler führen und das Dokument sollte keine weitere Verarbeitung erfahren.
Um Schwachstellen durch missgebildete Dokumente zu vermeiden, sollten Sie einen gut getesteten XML-Parser verwenden, der den W3C-Spezifikationen folgt und nicht wesentlich länger braucht, um missgebildete Dokumente zu verarbeiten.
Ungültige XML-Dokumente
Ungültige XML-Dokumente sind wohlgeformt, enthalten aber unerwartete Werte. Hier kann sich ein Angreifer Anwendungen zunutze machen, die nicht ordnungsgemäß ein XML-Schema definieren, um zu erkennen, ob Dokumente gültig sind. Nachfolgend finden Sie ein einfaches Beispiel für ein Dokument, das, wenn es nicht korrekt validiert wird, unbeabsichtigte Folgen haben kann.
Ein Webspeicher, der seine Transaktionen in XML-Daten speichert:
<purchase></purchase>
<id>123</id>
<price>200</price>
And the user only has control over the <id> value. It is then possible, without the right counter measures, for an attacker to input something like this:</id>
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
If the parser that processes this document only reads the first instance of the <id> and <price> tags this will lead to unwanted results. </price></id>
Es ist auch möglich, dass das Schema nicht restriktiv genug ist oder dass die sonstige Eingabevalidierung unzureichend ist, so dass negative Zahlen, spezielle Dezimalzahlen (wie NaN oder Infinity) oder übermäßig große Werte 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 vermeiden.
Im nächsten Blog-Beitrag werden wir auf einige fortgeschrittenere Angriffe auf XML-Dokumente eingehen, wie z.B. Jumbo Payloads und die gefürchtete OWASP Top Ten Nummer vier, XXE.
In der Zwischenzeit können Sie Ihre Kenntnisse über die XML-Eingabevalidierung auf unserem Portalvertiefen oder herausfordern .
Die Spezifikationen für XML und XML-Schemas enthalten mehrere Sicherheitslücken. Gleichzeitig stellen diese Spezifikationen die Tools bereit, die zum Schutz von XML-Anwendungen erforderlich sind. Auch wenn wir XML-Schemas verwenden, um die Sicherheit von XML-Dokumenten zu definieren, können sie für eine Vielzahl von Angriffen verwendet werden: Dateiabruf, serverseitige Request Forgery, Port-Scanning oder Brute Forcing.
Inhaltsübersicht
Anwendungssicherheitsforscher - F&E-Ingenieur - PhD-Kandidat
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen für den Einstieg
Benchmarking von Sicherheitskompetenzen: Optimierung von Secure-by-Design im Unternehmen
Die Secure-by-Design-Bewegung ist die Zukunft der sicheren Softwareentwicklung. Erfahren Sie mehr über die wichtigsten Elemente, die Unternehmen berücksichtigen müssen, wenn sie über eine Secure-by-Design-Initiative nachdenken.
DigitalOcean verringert Sicherheitsverschuldung mit Secure Code Warrior
DigitalOceans Einsatz von Secure Code Warrior hat die Sicherheitsverschuldung deutlich reduziert, so dass sich die Teams stärker auf Innovation und Produktivität konzentrieren können. Die verbesserte Sicherheit hat die Produktqualität und den Wettbewerbsvorteil des Unternehmens gestärkt. Mit Blick auf die Zukunft wird der SCW Trust Score dem Unternehmen helfen, seine Sicherheitspraktiken weiter zu verbessern und Innovationen voranzutreiben.
Ressourcen für den Einstieg
Trust Score zeigt den Wert von Secure-by-Design-Upskilling-Initiativen
Unsere Forschung hat gezeigt, dass Schulungen für sicheren Code funktionieren. Trust Score verwendet einen Algorithmus, der auf mehr als 20 Millionen Lerndaten aus der Arbeit von mehr als 250.000 Lernenden in über 600 Organisationen basiert, und zeigt, wie effektiv die Initiative ist, um Schwachstellen zu beseitigen und wie man sie noch effektiver gestalten kann.
Reaktive versus präventive Sicherheit: Prävention ist das bessere Heilmittel
Der Gedanke, Legacy-Code und -Systeme zur gleichen Zeit wie neuere Anwendungen mit präventiver Sicherheit auszustatten, kann entmutigend erscheinen, aber ein Secure-by-Design-Ansatz, der durch die Weiterbildung von Entwicklern durchgesetzt wird, kann die besten Sicherheitsverfahren auf diese Systeme anwenden. Dies ist für viele Unternehmen die beste Chance, ihre Sicherheitslage zu verbessern.
Die Vorteile eines Benchmarking der Sicherheitskompetenzen von Entwicklern
Der zunehmende Fokus auf sicheren Code und Secure-by-Design-Prinzipien erfordert, dass Entwickler von Beginn des SDLC an in Cybersicherheit geschult werden, wobei Tools wie Secure Code Warrior's Trust Score dabei helfen, ihre Fortschritte zu messen und zu verbessern.
Wesentlicher Erfolg für Enterprise Secure-by-Design-Initiativen
Unser jüngstes Forschungspapier „Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise“ ist das Ergebnis einer umfassenden Analyse echter Secure-by-Design-Initiativen auf Unternehmensebene und der Ableitung von Best-Practice-Ansätzen auf Grundlage datengesteuerter Erkenntnisse.