「セキュリティの王道をきちんとやっていく」--マイクロソフト - (page 2)

小山安博

2007-11-30 13:29

 今回の攻撃は、主にメールに添付された、不正に改造されたPowerPoint文書を開いてしまうと、文書内のEXEファイルが出力された上で実行され、バックドアが仕掛けられるというもの。実際にこれを使った攻撃が行われたもので、小野寺氏は攻撃が実行される様子を動画で示しつつ説明した。

 さて、今回の攻撃はPowerPointの脆弱性を利用したものだ。「PowerPointが文書の要素の解析でいろいろ間違っていて、バイナリを実行するスキがあった」(小野寺氏)という脆弱性だが、そもそもこの脆弱性の背景には、PowerPoint(というよりもOffice)のフォーマットに問題があった。

 Office 2003以前に使われていた.doc、.xls、.pptなどといったバイナリ形式のフォーマットは、「ほぼ(ファイルシステムの)FAT」(同)であるOLE構造化記憶を基本とし、ファイルのヘッダにそれぞれのデータがどこにあるか記録され、それを元にデータブロックを探す、という仕組みで、FATテーブル、セクター、ストリームで構成された複雑なフォーマットだった。

 問題は、テキストデータであろうとバイナリであろうと、ストリームの中にあらゆるものを入れることができた点で、不正なEXEファイルをPowerPoint文書の中に挿入する、といったことが可能だった。とはいえ、本来はPowerPoint文書からEXEファイルを実行することはできないのだが、脆弱性によってストリームを呼び出して実行できてしまった、というのが今回の問題だ。

攻撃ファイルの中身 問題のPowerPointファイル。詳しい人ならば一見して分かるように、cmd、update.exeといった不審なものが多い

 これをふまえた上で、実際の攻撃はどのようにして行われたのだろうか。Windows XP SP2+Office 2003 SP2(脆弱性あり)の環境で、攻撃に使われたPowerPointファイルをダブルクリックで開いてみると、一瞬PowerPointの画面が立ち上がってすぐに消え、その後、改めてPowerPointファイルが開かれる、という不思議な動作をする。最終的には正常なPowerPoint文書が表示されるため気づきにくいが、このときすでに攻撃が成功してしまっているのだ。

 実際には、最初のPowerPoint文書が開かれた時点でcmd.exeが起動され、ファイル内部に挿入されていたupdate.exeがデスクトップに出力されていた。update.exeは.logという拡張子に偽装したEXEファイルをtempフォルダに作成、実行する。.logに偽装したEXEファイルは、2つのバイナリをsystem32フォルダに出力、さらにローカルマシンのレジストリ(HKLM)を変更する。作成されたバイナリはシステムプロセスのWinlogon.exeの子プロセスに挿入される。最終的にupdate.exeは自身を消去する――というのが一連の動作となる。悪意のあるバイナリがWinlogon.exeとして動作するため、通常では発見しにくくなっているというわけだ。

実際のプロセス 実際のプロセス。PowerPoint.exeの下にcmd.exe、update.exe、…….logファイルがある

 こうした攻撃に対して、マイクロソフトはどう対処したのか。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]