米国時間9月18日,セキュリティ・ホール情報を交換するメーリング・リスト「Bugtraq」において,Microsoft Office製品のセキュリティ上の弱点が報告された。WordやExcelなどで作成した文書ファイルをダブル・クリックして開くと,ユーザーが意図しない不正なプログラムまで実行してしまう可能性がある。この投稿を受けて,翌9月19日,Microsoftはそのセキュリティ・ホールを悪用するのは難しいと,同メーリング・リストへ投稿。さらにそれを受けて,ほかのメーリング・リスト参加者は「いかに悪用が可能か」というシナリオを次々に投稿しはじめ,現在も続いている。
Officeファイルをダブル・クリックすると,同じフォルダのDLLが勝手に起動
報告したのは,ブルガリアのセキュリティ・コンサルタントGeorgi Guninski氏。同氏はこれまでにも数々のセキュリティ・ホールを発見してきた。
今回発見されたセキュリティ上の弱点は,Microsoft WordやExcelなどといった,Microsoft Officeアプリケーションで作成した文書ファイル(たとえば拡張子が.docや.xlsなどのファイル)をダブル・クリックすると,同じフォルダ内の「riched20.dll」あるいは「msi.dll」を勝手に起動してしまうというもの。
そのため,不正な動作をする実行プログラムの名前をこれらのファイル名に変更して,Office文書と同じフォルダに入れておけば,ユーザーに気付かれないように,不正なプログラムをユーザーのマシンで実行させることができる。
上記のDLL(Dynamic Link Library)を起動するのは,Explorerなどから,文書ファイルを直接ダブル・クリックしたり,「ファイル名を指定して実行する」から指定した場合である。一度Officeアプリケーションを起動して,アプリケーションからOfficeドキュメントを読み込めば,起動することはない。
また,Officeアプリケーションがすでに立ち上がっている場合には,ダブル・クリックしてもDLLは起動されない。
Guninski氏は,自分が運営しているWebサイトで,害のないサンプルのDLLとそのソース・プログラムを公開している。実際にダウンロードして,ファイル名を「riched20.dll」に変更して試したところ,確かに再現された。
MSは「悪用は難しい」と反論
Guninski氏の投稿に対して,Microsoft Security Response CenterのScott Culp氏は,そのセキュリティ・ホールを悪用することは難しいと,同メーリング・リストへ投稿した。
理由として,「このセキュリティ・ホールを悪用するには,不正なDLLをOffice文書と同じフォルダにダウンロードさせた後,そのユーザーにOffice文書を開かせる必要がある。結局のところ,ユーザーに不正なプログラムをダウンロードさせて実行させるのと同じである」と述べている。従来から存在するセキュリティ・リスクと同じであるというのだ。
また,インターネット越しでこのセキュリティ・ホールを悪用できないことも理由として挙げている。例えば,悪いユーザーが自分のWebサイトに,Office文書と不正なDLLを同じフォルダに置いたとしても,Office文書といっしょに不正なDLLが勝手にダウンロードされることはない。
次々に寄せられる「危険なシナリオ」
これに対して,Bugtraqの参加者からは,さまざまな悪用方法が寄せられている。
例えば,Office文書を圧縮したアーカイブ・ファイルに不正なDLLを入れておく。そのアーカイブ・ファイルをダウンロードしたユーザーは通常1つのフォルダに展開(解凍)する。ユーザーはフォルダ内の不正なDLLファイルには気付かず,そのディレクトリのOffice文書を開いてしまう。
また,多くのメール・ソフトは,すべての添付ファイルをひとつのフォルダに一時的に置く。そのため,添付されたOffice文書をダブル・クリックすると,いっしょに添付された不正なDLLまで実行してしまう可能性がある。
これら以外にも複数の危険なシナリオが現在も投稿されており,決して軽視できないセキュリティ・ホールであることが分かる。
現在のところ,Microsoftからは修正プログラム(パッチ)などは出されていない。
今後は,実行あるいは開こうとするファイルだけではなく,同じフォルダにあるファイル--特にDLLファイルなど--にも注意を払う必要がありそうだ。ただし,Windowsの初期設定では,DLLファイルは表示されないので,「表示」メニューから「すべてのファイルを表示」にしておく必要がある。(勝村 幸博)