文書番号HASHC2010052401

セキュリティ情報 - Yahoo!ケータイの一部端末に「かんたんログイン」なりすましを許す問題

HASHコンサルティング株式会社
公開日:2010年5月24日

概要

昨年11月24日づけアドバイザリにて、iモードブラウザ2.0のJavaScriptにより、携帯端末に割り当てられたID(以下、端末固有ID)を利用した認証機能(以下、かんたんログイン)に対する不正アクセスが可能となる場合があることを報告した。その後の調査により、同種の問題がYahoo!ケータイのブラウザ(通信事業者はソフトバンクモバイル)でも発生することを確認したので報告する。危険度の高い攻撃手法であるので、サイト運営者およびYahoo!ケータイ利用者には至急の対策を推奨する。

背景

携帯電話のかんたんログインとは、ケータイブラウザに用意された端末固有IDを利用した簡易的な認証であり、ユーザがIDやパスワードを入力しなくても認証が可能となる。Yahoo!ケータイでは、端末シリアル番号およびUIDの2種類の端末固有IDを提供しており、かんたんログインの実装に利用されている。

Yahoo!ケータイでは公式にはJavaScriptをサポートしていなかったが、実際には、2004年12月発売のノキア702NK以降、一部の端末でJavaScript機能を提供している。とくに、2006年の冬モデル以降の機種では、大半がJavaScript機能をサポートしている。

DNSリバインディングとは、DNSを利用した攻撃手法の一種で、DNSが返すIPアドレスを短時間の間に変更するものである。昨年11月24日づけアドバイザリでは、iモードブラウザ2.0搭載機種にて、DNSリバインディングによるかんたんログインなりすましの危険性を指摘した。

発見された問題

HASHコンサルティング株式会社の調査により、Yahoo!ケータイのJavaScript搭載機種でも、DNSリバインディングによるかんたんログインなりすましが可能であることがわかった。さらに、一部の機種では、setRequestHeaderメソッドによりHostフィールドを書き換え可能なものがあり、この場合は、従来推奨していた「Hostフィールドのチェック」によるアプリケーション側での対策がとれないことがわかった。

影響範囲

以下の条件を満たすサイトがこの攻撃手法の影響を受ける。

影響を受けるユーザ とくに、以下の端末では攻撃者によるHostヘッダの書き換えが可能なので、Hostヘッダ値をチェックしているWebサイトにおいてもなりすましの危険性がある。

上記は、ソフトバンクモバイル製の携帯端末62機種を調査した結果判明した内容である。現在利用可能なソフトバンク端末は150機種程度と見られることから、機種のカバー率は40%程度である。未調査の機種にて影響を受ける可能性があるため、Yahoo!ケータイ利用者は、後述するチェックプログラムで自分の機種の状況を確認することを推奨する。

表1.端末の種類毎の想定リスク
レベル 端末の種類 リスク 端末の例
レベル0 JavaScript機能のない機種 DNSリバインディングによるなりすましはできない 2006年夏モデル以前の端末の大半、841SHsなど
レベル1
危険度低
JavaScript機能があるがAjax機能はない機種 DNSリバインディングによるなりすましの可能性はあるが、アプリケーション側での対策が可能 2006年冬モデル以降の端末
レベル2
危険度中
Ajax機能があるがデフォルトでは無効になっている機種 DNSリバインディングによるなりすましの可能性がある。端末側のAjax機能を許可すると、アプリケーション側での対策は不可能となるので、Ajax機能を許可してはならない 2008年春モデル以降のシャープ製端末の大半
レベル3
危険度高
Ajax機能があり、デフォルトで有効になっている機種 DNSリバインディングによるなりすましの可能性はあり、アプリケーション側での対策は不可能。端末側のスクリプトを無効にすることで対策可 現在のところ判明している機種は、820N、821N、831N、830CA、940SC (*1)
参考1 JavaScript機能のない機種(ドコモ、au) DNSリバインディングによるなりすましはできない iモードブラウザ1.0機種、auの全機種
参考2 JavaScript搭載機種(ドコモ) DNSリバインディングによるなりすましの可能性はあるが、アプリケーション側での対策が可能 iモードブラウザ2.0機種
(*1)2010年5月26日追記:チェックスクリプトのログを解析した結果、レベル3の機種に 831N が追加された。

実証実験の内容

ソフトバンクモバイルの2009年春モデルの932SH(「Ajax規制」という設定を「許可する」にした状態)を用いて、DNSリバインディングによりなりすましが可能であることを確認した。

発生しうる脅威

この攻撃が成功した場合は、攻撃者はユーザになりすまし、そのユーザに与えられた権限での全ての操作が可能となる。具体的には以下のような脅威が発生しうる。

解決策・回避策

Webサイト提供者

以下によりこの手法を防止できる。

また、以下が保険的な対策となる。

Yahoo!ケータイのユーザ

QR画像

Yahoo!ケータイのAjax機能あるいはJavaScript機能を無効にすることで上記攻撃を防止できる。ユーザが利用中の端末について、DNSリバインディングの影響をどの程度うけるかチェックするスクリプトを提供する。以下のURLにより実行するか、右のQRコードから実行して、画面の指示に従い、必要により端末の設定を変更する。

なお、チェックスクリプトへの直接リンクを禁止する。リンクする際は、このページに対して行うこと。サイト運営者向けには、同等のチェック・スクリプトを提供する予定である。

携帯端末メーカー

JavaScriptのsetRequestHeaderにより、Hostフィールドを改変できないように改修する。ちなみに、PC用として広く普及しているブラウザ(Interenet Explorer、Firefox、Chrome、Safari、Opera)では、Hostフィールドは改変できない。Google社によるレポートを参照のこと。

発見者

HASHコンサルティング 徳丸浩
http://www.hash-c.co.jp/
contact (at) hash-c.co.jp

補足

上記内容は2009年11月24日に発見した事実を基本としたものである。発見者は即座にソフトバンク社に通知したが、半年を経過してなお状況が改善されず、注意喚起もされていないことから、Yahoo!ケータイ利用者の安全性確保を目的として公開するものである。

免責

このセキュリティ情報は予告なしに改訂される場合がある。このセキュリティ情報を適用した結果についてHASHコンサルティング株式会社は一切の責任を負わず、利用者の利益のために、あるがままの状態で公開するものである。