Linux/UNIXシステムで使われている圧縮用オープンソースソフト「zlib」のセキュリティホールが,同ソフトのコードを使用している一部のマイクロソフト製品にも影響を及ぼす可能性がある。
既報の通り,zlibソフト圧縮ライブラリで発見されたバグは,多くのLinuxシステムを攻撃にさらす恐れがある。
研究者の3月14日の報告によると,Microsoft Office,Internet
Explorer(IE),DirectX,Windows
Messenger,FrontPageなど,少なくとも9つのマイクロソフトの主力製品にzlibのコードが組み込まれているようであり,これらのソフトも攻撃を受けやすくなっている可能性があるという。
マイクロソフトの代表は,zlibの問題については,セキュリティ対策チームが調査に当たっていると語っており,また同社の一部のソフトがzlibのコードを取り入れていることを認めている。ただし,同社の対策チームはまだzlibのコードを使っているソフトを特定しておらず,それらアプリケーションが脆弱な状態にあるかどうかも不明だという。
「当社のアプリケーションが影響を受けると,確実に決まったわけではない」と同社の代表は語っている。
zlibライブラリは,約10年前から使われている基本的なオープンソースソフトコンポーネントで,ほとんどすべてのLinux/UNIXシステムに搭載されている。つまり,同ライブラリのいわゆる「二重解放の脆弱性」は,かなりの数のLinux/UNIXシステムを攻撃にさらすかもしれないということだ。マイクロソフトの一部の製品も,zlibのコードを一部取り入れているため,脆弱な状態になっているようだ。
オープンソース圧縮プロジェクト「Gzip」のメンバーは,検出プログラムでzlibのコードを使っていると判定された約600のアプリケーションのリストをWebに掲載している。このリストには,9つのマイクロソフト製品――DirectX
8,FrontPage,次世代Graphics Device
Interface(GDI+),InstallShield,IE,Office,NetShow,Visual
Studio,Windows Messenger――も掲載されている。
GDI+はWindows XPの一部だ。つまり,同OS自体が危険な状態にあるかもしれないということだ。
この検出ソフトは,zlibで使われているコードの3つのシグネチャ文字列(および幾つかの綿密な検査)によって,同ライブラリの機能が特定のプログラムで使われているかどうかを判断する。例えば,マイクロソフトのDirectXには,zlibと同じエラーメッセージが18個含まれていると,zlibライブラリの作者の1人,ジーン・ループ・ガイ氏は語る。同氏はコンピュータによる画像認識技術を手がけるビジョンIQで,チーフソフトウェアアーキテクトを務めている。
「マイクロソフト製品もこの問題の影響を受けるが,脆弱な状態ではないかもしれない」とゲイリー氏は言う。同氏によると,マイクロソフト製品が危険かどうかは,zlibが依存するほかのソフトライブラリを,同社がどのように書いているかによるという。
オープンソースのコードを利用する企業は,常にこのようなバグがあるかどうかを厳しく調べねければならないと,IDCのアナリスト,ダン・クズネスキー氏は述べている。
「オープンソース製品の中には,十分な検証がなされ,あまり脆弱性がないものもある。だが中にはろくに検証されていないものもあり,そういった製品は企業を厄介な立場に追い込むような脆弱性を多数抱えているかもしれない」と同氏は言う。同氏は,zlibライブラリの二重開放の脆弱性は,十分な検証を受けたソフトでも,より難解なセキュリティ問題の被害を被る場合があることを示していると付け加えた。
zlibライブラリのライセンスでは,企業が同ライブラリのコードを好きなように利用していいことになっている。GNU
General Public
License(GPL)とは異なり,このライブラリのコードを利用して開発した製品については,ソースコードを公開する義務はない。
しかし今回の件は,マイクロソフトは公にオープンソースコードをけなしながらも,自社ソフトの開発にほかのソフトを利用していることを証明したものと言える。
マイクロソフトがオープンソースのコードを自社製品に採用するのは,これが初めてではない。
一部のプログラマーによると,マイクロソフトが最新のコンパイラに追加した,一般的なエラーを防ぐための技術「GSフラグ」は,オープンソースのStackGuardプロジェクトのソースコードを利用しているという。
「マイクロソフトがStackGuardの機能をコピーしたという点には,議論の余地がある」と,StackGuardの作者であり,サーバソフトメーカー,ウィレックス・コミュニケーションズの主任研究者,クリスピン・カウァン氏は2月に,CNET
News.comに対し電子メールで述べていた。「GS機能がStackGuardと同一のものであるという点については,議論の余地はない」(同氏)
昨年夏には,Windowsの一部のネットワーキングユーティリティと,おそらくTCP/IPスタック(ネットワーク/インターネット接続のためのコアソフト)の一部で,UNIXのオープンソース版であるFreeBSD関連のソフトが使われていることが明らかになっている。
ただし,別のオープンソース版UNIX,OpenBSDのプロジェクト発起人であり,リーダーであるセオ・デラード氏は,これについて確証はないと強調している。「何度も尋ねてみたが,証拠は得られなかった」(同氏)
マイクロソフトはオープンソースソフトの使用については否定しておらず,社内のプログラマーに対し,製品のソースコード公開を迫られる可能性のあるGNU
GPLベースのコードの使用を禁じるにとどめている。
マイクロソフトの上級副社長,クレイグ・マンディ氏は昨年5月にこう語っていた。「問題なのは選択肢があるかどうかだ。企業/個人にはどのモデルでも選べる選択権が与えられるべきだ。当社はこの点を適切にサポートしている。多くのオープンソースソフトが採用しているGPLライセンスモデルには真の問題がある」
ただし,zlibライブラリはGPLライセンスを採用していない。
zlibのライセンスで義務付けられているのは,(同ライブラリを取り入れている)プログラムのソースコードを公開する場合に,著作権表示を入れることだけだ。マイクロソフトは,ソースコードを公開することがほとんどないため,自社プログラムに著作権表示を入れる必要はなかった。しかしzlibの作者であるガイ氏は,クレジット表記を入れてほしいとしている。
「マイクロソフトが一部のバイナリバージョンからzlibの著作権表示を削除したことで困っている」と同氏。同氏はまた,今後は,zlibの新バージョンにそういった条件を追加するかもしれない,と付け加えた。
関連記事
zlib圧縮ライブラリに脆弱性,Linuxなどに広く影響
関連リンク
CERT/CC
ZlibによるAdvisory
[Robert Lemos ,ZDNet/USA] |