SO503iの“iアプリバグ”の正体は?(1/2)

回収,交換となった「SO503i」だが,交換の際にはメールなどのデータが消えてしまう。iアプリのセキュリティホールと,失うデータとを天秤にかける必要がありそうだ。

【国内記事】 2001年5月14日更新

 5月11日,NTTドコモのiアプリ対応端末「SO503i」のiアプリ機能に不具合が見つかり,回収,交換が決まった(5月11日の記事参照)。

 しかしリリース文を見ても,どんな不具合なのか非常に分かりにくい。この“不具合”とは一体何だったのか? どんな問題が生じ,どうすれば問題を避けられるのだろうか?

 またNTTドコモは回収,交換をうたっているが,新しい端末への交換も問題がないとはいえない(3月2日の記事参照)。ユーザーによっては,端末を交換することで消失するデータのほうが,iアプリのセキュリティホールよりも重要な場合もあるだろう。

 “交換しない場合のデメリット”“交換を行った場合のデメリット”,その両方をよく考えてから行動する必要がありそうだ。

今回のセキュリティホールは何だったのか?

 ドコモのiアプリの実態は,Java環境で動作するJavaプログラムだ。ユーザーはネットワーク上からJavaプログラム(iアプリ)をダウンロードして,端末上で動作させることができる。

 ちょうど,PCでオンラインソフトをダウンロードし,動作させるのに近いことが,携帯電話上で可能になったわけである。

 もちろん,さまざまなプログラムをダウンロードできるわけだからセキュリティ上の危険性もある。「あるホームページからダウンロードしたEXEファイル(実行ファイル)を起動したらウイルスに感染した」という,PCのウイルス騒動と似たものが携帯電話でも起こる可能性があるわけだ。

 特に,PCに比べて携帯電話では,

  • 特定個人の名前,電話番号などが記録されている
  • 常にネットワークに接続されている
  • 課金システムに直結している

 などの特徴があるため,PCよりもセキュリティに注意する必要がある。

 そのため,ドコモのJava仕様では以下のようなセキュリティポリシーを挙げ,ウイルスなどの悪意のあるプログラムが作成できないようになっていた。

Javaプログラムは,ダイヤル機能や電話帳にアクセスできない
Javaプログラムは,ほかのJavaアプリを起動したり,書き換えられない
Javaプログラムの通信先は,ダウンロード元のサーバに限定される
ユーザーは自分の判断でJavaプログラムを強制終了できる

 たとえば,Windowsのウイルスとして悪名高いMelissaはOutlookのアドレス帳を参照して,勝手にメールを送信することで感染を広げた。ドコモのJava仕様では“電話帳にアクセスできない”“ダイヤル機能やメール機能にもアクセスできない”ことで,Melissaのようなウイルスが作成できないようになっている。

 さらに下図のように,それぞれのJavaプログラムは,Java VMおよび自身のダウンロード元のサーバにしかアクセスできない。

 このように,iアプリはアクセスが極端に制限されている。このセキュリティポリシーが守られている限り,ウイルスはおろか,暴走して周りを巻き込むようなプログラムさえ作れないようになっているわけだ。

“スクラッチパッドの読み出し”とは?

 それぞれのiアプリには「スクラッチパッド」と呼ばれる記憶領域が割り当てられている。今回,SO503iに不具合が発生したのは,その部分だ(4月20日の記事参照)。

 スクラッチパッドは,iアプリが各種データを保存するために使われる。ネットワークに接続しないiアプリでも次回起動時にハイスコアなどが残っているのは,このスクラッチパッドにデータが記録されているからだ。逆にいえば,iアプリ起動時に入力したデータ,およびそのiアプリをダウンロードしたときに入力したデータ以外は記録されようがない。

 本来,スクラッチパッドは1つのiアプリに1つ割り当てられ,別のiアプリのスクラッチパッドにはアクセスできない仕様になっている。

 ところがSO503iでは,特定の条件下で別のiアプリのスクラッチパッドにアクセスできてしまう。それが今回問題となった不具合だ。



モバイルショップ

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!