7月末に米国・ラスベガスで開催されたセキュリティ・カンファレンス「BlackHat USA2007」で,無線LAN越しにWebメールのセッションをハイジャックするデモが行われた。端的に言えばHTTPの通信の盗聴である。

 このデモで示された攻撃の手口は「サイドジャッキング」(SideJacking)と呼ばれる。セッション・ハイジャック自体は珍しい 話ではないし,決して技術的に目新しい仕組みを使うわけでもない。ただ,Webメール・サービスはインスタント・メッセージ(IM)やスケジュール機能などを持つようになっていて,多くの個人情報が集約される。ここはプライバシー情報,インサイダー情報の宝庫であり,セッション情報を詐取されたときのダメージは計り知れない。犯罪者がこれらの情報を狙わないわけがない。

人が介在して通信データを解析

 サイドジャッキングは,無線LAN上でWebの通信を盗聴しクッキー情報を詐取する攻撃手法である。クッキーを盗まれると,攻撃者になりすましを許すことになる。Webメールをはじめとするアプリケーションを不正利用されてしまうわけだ。

 特徴は,無線LANの通信パケットをキャプチャし,人がデータの内容を盗み見て解析する点である。いわゆるMan in the Middle(中間者)攻撃だ。以前にも同様の手口が見付かったことがある。無線LAN通信の解析ツール「Kismet」を使う方法で,図1のようなコマンドを実行することでクッキー情報を奪うことができる。

図1●無線LAN通信の解析ツール「Kismet」を使ったクッキー情報詐取の例
図1●無線LAN通信の解析ツール「Kismet」を使ったクッキー情報詐取の例

 リモートからのクッキー情報詐取といえば,クロスサイト・スクリプティングのぜい弱性を悪用する手口に注目が集まっている。ただ,Man in the Middleの方が攻撃の効率を高められる上,情報鮮度がいいことが多い。

デモでは二つのツールを紹介

 今回,BlackHatのデモでは「ferret」というパケット・キャプチャ・ソフトと「hamster」というプロキシ・サーバーが紹介された。デモの内容は次のようなものだ。

(1)「AirPcap」のような無線LANの通信をキャプチャするアダプタを利用し,通信データをのぞき見る
(2)トラフィックを解析して,個人情報・機密情報を含むセッションを抜き出す
(3)標的のクッキーが無効になる前にメールボックスなどにアクセスする

 写真1はferretを使ってキャプチャした通信データ,写真2はhamsterの画面である。この画面から,例えばクッキー情報を探してアクセスする。グーグルのGmailの場合,一度メールやチャットをやり取りした相手のアドレスは自動的に保存されるが,それらの個人情報も当然取得されている。

写真1●無線LANのパケットをキャプチャする「ferret」の操作画面   写真2●無線LANアクセス・ポイントに接続しているユーザーの通信を監視できる「hamster」
写真1●無線LANのパケットをキャプチャする「ferret」の操作画面
写真2のhamsterと合わせてWebセッションのハイジャック・ツールとして公開されている。
[画像のクリックで拡大表示]
  写真2●無線LANアクセス・ポイントに接続しているユーザーの通信を監視できる「hamster」
Webメールなどの通信(クッキー情報)をキャプチャできる。
[画像のクリックで拡大表示]

偽アクセス・ポイントに気をつけよう

 一見すると,盗聴されるような環境に問題があるように思える。無線LANにはWEP(wired equivalent privacy)に代表される無線区間のデータ暗号化機能がありAPをきちんと設定しておけば,そう簡単にデータを盗聴されることはないはずである。

 現在,国内の公衆無線LANサービスは,多くの場合はWEPにより暗号化されている。企業でもWEPなど暗号化機能を使うケースは増えている。ただ,だからといってサイドジャッキングが成り立たないわけではない。

 例えば,正規に提供されているアクセス・ポイント(AP)とサービス利用者の間に,悪意のある偽のAPが存在したらどうだろう(図2)。ターゲットとなるAPのSSID情報は容易に入手できる。これを使って偽APを設置することも難しくない。

図2●偽のアクセス・ポイントを設けてWebメールなどの内容を盗み見るサイドジャッキングの手口
図2●偽のアクセス・ポイントを設けてWebメールなどの内容を盗み見るサイドジャッキングの手口
[画像のクリックで拡大表示]

 通常,同一のSSIDが存在する場合,多くのユーザーは電波出力の強いAPに接続することになる。ここで,攻撃者が偽APにferretのようなキャプチャ・ソフトを搭載していると,偽APを通過するあらゆるパケットが攻撃者の手に渡ってしまう。

 「そんなに簡単にだまされるユーザーがいるのか」と思うかもしれない。ただ実際に公衆無線LANのAPのふりをする偽APを設置すると,場所にもよるがそれなりのアクセスが確認される。これについては,ラックが提供しているレポート「無線LANアクセスポイントの不正利用実態調査」(http://www.lac.co.jp/business/sns/intelligence/report/20060704_cslreport.pdf)を参照してほしい。標的とした企業のオフィス近くで,企業内に設置されたAPのSSIDを偽れたら,ちょっとした標的型攻撃になるわけだ。

最善の対策は通信データの暗号化

 では,ユーザーはどんな対策を講じればよいだろうか。サイドジャッキングに関して言えば,SSLもしくはVPNの利用は必須ということになる。

 多くのWebメール・サービスは,認証時にしかSSLを利用しない。Gmailの場合は,ログイン後にアドレスバーにある「http」を手作業で「https」に書き換えることでSSLに対応させることができる。

 ferretに関して言えばほかにも対策がある。ferretでは,ローカル・プロキシ(ポート番号8000番など)を介した通信はキャプチャされない。この方法でも若干の効果は期待できる。

 パケット・キャプチャを防ぐという観点から,「Sniffer検知ツール」も試してみる価値はあるかもしれない。無線LANのアダプタに対応しているかどうかは未確認だが,Sniffer検知ツールとしては「AntiSniff」,「PromiScan」などがある( 表1)。サイドジャッキングに必要なツールは容易に入手できる上,攻撃手口は応用が利く。悪用される可能性が高いことは認識しておいた方がいいだろう。

表1●Sniffer検知ツールの例
表1●Sniffer検知ツールの例

岩井 博樹(いわい・ひろき) ラックコンピュータセキュリティ研究所 所長
ラックのコンピュータセキュリティ研究所に勤務。IDS/IPS導入設計,コンサルティングなどに従事した後,同社のJapan Security Operation Center(JSOC)にて監視業務に携わる。現在は,セキュリティ技術の研究開発,フォレンジック業務を手掛ける。