エンタープライズ:ニュース 2003/06/04 08:27:00 更新


「不完全であることを前提にセキュリティ対策を」と慶応大の武藤教授

慶応義塾大学教授の武藤佳恭氏はRSA Conference 2003 JAPANのセッションで、オープンソースや商用を問わず、ソフトウェアには脆弱性が存在すると指摘。そのうえでこの認識を持つことが重要だとした。

 不思議なことに、オープンソースソフトウェア対商用ソフトという図式の延長線上でセキュリティが論じられることになると、「オープンソースだから安全だ」「いやクローズドだからこそ安全だ」という極端な論が交わされることが多い。本来ならば、どのようなスキルを持った管理者が、どういった体制・プロセスのもとで運用するかによって、同じオープンソースのソフトでも(あるいは商用ソフトでも)セキュリティレベルはまったく異なってくるのにだ。

 では実際のところ、オープンソースソフトウェアはどの程度安全なのだろう? 「RSA Conference 2003 JAPAN」で行われたセッション、「電子政府、オープンソース&情報セキュリティ」では、慶応義塾大学環境情報学部教授の武藤佳恭氏が、独力の調査に基づく資料を元に、この問題に切り込んだ。

 武藤氏は、米NISTの情報を元に、主要なOSやWebサーバ、データベースサーバ、Webブラウザにどれだけ脆弱性があるかを数え上げ、表にまとめている(6月4日追記:この表は、IPAセキュリティセンターが5月21日に公表した「オープンソースソフトウェアのセキュリティ確保に関する調査」を受けて、5月28日時点でNIST/ICATのデータベースに掲載されている脆弱性を武藤氏が数え上げたもの。ただ、どういった基準に沿って分類したかまでは明らかにされておらず、1つの目安と見るのが妥当だ)。それも、すべての脆弱性と、root権限の奪取までもが可能な深刻な脆弱性の2タイプに分けての集計だ。

脆弱性情報の表

武藤氏が自らまとめたOS、アプリケーションごとの脆弱性数。右側は深刻な脆弱性の数だ

 この結果、商用ソフトの中にも、何だかんだと言われながらも「がんばっている」、つまりセキュリティ脆弱性が比較的少ないものがあることが判明した。だがそれ以上に顕著なのは、商用、オープンソースを問わず、OSとアプリケーションでは明らかに脆弱性の数に違いがあることだ。

 したがって、商用ソフトにもいえることだが、「オープンソースのアプリケーション(のセキュリティ)は非常にいい。しかし、OSの難しい部分になってくると、オープンソースのセキュリティは必ずしも高くはない」(武藤氏)。

 その理由は単純だ。Webサーバにせよデータベースにせよ、アプリケーションについては、コミュニティのさまざまな人が手を加え、共同作業を行い、よい状態を保つことができている。しかし、「OSに手を加えられる人間がいったいどれだけいるだろう?」(武藤氏)。

性善説から性悪説へ

 武藤氏は、オープンソースにまつわる議論とは別に、セキュリティに対する根本的な考え方を改めるべきだとも述べている。

 というのも、PL法の範囲外にあるソフトウェアには、数多くの脆弱性や欠陥、バグが存在する。「全員が、完璧なソフト、完璧な仕組みなどありえないと認識することから始めなくてはならない。まずは“不完全である”と認めるべきだ」(同氏)。これは、「住基ネットは極めて安全」などとする見方の対極にあるものといえるだろう。

 他にも同じようなケースがある。たとえば、多くのWebブラウザに実装され、オンラインショッピングなどに利用されているSSLがそうだ。「確かに暗号アルゴリズム自体は堅牢かもしれないが、これを実装しているのはプログラム。プログラムを書けば、そこに脆弱性が生まれる」(武藤氏)。しばしば「128ビットSSLだから安全です」などと謳われるSSLだが、実装をつけばハイジャックも可能であると指摘した。

 つまり同氏が批判するのは、現実に問題――大げさに過ぎるのであればリスク――が存在するにもかかわらず、それを積極的に認知させず、あたかも安全であるかのように見せかけるやり方だ。「“こういった問題がある”ということを知り、その前提に立って使うことが重要だ。影の部分があることに触れた上で利益を語るべきではないか」と武藤氏は強調する。便利な製品や仕組みを使うにしても(中には使わざるを得ないケースもある)、リスクを知っているのと知らないのとでは大きな違いがあるからだ。

 また、このように完璧なシステムはありえないという前提に立つならば、対処の仕方もおのずと変わってくる。「日本では政府を含め、とにかく守ることに力を注いでいる。しかし米国では9月11日のテロ事件の後、考え方が変わってきた。つまり、やられることを前提とし、そこからどう復帰させるか、リカバーするかがポイントということだ」(武藤氏)。

 さらに、これを実行するには、まず自らのシステムにどういった脆弱性があるかを検査し、どの程度リスクがあるかを把握しておく必要があるとした。ただ現実には、自分のシステムがどの程度安全かどうかを知るためのチェックすら行っていない組織、企業が多いという。

 その根本には、考え方そのものの違いがあるだろう。「日本の仕組みは性善説に基づいたままだ。しかし、組織の内部犯行もありえるという性悪説に則って取り組みを進め、仕組み自身を変えていくしかない」(武藤氏)。

関連記事
▼RSA Conference 2003レポート

関連リンク
▼RSA Conference 2003 JAPAN

[高橋睦美,ITmedia]