
Technique de codage sécurisé : traitement des données XML, partie 1
XML(Extensible Markup Language)は、機械にとって扱いやすく、人間にとっても読みやすいフォーマットで文書を符号化するためのマークアップ言語です。しかし、一般的に使用されているこのフォーマットには、複数のセキュリティ上の欠陥があります。XML関連のブログ記事の第1回目となる今回は、スキーマを使ってXML文書を安全に取り扱うための基礎知識を説明します。
OWASP は、XML および XML スキーマに関連するさまざまな脆弱性を 2 つのカテゴリに分けています。
不正なXML文書
不正なXML文書とは、W3CのXML仕様に準拠していない文書のことである。不正なドキュメントになる例としては、終了タグの削除、異なる要素の順序の変更、禁止された文字の使用などがあります。これらのエラーはすべて致命的なエラーとなり、ドキュメントは追加の処理を受けるべきではありません。
不正な文書に起因する脆弱性を回避するためには、W3Cの仕様に準拠し、不正な文書の処理に著しく時間がかからない、十分にテストされたXMLパーサーを使用する必要があります。
無効なXML文書
無効なXML文書は、うまく形成されているものの、予期しない値を含んでいます。ここで、攻撃者は、文書が有効であるかどうかを識別するためのXMLスキーマを適切に定義していないアプリケーションを利用することができます。以下に、正しく検証されなかった場合に意図しない結果をもたらす可能性のある文書の簡単な例を示します。
トランザクションをXMLデータで保存するウェブストアです。
<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>

また、スキーマの制限が不十分であったり、他の入力検証が不十分であったりして、負の数や特殊な小数(NaNやInfinityなど)、あるいは非常に大きな値が想定外の場所に入力されてしまい、同様の意図しない動作が発生することもあります。
不正なXML文書に関する脆弱性を回避するには、正確で制限のあるXMLスキーマを定義して、不適切なデータ検証による問題を回避する必要があります。
次回のブログ記事では、ジャンボ・ペイロードや、OWASPトップテンの第4位であるXXEなど、XML文書に対するより高度な攻撃を紹介します。
それまでの間、私たちのポータルで、XML入力検証のスキルを磨いたり、挑戦したりすることができます。
XMLおよびXMLスキーマの仕様には、複数のセキュリティ上の欠陥が含まれています。同時に、これらの仕様は、XMLアプリケーションを保護するために必要なツールを提供しています。XML文書のセキュリティを定義するためにXMLスキーマを使用しているにもかかわらず、ファイル検索、サーバサイドリクエストフォージェリ、ポートスキャン、ブルートフォースなど、さまざまな攻撃を行うために使用することができます。


Les spécifications relatives au XML et aux schémas XML incluent de multiples failles de sécurité. Dans le même temps, ces spécifications fournissent les outils nécessaires pour protéger les applications XML. Même si nous utilisons des schémas XML pour définir la sécurité des documents XML, ils peuvent être utilisés pour effectuer diverses attaques.
Chercheur en sécurité des applications - Ingénieur R&D - Candidat au doctorat

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。
デモを予約するChercheur en sécurité des applications - Ingénieur R&D - Candidat au doctorat


XML(Extensible Markup Language)は、機械にとって扱いやすく、人間にとっても読みやすいフォーマットで文書を符号化するためのマークアップ言語です。しかし、一般的に使用されているこのフォーマットには、複数のセキュリティ上の欠陥があります。XML関連のブログ記事の第1回目となる今回は、スキーマを使ってXML文書を安全に取り扱うための基礎知識を説明します。
OWASP は、XML および XML スキーマに関連するさまざまな脆弱性を 2 つのカテゴリに分けています。
不正なXML文書
不正なXML文書とは、W3CのXML仕様に準拠していない文書のことである。不正なドキュメントになる例としては、終了タグの削除、異なる要素の順序の変更、禁止された文字の使用などがあります。これらのエラーはすべて致命的なエラーとなり、ドキュメントは追加の処理を受けるべきではありません。
不正な文書に起因する脆弱性を回避するためには、W3Cの仕様に準拠し、不正な文書の処理に著しく時間がかからない、十分にテストされたXMLパーサーを使用する必要があります。
無効なXML文書
無効なXML文書は、うまく形成されているものの、予期しない値を含んでいます。ここで、攻撃者は、文書が有効であるかどうかを識別するためのXMLスキーマを適切に定義していないアプリケーションを利用することができます。以下に、正しく検証されなかった場合に意図しない結果をもたらす可能性のある文書の簡単な例を示します。
トランザクションをXMLデータで保存するウェブストアです。
<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>

また、スキーマの制限が不十分であったり、他の入力検証が不十分であったりして、負の数や特殊な小数(NaNやInfinityなど)、あるいは非常に大きな値が想定外の場所に入力されてしまい、同様の意図しない動作が発生することもあります。
不正なXML文書に関する脆弱性を回避するには、正確で制限のあるXMLスキーマを定義して、不適切なデータ検証による問題を回避する必要があります。
次回のブログ記事では、ジャンボ・ペイロードや、OWASPトップテンの第4位であるXXEなど、XML文書に対するより高度な攻撃を紹介します。
それまでの間、私たちのポータルで、XML入力検証のスキルを磨いたり、挑戦したりすることができます。
XMLおよびXMLスキーマの仕様には、複数のセキュリティ上の欠陥が含まれています。同時に、これらの仕様は、XMLアプリケーションを保護するために必要なツールを提供しています。XML文書のセキュリティを定義するためにXMLスキーマを使用しているにもかかわらず、ファイル検索、サーバサイドリクエストフォージェリ、ポートスキャン、ブルートフォースなど、さまざまな攻撃を行うために使用することができます。

