Symantec Security Response Weblog


Another Reason to Patch Microsoft Jet Vulnerabilities」より
March 20, 2008 Posted by Elia Florio

 このところ,多くのブログで米マイクロソフトの「Access」と「MSJET40.DLL」に存在するセキュリティ・ホールが話題になっている。スペインのパンダ・ソフトウエアにいる筆者の友人は2008年3月3日,データベース・エンジン「Microsoft Jet Database Engine(Jet)」ライブラリに(もしかしたら新たな)セキュリティ・ホールが存在する可能性があるとブログで指摘した。また米マカフィーも2007年12月に,ソフトウエアのセキュリティ問題を扱うメーリング・リスト「Bugtraq」で報告された別のセキュリティ・ホールに関する情報をブログで取り上げていた。我々シマンテックもマイクロソフトに対し,これらセキュリティ・ホールの一部についてと,2006年3月以降Accessファイル(.mdb)による対象を絞り込んだ攻撃が多く発生している事実を伝えた。しかし,マイクロソフトからの返答は以下に示す通り,相変わらずの内容だった。

「貴殿の報告された問題は,当社が安全でないと考える形式のファイルで起きると思われます。Internet Explorer(IE)やOutlookなどプログラムの多くは,この種のファイルを自動的にブロックします。詳細については,http://support.microsoft.com/kb/925330/をご覧ください」

 この返答から,「.mdb = .exe」という極めて単純な式を導き出せる。マイクロソフトは.mdbが安全でない種類のファイルであり,Outlookが添付ファイルとして受信したAccess用ファイルをブロックする設定になっていることから,このバグを深刻な遠隔コード実行につながるセキュリティ・ホールであるとは認めていない。

 ただし,すべてのユーザーがこうした知識を持っているわけではないだろう。さらに,このようなセキュリティ・ホールにいつまでも修正パッチを適用しないことのよい言い訳になってしまう。今のところ,MSJET40.DLLに存在する公開済みおよび未公開セキュリティ・ホールの正確な数はよく分からない。多くのウイルス対策ソフト・ベンダーが個別にこの問題をブログで公表し,いくつか問題を指摘しているということは,何らかの根拠があるはずだ。我々も新たな根拠を見付けた。

 当社のChen Yu氏は,特別な方法で組み合わせたWordファイル(.doc)とAccessファイル(.mdb)によって対象の限られた攻撃を行う非常に興味深い例について,解析を行った。この攻撃の実行者は,まず修正パッチの適用されていないセキュリティ・ホール「CVE-2007-6026」を突く攻撃用Accessファイルを作成した。次に,上記したOutlookのブロック機能を回避するため攻撃用ファイルの名前を変え,.mdbだった拡張子を動画ファイル用の「.asd」に変更した。このように細工した結果,以下の図から分かるようにOutlookはAccessファイルをブロックしなくなる。というのも,Outlookはブロックするかどうかを決める際にファイルの拡張子しか見ておらず,ファイル形式そのものを調べないからだ。図は拡張子だけが異なる同じAccessファイル2個を自分のメール・アドレスに送ろうとした際の画面である。拡張子が.mdbのファイルはブロックされたが,.asdは保存できる状態のままになっている。

 この攻撃者は,Jetライブラリが攻撃用ファイルを開けて悪質なシェルコード実行し,セキュリティ・ホールを突くようになるトリックを編み出すだけでよい。何らかのソーシャル・エンジニアリングを使い,Officeアプリケーションの力を少し借りれば攻撃はうまくいく。事実,Accessを全く使うことなくWordから直接MSJET40.DLLを呼び出せる。この攻撃では,.docファイルがメール・マージ機能を使って外部のデータ・ソース・ファイルを取り込むことで,Jetライブラリに攻撃用Accessファイルをロードさせている。以下のスクリーンショットは,Jetライブラリと攻撃用Accessファイルを参照している攻撃用Wordファイルのダンプである。


[画像のクリックで拡大表示]

 ここで使う攻撃用Wordファイルは,オープンされるとすぐに二つ目の攻撃ファイル(Accessファイル)を探して開くので,単体なら「安全」だ。そのため,Wordファイルのオープン前に両ファイルを同じフォルダへ保存させるだけの目的で,ソーシャル・エンジニアリングが必要となる。注目に値するのは,この.docファイルがメールから直接オープンされたり,攻撃用.mdbファイルのない状態でオープンされたりすると機能しないところだ。攻撃の実現には,.docと.mdbの両ファイルが欠かせない。もっとも,これら二つのファイルを同じフォルダに入れてオープンさせることは,それほど非現実的な話ではない(攻撃用メールを送る前に両ファイルを同じ.zip形式の圧縮ファイルにしておけば十分だろう)。

 二つの攻撃用ファイルは.docが「Trojan.Mdropper」,.mdbが「Trojan.Acdropper」,そこから生ずる実行ファイルが「Backdoor.Trojan」として検出される。送られてくるファイルの名前は,「Nokia_7650_video_en.doc」と「v_080310.asd」である。

 現在MSJET40.DLL関連で最も出回っているエクスプロイトは,以下のセキュリティ・ホールを狙う。

・CVE-2005-0944:修正パッチ未提供。2005年3月にHexView氏が報告(http://www.hexview.com/docs/20050331-1.txt
(関連記事:Microsoft Accessなどにセキュリティ・ホール,信頼できないファイルは開かない

・CVE-2007-6026:修正パッチ未提供。2007年11月にFrank Ruder氏が報告(http://seclists.org/bugtraq/2007/Nov/0235.html

 いずれも「Access 2003」までのバージョンに存在するが,最近の「Office 2007」では既に修正済みのようだ。

 今はまだ「修正パッチをダウンロードする」ようには勧められない。けれども,種類を問わず添付ファイルを受け取ったら,それがMicrosoft Office文書などの実行ファイルでないとしても常に用心し疑う,という教訓がこの件から得られる。


Copyrights (C) 2008 Symantec Corporation. All rights reserved.
本記事の内容は執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。
◆この記事は,シマンテックの許可を得て,米国のセキュリティ・ラボの研究員が執筆するブログSecurity Response Weblogの記事を抜粋して日本語化したものです。オリジナルの記事は,「Another Reason to Patch Microsoft Jet Vulnerabilities」でお読みいただけます。