図3  組み込み機器を巡る環境の変化
図3 組み込み機器を巡る環境の変化
[画像のクリックで拡大表示]
図4  組み込みソフトウェアで購入/使用した部品<BR>経済産業省「2005年版 組込みソフトウェア産業実態調査」より抜粋。ソフトウェアを全く購入していないプロジェクトは35%しかないことが分かる。
図4 組み込みソフトウェアで購入/使用した部品<BR>経済産業省「2005年版 組込みソフトウェア産業実態調査」より抜粋。ソフトウェアを全く購入していないプロジェクトは35%しかないことが分かる。
[画像のクリックで拡大表示]

組み込みは安全ではない

 一方で,組み込み機器ではパソコンのようなセキュリティ問題が起こらないと考える人たちもいる。「たとえネットワークにつながってもファイアウォールの内側にいるので,それほど危険ではない」「内部構造がブラックボックスなので攻撃されにくい」「日本の組み込み技術者は優秀なのでバグは少ない」「パソコンと異なり,稼働しているアプリケーションが少なくスキがない」「わざわざ組み込み機器を狙わない」というのがその主張だ。どれも一理あるが,現実はそれほど楽観できない。

 まず,ファイアウォールの内側にあるという指摘だが,今のパソコンの状況を見ればファイアウォールで守りきれないことが分かる。

 パソコンのウイルスは,ここ数年で複数の感染経路を持つことが当たり前になっている。例えば,メールの添付ファイルで感染し,さらにそのウイルスがネットワーク経由で感染活動を行う。パソコンが感染し,そこから家電に広がる危険性は十分にある。また,家電自体にセキュリティ・ホールが見つかった場合,ビデオデータを再生したりWebページを閲覧しただけで感染するようなウイルスが登場する可能性が高い。この種の攻撃に対してファイアウォールは無力だ。

 無線LAN経由の攻撃も考えられる。無線LANのアクセス・ポイントはLANに直接つなぐので,内側にいきなり入られてしまう。いまだに多くのアクセス・ポイントがWEPなどで暗号化を行なわずに運用されており危険だ。

押し寄せる標準化の波

 「内部構造がブラックボックスなので攻撃されにくい」というのも,かつては真実だったかもしれないが,もはや過去のことになりつつある。すべて独自だった世界から,標準の世界に急激にシフトしているからだ(図3[拡大表示])。

 例えば,NTTドコモの携帯電話FOMA901iシリーズを提供する6社のうち,2社がLinux,4社がSymbian OSを利用する。マイクロプロセッサもほとんど英ARM社のCPUコアがベースになっている。高性能なプリンタやデジタル複合機などではx86系プロセッサとWindowsを搭載する例が多い。「ATMやPOS端末におけるWindowsのシェアは8割以上といわれている」(トレンドマイクロ上級セキュリティエキスパート黒木直樹氏)。

 組み込み機器は汎用的なOSとマイクロプロセッサで作られつつあるのだ。そうなれば内部構造はブラックボックスではなくなる。汎用の部品に脆弱性があれば,それを使っているすべてのシステムが影響を受ける(図4[拡大表示])。

 危険なら,汎用的な部品やソフトウェアを使わなければよさそうだが,「開発効率や開発コストを考えれば標準的なプラットフォームを利用することは必然」(ソニーデジタルネットワークアプリケーションズの松並氏)。もし,すべてのアプリケーションを一から作るとなると人件費がかかるし,目まぐるしく変わる世の中についていけない。

コードの肥大化がバグを生む

 「日本の組み込み技術者は優秀なのでバグは少ない」や「パソコンと異なり,稼働しているアプリケーションが少ないためスキがない」とも言いづらい。

 先に述べたように,組み込み機器に使われているソフトウェア部品は汎用的なものになりつつある。いくら社内の技術者が優秀でも,他社のモジュールからバグが入り込む可能性がある。

 組み込み機器に搭載されるプログラムの肥大化もバグの発生可能性を押し上げる。コード行数が増えれば増えるほど,バグすなわちセキュリティ・ホールが開く確率は高くなるからだ。「現在の携帯電話のコード行数は数百万行ある。これは20年前にメインフレームで動作していた銀行のオンライン・システム並みの行数」(インターナショナル・ネットワーク・セキュリティの勝野氏)である。経済産業省の「2005年版 組込みソフトウェア実態調査」によると,調査対象の組み込み機器の平均コード行数は99万行。今後はさらに肥大化するに違いない。

 加えて,組み込み機器の高機能化に伴って,さまざまなスキが出やすくなる。Windowsではグラフィカルなユーザー・インタフェースを悪用してユーザーを惑わすことで,フィッシング・サイトへの誘導やウイルス感染を引き起こしてきた。組み込み機器でもリッチな画面が動作し多機能化が進む結果,ユーザーを惑わせてウイルスに感染させる攻撃が起こるかもしれない。