iPhoneやAndroidなどのスマートフォンを、企業で利活用する例が増え、スマートフォンのセキュリティも強く意識されるようになってきた。マルウエアやスパイウエア(情報収集モジュールを含む)は相次いで現れている。

 ただ、それ以外にも様々な攻撃手法が生み出されている。中でも筆者は、「ビットスクワッティング」と呼ばれる手法が気になっている(図1)。

図1●新しい攻撃手法「ビットスクワッティング」の概要
図1●新しい攻撃手法「ビットスクワッティング」の概要
スマートフォン内のメインメモリー上でビットエラーが生じるのを待ち構える。
[画像のクリックで拡大表示]

熱などによるビットエラーが起因

 ビットスクワッティングはセキュリティ技術者のアーテム・ダイナバーグ氏が、2011年8月に開催されたハッカーイベント「DEFCON」で発表した新しい手法。スクワッティングは「無断占拠」という意味で、ハードウエア上で発生するビットエラーを利用して、DNSハイジャックを行う手法がビットスクワッティングだ。

 例えば米放送局のCNNのWebサイト「CNN.COM」にアクセスしたり、CNN.COMドメインのユーザーにメールを送信するケースを想定しよう。宛て先となる「CNN.COM」の文字列は、その信号のうち特定の1ビットの0と1を変えると、「CON.COM」になってしまう。実は、CPUの発熱などに起因するビットエラーによって、こうしたことが起こる場合がある。

 ビットエラーが発生したのが通信路ならば誤り訂正符号で復元されたり、TCPによって再送要求が発生したりする。しかし端末内部のメモリー上でビットエラーが発生した場合、特殊なメモリーでないとビットエラーを訂正できない。ユーザーは、CNNにアクセスしているつもりで「CON.COM」という誤ったドメイン名のサーバーにアクセスしようとする。

 ここで、CON.COMというサーバーが存在しなければDNSルックアップでエラーになる。CON.COMというサーバーが存在しても、CNNと全く違うWebサイトならユーザーはすぐに気付くだろう。では、CON.COMがCNNと酷似した偽ページになっていたらどうだろう。ビットスクワッティングを使う攻撃者は、こうしたフィッシング詐欺を狙う。

 メールの場合、メールアドレスが一致していればCON.COMのサーバーがそのまま受信する。ユーザーは送り先が間違っていることに気付けないかもしれない。CON.COMというドメイン名で待ち受けていれば、いつか獲物が飛び込んでくるわけだ。

 ビットエラーは熱や電圧異常、宇宙線、磁気によって引き起こされる。ダイナバーグ氏は、これらに対する対策が、スマートフォンはパソコンに比べて劣るとする。例えばスマートフォンやタブレット端末では、パソコンのような冷却用ファンは搭載していない。そのため長時間使っていると、かなりの熱を持ってくる。これはユーザーならば実感していることだろう。そうした高温状態になったとき、メモリーはビットエラーを起こしやすくなっている。

 もちろん、CNNをCONに置き換える特定のビットに、こうしたビットエラーが発生する可能性はかなり低い。それでも、ダイナバーグ氏によると、世界中で毎日60万回のビットエラーが理論上発生していると推測されるそうだ。スマートフォンやタブレット端末が普及すると、もっと増えていくと筆者は予想している。