平原伸昭/トレンドマイクロ スレットモニタリングセンター

 この特集では,筆者が法人顧客のサポート・エンジニアとして経験した数多くの実例の中から,企業ネットワークで実際に発生したある事例について,時系列に従い,その時々でシステム管理者とセキュリティ・ベンダーのサポート・チームが試行錯誤で行った現場の対処を紹介する。

 第2回は,セキュリティ・インシデントが発生したA社への到着から,到着後約1時間で行った初期対応までである。当時の現場状況を追いながら,不正プログラムによるアウトブレイクを食い止めるための要となる「正体不明の不正プログラムを見つけ出す」方法について解説する。



 終電に近い電車でA社に到着したころには,既に午後11時を回っていた。A社のオフィスは,当然のことながら営業が終了している。従業員用の非常口にいる警備員にシステム担当者のM氏を訪ねてきた旨を伝えると,まもなくM氏が現れた。

 「お待ちしていました。会議室で緊急対策チームが作業していますのでどうぞ」

 その部屋に一歩踏み入れた瞬間に,十数人の視線が一斉に集まる。

 「遅くなりました。トレンドマイクロの平原です」

 緊急時特有の熱気と緊迫感が部屋に充満している。そこには深夜にもかかわらず,正体不明のセキュリティ・インシデントに立ち向かっている情報システム部門のスタッフが私の到着を待ちわびていたのだ。言葉を交わさずとも,その期待感が張り詰めた空気の中で伝わってくる。幾度もこのような緊急事態のオンサイトを経験したことがあるが,事前に全く原因が特定できていない中での調査は私にとっても初めてだった。

 あいさつをする時間も惜しいと言わんばかりに,さっそくM氏がホワイトボードを使い,最新の状況を説明し始める。

 「トラブルが発生しているコンピュータは既に1000台を超えました。なお,ここから離れたXX市の事業所でも同様のトラブルが報告されています。これは共有フォルダを経由した感染拡大と見ています。正直に申し上げて,現時点で全く原因は特定できていません。ただし,Web関連のチームには連絡がとれましたので,小一時間後にはここに到着するはずです」

 「Webのチームと合同で動けるのは助かります。ただ,ご説明いただいた状況から察するに,既にマザーウイルスを起点にして,数十もの不正プログラムに感染している可能性が高いと言わざるを得ません。しかし不正プログラムを特定し,アクセス先のURLを特定することにより,連続的にダウンロードされる状況は回避できるはずですのでご協力をお願いします」

 私はこれまでの経験から,さほど長い時間をかけずとも原因を突き止めることができると考えていた。しかしその見込みが甘かったことを,後で思い知らされる。

初期対応では,とにかく「悪意あるファイルを見つけ出す」

 不正プログラムのインシデント・オペレーションにおいて,「検体を収集する」という作業が管理者にとって最も時間と手間のかかるプロセスではないだろうか。「不正プログラムの検体収集」と聞くと,非日常的で敷居を高く感じてしまう読者もいるかもしれない。しかし実際に使用するツールの多くは,サーバーやネットワークのトラブル・シューティングで使用するものと同類である。

 また,自分でツールを使用するほかにも,企業規模や業種によっては,遠隔地のコンピュータを調査するために複数の社員に手順を記載したマニュアルを手渡し,実際の処理を依頼する場合もあるだろう。非常時のマニュアル作成の面からも,これらのツールを事前に準備し,管理者が動作の確認をしておくことで初期対応をスムーズに行えるようになる。

 不正プログラムのインシデント・オペレーションで管理者がすべきことは,主に「悪意あるファイルを見つけ出す」「感染コンピュータ環境を把握する」「発生している被害を把握する」「感染原因,経路を特定する」の4つである。

 中でも,初期対応として最も重要かつ迅速に対処しなければならないプロセスは,「悪意あるファイルを見つけ出す」ことだ。なぜなら悪意のあるファイルを見つけることは,攻撃の起点となる不正プログラムを特定することであり,そこから連携する他の不正プログラムを入手したり,さらには該当のプログラムを解析したりすることで,感染による被害の範囲や症状の把握につながるからである。一つのファイルの発見が,インシデント解決のための王道であり,最大の近道なのだ。

 「まずは,不正プログラムを特定しましょう。感染コンピュータまで案内していただけますか」

 M氏に感染の疑いが高いコンピュータを指定され,私は不正プログラムを特定するための調査を開始した。あらかじめノートPCに準備しておいたいくつかのツールを確認する。そのときふと,このツール群を「お泊りセット」と呼んでいる同僚のサポート・スタッフを思い出した。このセットを使うような緊急対応は,たいていの場合は夜通しで行われるからである。

 「云い得て妙だな。今夜もそうなりそうだ」

 こんな非常時にもかかわらず,私は思わず苦笑してしまいそうになった。

安易にネットワーク・ケーブルを抜くと原因が分かりにくくなることも

 悪意あるファイルを見つけ出すために,今回の事例で使用したツールの中から,無償で提供されているものについて解説したい。これらのツールを効果的に組み合わせることにより,ほとんどの不正プログラムを収集することが可能になる。

 情報収集を行う前に,ひとつ注意点がある。それは,悪意あるファイルによる感染症状なのか,ソフトウエア/ハードウエアによる不具合であるのかを判断できていない段階では,安易にネットワーク・ケーブルを抜いたり,コンピュータのシャットダウンは行わないことである。なぜなら,ネットワーク遮断により,悪意あるファイルの感染痕跡が消えてしまう場合があるからである。このため,揮発性(壊れやすい)データをSIC(シック)ツールなどで採取してから,被害拡散防止作業へ取り掛かることが必要となる。

 逆に,ある程度怪しいファイルの当たりがついている場合は,ネットワーク・ケーブルを抜いてしまったほうが不正プログラムの拡散を防ぐことができる。なお,情報の揮発性については「RFC3227」で紹介されている。IPA(情報処理推進機構)のページには,「証拠収集とアーカイビングのためのガイドライン」としてRFC3227の日本語訳が公開されているので,一度参照することをお勧めしたい。

 「先ほどいただいたSICツールのログには,不正なプロセス・リストが記録されていませんでした。もう一度同じツールで,調査させて下さい」

 私はSICツールを使って調査を開始した。通常であれば,SICツールでほとんどの不正な動きを発見できる。しかし何度ログを見返しても,不正なプロセスやファイルを確認できない。不正プログラムのプロセスを隠すルートキットであったとしても,このツールであればある程度,特定することができるはずなのだが。

 「ほかのアプローチで調査する必要があるな」

 攻撃者は,感染コンピュータからの情報収集やアップデートのために,ネットワークを使って何らかの通信を行っているはずである。私は次の手を打ち始めた。