« 委託先に適正なコストを支払わずに適切な監督をしているといえるか | Main | 情報セキュリティー、省庁間で統一基準 »

2005.05.08

MS、脆弱性の対処方法を見直し

 こんにちは、丸山満彦です。マイクロソフトが毎月公表しているセキュリティパッチとは別に、研究者などから脆弱性情報が公開されると直ちに対処する「Microsoftセキュティアドバイザリー」制度を開始するそうです。

 
ITmedia 2005.05.07
MS、脆弱性の対処方法を見直し
====
 セキュリティ速報の必要はないが、顧客の全般的なセキュリティに影響を与える可能性があるセキュリティ上の変化に対処する。顧客から当社に対し、セキュリティ問題に関してもっと規範的でタイムリーな対応を望む声が寄せられている
====
ということに対応するものらしい。

 ソフトウェアのバグで、利用者が損害を被った場合には、ソフトウェア会社の責任に応じて損害を賠償しなければならないことになるので、このように、バグに適切に対応していくことが企業としては必要となりますね。

 多くの人が利用しているソフトウェアでは、場合によっては損害も大きくなるので、株主利益の保護の観点からも、適切な対応をとることが非常に重要となりますね。
 経済的な損害だけで済んでいる間は、社会的な批判の程度も少ないですが、人命に影響するような問題とつながってくると状況が変わるかもしれませんね。

 「ソフトウェアのバグです。ソフトにはバグがつきものですから・・・。パッチ当ててください・・・」というだけではすまないですからね・・・



このブログの中の意見は私見であり、所属・関係する組織の意見ではないことをご了承ください。

|

« 委託先に適正なコストを支払わずに適切な監督をしているといえるか | Main | 情報セキュリティー、省庁間で統一基準 »

Comments

丸山 様

こんばんは。

>  「ソフトウェアのバグです。ソフトにはバグがつきものですから・・・。パッチ当ててください・・・」というだけではすまないですからね・・・

そのとおりですね。前にも書きましたが,製造物責任法が適用されなくても,原告が過失または瑕疵の立証に成功すれば立派に損害賠償責任が発生します。ソフトウェア業界では,(顧問弁護士を雇っていないベンダが多いせいかどうか)製造物責任法が適用されなければ一切民事責任を問われないと誤解している経営者が散見されますが,根本から間違っていますね。

ところで,ソフトウェアではちょっと厳しい要求になってしまうのは,ソフトウェアの特性としてやむを得ないという逆の発想でものごとを考え始めています。
つまり,自動車や家具などではちょっとした不具合があってもどうにかこうにか使うことができる場合が多い。要するに,「たるみ」みたいなものを許容する世界なんだと思います。
これに対し,ソフトウェアの世界では1ビットでも違ったら全く動作しないことが珍しくないです。つまり「たるみ」みたいなものを一切許容しない世界だということができます。

要するに,物体である工業製品とは少し違った要素を最初からもってしまっている世界なのだということになると思うのです。ですから,「ソフトウェアにはバグがつきもの」が常識なのではなく,「1ビットの間違いも許されない」が常識になっていなければならないはずだと思うのです。

しかし,現実にはそうでないというのは,おそらく,世間の無知や経験不足によるものであるか,それとも,ソフトウェアベンダの単なる「甘え」によるものであるのかのいずれかなんだろうと思います。

そんなに遠くないうちに,世界の常識も少しずつ変化していくことになるでしょう。

Posted by: 夏井高人 | 2005.05.08 21:31

夏井先生、コメントありがとうございます。社会が情報システムに依存する割合が高くなればなるほど、ソフトウェア等の不具合による社会的な損失は大きくなりますね。そのようなことは社会的責任を重視する多くのソフトウェア会社にとっては常識的に理解していると思うので、業界から自主的により良い方向に改善していくことを期待したいですね。

Posted by: 丸山満彦 | 2005.05.09 00:16

丸山 様

おはようございます。

更にいろいろと考えていたのですが,もしかすると,「ソフトウェアにバグはつきもの」という発想は,前時代的な産業思想の遺物ではないかと思うようになってきました。

つまり,よく映画などで,エンジンがかからないポンコツ自動車を蹴飛ばしてエンジンをかけるようなシーンが出てきますが,要するに,一般的な工業製品については,動けばよいわけで,あまり細かな緻密さは要求されていなかったように思うのです。

また,低開発国などでは「安いだけがとりえ」のような商品を大量生産し,高価だけれども高品質な製品の製造会社を駆逐するという現象が繰り返し見られ,日本もまたそのような国の一つでした。
日本の製品の場合には,持ち前の緻密さでもって高品質のものもたくさんありましたが,それはそれで「アジア人のくせに」のような妙なナショナリズムを刺激したこともあります。太平洋戦争の一因ともなったと言われている電球戦争がその一例ですね。日本の安価で優れた電球が欧米の粗悪な電球を駆逐しかかってしまったために米国の一部財界が政府に働きかけて経済封鎖を実施してしまったことが日本を追い詰めてしまったわけです。これは,プロパテントの歴史を知っている人であれば日本人であると否とを問わず誰でも知っている歴史上の事実です。
歴史に「もし」は許されないということなのですが,もしそのような経済封鎖がなければ,日本はもっと早い時期に経済大国になって米国の電気製品業界を圧倒し,米国の対日赤字を大幅に増加させる原因を作っていた可能性があります。

