あなたは安全なソフトウェアにいくら払えますか?

今年8月に大きな被害をもたらしたW32/MSBlasterワームをはじめとして、最近の
ワームやウイルスはソフトウェアの脆弱性を狙ったものが多い。メールの添付フ
ァイルを開かなければよかった牧歌的な時代は遥か彼方である。

ソフトウェア脆弱性は避けられない

ソフトウェアの脆弱性が自分にも被害を及ぼす時代になると、自ずからそれを開
発したソフトウェアベンダーに対する風当たりも強くなってくる。「金を出して
買ったソフトなのにちゃんと動かないし、(悪くすれば)システムやデータを壊す
なんて許せない」というわけだ。この怒りはもっともなものであろう。ちなみに
米国ではマイクロソフト社に対する集団訴訟が起こされている。

ところで、ソフトウェアの脆弱性とはなにか?一般には「ソフトウェアの実装や
設計の不具合の内、セキュリティ上の問題を引き起こすもの」とされている。開
発者のうっかりミスや手抜きなどが主な原因ではあるが、プログラム開発を行っ
た経験のある身としては、開発者を一方的に責める気にはなれない。実際に、
「ちゃんと動くソフトウェア」を開発する事と「脆弱性のないソフトウェア」を
開発する事には、開発者に求められる能力の面でも開発コストの面でも大きなギ
ャップが存在している。おそらく天才的なプログラマが作ったソフトウェアでも、
最初から脆弱性のないソフトウェアは存在しないのではないか。

とり得る対策はたくさんある

ソフトウェアに脆弱性が内在するのは不可避としても、対策は無いわけではない。 実際に、 政府、 ベンダー、ユーザ(組織・個人)レベルで各種の対策が検討もしく は実施されている。

対策のカテゴリ 具体例
人的対策 情報セキュリティ教育・啓発、脆弱性対策研究者の育成
制度的対策 脆弱性情報共有体制の整備、脆弱性通知ルール、ソフトウェアPL法の検討、システム運用ルール、ソフトウェア保険
技術的対策 脆弱性の発生を抑止する開発ツール、セキュアプログラミング技法、コードレビュー、サンドボックス、
境界面での対策(FWやウイルス対策ソフト)

上の例はあくまでも一例で、それぞれ一長一短があり決め手は無いが、着実に実
行していくことでソフトウェア脆弱性のリスクは低減していけるだろう。
しかし、それでも問題になるのは、ITリテラシーに欠けるユーザをどうするかと
いうことだ。しかし常時接続時代には、ワームを撒き散らしたり、不正アクセス
の踏み台にされるなど、どんなユーザも単純な被害者ですまない。

そして誰もいなくなった

このような中で最近目を引くのは、ソフトウェア開発元(ベンダー)に大きな責任
を負わせようとする動きである。そもそも従来のソフトウェアの製造物責任は無 いに等しく、また ライセンス条件は一方的な内容であったことは事実で、それを是正すること
も必要だ。社会のインフラとなるようなソフトウェアを提供するベンダーには大 きな責任と高い品質水準が求められることも事実だろう。

しかし一方で、ソフトウェアに高い品質水準を求めることは、非常に開発コスト
が掛かることを忘れてはならない。このコストは結局消費者が負担することにな
る。また大きな責任に伴い、巨額の損害賠償が認められるようになれば、ソフト ウェア開発は大きなリスクを伴う行為になる。
この開発コストとリスクを負担できない開発者(会社・組織・個人)が淘汰されて
しまったら、社会は寡占化という別種のリスクを負わなければならなくなる。

しかし本当に懸念されるのは、意欲と能力を持った個人・研究者が善意で公開す
るソフトウェアが排除されることで、技術の進歩が阻害されることだ。さらに、
これらのソフトは現在のインターネットの基盤の多くを構成しており、個人や研
究者が製造物責任を負えないからといって、これらソフトを捨てることは出来な
い。我々はソフトウェア開発・利用の自由の受益者であることを忘れてはならな い。

セキュリティ対策を考える際には リスク評価が重要であるが、対策の表面的なコストと対策を取らなかった場
合のリスクのみを考慮することが多い。しかし、本当はセキュリティ対策をとる
ことによって発生するリスクやコストも考慮しなければならない。特にこの場合
は、善意で公開されるソフトを排除することによる社会的コストである。

自由と安全

自由と安全を守るためにはコストがかかるのは世の中の常識だが、自由と安全と
いうのは実現する手段の上では相反する点も多く、この両立にはバランス感覚が
重要だ。現状は、多くのPCユーザは自由を満喫している一方で、安全をないがし
ろにしているといわざるを得ない。しかしBlasterワームなどの後で、安全意識
に目覚めるのは良いが、拙速に責任・対策を外部に求めることは、最終的には自 分たちの自由を制限することに繋がってしまう。

自由と安全を高度なバランスで実現するためには、結局のところ各自の自己防衛
能力を高めるのが重要だ。しかし全てのユーザにネットワークセキュリティ技術
に精通してもらうのは非現実的である。この意味で期待したいのは、包括的な安
全を提供するサービス、いわゆるマネージドセキュリティサービスのエンドユー
ザ版である。現在は主に企業向けに提供されているサービスが、エンドユーザも
安価に利用できるようになれば、ソフトウェア脆弱性に起因するリスクの相当部 分はカバーできる。

もちろん、これで全てが解決すると思っているわけではないが、ソフトウェア開
発者に実現困難な要求を突きつける前に、我々ができることは他にもあるのでは ないだろうか。