セキュリティ用語集: WAF

XXE (XML 外部エンティティ)

XXE (XML 外部エンティティ)

XML 外部エンティティ (XXE) インジェクションは、アプリケーションが外部エンティティへの参照を含む XML 入力を処理するときに発生するセキュリティ脆弱性です。アプリケーションの権限と構成に応じて、脅威アクターはこれらのエンティティを使用してファイル システムにアクセスしたり、アプリケーションがアクセスできる他のシステムとやり取りしたり、サーバー上で任意のコードを実行したりすることができます。

XXE の脆弱性は、XML パーサーが古くなっているか、安全でない外部エンティティの処理を防止するように適切に構成されていないために発生します。このリスクを軽減するには、XML ドキュメント内の外部エンティティを定義するためによく使用されるカスタム ドキュメント タイプ定義 (DTD) の使用を禁止するように XML パーサーを構成することをお勧めします。

XXE 攻撃を防ぐことは理論的には簡単ですが、実際の実装は難しい場合があります。最近の Web アプリケーションは、多くの場合、多数のコンポーネントで構成されており、各コンポーネントには独自の XML パーサーが組み込まれている可能性があります。どのコンポーネントが XML を処理するかを特定し、すべてが正しく構成されていることを確認するのは複雑な作業です。場合によっては、アプリケーションの所有者が特定のコンポーネントの XML パーサー構成に直接アクセスできないことがあり、問題がさらに複雑になります。

XXE 攻撃の影響は、アプリケーションとそれが展開される環境によって異なります。場合によっては、攻撃者がサーバーから機密ファイルを読み取って、データ侵害を引き起こす可能性があります。さらに深刻なケースでは、XXE はリモート コード実行 (RCE) などのより危険な攻撃の踏み台として使用され、攻撃者が影響を受けるサーバーを完全に制御できるようになります。

XXE 攻撃はどのように機能しますか?

XXE 攻撃は、アプリケーションの XML 解析の脆弱性を悪用します。攻撃者は XML 入力を操作して、外部リソースを参照する外部エンティティを含めます。脆弱な XML パーサーによって処理されると、これらのエンティティによって内部ファイルへの不正アクセス、サーバー側でのリクエスト フォージェリ、さらにはリモート コード実行が発生する可能性があります。この脆弱性は、XML パーサーがこれらの外部参照を処理するようにデフォルトで設定されていることが多く、重大なセキュリティ侵害につながる可能性があるために発生します。

XXE攻撃の例

XXE 攻撃は、有害な外部エンティティを XML ドキュメントに埋め込むことで XML プロセッサを操作します。次に例をいくつか示します。

  1. ファイルの漏洩: 攻撃者はサーバー上のローカル ファイルにアクセスし、パスワード ファイルなどの機密データを抽出できます。

xxe攻撃

  1. サーバー側リクエスト偽造 (SSRF): XXE を悪用して、ファイアウォール保護を回避し、サーバーから内部サービスにリクエストを送信します。
  2. ポート スキャン: XXE を使用して内部ネットワーク スキャンを実行し、ネットワークの保護された境界内でアクティブなサービスを識別します。

    これらの例は、XXE がどのように悪用されてシステムのセキュリティと組織全体の整合性が損なわれるかを示しています。

    XXE 攻撃のリスクは何ですか?

    XXE (XML 外部エンティティ) 攻撃は、XML パーサーの脆弱性を悪用してさまざまなセキュリティ侵害を引き起こすため、重大なリスクをもたらします。これらの侵害には、機密データへの不正アクセスが含まれ、個人情報やビジネス情報の機密性が漏洩する可能性があります。さらに、攻撃者は、システム リソースを消費する外部エンティティを参照してサービス拒否 (DoS) 攻撃を開始し、サーバーに過負荷をかけ、サービスの中断を引き起こす可能性があります。さらに、XXE 攻撃は、システム全体を危険にさらす悪意のあるコードやスクリプトの実行など、より深刻な脅威の入り口となる可能性があります。これらの重大なリスクは、XXE の脆弱性を防ぎ、そのような攻撃から保護するための強力なセキュリティ対策が緊急に必要であることを浮き彫りにしています。

    XXE攻撃の防止

    XXE攻撃を防ぐには、包括的で多層的なアプローチが必要ですが、CDNetworksのソリューションは堅牢なサポートを提供します。XXE攻撃から保護するには、開発者とセキュリティ専門家は、すべてのXMLパーサーが外部エンティティ処理を無効にするように設定されていることを確認する必要があります。CDNetworksは、XMLパーサーを適切に設定することでシステムセキュリティを強化し、当社のソリューションを通じて追加の保護レイヤーを提供します。 ウェブ アプリケーション ファイアウォール (WAF)Flood Shield - DDoS対策は、高度な脅威検出、軽減、および「常時オン」の DDoS 保護を提供します。

    さらに、Web アプリケーションの潜在的な XXE 脆弱性を特定して修正するために、定期的なセキュリティ評価とコード レビューを実施する必要があります。CDNetworks では、JSON のようなよりシンプルなデータ形式を使用しています。JSON は本質的に XXE (XML 外部エンティティ) 攻撃を防ぐためです。XML や YAML とは異なり、JSON はエンティティ参照と DTD (文書型定義) をサポートしていないため、XXE リスクに対して自然に耐性があります。さらに、安全なコーディング プラクティスを採用し、最新のセキュリティ脅威と軽減手法について常に情報を得ることは、堅牢なセキュリティ体制を維持するために不可欠です。これらの包括的な対策により、XXE 攻撃のリスクが全体的に軽減され、システム全体のセキュリティが強化されます。