今年のBlack Hat Briefingsでベスト・デモを選ぶとしたら、Errata SecurityのRobert Graham氏の「サイドジャッキング (SideJacking)」という声が多い。
同氏はCTOのDavid Maynor氏と共に、「Simple Solutions to Complex Problems from the Lazy Hacker's Handbook」と題した講演を行った。その中で不精(lazy)なハッカーの格好のターゲットとして、Web 2.0世代のオンラインサービスを取り上げた。Wi-Fiホットスポットにおいて、簡単な技術でセッションを乗っ取ることができるという。その危険性を証明するために、実際にその場で会場の無線LANに接続して行っているセッションを"サイドジャック"すると宣言。次の瞬間、講演スライド用のスクリーンに、おそらく観客席の中の1人のものと思われるGmailの画面が大写しにされた。
過去にもDEFCONでWi-Fiホットスポットにおける通信を乗っ取る手法が紹介されているが、実演は行われなかった。また、Graham氏のデモほど説得力のある成功例はめずらしく、あまりの見事さに大爆笑と長い拍手が続き、となりの会場の講演が一時ストップしてしまうほどだった。
デモではGmailのセッションがサイドジャックされたが、Gmailは安全なサービスの部類に入るという。Web 2.0世代と呼ばれるオンラインサービスの多くはサイドジャックされる危険性があり、一部の例としてYahoo! Mail、BlogSpot、MySpace、Facebook、Google AdSense、Salesforce.comなどが挙げられた。
問題は、どのようなサービスでもSSL利用がログイン時のみで、ほとんどのサービスが、その後に通常のセッションへと切り換える点にある。そこでログイン完了後に、サーバがURLの一部またはCookieという形でユーザーに返すセッションIDを基に乗っ取りを行う。基本的な手法は、ブラウザ・インストール時のインポート作業と同じだ。
例えばFirefoxではインストールする際に、他のブラウザから設定などをインポートする機能が用意されている。Cookieのインポートも可能で、実行すればInternet Explorerで利用していたサービス環境をそのままFirefoxで利用できるようになる。Graham氏のサイドジャッキングも同様に、Cookie情報を取得し、インポート機能と同じような手法でサービスへのアクセス可能にする。ただし、多くのWebサイトはPCを再起動するたびにログを戻し、Cookieをローカルに保存しないため、ターゲットがセッションを行っている時にサイドジャックする必要がある。
Graham氏はTCPパケットをスニッフするツールと、取得したCookieフィールドの情報をプロキシサーバに結びつけてWebサービスに接続可能にするツールの組み合わせでデモを行った。これらのツールは開発初期段階でトラブルも多く、実用的なツールには仕上げられていないという。例えば、最新のCookie情報のみを取り込むため、Wi-Fiホットスポットに複数の人が接続している場合、セッションの途中から違う人のセッションに突然切り替わってしまう可能性がある。しかしながら、問題はツールの実用性ではなく、サイドジャックされるという事実だ。
サイドジャッキングでは、ユーザーIDやパスワードなどのログイン情報が盗まれる訳ではないので、ある日突然アカウントのパスワードを変えられるということは起きない。だが、Eメールを読まれたり、ブログに奇妙な書き込みを行われるなどの被害を受ける可能性がある。パスワードを変更しても、VPNやSSLを用いて接続しない限りはサイドジャックされる危険性は変わらない。ユーザー側での対策も可能だが、サービス側のセキュリティ強化が求められるところだ。デモではGmailがサイドジャックされてしまったが、同サービスはHTTPSでの接続も用意している数少ないサービスの1つである。
Gmailは通常のセッション(左)だけではなく、よりセキュアなHTTPSでの接続(右)が可能だ |
Graham氏は、Wi-FiホットスポットでWeb 2.0アプリケーションを利用する危険性は以前から問題として取り上げられていたものの、専門的な知識とツールが必要であるため、その危険性が軽視されていると指摘。サイドジャッキングでは、ハードルの高い知識やツールは必要ないと警告していた。