鳩丸ぐろっさり (用語集)

bakera.jp > 鳩丸ぐろっさり (用語集) > Cross Site Tracing

用語「Cross Site Tracing」について

Cross Site Tracing (くろすさいととれーしんぐ)

話題 : セキュリティ

クロスサイトスクリプティング脆弱性などを利用して TRACE メソッドのリクエストを発行させ、HTTP要求ヘッダの内容を読み取る手法のことです。これによって Authorization フィールドの内容を読み取り、Basic 認証のパスワードを盗むことができます。

通常、クロスサイトスクリプティング脆弱性を利用した攻撃では Cookie の内容を読み取ってセッションハイジャックを行うことが想定されます。Cookie の内容はスクリプトから簡単にアクセスできます。クロスサイトスクリプティング脆弱性によって任意のスクリプトが実行できるようになっていると、Cookie は簡単に盗まれてしまいます。

それに対して、Cookie を使用せずに Basic 認証を利用している場合、その ID やパスワードをスクリプトで直接読み取る方法はありません。従って、Basic認証ならばクロスサイトスクリプティング脆弱性があってもハイジャックできない……かのように思えます。

しかし、実はスクリプトを利用して TRACE メソッドの HTTPリクエストを発行し、その結果を受け取るという方法で Authorization フィールドの内容が読み取れてしまうのです。Basic 認証では、Authorizationフィールドに暗号化されていない (Base64で符号化された) ID:パスワードの組がそのまま書かれているため、これで簡単に ID とパスワードを読み取れてしまいます。

※Java Applet や Flash のようなものでもやはり TRACE メソッドを発行でき、同じことができるようです。

この問題への予備的な対策として、サーバが TRACE を受け付けないようにするという方法がとられることがあります。通常、TRACE メソッドを使用する必要はほとんどありませんので、TRACE を一切受け付けないような設定にしてしまっても、ほとんどの場合は問題ありません。しかし、これはあくまで予備的な対策です。TRACE を無効にすれば Cross Site Tracing は防げますが、クロスサイトスクリプティング脆弱性には他の脅威もあることを忘れてはいけません。クロスサイトスクリプティング脆弱性を修正することが重要です。

「Cross Site Tracing」に関連する用語

最近の日記

関わった本など