IT@RIETI

no.32: コンピュータのセキュリティ欠陥は誰が直すのか

高木 浩光 独立行政法人産業技術総合研究所 グリッド研究センターセキュアプログラミングチーム長

数々のワームが教えてくれたこと

8月に「Blasterワーム」が猛威をふるったことで、「ソフトウェアのセキュリティ欠陥に社会はどう向き合っていくべきか」の議論が再燃した。筆者も何人もの方々から、「ソフトウェアにPL法(製造物責任法)が適用されないことについてどう思うか?」という質問を受けた。PL法に関心が及んだのは、Blasterが消費者に直接的に被害をもたらすものだったことが背景にある。

これまでも、大規模な被害をもたらしたコンピュータワームは、その都度、新たな教訓を残してきた。2001年7月の「CodeRed」は、ランダムなIPアドレスに連続攻撃するという単純な方法で、瞬く間に世界中に感染が広がることを実証した。この経験から、セキュリティ欠陥を放置しないことはもはや社会的責任であるという認識が浸透した。続いて同年9月の「Nimda」は、感染したWebサイトを閲覧するだけで伝染するという攻撃手法(いわゆる「受動的攻撃」)であっても、大規模な感染をもたらし得ることを実証し、受動的攻撃の可能性も軽視できるものではないという認識をもたらした。そして今年1月の「SQL Slammer」は、UDPパケット一個で感染を広げ、大量のUDPパケットでネットワーク全体が通信不能に陥ることを実証し、サーバーテロ対策としてインターネット接続事業者の対応も欠かせないという認識をもたらした。

CodeRedやSQL Slammerでは、WebサーバやSQLサーバなどの特定の製品をインストールしている者だけが感染するという点で、一般消費者には縁のない事件だった。Webサーバをインストールしている者は、それなりのリスクを覚悟した上で使用していると考えられなくもない。それに対してBlasterは、Windowsパソコンをインターネットに接続しているだけで感染することから、何の覚悟もない一般消費者が当事者となるという新しい事態をもたらした。Blasterの被害を伝えるNHKニュースには、一般消費者の唖然とする顔が映し出されていた。

自由なコンピュータと責任あるコンピュータ

コンピュータソフトウェアの利用には自己責任を原則とする風潮がある。とくに顕著なのは、オープンソースソフトウェアをはじめとした無償で利用可能なソフトウェアにおいてである。ソフトウェアの欠陥が原因で損害が生じた際に、もし提供者が賠償責任を負うのだとすると、無償での提供は誰もが控えてしまうだろうから、それを承知で自己責任で使用するということになる。もうひとつは、ソースコードはソフトウェアの「作り方の手順」を示した単なる文章表現にすぎないとみなすこともできるので、それを信用して自分で組み立てて(コンパイルして)使用したユーザ自身に責任があるという言い方もできる。

では、営利企業が提供するソフトウェアではどうか。近年では、プロプライエタリなソフトウェアであっても、無償で消費者に提供されることが少なくない。たとえば、マイクロソフト社のWebブラウザである「Internet Explorer」は、Windows OSの一部として含まれていると同時に、無償でダウンロードして追加インストールすることも可能であるし、サンマイクロシステムズ社は「Java」の実行環境システムを、アドビシステムズ社は「Acrobat Reader」を無償で提供している。こうした無償提供は、コモディティ化する基本システムを早期に囲い込むことで、後に他の方法で利益をあげるビジネス戦略にもとづいたものとみられるが、このときの欠陥の責任をどのようにとらえたらよいだろうか。

3年前の話になるが、あるソフトウェアにセキュリティ欠陥が発覚した際、ユーザへの告知を怠っているメーカーに対して電話で苦情を言ってみたことがある。このとき担当者に、「○○は無償ソフトウェアですから」と切って捨てられたことは、今も忘れられない。有償製品の一部として事前インストールしており、かつカタログにも「機能」として挙げているにもかかわらず、無償だから私どもは関知しませんというのだ。

PL法に頼るまでもない?

PL法の話に戻ると、現行法ではソフトウェアはPL法の適用から除外されている。「製造物」が有体物に限定されていて、ソフトウェアが無体物だからだという。法律の専門家からうかがったところによれば、ハードウェア機器に組み込まれたソフトウェアに欠陥があった場合、その機器がPL法の対象となる可能性はあるものの、OSやアプリケーションをプリインストールしたパソコンは、PL法の対象とは考えられていないという。