このような例外もありますが,一般的には,「安かろう,悪かろう」というのが一つのセオリーのようなものになっており,現代でも100円ショップの粗悪品などを見ればそのことがすぐに分かります。

でも,物体である製品なら,要するに使えれば良いんですよ。

だから,少々問題があっても「売っちゃえ!」でどうにかまかり通った。

しかし,ソフトウェアはそういうわけにはいきませんね。ただの1ビットでもおかしければ,そのソフトウェアが正常に動作しない場合があります。

要するに,「まあ動けばよい」の世界から「1ビットの狂いも許されない」の世界に移行しつつあるのが現在の状況なのだと思います。

米国西海岸の比較的おおらかな気分の中からコンピュータ・ソフトウェアが生産される時代は終焉を告げ,やがて,スイスの高度な技術をもった職人達の芸術的な職人芸のような世界,あるいは,かつて日本国の時計企業が誇っていた安価だけれども緻密で高性能な機械式時計の世界と似たような,ちょっとの狂いも許されない世界に移行しつつあるのかもしれません。

Posted by: 夏井高人 | 2005.05.09 07:46

夏井先生、コメントありがとうございます。

夏井先生からの疑問の問いかけに、ちょっと考えて見ました。

 この問題は、デジタル処理をするか、アナログ処理をするかと言う問題、つまり連続的な変化を処理するか離散的な数を処理するかと言う問題ともいえます。そういう意味で、夏井先生のおっしゃる通り、1bitでも異なるとそのソフトウェアは正しく動かないということになります。アナログでは、このような誤差から生まれる結果は確率的な分散をとることになるのだと思います(例えば、3回に1回はエンジンがかからないとか・・・)。

 そういう意味で、ソフトウェアの世界は1ビットの違いが大きな機能の違いを生む可能性があるので、1ビットでも間違えたらいけない世界といえます。

 ところが、ここで情報システムのプログラムを一般的なシステムの一種と考えると若干考え方を変える必要があるかもしれません。例えば、生物の遺伝情報はデジタル情報です。DNAにおける塩基の配列が1つでも異なると別物ということになりますが、実際は、そう簡単ではありません。DNA上の1つの塩基の配列が変わっただけでは、表現系にはなんら影響を及ぼさない場合があります。全く機能していない部分であるか、その部分が変化しても別の遺伝子やホルモンの働きで、その遺伝子が関係する機能が結果的に正しく機能するように仕組まれている場合があるからです。ソフトウェアの品質管理を考える場合は、後半の考え方が重要になると思います。

 1ビットの間違いも許されない世界を実現するのは、実質的には難しいので、重要な部分でバグがあっても適切なバックアップ機能が働くようなソフトウェアの作り方が必要なのかも知れません。
 そう言う意味では、必要な機能を定義して、それぞれの機能を実現するプログラムを担当に分けて作って行くというソフトウェアの開発、つまり還元主義的なソフトウェア開発ではなくて、システム全体として機能が実現できるようなソフトウェア開発技術が必要になるのかもしれません。これは、様々な職人をつかって個々と全体を常にバランスよく見ながら法隆寺を建立した棟梁と宮大工の世界と同じかもしれません。

 と、なると結論はやはり夏井先生と同じで、高度な職人(プロフェッショナル)による精巧なソフトウェアが作られるようになるのかもしれません。社会的に重要なインフラを担うソフトウェアは安かろう危なかろうではだめなですからね・・・

Posted by: 丸山満彦 | 2005.05.09 09:29

丸山 様

こんにちは。

高度な重要インフラの構成要素の一部としてソフトウェアというものを考える場合,単体であれば1ビットの間違いも許されないし,丸山さんがおっしゃるような補完機能を持つモジュールによって代替可能なシステムであれば1つのファンクションのエラーも許されないようなシステム,というようなものを構築するには,従前のような考え方では駄目で,きちんとした組織,優れた能力を有する棟梁,中間的に差配する人々そして熟達した技をもつ職人達が絶対に必要ですね。

おそらく,そのような組織と人材を持つ企業だけが次世代のソフトウェア企業として生き残っていくのだろうと想像してます。

夢を語る時代は終わりました。なぜなら,ソフトウェアはインフラの一部なんですから,いいかげんなことが許されないんですよ。

常に陥没して大規模死亡事故ばかり発生させるような鉄道や高速道路なんて建設したら,どえらい騒ぎになりますよね。それと同じだろうと思います。

おそらく,情報セキュリティも同じことになるだろうと考えています。

Posted by: 夏井高人 | 2005.05.09 14:22

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference MS、脆弱性の対処方法を見直し:

« 委託先に適正なコストを支払わずに適切な監督をしているといえるか | Main | 情報セキュリティー、省庁間で統一基準 »