”Mustache君”と

”Mustache君”と"トラ君"の「日記」&”あごひげ君"の「登山とロードバイク」のブログ

高品質なコードの開発を強化


題=ソフトウェアの挑戦
原題=SOFTWARE’S CHALLENGE
出典=INFORMATIONWEEK 2002-01-21
備考=170-LINES

〔本文 170行〕


ソフトウェアの挑戦

ビル・ゲイツ氏は、とうとう、メールに応えることにした。そして彼は、マイクロソフトの従業員
全員に対して、メールを発信した。チーフ・ソフトウェア・アーキテクトである彼は、先週、従業
員全員に送信したメール (stake-in-the-ground memo)の中で、たとえ新たな費用がかかることにな
っても、可用性/信頼性が高く、安全保証された高品質なコードの開発を強化するようにと、激をと
ばした。

多くのIT専門家達は、長い間懸案のままにしてきたツケ(マイクロソフト製品だけではない)につい
て考えざるを得なくなっててきている。品質とセキュリティが貧弱なソフトウェアによって、多くの
企業は、アプリケーション/レベルアップ/修正(fix) という流れにがんじがらめにされ、そのこと
が大きな問題となっている。セキュリティを監視しているカーネギー・メロン大学
(Carnegie Mellon University)のCERT Coordination Centerは、昨年中に報告されたソフトウェアの
脆弱性は倍増し、2500件になったと語っている。

そのためにIT部門は忙しくさせられており、個人情報・顧客情報がリスクに晒されている。「私達は、
取しているアプリケーション業者から、毎月のようにバグを修正したCDを受け取っています。そのため
に、独自に厳密なテスト一式を開発し、これらのアプリケーションをテストしなければなりませんでし
たが、その結果、アプリケーションを展開させる前に、私達のビジネスでちゃんと使えるものであるこ
とを確信できるようになりました。バグの中には回復が非常に困難なものをいくつかあり、それらが稼
働した後影響を与えると、非常に高いものにつくこともあったのです」と、テネシー州キングスポート
にあるイーストマン・ケミカル(Eastman Chemical Co.)のCIO 、ジェリー・ヘイル氏は語っている。

従業員宛の電子メールの中で、ゲイツ氏は、『信頼する価値のあるコンピューティング
(trustworthy computing) 』という言葉を使い、ソフトウェア改善のための野心的なゴールとしている。
「業界のリーダーとして、私達は行うことができるし、それ以上のことを行なわなければならない」と、
彼は書いている。

反対を唱える人はいないだろう。マイクロソフトのWindows XPオペレーティング・システムや、.Netイン
フラストラクチャー製品や、データベース/サーバー・プラットフォームに対する顧客の信頼は揺らいで
きている。「『ハッキングしているのは彼らではないのか。でなければ、こんなに早くハッキングされる
はずがない』というのが、彼らへの最大の賛辞ではないのでしょうか」と、ケリー・ガーンシアノス氏は
語っている。彼は、ニューヨークにある開発業者、インクレマックス・テクノロジズ
(Inremax Technologies) の社長で、IAMCP(International Association of Microsoft Certified Partners)
のニューヨーク支部長である。

ゲイツ氏のE-メールは、マイクロソフトのWindows の更新機能が断続的に作動しなくなることが原因で起
きたシステム・グリッチ(故障)を 5日間かけて直した、まさにその日に発信された。その 1ケ月前には、
Windows XPの深刻なセキュリティ・ホールになると思われる部分を修正しなけれはならなかった。それでも
同社は、〔同社の製品の中では? 〕最もセキュリティがしっかりしているオペレーティング・システムだと、
依然として主張している。そして昨年は、何千・何万のも企業で使われているWindows コンピュータをワー
ムが侵食するという被害があった。