しかし、PL法の適用がなくとも、欠陥のある製品の提供自体が不法行為であって、予見可能な欠陥を放置して販売されていた場合には、メーカーの不法行為責任を問えるということも複数の専門家からうかがった。これまでに、「PL法の適用外だから責任を問えない」とあきらめている人の発言を数多く耳にしたし、私自身もかつてはそのような誤解をしていた。PL法の意義は、欠陥が存在しないことを被告であるメーカー側が証明しなくてはならなくなる点にあるのだという。たしかに、テレビが火を噴く事故が起きたとき、それが構造的欠陥によるものであることを消費者が立証するのはほとんど不可能であるから、そうした証明責任の転換が法制化されているのだろう。しかし、ソフトウェアの場合には状況がいささか異なるのではないか。

機械製品の場合、火を噴くのは数少ない一部の個体であり、再現テストしようにも、消費者が保有できる製品個体では再現性がないため、欠陥の立証は不可能に近い。それに対してソフトウェア製品では、完全に同一のバイナリーコードがコピーされて配布されているのだから、セキュリティ欠陥がひとたび発見されれば、再現性は100パーセントとなるため、消費者が自力で立証できる場合があるように思われる。もしかすると、PL法の適用を待つまでもなく、損害賠償の請求は現実的なものとなっているのかもしれない。

ソフトウェアでは、利用ライセンス契約において、損害が発生しても何ら責任を負わないとする免責条項が用意されていることがほとんどであるが、無制約の免責は消費者契約法によって無効なものとされているという話も、法律の専門家からうかがった。ただし、セキュリティパッチ(欠陥修正プログラム)を迅速に提供したり、ユーザへの周知を適切に行っていれば、不法行為責任を負わずに済む可能性もあるという。

パソコンメーカーは責任を免れられるか

ここで、Blasterワームの事例を見てみる。マイクロソフト社は、その欠陥を修正するセキュリティパッチを7月17日の時点で提供していた。ユーザへの周知は、Webサイトでの公表と、事前登録した希望者へのメールによって通知されていた。それから1か月後にワームが登場することとなったわけであるが、その間に店頭で販売されていたパソコンはどうなっていただろうか。

9月4日に掲載された「日経Windowsプロ」誌の「NEC,Blasterワームのセキュリティ・ホールを修正済みのパソコン発売」という報道によれば、パソコンメーカーが、9月から販売する新製品について、このセキュリティ欠陥の修正パッチを適用したうえで出荷することにしたという。他の複数のメーカーも秋冬モデルから同様の処置をとるとある。これは、裏を返せば、これまではそうした処置をとってこなかったらしいことがうかがえる。

実際、店でパソコンを買ってきた一般消費者が、自宅に持ち帰り、インターネットにつないで電源ボタンを押して起動したとたん、Windowsがシャットダウンを繰り返して手がつけられない状態に陥った(Blasterワームに感染した)という話を耳にした。もはやインターネットは、病原体が常時飛び交う場となっているのだから、セキュリティ欠陥を修正しないままパソコンを販売すれば、こういった被害が即座に出ることになる。そうしたパソコンが、ワーム出現後であっても回収されることなく販売されていたようだ。

Blasterワームに感染するとOSがシャットダウンしてしまうのは、ワームができ損ないだったからだといわれている。もし、ワームがより完全に作られていたならば、消費者に気づかれないうちに被害を拡大させ、より深刻な事態をもたらしていたであろう。

パソコンメーカー各社がパッチを適用して出荷することを決断した直接的な要因は、Blasterの被害に遭ったユーザからのサポートセンターへの問い合わせが爆発的に増加し、放置できなくなったためではなかろうか。なぜ、7月の時点からパッチ済みのパソコンを出荷できなかったのか。7月から時間をかけて準備していたのかもしれないが、8月のワーム出現の時点での対応はできなかったのか。あるいは、Blasterではわかりやすい被害が出たから対処されるのだとして、では、その他のセキュリティ欠陥は放置したままパソコンを販売していてよいのだろうか。Blaster出現以降にも、同様の被害をもたらし得る重大なセキュリティ欠陥の修正パッチが、少なくとも2つリリースされている。

周知せずして自己責任原則を押し付けられるか

