今週のSecurity Check(第225回)

 特に変わったこともしていないのに、Windowsパソコン(PC)の動作が突然遅くなったことはないだろうか。もしかすると、ユーザーによっては「もう古いPCだから仕方ない」などと受け入れてしまうことがあるかもしれない。だが、いくら古いPCだといっても、故障するのではなく突如として性能が落ちるのは、何かおかしい。こうした時には、「ウイルスに感染しているかもしれない」、そう疑ってみてほしい。

 先日、ウイルス感染したPCを操作する機会があった。動作が遅かったが、数年前に購入したものだからということで、所有者自身はあまり気にかけていないようだった。著名なウイルス対策ソフトを導入してあり、パターンファイルも自動更新されていた。このことも、ウイルス感染を疑わない理由だったのだろう。

 ただ、著者がPCを操作した感覚では、あまりにも動作が遅い。このため、どこかに異常があるのではないかと感じて、タスクマネージャを起動してみた。すると、見慣れないプロセスが多数表示された。著者が普段扱っているものとは異なる環境であり、他メーカー製の常駐プロセスが動作している可能性もあるため、この段階で異常なプロセスがあるかどうかを判断するのは難しい。Microsoft Process Explorerなどのツールがあれば細かい調査が可能だが、さすがに他人のPCでそこまでするのは気が引ける。

 実はこうした場面でも、Windows XPの標準機能を使ってウイルス感染の有無を手動でチェックできる。簡易チェックではあるが検出率は案外高いので、覚えておくと便利だろう。

 具体的な作業としては、以下の(1)と(2)、つまり実行中のプロセスや自動実行プロセスに異常なものがないかどうかを調べる。
(1)実行中のプロセス
(2)自動実行プロセス
(3)ウイルスかどうか

 とはいえ、動作中プロセスの有無以外、具体的に何をチェックすべきかは難しいところである。ポイントは、以下の点に注目するとよい。
A)起動プロセスのパス
B)起動プロセスのファイル日付

 簡易手動チェックの観点としては、ほかにも、起動プロセスのファイル名や、プロセス名と起動ユーザー権限の対応の観点などもあるが、これらはスキルや経験による判断が重要となる。

■実行中のプロセスの確認
 Windows XPのタスクマネージャではプロセス名や実行ユーザー名などの情報は分かるが、パス情報が表示できないなど十分な情報を得ることができない。そこでプロセスの詳細情報を得るために、標準ツールである「システム情報」を使用する。「システム情報」は、「プログラム」メニューの「アクセサリ」「システムツール」から起動できる。

 システム情報を起動後、左ペインの「ソフトウェア環境」「実行中のタスク」を選択することで実行中のプロセスの情報を(タスクマネージャ)より詳細に確認できる。

図1●実行中のプロセスの情報を確認
図1●実行中のプロセスの情報を確認

 まず最初に、「A」起動プロセスのパスに注意する」ためにパス名で並べ替える。C:\WindowsやC:\Program Filesのパスに含まれたファイルの多くは、正規に導入したソフトウエアのファイルであることが多い。このパスの中にもウイルスが含まれることは少なくないが、簡易手動チェックではこれら以外のパスを探す。特に注意すべきなのが、C:\Document and Settings(Windows7では、C:\Users)である。今回、当該PCでは二つのプロセスがC:\Document and Settingsのパスで起動していた。

図2●C:\WindowsやC:\Program Filesのパスで起動しているプロセスを確認
図2●C:\WindowsやC:\Program Filesのパスで起動しているプロセスを確認

 次に、「B」起動プロセスのファイル日付に注意する」ために、ファイル日付で並べ替える。ウイルスによっては複製時に日付を古いものに偽るものがあるが、簡易手動チェックでは新しいファイル日付から異常なものがないかどうかを探す。次の図では、2012年8月の日付のものが発見されているのが分かる。

図3●起動しているファイルのファイルが作成された日付を確認
図3●起動しているファイルのファイルが作成された日付を確認

 なおWindows7では、タスクマネージャから、実行中ファイルのパス名や起動パラメーターを表示させることができる。「システム情報」は、Windows7においても標準ツールとして提供されており、上記の調査が可能である。

図4●Windows 7では「タスクマネージャー」でシステム情報を表示させられる
図4●Windows 7では「タスクマネージャー」でシステム情報を表示させられる