信頼性が問題になっているのはマイクロソフトだけではない。NIPC(National Infrastructure Protection
Center)は、毎年、ソフトウェアの脆弱性に関する調査報告書をまとめ、2001年版では、70ページあまりの
レポートの中で、アドビー(Adobe) からゼンダウン(Zendown) までの製品を取り上げているまた、英国のサ
リーにあるネクスト・ゼネレーション・セキュリティ・ソフトウェア(Next Generation Security Software
Ltd.)のセキュリティ専門家デイヴィッド・リッチフィールド氏は、最近、Oracle9iソフトウェアにいくつ
かのホールを見つけたと語っている。ここ数週間は、サンマイクロ・システムズ(Sun Microsystems)のSola
ris や、IBM のAIX operating systems や、アメリカ・オンライン(America Online)のInstant Messaging
softwareの一部のバージョンは、バッファ・オーバフロー(buffer overflow) の問題に悩まされていた。

では、一体何が悪いのだろう? 大部分のセキュリティ問題の原因は、コード内の知られている欠陥(defect)
に因るものであると、ワッツ・ハンフリー氏は語っている。それらが修正されないままに放置されることに
よって、その傷(flaw)は、ハッカーにシステムを破る機会を与えることになると、彼は語っている。ハンフ
リー氏は、カーネギー・メロン大学(Carnegie Mellon) のSEI(Software Engineering Institute) のフェロ
ーで、その前は、IBM でプログラミング品質のディレクターをしていた。

マイクロソフトは、問題は開発を妨げるもの〔原因〕になるという考え方ではなく、〔ともかく開発をして〕
テストの過程で問題を拾い出そうという考え方に偏り過ぎている。もし同社が、品質について真剣に考える
のであれば、同社のそのようなソフトウェア・エンジニアリング・カルチャーを変える必要があると、ハン
フリー氏は語っている。SEI の調査では、たとえ経験豊かなプログラマでも、10行書いたコードに1 ケ所く
らいは間違い(defect) をしてしまうそうである。たとえ間違いの99% が発見されても、100 万行のアプリケ
ーションの中には、1000個のバグが残されることになる。「インターネットを使っているいる人々は、シス
テムのそのような品質のことを大して気にしていないのです」と、ハンフリー氏は語っている。

マイクロソフトは、ソフトウェア問題をマイクロソフトに報告するツールをWindows に組み込む計画をたて
ている。そして最終的には、そのような問題を自動的に修正するようにしたいという意向である。多くの企
にとって、パッチをダウンロードするという現在のプロセスは、非常にわずらわしい方法である。「私達
のパソコンは、あちこちに分散して使われています」と、ジョン・トーマス氏は嘆いている。彼は、カリフ
ォルニア州パサディナにあるパーソンズ(Parsons) のCIO であるが、このエンジニアリング・建設会社は、
世界各地で 1万台あまりのパソコンを使っている。彼はWindows については評価しているが、マイクロソフ
トの提供方法については批判的である。「マイクロソフトは、いつも、次のOSはもっと信頼性が高いものに
なると、約束はしてくれるのですが、そうあった試しがありません」と、彼は語っている。

そのような非難を意識していることは、ゲイツ氏の「コンピューティング世界のまったく新しい信頼
(trustworthiness) レベルへと、業界を導こう」の言葉にも見られる。だが、「私は評価しません。
セキュリティについては、マイクロソフトをまったく信用していません」と、デンヴァーにあるニューモン
ト・マイニング(Newmont Mining Corp.)の、情報セキュリティ責任者 (information security officer)の
ダン・ケスル氏は語っている。同社では、社内ではWindows を使っているが、インターネット・アプリケー
ション用には、セキュリティが高いからということで、Unixを使っている。

業者は、自社製品が優れていると主張するのには、注意を払う必要があるだろう。先月、ニューヨークで開
催された展示会において、オラクル(Oracle) のCEO ラリー・エリソン氏は、同社のWeb サイトには 1日 3万
回の攻撃があるが破られたことはないと、自慢した。同社のソフトウェアがどんなに強固なのかをPRするつ
もりで言ったことだった。しかし、それから 1週間もたたないうちに、リッチフィールド氏は、Oracle9i
Application Server にバッファ・オーバーフロー問題があることをすっぱ抜いた。これは、修正済とオラ
クルが語っていた事柄だった。オラクル製品には、その他にも七つの脆弱性があると、彼はつけ加えている。

