Home > NCSIRTアドバイザリ > いつHTTPの"Referer"ヘッダは送られるのか?

NCSIRTアドバイザリ

いつHTTPの"Referer"ヘッダは送られるのか?
(SANS Internet Storm Center Diary 2013/8/25より)

SANSインターネットストームセンターのハンドラであるJohannes Ullrichが、HTTPのRefererヘッダについて報告している。 (掲載日:米国時間 2013年8月25日)

"Referer"ヘッダは頻繁にプライバシーの問題があると見なされる。ブラウザが最後に訪れたWebサイトを知らせてしまうからだ。Webサイトが不用意にコード化されていた場合、ブラウザは機密情報(セッショントークン、ユーザ名/パスワード、URLの一部として送信される他の入力情報)を通信する可能性があるだろう。

例えば、Refererヘッダは頻繁に内部システム(ウェブメールシステムのような)や顧客サービスポータルをさらしてしまう。

Refererヘッダによる送信を防ぐために、Webサイトに設定できるいくつかの簡単なテクニックがある。例えば、RFC 2616[1]のセキュリティセクションの15.1.2項では、必ずというわけではないが、ユーザが From と Referer 情報の送信を有効、無効にできるようにする便利なトグルインターフェースを提案している。HTTPSセッションの一部がRefererとしてHTTPセッションに送信されデータが漏洩することを防ぐには、15.1.3項で以下のように述べられている。"参照ページがセキュアなプロトコルで転送された場合、クライアントは、(非セキュアな)HTTPリクエストでRefererヘッダフィールドを含むべきではない"。

よって応急処置としてまずアプリケーションでHTTPSを使用してほしい。これはRefererヘッダによる情報漏洩を防ぐだけでなく、多くのことに効果的だろう。さらに最近では、WHATWG(注1)が"referrer"(注2)メタタグ[2]の追加を提案した。このメタタグは、以下の4つの異なるポリシーを備えている。

  • never: 空のRefererヘッダを送信する。
  • default: 元のページが暗号化されていた場合(httpsだけでなく、SSLベースのプロトコル)、Refererヘッダが空であることを意味するデフォルトのポリシーを使用する。
  • origin: 全URLではなく、"Origin"のみ送信する。訪問したページ履歴、URLパラメータは含まずに単にホスト名だけをHTTPSからHTTPに送信する。信用されたHTTPサイトにHTTPSサイトからリンクする場合の妥協案としてよいだろう。
  • always: HTTPSからHTTPであってもヘッダーを送信する。

例えば、‹meta name="referrer" content="never"›を含むページはRefererヘッダを送信することはない。

加えて、もし特定のリンクのみRefererヘッダをブロックしたい場合は、rel=noreferrer属性を追加することが出来るだろう[3]。

筆者が全ての主要ブラウザ(Firefox、Chrome、Safari)の現在のバージョンでの簡単なテストから確認したところ、FirefoxだけがMETAタグ、"REL"属性をサポートしていないようだ。SafariとChromeは両方のオプションをサポートしていた。しかし筆者は読者の皆さんが他に何か見つけないか興味がある。皆さんは簡単にヘッダを調べることができる我々のブラウザヘッダページのリンクを利用可能だ:https://isc.sans.edu/tools/browserinfo.html

[1] http://tools.ietf.org/html/rfc2616 外部リンク
[2] http://wiki.whatwg.org/wiki/Meta_referrer 外部リンク
[3] http://wiki.whatwg.org/wiki/Links_to_Unrelated_Browsing_Contexts 外部リンク

注1:Web Hypertext Application Technology Working Group。HTMLの開発やその関連技術に興味を持つ人々のコミュニティー。
注2:RFCの"Referer"の綴りは"r"1文字だが、英語の綴りとしては、"r"2文字の"referrer"が正しい。WHATWGが提案した"referrer"メタタグは"r"2文字となっている。

原文:http://isc.sans.edu/diary.html?storyid=16433 外部リンク

2013年9月13日 NCSIRT

NCSIRTアドバイザリ一覧へ

PAGE TOP
お問い合わせ / 資料請求

ご不明な点、ご要望、ご相談等ありましたら、お気軽にお問い合わせください。資料請求も承っております。

お問い合わせ 資料請求


このページを印刷