
セキュア・コーディング技法:XML データの処理、第 1 部
拡張マークアップ言語 (XML) は、機械にとって扱いやすく、人間が読める形式で文書をエンコードするために使用されるマークアップ言語です。しかし、この一般的に使用されている形式には、複数のセキュリティ上の欠陥があります。今回初めての XML 関連のブログ記事では、スキーマを使用して XML 文書を安全に処理するための基本について説明します。
OWASPは、XMLとXMLスキーマに関連するさまざまな脆弱性を2つのカテゴリに分類しています。
形式が正しくありません XML 文書
形式が正しくない XML 文書とは、W3C XML 仕様に従わない文書です。不正な形式の文書になる例としては、終了タグの削除、さまざまな要素の順序の変更、禁止文字の使用などがあります。これらのエラーはすべて致命的なエラーになるはずであり、文書に追加の処理を行うべきではありません。
不正な形式の文書による脆弱性を回避するには、W3C 仕様に準拠し、形式が正しくない文書の処理にそれほど時間がかからない、十分にテストされた XML パーサーを使用する必要があります。
XML ドキュメントが無効です
無効な XML ドキュメントは正しい形式ですが、予期しない値が含まれています。攻撃者は、XML スキーマを適切に定義していないアプリケーションを悪用して、文書が有効かどうかを確認する可能性があります。正しく検証されないと意図しない結果になる可能性がある文書の簡単な例を以下に示します。
トランザクションを XML データに保存するウェブストア:
<purchase></purchase>
<id>123</id>
<price>200</price>
また、<id>ユーザーは値を制御することしかできません。そうすれば、適切な対策を講じなければ、攻撃者は次のような情報を入力する可能性があります</id>。
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
このドキュメントを処理するパーサーが、<id><price>とタグの最初のインスタンスのみを読み取ると、望ましくない結果になります</price></id>。

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


XML および XML スキーマの仕様には、複数のセキュリティ上の欠陥があります。同時に、これらの仕様は XML アプリケーションを保護するために必要なツールも提供します。XML スキーマは XML 文書のセキュリティを定義するのに使用しますが、さまざまな攻撃に利用される可能性があります。
アプリケーションセキュリティ研究者-研究開発エンジニア-博士候補者

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。
预约演示アプリケーションセキュリティ研究者-研究開発エンジニア-博士候補者


拡張マークアップ言語 (XML) は、機械にとって扱いやすく、人間が読める形式で文書をエンコードするために使用されるマークアップ言語です。しかし、この一般的に使用されている形式には、複数のセキュリティ上の欠陥があります。今回初めての XML 関連のブログ記事では、スキーマを使用して XML 文書を安全に処理するための基本について説明します。
OWASPは、XMLとXMLスキーマに関連するさまざまな脆弱性を2つのカテゴリに分類しています。
形式が正しくありません XML 文書
形式が正しくない XML 文書とは、W3C XML 仕様に従わない文書です。不正な形式の文書になる例としては、終了タグの削除、さまざまな要素の順序の変更、禁止文字の使用などがあります。これらのエラーはすべて致命的なエラーになるはずであり、文書に追加の処理を行うべきではありません。
不正な形式の文書による脆弱性を回避するには、W3C 仕様に準拠し、形式が正しくない文書の処理にそれほど時間がかからない、十分にテストされた XML パーサーを使用する必要があります。
XML ドキュメントが無効です
無効な XML ドキュメントは正しい形式ですが、予期しない値が含まれています。攻撃者は、XML スキーマを適切に定義していないアプリケーションを悪用して、文書が有効かどうかを確認する可能性があります。正しく検証されないと意図しない結果になる可能性がある文書の簡単な例を以下に示します。
トランザクションを XML データに保存するウェブストア:
<purchase></purchase>
<id>123</id>
<price>200</price>
また、<id>ユーザーは値を制御することしかできません。そうすれば、適切な対策を講じなければ、攻撃者は次のような情報を入力する可能性があります</id>。
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
このドキュメントを処理するパーサーが、<id><price>とタグの最初のインスタンスのみを読み取ると、望ましくない結果になります</price></id>。

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

