12月9日頃から、Internet Explorer 7(IE7)の未知の脆弱性を使った攻撃、いわゆる「ゼロデイ攻撃」が発生している。
今回のゼロデイ攻撃も最近多発している攻撃と同様に、SQLインジェクションによりWebサイトに攻撃コードを埋め込む手法で行われている。攻撃コードが埋め込まれたページにユーザーがアクセスすると、ユーザーのPCにトロイの木馬などが感染する。ただし、現時点ではこのIE7の脆弱性に対する修正パッチが提供されておらず、通常のように「OSやソフトを最新版にアップデートしておく」だけでは攻撃を防げないため、特に注意が必要な状況となっている。
この問題に対して、マイクロソフトでは現時点ではまだ修正パッチは提供していないが、12月11日には脆弱性に関する技術情報と攻撃に関する情報、対応方法についてのセキュリティアドバイザリ(961051)を公開した。また、12月12日と13日にはセキュリティアドバイザリが更新され、最も効果的な回避策に関する新たな推奨策とともに、IE7以外のバージョンのIEでも影響を受けるとの情報が追加されている。
現時点では、悪用が確認されているのは外国の一部のサイトで、日本のユーザーにとってはすぐに攻撃を受ける可能性は低い。ただし、脆弱性の内容はありがちなもので、実証コードも平易に書かれていることから考えると、日本のサイトで同じような攻撃が蔓延する可能性は低いとは言えない。マイクロソフトから修正パッチが提供されるまでは、セキュリティアドバイザリで公表された情報を元に対策をとっておくべきだろう。
● 全バージョンのIEに影響があるが、現時点の攻撃はIE7が対象に
12月14日現在までに分かっている範囲では、今回のゼロデイ攻撃はWindows Vista/XPおよびWindows Server 2008/2003上のIE7を対象として行われている。ただし、脆弱性自体は、IE6やIE5.01、さらにIE8 Beta2も影響を受ける可能性があるとしている。
12月10日にインターネット上に公開された脆弱性の実証コードでは、Windows XP SP3上のIE7と、Windows Vista SP1上のIE7用でそれぞれ、「IE7でWebページを表示しただけで、電卓(calc.exe)が実行される」という例が示されている。おそらく実際の攻撃も、これらのOSが対象であると考えられる。
ただし、攻撃の原因となっている脆弱性自体は、現在サポートされている全てのバージョンのIEに存在している。今後、状況によってはIE7以外の環境でも攻撃を受けるようになる可能性は高い。
脆弱性の内容は、米MicrosoftのSecurity Vulnerability Research & Defenseブログによれば、IEがハンドリングしているダイナミックDHTMLデータバインディングに存在している。ある形式でタグを使用したデータをIEに読み込ませた場合、一度使用したメモリを解放した後であるにもかかわらずプログラムがメモリを使用し続けてしまう「Use After Free」エラーを引き起こし、その結果として任意のプログラム実行が可能となってしまうというものだ。この脆弱性には、CVE識別番号として「CVE-2008-4844」が付けられている。
トレンドマイクロのセキュリティブログなどによると、実際の攻撃コードではこの脆弱性が悪意のプログラムのダウンローダーとして使われ、さらに別のサイトから悪意のプログラム本体を読み込ませており、オンラインゲームのアカウント情報を盗聴するような活動を行うようだ。
セキュリティアドバイザリに12月13日に追加された内容によると、この脆弱性を使った攻撃が、SQLインジェクション攻撃によってインターネット上の多くのサーバーに広まりつつあるという。
実際に、筆者もこの攻撃に使われているダウンロード先と見られるURLをキーワードにしてGoogleで検索してみたが、11日時点ではヒット数は1桁だったが、15日早朝には80件まで増えていた。もちろん、実際の感染サイト数はさらに多いと考えられる。もし、このままサイトへの攻撃が無差別に起こると、一般の日本のユーザーが使うようなサイトが被害を受ける可能性もある。特にIE7を使っているユーザーは、被害を受ける前になんらかの対策をとる必要があると考えるべきだろう。
● ゾーン設定「高」と、OLEDB32.DLLの無効化が有効な回避策
この攻撃への対応方法としては、IEやWindowsのコード実行制限機能を使う方法や、IEやWindows自体の機能の一部を停止して攻撃活動を無効化することが考えられる。マイクロソフトのセキュリティアドバイザリには、これらの方法として現時点で9種類の回避策が掲載されている。
Microsoft Security Response Centerのブログによれば、これらの回避策のうち最も推奨されるのは、“インターネットおよびローカルイントラネットゾーンの設定を「高」に設定”することと、“ACLを使用してOLEDB32.DLLを無効にする”の2つの回避策を両方とも設定することだとしている。OLEDB32.DLLを無効にするのは、現在行われている攻撃がOLEDBを経由して脆弱性にアクセスしているためだ。
セキュリティアドバイザリには、「ACLを使用してOLEDB32.DLLを無効にする」方法は2種類掲載されているが、下に書かれている「cacls」コマンドを使って設定する方法の方が、より多くのユーザーが適用できると思われる。この情報を参考にしてOLEDB32.DLLを無効化するとともに、ゾーン設定を「高」にする2種類の設定を行うことが、攻撃の回避策となる。
なお、この回避策を利用すると、OLEDBやADOを利用したアプリケーションが利用できなくなるという副作用がある。これにより、普段利用しているアプリケーションが利用できなくなることもあるので、その場合には別の回避策を利用する必要がある。
また、マイクロソフトからこの脆弱性に対する修正パッチが配布された後は、OLEDB32.DLLを無効化を解除するのを忘れないようにしよう。無効化の解除は「回避策の解除方法」として同じくセキュリティアドバイザリに掲載されている。
関連情報
■URL
マイクロソフト セキュリティアドバイザリ(961051)
http://www.microsoft.com/japan/technet/security/advisory/961051.mspx
Microsoft Security Response Centerブログの該当記事(英文)
http://blogs.technet.com/msrc/archive/2008/12/11/microsoft-security-advisory-961051-updated.aspx
■関連記事
・ IE7にパッチ未提供の脆弱性、MSがセキュリティアドバイザリを公開(2008/12/11)
・ IEの脆弱性は全バージョンに影響、MSがアドバイザリを更新(2008/12/12)
( 大和 哲 )
2008/12/15 14:25
- ページの先頭へ-
|