セキュリティ専門家のほうが問題な時もある

Mary Ann Davidson2005年08月05日 15時48分
  • このエントリーをはてなブックマークに追加

 セキュリティ専門家の間には次のような神話があるそうだ。「ソフトウェアベンダーには、セキュリティの脆弱性を迅速に修復しようとしない、無頓着でのろまな連中しかいない。彼らは、高潔なセキュリティ専門家から『脆弱性を公開するぞ』と脅されて、初めて対策を講じる」

 しかし、実際には、大半のベンダーは脆弱性の対処にもっと真剣に取り組んでいる。だから、セキュリティ専門家に脅される必要などない。そして、セキュリティ専門家のなかにもどうかと思うような人たちがいる。

 その点を指摘した上で、私は、ベンダー側の人間として、純粋に公の利益のためという動機で仕事をしているセキュリティ専門家に感謝している。ただし、そういう専門家は、私利私欲で動いているあまり評判のよろしくないお仲間たちとは違い、ニュース記事の見出しで取り上げられることはない。また、ベンダー側でも商用ソフトウェアの品質を高めて、脆弱な箇所をもっと減らすようにする必要があることは認める。

 セキュリティ専門家が、ソフトウェアベンダーとやり取りする方法に関するこの神話について、その元にもとになっているいくつかの考え方を挙げてみよう。

1. このくらいの脆弱性なら、2日もあれば修正できるはずだ
 セキュリティ専門家のなかには、世間に公開するぞと脅せば、われわれベンダーがもっと早くパッチを出すと思っている人間がいる。本当にやる気があれば、5日であれ、15日であれ、30日であれ、彼らが言う「バグ修正期間」内に対応できると思っているのだ。

 実は、専門家たちによって報告された脆弱性の修正自体は、コードにして2行、ものの20分程度で終わることも珍しくない。しかし、その修正が顧客に行き渡るまでに数週間を要するということが多いのだ。修正作業では、そのバグが特定のバージョンまたはプラットフォームに固有のものなのか、それともすべてのバージョンおよびプラットフォームに共通するものなのかを分析する必要がある。また、関連するコードでも同じ問題が発生しているかどうかを分析して、問題となる箇所をすべて修正する必要がある。複数のバージョンまたはプラットフォーム向けに修正プログラムを提供しなければならないこともある。複数の修正プログラムを1つにまとめて顧客の手間を最小限に抑えることも必要だ。さらには、出荷済みの製品に対してさまざまなテストを行い、修正プログラムのせいで他の部分が動作しなくなることがないように保証しなければならない。

 たとえば、Oracleでは、1つの脆弱性に対して78箇所の修正を行ったことがあるが、これには6日以上の日数を要した。また、四半期に1度、企業の財務報告の時期に合わせて、一括修正プログラムをリリースしている(多くの企業は、四半期が終わるまで本番システムを変更しないからだ)。

 わずか2行のコード変更なら5分もあれば終わるが、実際に顧客の手に修正プログラムが行き渡り適用されるまでには、かなりの時間を要する。

2. 脆弱性の指摘で名が知られているほど、企業からの引き合いも多くなる。
 多くの専門家が、公にした脆弱性の数が多いほど、ベンダーにコンサルタントとして採用される機会も増えると思っている。「Xドル払わないと(この情報を)iDefenseに売るぞ」といったあからさまな脅しをかける者もいれば、「Black Hatで発表するつもりだから、3週間以内に修正プログラムをリリースしろ」と暗に脅してくる者もいる。

 実際には、本当に優秀な専門家というのは世間にあまり知られていない。なぜなら、彼らにとって「慎重さ」というのは極めて重要な資質だからだ。こうした人たちは、自分の発見した最新の脆弱性をこれ見よがしにマスコミに持ち込む自己顕示欲の旺盛な専門家よりも、はるかに優秀なことが多い。われわれが雇うのは、こうした慎重な専門家であり、顧客にもこうした専門家を雇うことを勧めている。

 それに、脆弱性の発表が裏目に出ることがある。私は、脆弱性を利用した悪質なコードをリリースした専門家との契約を解除した企業を知っている。こうした専門家は、Black Hatではハッカーたちから喝采を浴びるかもしれないが、企業側からすればそのような専門家に金を出すのは自殺行為に等しい。脆弱性を知っているということは、同時にそれを他に漏らさない責任も負っているのだから。

3. 誰かが脆弱性を見つけた場合、その功績は常に見つけた本人に与えられるべきである。  ほとんどのベンダーは、脆弱性を報告してきた専門家たちの功績を認め、引き続き協力を依頼する。ベンダー側が「ご協力感謝します」と言うのは当然の礼儀である。しかし、神話では、専門家は常に功績を認められる資格があると言われている。

 実際には、ある脆弱性にベンダーが対応する前に、専門家がその脆弱性を悪用するコードをリリースして顧客にリスクをもたらした場合、「顧客にリスクをもたらしてくれてありがとう」などとベンダーが言うことを期待するのはばかげている。顧客は、リスクを査定するのに必要な情報はほしがっているが、悪質なコードやその詳細まで尋ねてはこない。

 場合によっては、ベンダーが専門家に対して、実際よりも大きな功績を認めることもある。たとえば、Oracleは重要なセキュリティ脆弱性の75%を社内で発見しているが、すでに社内では見つけているものの、まだ修正が完了していない脆弱性を専門家が見つける場合、われわれはその専門家の功績を認めることにしている。

 要するに、すべての専門家が高潔であるとは限らないし、すべてのベンダーが無頓着でのろまであるともかぎらないということだ。もう1つ、ベンダーであるか専門家であるかによらず、セキュリティ問題を解決しようとするすべての人たちの最終目的は、製品を使用する顧客を被害から守ることでなければならない。

筆者略歴
Mary Ann Davidson
Oracle最高セキュリティ責任者

  • このエントリーをはてなブックマークに追加