次々と発見されるセキュリティ・ホール。最近では,サーバー・ソフトに限らず,WWWブラウザやメール・ソフトなどのクライアント・ソフトでも発見されている。そのため,「管理者だけではなく,一般ユーザーもセキュリティに関心を持たなければならない」と言われるようになってきた。

 しかし,そもそも製品を提供するメーカー側が,もう少しセキュリティについて考慮してくれていれば,これほど厄介な事態を招いていないはずだ。

 セキュリティ・ホールを生み出している原因の一つは,機能拡張に伴う,アプリケーション・ソフトの肥大化である。これほど多くの機能が本当に必要なのだろうか。余計な機能が,無用なセキュリティ・ホールを作ることにつながっていないだろうか。

 例えば,米MicrosoftのWWWブラウザ「Internet Explorer」には,「Javaアプレットのスクリプト」という機能がある。聞きなれない「Javaアプレットのスクリプト」とは,JavaScriptでJavaアプレットを操作する機能である。この機能がなくても,ほとんどのユーザーにとっては問題ないはずだ。

 そもそも私は,ただ一例を除いては,この機能を使っている例を見たことがない。その一例とは,2000年10月に報告された,Microsoft VM(*1)のセキュリティ・ホールを利用した攻撃である([関連記事])。皮肉なことに,ユーザーのためであるはずの機能がユーザーを攻撃するために利用された。

 またインターネットのWWWサイトを閲覧する場合,WWWブラウザのJava機能は必要だろうか。Javaの機能がなければ,Java VM(Microsoft VM)まわりのセキュリティ・ホールを利用した攻撃の多くを避けられる。

 数年前,数社のセキュリティ関連メーカーを取材したときに,「Javaの仕様はとてもセキュアだが,実装ミスでセキュリティ・ホールになってしまうことが少なくない」といった話を何度も聞いた。現在でも,そして今後もそうであろう。

 もちろん企業内システムなどでは,クライアント上でもJava機能が有効な場合もあるので,「ブラウザからJavaの機能をなくしてしまえ!」などと言うつもりはない。しかい,単にWWWサーフィンを楽しむユーザー向けの「Java機能がないブラウザ」があってもよいと思う。そんなブラウザがあれば,私はぜひ使いたい。HTMLの解釈と画像表示さえしてくれれば,ほとんど用は足りる。

メールに表現力は必要か

 メール・ソフトも,機能拡充の一途をたどっている。HTMLで書かれたメールを解釈して,ブラウザ同様に表示してくれるし,なかに埋め込まれたスクリプトまでも勝手に解釈し,実行してくれる。確かにメールの表現力は高まったが,本当に必要な機能だろうか。

 この“便利な”機能のために,添付ファイルを開かなくても,プレビューするだけで動き出す,コンピュータ・ウイルスが現れている。例えば,99年11月に発見された「BobbleBoy」ウイルスがこれにあたる。幸い,このウイルス自体は大きな被害をもたらさなかったが,同じメカニズムのウイルスが,より悪質になって,今後出現する可能性はある。

 私の利用形態を考えると,メール・ソフトは普通のテキストを送受信できて,MIME(Multipurpose Internet Mail Extensions)さえ解釈してくれれば,それ以外の機能はいらない。HTMLを使わなくても,書き方ひとつで,いくらでも表現力を高めることができると思う。

 スクリプトの機能に至っては論外である。ウイルス対策の決まり文句に,「添付ファイルを安易に開かない」というのがある。添付ファイルなら,ユーザーが本文や差出人を見てから,開くか開かないかを判断する余裕がある。ところが,本文中に埋め込まれたスクリプトのウイルスは,プレビューするだけで被害を被ってしまうので,この決まり文句が通用しない。

“便利過ぎる”マクロ機能

 オフィス・ソフトのヘビー・ユーザーではない私でも,マクロ機能は便利だと思う。しかし,最近は“便利過ぎる”---言葉を変えれば,“何でもでき過ぎてしまう”---のではないだろうか。便利過ぎるマクロ機能が,マクロ・ウイルスの“繁栄”を助けている。

 ワープロ・ソフトのマクロ機能で,電子メールを出せる必要があるのだろうか。表計算ソフトのマクロ機能で,パソコンのなかのファイルを自在に操作できる必要があるのだろうか。もし,ワープロ・ソフトのマクロ機能でメールを出せなければ,2000年5月の「Melissa」ウイルス騒動は起きなかった。

 ワープロ・ソフトであれば,「そのソフト上でのみ動作するマクロ機能があれば十分」と考えるユーザーと,「ウイルスの攻撃を受ける危険はあっても,他のソフトを起動する機能がほしい」と考えるユーザーと,果たしてどちらが多いだろうか。

機能が多ければ,“優れた”製品か?

 製品紹介記事の取材をするたびに,「ユーザーは,値段が同じだったら,一つでも機能が多い製品を選ぶので,多機能にせざるをえない」という言葉を聞いた。大した根拠もなく,「日本人はその傾向が特に強いようだ」と付け加える担当者もいた。製品の比較表などで,「○(まる)」の数が多いほど,優れた製品だと思われるのだという。

 確かに,多機能なほど優れた製品だと考えるユーザーは多いかもしれない。だが,単に機能の多寡で製品を選ぶ時代は,とっくに終わっていると思う。それよりも,「何か問題があったときに,そのメーカーはすぐに情報を公開するのか」「今まで,そのメーカーが出した製品はどうだったのか」など,メーカーの姿勢や過去の実績などで判断するべきである。

 いくら機能が多くても,使わないなら結局は無駄である。無駄なだけならまだしも,問題は余計なリスクを背負ってしまうことだ。私は,値段が同じなら,無駄な機能が付いていない,より低機能な製品を選ぶ。実際,自宅で利用しているメール・ソフトは機能が少なく,HTMLメールを解釈できない。これでも,まったく問題はない。HTMLファイルを受け取ると,余計なタグは付いているものの,書かれている内容は分かる。それよりも,スクリプトなどを勝手に解釈しない安心感の方が大きい。

 戦略上,ソフトを多機能にせざるをえないメーカーの立場も分かる。ただし,余計な機能はデフォルトでは“オフ”にしておいてほしい。利用したい人だけが,明示的にその機能を有効にして,リスクを背負えばいい。知らないうちに,余計な機能と一緒にリスクを背負わされるのはたくさんである。

(勝村 幸博=IT Pro編集)

*1:Windows上で,Javaプログラムを実行するために必要なソフトウエア。一般的には,「Java VM」あるいは「Java仮想マシン」と呼ばれる。