すぐ役立つ!ウイルス検出時の対処法4:端末に潜む不正プログラムの見つけ方

企業や組織でセキュリティに従事する現場担当の方々は、日々のインシデント対応や、セキュリティレベルの向上を目指す中で、さまざまな疑問に直面していると思います。どんな対策をどこまでやれば安全なのか?ネットワークに脅威が侵入してしまったときに何をすればよいのか?本連載「すぐに役立つセキュリティ対策」では、トレンドマイクロのエキスパートたちが、お客様からの調査依頼対応やインシデントハンドリングの中から得たセキュリティ専門家としての知見を、すぐに業務に活かせる形で提供してまいります。前回はウイルス検出に伴う端末調査を行う際、業務を優先する場合のベストプラクティスについて述べました。今回は、端末内から不正プログラムであろう不審なファイルを見つけ出す方法について述べます。

■「端末調査」、あとはツール任せ
前回紹介した業務最優先のベストプラクティスは、危険性の高いウイルス検出のあった問題端末を、セキュリティ担当者が回収し調査を行う、というシナリオでした。ただし現実は理想と異なります。実際には、問題端末をリプレースできず、利用者の席に置いたまま担当者が調査を行ってもらうことも多いでしょう、またあまりお勧めできないやり方ですが、端末の使用を継続してもらいながら利用者に調査を並行して行ってもらう、と言った状況もあるかもしれません。端末を回収するにせよしないにせよ、システム管理者がやるにせよ端末利用者にやってもらうにせよ、実際に端末調査として行う作業自体は変わりません。セキュリティベンダーが提供する調査ツールを端末上で実行し、収集された情報を提出するだけです。

昔は手作業の調査、例えば Windows のレジストリエディタを開いて確認、などをお願いしていた時代もありました。しかし、現在の不正プログラムの活動は非常に巧妙になっており、特に「ルートキット」と呼ばれる他の不正プログラムの活動の痕跡を隠すための不正プログラムの存在もあり、手作業で不正プログラムを特定できる可能性は非常に低くなっています。このため、各セキュリティベンダーでは問題のある端末内を自動的に調査するツールを提供し、情報収集を行ってもらう形になっているようです。したがって、調査自体はベンダー製のツール任せにするのが「正解」です。ただ、そうはいってもベンダーが提供する調査ツールは何を元に不審なファイルをあぶり出すのか、その方法が知りたい、という質問もよくいただきますので、ここでは調査ツールにおける不審ファイル特定の着眼点を説明いたします。以下はあくまでもトレンドマイクロの複数の調査ツールで実現している調査の主要なポイントになります。

■調査ツールの着眼点とは
調査ツールが、端末内から不審なファイルの存在をあぶり出すために情報収集する着眼点は大きく分けて以下の 3点です。

  1. プログラムの自動起動設定
    ほとんどの不正プログラムは侵入した PC内で、PC起動時に自身が自動的に起動されるような設定を行います。これは、侵入した PC が再起動された場合にも、自身の活動が継続を担保するためです。したがって、自動起動の設定が行われているファイルの中に不正プログラムが隠れている可能性が高いのです。

    この「プログラムの自動起動設定」は長らく調査で一番重要な着眼点でした。筆者は 20年近くセキュリティ対策に携わっていますが、今から 10年くらい前までは、不審ファイルの特定の際にはまずレジストリの \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run / RunServices / RunOnce の項目をチェックすることが鉄板の作業でした。

    図1:Windows のレジストリエディタでの Run項目の表示例
    図1:Windows のレジストリエディタでの Run項目の表示例

    現在でもこの「Run」の機能を使用する不正プログラムも存在しないわけではないですが、タスクスケジューラの利用なども含めて様々な自動起動方法が存在する上、DLLインジェクションなどより巧妙な手法も主流になっており、そのすべてを手動で追うのは現実的ではありません。また、最近ではそもそも自動実行設定を行わない不正プログラムも多く見られます。これはノートPC などスリープ機能が有効な PC が多くなっており、PC の利用を終了しても電源をオフ→次回使用時に起動、という条件ではないことが背景としてあるようです。

  2. 実行中のプロセスの活動
    PC内で不正プログラムが実行されている場合、必ずプロセスとして存在するはずです。中でも不審な活動として、特にシステム改変を行うためローカルのファイルやレジストリにアクセスを行ったり、不審な外部サイトと頻繁に通信を行ったりしているプロセスの存在を確認します。ただし、Windows のタスクマネージャなどを使用したとしても、どのプロセスがどのような活動を行っているかは確認できません。例えば、Microsoft が提供するフリーツール「SYSMON」のようなツールはプロセスのネットワークへのアクセスをモニタリングの際に活用可能ですが、それをすべて手動で追うことはやはり現実的とは言えません。
  3. ルートキットの存在
    また、上記 2点の情報を隠ぺいしてしまうルートキットの存在も、調査ツールでは同時に確認しています。PC内でルートキットが活動していること自体が怪しいわけなので、ルートキットの存在が確認できればその端末は「クロ」と言えます。ルートキットの存在を見つけるための着眼点としては、ルートキットは Windows の処理を横取りするため API にフックを行うなどの活動を持っていますので、これらの情報をチェックします。ルートキットは不正プログラムの活動の痕跡を隠しますが、自身の存在の痕跡までは隠せないものが多い、ということです。また、Windows の機能を利用して取得した情報とツール独自の機能で取得した情報を突き合わせ、隠されている情報が無いかを確認するような活動も合わせて行います。もちろん、このようなルートキットの存在を示唆するような情報を、手動で取得することは現実的ではありません。

    このように、手作業では追い切れない情報を自動で集めてくれる調査ツールですが、明確な弱点がひとつあります。それは、調査ツールは基本的に実行された時点での情報しか収集できない、ということです。調査ツールが収集する情報は実行された時点でのスナップショットなので、以前の状態との相違点や、その時点で実行されていないプロセスの活動などを推測することはできません。それを勘案しても、セキュリティ担当者の負担を格段に減らしてくれるものであることは間違いありません。調査ツールの実行した後も、やはり専門家に任せるべき部分です。担当者が行うべきことは、調査端末が収集した情報をセキュリティベンダに提出し、あとは不正プログラムが見つかり検出対応されるのを待つだけ、となります。

では今回のポイントをまとめてみます。

  • 実際の端末調査は調査ツールにお任せ:
    • 調査ツールは各セキュリティベンダの脅威への知見が集約されたものであり、それと同様の情報を手作業で集めるのは非現実的
  • 収集された情報の解析も専門家にお任せ
    • 調査ツールが収集した情報を、どのように解析して不正プログラムを特定するかも、各セキュリティベンダの知見が集約された部分であり、専門家に任せることが正解

次回は、実は難しい「問題端末の特定」についてまとめます。

■トレンドマイクロのソリューション
法人のお客様向けに特に手厚いサポートサービスを提供する「トレンドマイクロプレミアムサポート」では、お客様の環境を把握したテクニカルアカウントマネージャがウイルス検出時の判断や実際の調査対応についてサポートいたします。また、端末調査にあたって、不審なプログラムやその活動の痕跡から解析に必要な情報を収集する、様々な調査ツールを提供しています。

※執筆協力:トレンドマイクロ・プレミアムサポートセンター

 2015/02/27   15:00  本文の一部を修正