拡張マークアップ言語 (XML) は、機械にとって扱いやすく、人間が読める形式で文書をエンコードするために使用されるマークアップ言語です。しかし、この一般的に使用されている形式には、複数のセキュリティ上の欠陥があります。今回初めての XML 関連のブログ記事では、スキーマを使用して XML 文書を安全に処理するための基本について説明します。
OWASPは、XMLとXMLスキーマに関連するさまざまな脆弱性を2つのカテゴリに分類しています。
形式が正しくありません XML 文書
形式が正しくない XML 文書とは、W3C XML 仕様に従わない文書です。不正な形式の文書になる例としては、終了タグの削除、さまざまな要素の順序の変更、禁止文字の使用などがあります。これらのエラーはすべて致命的なエラーになるはずであり、文書に追加の処理を行うべきではありません。
不正な形式の文書による脆弱性を回避するには、W3C 仕様に準拠し、形式が正しくない文書の処理にそれほど時間がかからない、十分にテストされた XML パーサーを使用する必要があります。
XML ドキュメントが無効です
無効な XML ドキュメントは正しい形式ですが、予期しない値が含まれています。攻撃者は、XML スキーマを適切に定義していないアプリケーションを悪用して、文書が有効かどうかを確認する可能性があります。正しく検証されないと意図しない結果になる可能性がある文書の簡単な例を以下に示します。
トランザクションを XML データに保存するウェブストア:
<purchase></purchase>
<id>123</id>
<price>200</price>
また、<id>ユーザーは値を制御することしかできません。そうすれば、適切な対策を講じなければ、攻撃者は次のような情報を入力する可能性があります</id>。
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
このドキュメントを処理するパーサーが、<id><price>とタグの最初のインスタンスのみを読み取ると、望ましくない結果になります</price></id>。

また、スキーマの制限が十分でなかったり、他の入力検証が不十分だったりして、負の数値、特殊な10進数 (NaNやInfinityなど)、または非常に大きな値が予期しない場所に入力され、同様の意図しない動作が発生する可能性もあります。
不正なデータ検証の問題を回避するには、正確で制限の厳しいXMLスキーマを定義して、無効な XML 文書に関連する脆弱性を回避する必要があります。
次回のブログ記事では、ジャンボ・ペイロードや、恐れられているOWASPのトップ10第4位であるXXEなど、XML文書に対するより高度な攻撃について説明します。
それまでの間、XML 入力検証のスキルを磨いたり、挑戦したりすることができます。 私たちのポータルで。
XML および XML スキーマの仕様には、複数のセキュリティ上の欠陥があります。同時に、これらの仕様には XML アプリケーションの保護に必要なツールも含まれています。XML スキーマを使用して XML 文書のセキュリティを定義していますが、ファイル検索、サーバー側のリクエスト偽造、ポートスキャン、ブルートフォースなど、さまざまな攻撃に利用される可能性があります。
拡張マークアップ言語 (XML) は、機械にとって扱いやすく、人間が読める形式で文書をエンコードするために使用されるマークアップ言語です。しかし、この一般的に使用されている形式には、複数のセキュリティ上の欠陥があります。今回初めての XML 関連のブログ記事では、スキーマを使用して XML 文書を安全に処理するための基本について説明します。
OWASPは、XMLとXMLスキーマに関連するさまざまな脆弱性を2つのカテゴリに分類しています。
形式が正しくありません XML 文書
形式が正しくない XML 文書とは、W3C XML 仕様に従わない文書です。不正な形式の文書になる例としては、終了タグの削除、さまざまな要素の順序の変更、禁止文字の使用などがあります。これらのエラーはすべて致命的なエラーになるはずであり、文書に追加の処理を行うべきではありません。
不正な形式の文書による脆弱性を回避するには、W3C 仕様に準拠し、形式が正しくない文書の処理にそれほど時間がかからない、十分にテストされた XML パーサーを使用する必要があります。
XML ドキュメントが無効です
無効な XML ドキュメントは正しい形式ですが、予期しない値が含まれています。攻撃者は、XML スキーマを適切に定義していないアプリケーションを悪用して、文書が有効かどうかを確認する可能性があります。正しく検証されないと意図しない結果になる可能性がある文書の簡単な例を以下に示します。
トランザクションを XML データに保存するウェブストア:
<purchase></purchase>
<id>123</id>
<price>200</price>
また、<id>ユーザーは値を制御することしかできません。そうすれば、適切な対策を講じなければ、攻撃者は次のような情報を入力する可能性があります</id>。
<purchase></purchase>
<id>123</id>
<price>0</price>
<id></id>
<price>200</price>
このドキュメントを処理するパーサーが、<id><price>とタグの最初のインスタンスのみを読み取ると、望ましくない結果になります</price></id>。

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




%20(1).avif)
.avif)