XML(Extensible Markup Language)は、機械にとって扱いやすく、人間にとっても読みやすいフォーマットで文書を符号化するためのマークアップ言語です。しかし、一般的に使用されているこのフォーマットには、複数のセキュリティ上の欠陥があります。XML関連のブログ記事の第1回目となる今回は、スキーマを使ってXML文書を安全に取り扱うための基礎知識を説明します。
OWASP は、XML および XML スキーマに関連するさまざまな脆弱性を 2 つのカテゴリに分けています。
不正なXML文書
不正なXML文書とは、W3CのXML仕様に準拠していない文書のことである。不正なドキュメントになる例としては、終了タグの削除、異なる要素の順序の変更、禁止された文字の使用などがあります。これらのエラーはすべて致命的なエラーとなり、ドキュメントは追加の処理を受けるべきではありません。
不正な文書に起因する脆弱性を回避するためには、W3Cの仕様に準拠し、不正な文書の処理に著しく時間がかからない、十分にテストされたXMLパーサーを使用する必要があります。
無効なXML文書
無効なXML文書は、うまく形成されているものの、予期しない値を含んでいます。ここで、攻撃者は、文書が有効であるかどうかを識別するためのXMLスキーマを適切に定義していないアプリケーションを利用することができます。以下に、正しく検証されなかった場合に意図しない結果をもたらす可能性のある文書の簡単な例を示します。
トランザクションをXMLデータで保存するウェブストアです。
<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>

また、スキーマの制限が不十分であったり、他の入力検証が不十分であったりして、負の数や特殊な小数(NaNやInfinityなど)、あるいは非常に大きな値が想定外の場所に入力されてしまい、同様の意図しない動作が発生することもあります。
不正なXML文書に関する脆弱性を回避するには、正確で制限のあるXMLスキーマを定義して、不適切なデータ検証による問題を回避する必要があります。
次回のブログ記事では、ジャンボ・ペイロードや、OWASPトップテンの第4位であるXXEなど、XML文書に対するより高度な攻撃を紹介します。
それまでの間、私たちのポータルで、XML入力検証のスキルを磨いたり、挑戦したりすることができます。
XMLおよびXMLスキーマの仕様には、複数のセキュリティ上の欠陥が含まれています。同時に、これらの仕様は、XMLアプリケーションを保護するために必要なツールを提供しています。XML文書のセキュリティを定義するためにXMLスキーマを使用しているにもかかわらず、ファイル検索、サーバサイドリクエストフォージェリ、ポートスキャン、ブルートフォースなど、さまざまな攻撃を行うために使用することができます。

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。
Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。
レポートを表示するデモを予約するChercheur en sécurité des applications - Ingénieur R&D - Candidat au doctorat
XML(Extensible Markup Language)は、機械にとって扱いやすく、人間にとっても読みやすいフォーマットで文書を符号化するためのマークアップ言語です。しかし、一般的に使用されているこのフォーマットには、複数のセキュリティ上の欠陥があります。XML関連のブログ記事の第1回目となる今回は、スキーマを使ってXML文書を安全に取り扱うための基礎知識を説明します。
OWASP は、XML および XML スキーマに関連するさまざまな脆弱性を 2 つのカテゴリに分けています。
不正なXML文書
不正なXML文書とは、W3CのXML仕様に準拠していない文書のことである。不正なドキュメントになる例としては、終了タグの削除、異なる要素の順序の変更、禁止された文字の使用などがあります。これらのエラーはすべて致命的なエラーとなり、ドキュメントは追加の処理を受けるべきではありません。
不正な文書に起因する脆弱性を回避するためには、W3Cの仕様に準拠し、不正な文書の処理に著しく時間がかからない、十分にテストされたXMLパーサーを使用する必要があります。
無効なXML文書
無効なXML文書は、うまく形成されているものの、予期しない値を含んでいます。ここで、攻撃者は、文書が有効であるかどうかを識別するためのXMLスキーマを適切に定義していないアプリケーションを利用することができます。以下に、正しく検証されなかった場合に意図しない結果をもたらす可能性のある文書の簡単な例を示します。
トランザクションをXMLデータで保存するウェブストアです。
<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>

また、スキーマの制限が不十分であったり、他の入力検証が不十分であったりして、負の数や特殊な小数(NaNやInfinityなど)、あるいは非常に大きな値が想定外の場所に入力されてしまい、同様の意図しない動作が発生することもあります。
不正なXML文書に関する脆弱性を回避するには、正確で制限のあるXMLスキーマを定義して、不適切なデータ検証による問題を回避する必要があります。
次回のブログ記事では、ジャンボ・ペイロードや、OWASPトップテンの第4位であるXXEなど、XML文書に対するより高度な攻撃を紹介します。
それまでの間、私たちのポータルで、XML入力検証のスキルを磨いたり、挑戦したりすることができます。
XMLおよびXMLスキーマの仕様には、複数のセキュリティ上の欠陥が含まれています。同時に、これらの仕様は、XMLアプリケーションを保護するために必要なツールを提供しています。XML文書のセキュリティを定義するためにXMLスキーマを使用しているにもかかわらず、ファイル検索、サーバサイドリクエストフォージェリ、ポートスキャン、ブルートフォースなど、さまざまな攻撃を行うために使用することができます。
目次
Chercheur en sécurité des applications - Ingénieur R&D - Candidat au doctorat

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。
デモを予約するダウンロード



%20(1).avif)
.avif)