■自動実行プロセスの確認
 次に、自動実行プロセスがないかどうか確認する。WindowXP/7どちらでも標準ツールである「システム構成ユーティリティ」を使う。システム構成ユーティリティは、ファイル名を指定して実行からmsconfig.exeと入力して起動する。

図5●自動実行プロセスの有無を確認
図5●自動実行プロセスの有無を確認

 システム構成ユーティリティで確認できる自動実行プロセスは、サービスおよびスタートアップである。簡易手動チェックでは、スタートアップタブの内容を確認する。

 注意すべき観点は、「?実行中のプロセスの確認」と同様に、起動パスの確認である。今回は二つの起動プロセスがC:\Document and Settingsのパスで起動していることが分かります。実行中のプロセスの確認と同様のチェックだが、自動実行プロセスの確認では、起動直後のみ活動するタイプのウイルスも確認できる。

図6●自動実行プロセスの確認では、起動直後のみ活動するタイプのウイルスも見つけられる
図6●自動実行プロセスの確認では、起動直後のみ活動するタイプのウイルスも見つけられる

■ウイルスかどうかの確認
 ウイルスかどうかの確認の判断には、外部サイトを利用する。ここではVirusTotalのサイトを利用する。ブラウザーからVirusTotalのサイトにアクセスし、ウイルス候補となった怪しいファイルを送信して、分析を実施する。

 下図は発見したファイルの一つの分析結果である。ウイルス対策ソフト43製品中35製品がウイルスとして検知していることがわかる。

図7●VirusTotalでウイルスとして検知する対策ソフトがどのくらいあるかをチェック
図7●VirusTotalでウイルスとして検知する対策ソフトがどのくらいあるかをチェック

 また昨今のウイルスには、自身の複製時にファイル名を自動生成し、発見しにくくする仕組みを持つものがある。これを利用してGoogle検索し、その結果を判断の情報に加えてもよい。ここで見つけたウイルスについては、検索結果はゼロだった。

図8●Google検索の結果も、見つけたファイルがウイルスかどうかの判断材料の一つ
図8●Google検索の結果も、見つけたファイルがウイルスかどうかの判断材料の一つ

 簡易手動チェックにより、該当のPCでは少なくとも4種類のウイルスに感染していたことが分かった。該当ファイルを削除し、自動起動設定を削除したところ、動作速度も改善された。

ウイルス感染のマルチレイヤー視点での検知

 今回のウイルス感染被害にあったPCは、ウイルス対策ソフトは導入済みで、ウイルス定義ファイルも最新のものが適用されていた。このような状態にもかかわらず、ウイルスを検知できなかった。

 VirusTotalの結果を再度確認してみよう。該当ファイルが初めてVirusTotalで分析されたのは、2012年6月と3ヶ月以上前である。しかし、これを検知できたウイルス対策ソフト製品は43製品中35製品。検知できなかった8製品の中には、ウイルス対策ソフトで有名な製品も入っている。

図9●VirusTotalではチェックしたファイルが初めて分析された時期なども表示する
図9●VirusTotalではチェックしたファイルが初めて分析された時期なども表示する

 恐らく、昨今のウイルスの爆発的な増加に、ウイルス定義ファイルの更新が追いつかず、3ヶ月前のものでも対策が実装されていない状態になっていると想定される。もちろんウイルス対策ソフトベンダーによって対策の抜け漏れにもバラツキはある。が、いずれにせよ、ウイルス対策ソフトだけに頼った対策では、同じような被害を受ける可能性は少なくない。

 ウイルス感染の異常を検知するには、PCへのウイルス対策ソフトの導入に加え、他社製のウイルス対策ゲートウエイによるチェック、ファイアウォールやIDS(侵入検知システム)でのC&Cサーバーへの通信検知、といったマルチレイヤーでの対応が必要となってくる。このようなマルチレイヤーの対策がとられておらず、動作が遅く怪しい挙動を示すPCがある場合には、ウイルス感染の簡易手動チェックを実施してみることをお勧めする。


斎藤 斎(さいとう・きよし)
日本アイ・ビー・エム GTSセキュリティサービス事業部
 「今週のSecurity Check」は、セキュリティに関する技術コラムです。日本アイ・ビーエム グループのスタッフの方々を執筆陣に迎え、セキュリティに関する技術や最新動向などを分かりやすく解説していただきます。(編集部より)
■IBM Security Servicesが提供するネットワークセキュリティの最新情報はこちら