このような問題は、顧客によって発見される場合があまりにも多い。ノーマン・フジェルドハイム氏は、
サン・ディエゴにあるディジタル・ワイヤレス通信製品とサービスの販売業者クァルコム(Qualcomm Inc.)
の副社長(VP) 兼CIO だが、同社では、性能問題やバグを発見するために回帰テスト
(regression testing)を行っている。これは、本来なら業者が行なうテストである。クァルコムが開発した
Sun Solaris 用のテストは、後に、サン自身のテスト一式に組み込まれたと、彼は主張している。しかし、
クァルコムにとっては、どんなテストでも負担にはちがいない。

NTバグトラック(NTBugtraq) のラス・クーパー氏はハイム氏は、Windows のセキュリティを専門にしたメー
リング・リストを主催している。彼は、今日ある技術で、セキュアなソフトウェアを開発することは可能で
あると語っている。「私達は、すでにバッファのオーバーランなどをテストするためのツールを持っていま
すし、どうすればそれらを回避できるのか、プログラマへの教育もなされています」と彼は語っている。迅
速な開発サイクルを押しつけるマネージャと、品質保証の担当者の給与がかなり低いことに、コードのセキ
ュリティが低くなってしまう原因があるというのが、彼の主張である。「品質保証を担当する人々は、プロ
グラマより優れていなければなりません。しかし、給与はプログラマよりも低いのです」と、彼は語ってい
る。

ソフトウェアの品質についての根本的な問題は、プログラマがミスをすることにあると、マーク・パウク氏
は語っている。彼はカーネギー・メロンの SEI の上級プログラマである。品質の高いソフトウェアを構築す
るために、ソフトウェア能力成熟度モデル(CMM: Capability Maturity Model)の 5段階など、充分に確立さ
れたプロセスが存在しているが、それに沿っている商用ソフトウェア業者は、非常に少ない。

皮肉なことに、業界の標準にきちんと従うためにソフトウェア業者が努力しても、顧客はそれを評価しない
かもしれないと、ジェラルド・コーエン氏は語っている。彼は、ニューヨークにあるインフォメーション・
ビルダーズ (Information Builders Inc.) のCEO である。同社は、きちんとソフトウェアを開発している
証としてISO の9001の認証を受けたのだが、「大部分の顧客は、そのことに興味を示してくれません」と、
彼は語っている。

しかし、この問題はもはや避けて通れないことを多くの業者は気がついてきている。ピエール・デヴリエス
氏は、マイクロソフトの先進製品開発を担当しているディレクターだが、同社は意識を変え、ソフトウェア
開発プロセスを改善しなければならないと語っている。そのためには、Windows.Net と Windows.Net Serve
rのコードを書いている開発者は全員、セキュアなソフトウェアの書き方を学ばなければならないと、彼は
語っている。

そしてオラクルでは、開発者に対して、『まず正しく行なえ』というメッセージが伝えられている。「私
達が必要としているのは、なによりも会社の意志なのです」と、チーフ・セキュリティ・オフィサのメア
リ・アン・デイヴィッドスン氏は語っている。


ガリスン・ホフマン氏は、ニューヨークにある技術コンサルタント会社、イントラスフィア・テクノロジズ
(Intrasphere Technologies Inc.) のソフトウェア・エンジニアである。彼は、「今のところITマネージャ
は、セキュアで信頼性の高いソフトウェアか、安価で安直なソフトウェアのどちらかを選ばなければなりま
せん。セキュアで信頼性が高く、安くて使い易いソフトウェアなど存在しないですから、折り合いをつける
のは困難なはずです」と、語っている。ゲイツは、この難問に挑戦しようとしているが、賭率は彼に不利な
ようにみえる。「プログラマとバグの関係は N+1 であるという格言をご存じですか? つまり、見つからな
いバグが必ず残ってしまうということなのです」と、ホフマン氏は語っている。

ゲイツ氏を含めて、彼の部下達は、そのことを肝に命じなければならない。





© Rakuten Group, Inc.
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: