セキュアな Web サイトを脆弱なサイトに変える Firesheep

2016.12.26

Web サイト運営者に Web サイト全体の暗号化 (Encryption Everywhere) を促すための活動が、米国の 1 人の独立系ソフトウェア開発者によって開始されました。


普通の Web サイトであれば、少なくともログイン時にはセキュア HTTP (HTTPS) を使用します。これは、ユーザー名とパスワードを保護するうえで非常に重要です。ユーザーがログインすると、サイトはログインセッションに固有のブラウザセッション Cookie を設定します。


アカウントの情報とサーバーで生成されたランダムなセッションキーの両方に関連付けられた暗号化ハッシュを使用することで、誰もこの Cookie の値を事前予測できなくなります。


したがって、Cookie はアカウントへの一時的なアクセスチケットとして機能するため、ユーザーはページごとにログイン情報を再送信せずに済みます。HTTP はステートレスなプロトコルであるため、この目的を果たすには Cookie が必要になります。クライアントからサーバーへの各要求は、他のすべての要求とは独立していると見なされます。そこで、一連の要求が個々のセッションに属することを示すには、何らかの反復可能な認証トークンが必要です。


ここまでは、何の問題もありません。


しかし、多くの Web サイトはセッション Cookie が設定されると、残りのセッションでは暗号化されていない通常の HTTP に戻るという安易な方法を選択します。いずれにしてもユーザー名とパスワードの再入力は不要なり、暗号化の必要性もなくなったように思われます。


しかし、それは誤解です。


安全ではないトラフィックに戻ってしまうと、面倒なセキュリティ問題が発生します。Web サイトへのすべての HTTP 要求ヘッダーで送信されるセッション Cookie を含め、セッションの残りすべてが傍受されてしまいます。


簡単に説明するならば、ユーザーの PC からのネットワークパケットを盗聴できる攻撃者は、傍受したデータに含まれる Web サイトのセッション Cookie を抽出したり、その Cookie を自身のブラウザに複製したり、ユーザーになりすまして Web サイトに接続したりできます。また、セキュリティ保護されていない Wi-Fi ネットワークに接続している場合、この種の傍受は非常に簡単です。Wi-Fi アクセスが無料提供されているエリアでは、これと同じことが頻繁に起こっています。


Firesheep


Eric Butler 氏が開発した Firefox ブラウザ向け Firesheep(リンク先:英語) プラグインを実装すると、まさしくこの攻撃が可能になり、Facebook や Twitter などのログインを自動的に乗っ取ることできます。この種の攻撃は、サイドジャックと呼ばれます。


このセッション乗っ取り用ソフトウェアを一般公開したことについては倫理的な問題が残りますが、Butler 氏は重要な点を指摘しています。(ただし、たとえ冗談であっても、このソフトウェアを使用して他人のアカウントにアクセスすることは絶対にしないでください。)


多くの Web サイト (特に個人情報へのアクセスと使用が可能な Web サイトや、責任を問われる可能性があるオンラインアクティビティの実行が可能な Web サイト) は、セッションの開始時にのみ HTTPS を使用しているため、ユーザーに不利益をもたらしています。本来であれば、セッション全体で HTTPS を使用して、アップロード/ダウンロードされる個人情報およびユーザー識別に使用される認証トークンの両方を保護する必要があります。


常時 HTTPS を使用する必要がない場合もあります。たとえば、個人情報ではない知的財産 (ソフトウェアのダウンロードやニュース記事など) へのアクセスを制限するためだけにサイトでログインを使用している場合などは例外です。ただし、一般的には、SSL ログインの後には SSL セッションが必要です。


常に暗号化を使用しないことに対してよく聞かれる言い訳は、HTTPS の暗号化レイヤーである SSL は「コストが高い」というものです。この点については、次のような反論が可能です。


まず、コストが高いことは口実になりません。セキュリティを一切提供しないのが最も低コストですが、顧客はそのようなことを許しません。中途半端なセキュリティも同じことです。


次に、「コストが高い」というのは本当でしょうか。Google は、処理能力を追加することなく、すでに Gmail サービス全体で HTTPS を有効にしたと主張しています。


ただし、Google は常にシステム全体の性能向上を目的として、ネットワークに処理能力およびインテリジェンスを追加しているため、この Google の自慢話は額面通りに受け取らないほうがよいでしょう (なお、Google は前述の主張を裏付けるため、どのような追加を行ったかの説明(リンク先:英語)をしています)。


ソーシャルネットワーキングサイトの運営者は、Google を見習う必要があるのではないでしょうか。

引用元

おすすめの記事はこちら