巧妙化する標的型サイバー攻撃。企業・組織の現場担当者からは、「自組織内に知見が少ない中、どうやって攻撃を発見・対処すべきか」という声が聞かれる。この特集では、攻撃者がどんな目的で攻撃するのかを解説し、企業・組織の現場担当者がどう対応すべきか、実践的な対策を提案する。

 前回の記事:手法再現で理解する、標的型攻撃を受けた端末は一体何をされるのか(2)

攻撃者は、痕跡を偽装、消去する

 攻撃者は、目的を達成すると自身の活動の痕跡を偽装したり、消去したりします。痕跡消去の代表的な手法はWindowsのイベントログなど、各種ログの削除があります。実際には、サーバーのイベントログなどのローテイトサイクルを悪用して削除タイミングにシステムの時刻をずらし、自身の認証情報を隠ぺいし時刻を戻すといった事例を確認しています。

 他の痕跡消去のケースでは、目的達成後に不要になったバックドアをCMDなどの正規ファイルで上書きしてフォレンジックを回避する事例や、VSS(Volume Shadow Copy Service)がタスクスケジュールで実行される時間を確認してバックアップ時間に痕跡ファイルを消した事例などがありました。

 痕跡偽装の代表的な手法には「タイムストンプ」といわれる日時偽装があります。タイムストンプツールが、調査した端末から発見されることも多くありますが、ここではタイムストンプ機能を持った不正プログラムについて説明します。

 図17から図20は、国内のある企業が標的型サイバー攻撃を受けた際に、発見された不正プログラムのコードの一部です。不正プログラムは、実行するとCreateFileA関数で「notepad.exe」を開いて、GetFileTime関数でファイルの日時を取得します(図17)。

 その後、SetFileTime関数で自身のファイル日時をnotepad.exeのファイル日時(図18)に変更します(図19)。このような仕組みで日時を偽装できます。疑わしい端末調査をする際に、攻撃が発生した時刻付近のファイルに目が行きがちですが、このような手法があることを知っておくと調査の幅を広げられるでしょう。

図17●notepad.exeのファイル日時を取得した画面
図17●notepad.exeのファイル日時を取得した画面
[画像のクリックで拡大表示]
図18●notepad.exeのファイル日時
図18●notepad.exeのファイル日時
[画像のクリックで拡大表示]
図19●SetFileTime関数で自身のファイル日時をnotepad.exeを同様のものに変更した画面
図19●SetFileTime関数で自身のファイル日時をnotepad.exeを同様のものに変更した画面
[画像のクリックで拡大表示]
図20●変更前(左)と変更後(右)のファイルプロパティの比較
図20●変更前(左)と変更後(右)のファイルプロパティの比較
[画像のクリックで拡大表示]