仮に、出荷の時点で既知のセキュリティ欠陥がすべて修正されているとしても、しばらく経てば新たな欠陥が発覚するのであるから、消費者はいずれにしても、「Windows Update」を利用するなりして、自力で修正作業を続けていかなければならない。これを「メーカーが出張修理すべきだ」とまで言うのは、現実的な主張ではないのかもしれない。しかし、そうならば、Windows Updateの存在とその必要性が消費者に十分に周知されていなくてはならない。

マイクロソフト社は、Blasterワーム騒動の後、「Protect Your PC」キャンペーンを展開し、消費者にファイアウォール機能の利用と、Windows Updateの適用を呼びかけた。これは、裏を返せば、消費者のWindows Updateへの認識が十分でなかった実態を物語っている。

では、消費者はなぜWindows Updateのことを知らないのか。それは、取扱説明書に説明されていないからではないかと著者は推定する。Windowsパソコンに同梱されている「Windows XPファーストステップガイド」という説明書を読んでみると、Windows Updateに関する記述は後ろの方に2か所登場するが、「最新の修正プログラムをダウンロードするにはWindows Updateをお使いください」という趣旨のことが書かれているだけで、なぜそれが必要なのかは説明されていない。私が愛用するパソコンのメーカーの取扱説明書にいたっては、Windows Updateの文字が一度も出てこない。

PL法が施行されて以来、取扱説明書の冒頭には、「内部に水や異物を入れない」とか、「落雷のおそれがあるときは本機を使用しない」といった警告が大きく書かれるようになった。これらの警告には、もはや生活の常識となっていて、滑稽にさえ映る文言も少なくない。それでもなお書いておくことが消費者保護のために重要なのであろう。しかし、未だ消費者の常識となっておらず、だからこそ真に説明が必要とされているはずの、修正パッチ適用の重要性を説く警告文がないというのは、いったいどういうことだろうか。

修正パッチ適用の重要性を説明するには、まず、「ソフトウェアには欠陥がつきもので、やむを得ないこと」という現実について、消費者の理解を求めることになるだろう。しかし、メーカーの立場としては、自らの製品に欠陥があることをそのように堂々と認めることが、どうしてもはばかられるのかもしれない。

パソコンメーカーにとってはもうひとつの要因が考えられる。修正パッチを適用すると、プリインストールしていた別のソフトウェアやドライバなどが動かなくなる可能性がある。メーカーとしては、出荷時状態での安定動作は保証できても、パッチ適用後の動作は保証できないため、そうした修正作業を正面から堂々とユーザに推奨するわけにはいかないという事情があるのかもしれない。

欠陥は避けられないことをはっきりと認めて、修正作業の必要性をズバリ消費者に示すか、さもなくば、欠陥に係る安全の保障をメーカーが完全に責任を負うかのどちらかであろう。どっちつかずの態度が問題をいつまでも燻らせている。

脆弱性告知のガイドラインを

ここまで、Blasterワームの事例を中心に述べたが、他のメーカーのソフトウェアにセキュリティ欠陥が見つかることも少なくない。昨年、日本のあるメーカーは、欠陥を指摘されて修正パッチをリリースしたが、その名称は「セキュリティ強化プログラム」というものだった。別のメーカーは、「セキュリティをさらに強化しました!」というキャッチフレーズのもとに、「アップデートモジュール」と称するパッチを提供した。

こうした不適切な告知は、メーカーの組織的な判断の下で意識的に書かれた可能性も否定できないが、単に担当者がこうした告知文の作成に不慣れであるために起きていることの方が多いのかもしれない。

ソフトウェア以外の製品のリコールについて見てみると、国民生活センター発行の月刊「たしかな目」11月号に掲載された「商品のリコール 大研究」という特集記事によれば、新聞などでのリコールの社告においても、消費者がとるべき行動がはっきりと書かれていない場合があるという。そうした状況をふまえ、平成14年に経済産業省の製品安全課から公表された、「消費生活用製品のリコールハンドブック」は、望ましい社告の例と、望ましくない社告の例を挙げて、社告のあり方を事細かに解説している。

経済産業省の情報セキュリティ政策室は、10月10日に「情報セキュリティ総合戦略」を公表した。そこには3年以内に実現する施策として、「脆弱性に対処するためのルールと体制の整備」が挙げられている。義務付けや規制は現実的でないかもしれないが、「ソフトウェアの脆弱性告知ハンドブック」といったガイドラインを整備することは、現実的かつ有効な施策であろう。

2003年11月5日

This work is licensed under a Creative Commons License.

2003年11月5日掲載

この著者の記事