番外編2 iアプリのセキュリティは破られていない

「SO503i」が回収,交換となった。しかも問題はiアプリにある。だが,iアプリのセキュリティモデルが破られたのではないことには留意しておこう。

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

 「SO503i」がiアプリのセキュリティ問題で回収になったのは,既に報道されているのでよくご存じだろう(5月11日の記事参照)。

 SO503iで特殊な手続き(iアプリのバージョンアップを多用している人は,さほどいないと思うが)を実行した場合に限られるとはいえ,iアプリを成立させていた鍵の1つだったセキュリティに対する信頼を揺るがしたという点で,SO503iの回収が大きなニュースであることは確かだ。しかし,その報道に多少,気になる点もないわけではない。

問題は別のところにある?

 このページを読んでいる読者は,もちろんiアプリや携帯に興味を持っている人だろうから,すでにSO503iの不具合に関しては熟知しているだろうと思う。iアプリのバージョンアップという,あまり利用する人がいなさそうな機能を利用したときに,SO503iに蓄積されている個人情報が盗み出されるおそれがある,というものだ(5月14日の記事参照)。

 なぜ,このような不具合が発生したのだろうか。報告を読む限り,SO503iの内部ソフトウェアの,スクラッチパッドの取り扱いが適切でなかったのが原因だろうと推測できる。“バージョンアップ”という,ややマイナーな機能だけに,メーカーサイドのソフトウェアの動作確認が多少おろそかになっていたのかもしれない。

 この回収騒ぎがiアプリの信頼性を揺るがしたのは確かだが,一方で「iアプリのセキュリティモデルが崩れた」という表現には多少の疑問がある。iアプリのセキュリティモデルと,スクラッチパッドの「管理ミス」は別の次元の問題だからだ。

 iアプリそのものは,セキュリティが十分すぎるほど考慮された仕様といえる。逆にiアプリ開発者から「不自由すぎる」という声が挙がるくらい,セキュリティ保持のために厳しい制限が課せられているのが実情だ。

 iアプリ仕様そのもののセキュリティモデルが決して破られたわけではないし,ましてJavaのセキュリティモデルに欠陥があったわけでもない。

 SO503iの問題は,iアプリという仕組みを実装する側のミスが原因だ。Javaやiアプリのように,仕様上は万全のセキュリティを備えていても,JavaVMやオペレーティングシステムそのもの,あるいはソフトウェアのどこかにミスがあれば,仕様どおりのセキュリティは維持できない。PCの世界では,アプレットのセキュリティ問題が繰り返し表面化しているが,今回のSO503iもそれと同種のトラブル(実装側のミス)と断定して,まず間違いないだろう。

 では,SO503iなど携帯に組み込まれているJavaVMの実装にミスがあったのだろうか。どうやら,そうではないようだ。Java2 Micro Editionに利用されているJavaVM自体にセキュリティホールが見つかった事例は,いまのところ報告されていない。やや余談だが,SO503iの回収騒ぎで誤解されるのをおそれて,緊急に自社のJavaVMのセキュリティは万全であるというアナウンスを行っているJavaVMベンダーすらあるくらいだ。

 iアプリ仕様やJavaの問題でもなく,またJavaVMに問題があったわけでもない。では,いったい何がSO503iの不具合を引き起こしたのだろう?

複雑になりすぎている携帯のソフトウェア環境

 SO503iに先立って,「P503i」が回収になったのを覚えている読者も多いだろう(2月9日の記事参照)。

 P503iの不具合は,Javaには直接関係なく,iモードページの表示に関するトラブルだった。具体的には,画像を展開中にソフトウェアがほかの領域のメモリを破壊してしまうというものだ。メモリの管理ミスという点で,P503iとSO503iの回収騒ぎは共通していたわけだ。これは偶然の一致ではないだろう。

 筆者はあまり携帯を頻繁に使うほうではなく,つい先日までPHSのユーザーだった。そんな筆者が,503iを手に入れて,まず驚いたのが内蔵のソフトウェアの出来(見栄え)のよさだ。

 しかし一方で,操作性の統一感のなさにも驚かされた。iモードの操作性と,携帯機能の操作性や画面のルックスがまるで違う。おそらく開発した場所(人)が異なるからだろう。

 PCなら,異なるベンダーのソフトが,同じPCの,同じOSの上で共存して動くのは当たり前だ。PCで破綻なくさまざまなソフトが動いている秘密は,ソフトウェアの土台になっているOSにある。

 Windowsを含め,現代的といわれているOSはすべて,アプリケーションとOS自身の実行レベルを分けることでアプリケーションとOSが共倒れしない仕組みになっており,異なるアプリケーション同士がメモリを食い合ったり,利用するシステム資源がバッティングしないように,OSがしっかりと管理している。

 しかし,携帯電話のような小型の機器に使われているOSは,それほどの機能を持ってはいないだろう。にもかかわらず,現在の携帯は,ちょっとしたPDAにも迫る豪華なソフトウェアが揃っている。

 電話機能に加えて,電話帳やスケジューラなどPIMがあり,さらにiモード機能があり,そしてJavaVMが載りiアプリが動く……。簡易なOSの上に実装するには複雑になりすぎているのかもしれない。さまざまなソフトを,言葉は悪いが“泥縄式に実装”した結果,たび重なるソフトウェアの不具合による回収が起きている,というのが真相ではないだろうか。

 かといって,携帯に「高度な」OSを乗せるのも,また難しいのかもしれない。高度なOSは高速なCPUを必要とし,高速なCPUは電力を必要とするからだ。そのあたりに開発のジレンマがあるのかもしれない。

 とはいえ携帯電話は,いまや生活に密着した道具で,携帯の中には個人情報を含めて,その人が生きていくために必要な情報が詰め込まれているとすらいえる機器になっている(3月2日の記事参照)。そして,それを維持するのがソフトウェアの役目だ。

 不具合,回収が重なれば503iシリーズそのものへの信頼が揺らぐだろうし,iアプリに対する信頼も揺らぎかねない。いたずらに開発競争に走るのではなく,しっかりした製品作りが求められるのではないだろうか。

関連記事
▼SO503iのiアプリにバグ,42万台回収,交換へ
▼SO503iの“iアプリバグ”の正体は?
▼P503i に不具合,ドコモが23万台回収
▼携帯向けJava,3社の違いは?
▼携帯電話はPCと逆方向に進化する?
▼携帯電話のデータが消える日

[米田 聡,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.



モバイルショップ

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

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