Page 1 A-5. サイバー攻撃に対する調査と対応 明治大学服部裕之 このセッションの目標 Page 2 サイバー攻撃を受けた時の 痕跡調査 と 一時対応 を学び 実習にて確認する 1 PCの調査 対応が行えるようになる 2 サイバー攻撃に備えて事前に何を行えばよいのかがわかる
Page 3 ランサムウェア + 標的型サイバー攻撃 ランサムウェアに感染しただけではなく 実は標的型サイバー攻撃を受けていた ストーリー PCがランサムウェアに感染した 感染経路がわからない 被害者 (PC 利用者 ) に聞いても 何もしていないのに 突然 ファイルが暗号化された 実は 既にマルウェアに感染していた! 標的型サイバー攻撃を受けていたことに気づかなかった ストーリー概要 Page 4 侵入 攻撃者 C&C サーバ 感染端末 1 ランサムウェアに感染 3 内部調査 侵入拡大の痕跡 侵入 2 C&C サーバとの通信を確認 ( 標的型サイバー攻撃の疑い ) 侵入
実習 遠隔操作ツール (RAT) を用いたランサムウェアの感染 実習 1 インシデント発生! 被害者 ( 感染 PC 利用者 ) は 情報センターへ相談に 情報センター技術スタッフによる対応 実習 2 PC の状況把握 ランサムウェアの種類を調査 他に怪しい振る舞いはないか? プロセス調査 通信状況の把握 Page 5 実習 3 実習 4 情報漏えいの痕跡調査 イベントログの調査 PC の証拠保全 外部業者に調査委託するための作業 実習 1 遠隔操作によるランサムウェアの起動と感染 攻撃側 PC から 感染側 PC のランサムウェアを起動 その結果 感染側 PC で突然ファイルが暗号化 脅迫文が表示される Page 6 Virtual Box( 仮想環境 ) 攻撃側 PC 1 感染側 PC に送り込んだランサムウェアを起動 RAT コントローラー (C&C サーバ ) 感染側 PC 2 ランサムウェアによりファイルが暗号化 RAT
ランサムウェア感染のメカニズム Page 7 不審な添付 フォルダ ショートカットのリンク先 : C: Windows system32 cmd.exe /c start server.exe & start 取材のお願い.jpg & exit 意味 (1) server.exe を起動し (2) 取材のお願い.jpg を開く ( 通常属性ファイル ) 取材のお願い.jpg 取材依頼の文書本体 (Hidden + System 属性ファイル ) Server.exe (RAT プログラム (Bozok)) C&C サーバと接続し指示を待つ tesla.exe ( ランサムウェア (TeslaCrypt)) ランサムウェア TeslaCrypt 取材のお願い ショートカットからは起動しない Page 8 この後 被害側組織で行うことは? ( 順不同 ) PC の調査 実習 2 実習 3 実習 4 実習 3 状況把握 ランサムウェアに感染しただけなのか? 他には? 痕跡調査 情報漏えいや内部侵入の形跡はないか? 証拠保全 業者への本格的な調査依頼ウィルス駆除ファイルの復旧 復号ツールやバックアップの利用 被害拡大の防止 通信制限の強化やネットワークの遮断 < 補足資料 > 参照 どの順序で対応するのがベストか? ( 実習の順番どおりの対応が良いとは限らない ) ネットワークの調査 痕跡調査 < 補足資料 > 参照
実習 2 PC の状況把握 Page 9 不審なプロセス 不審なネットワーク通信の現状調査 Virtual Box( 仮想環境 ) 攻撃側 PC 感染側 PC RAT コントローラー (C&C サーバ ) 1 不審なプロセスの調査特に外部と通信しているプロセスの確認 RAT 状況把握に便利なツール Page 10 実習で使用 プロセス関連 Process Hacker http://processhacker.sourceforge.net/ Process Explorer https://docs.microsoft.com/enus/sysinternals/downloads/process-explorer どちらも不審なプロセスを 外部のウィルススキャンサイト (Virustotal 等 ) で簡単にチェックすることができる 自動起動 レジストリの調査 Autoruns https://technet.microsoft.com/ja-jp/sysinternals/bb963902.aspx
Process Hacker Page 11 プロセスの起動状況サービスの動作状況 ネットワーク通信の状況ディスクアクセスの状況 実習 3 情報漏えいの痕跡調査 Page 12 イベントログより 外部に流出した可能性のあるファイルを特定する Virtual Box( 仮想環境 ) 攻撃側 PC 感染側 PC 1 イベントログから外部に流出した可能性のあるファイルを特定する 2 ファイルの復号を試みる RAT コントローラー (C&C サーバ ) RAT
Page 13 イベントログ とは システムやアプリケーションの動作状況や利用者の操作などを記録したもの 閲覧方法 コントロールパネル 管理ツール イベントビューアー イベントログでわかること 利用者の操作 ログオン / ログオフ プログラムの起動 ファイルのアクセス システムの動作 サービスプロセス スケジュールされたタスク ハードウェアに関すること ネットワークの動作 マイクロソフト イベントログ https://technet.microsoft.com/ja-jp/library/cc722404(v=ws.11).aspx Page 14
Page 15 プログラムの起動 ログ Windows Sysmon Operational ログ 攻撃ツールを実行した痕跡はないか? ネットワークの調査 nmap, net share 等 アクセス権限の入手 lslsass, gsecdump, wce, mimikatz, pwdumpx ( ハッシュ値入手 ) keimpx, pshtoolkit, metasploit ( 偽装アクセス ) iepv ( キーロガー キャッシュ調査 ) 遠隔操作 ファイルアクセス PsExec, net use 等 バックドア HTran JPCERT/CC インシデント調査のための攻撃ツール等の実行痕跡調査に関する報告書 https://www.jpcert.or.jp/research/ir_research.html ファイルのアクセス ログ Windows Security ログ 流出した可能性のあるファイルは無いか? Page 16 監査対象の指定 誰 が どのファイル に 何をした 全員 (Everyone) グループ 個人 読み取り 書き込み 追加 削除 アクセス権の変更 所有者の変更 etc.
Page 17 事前準備 Windows 標準設定では さほど詳細なログは取れない 1. 監査ポリシーの有効化 取得するログの指定 事前の設定が必要 2. 監査対象の指定 ( ファイルのアクセス ) ログ取得の対象となるユーザ 操作内容を指定 3. Sysmonのインストール より詳細なイベントログを取るための追加ツール プロセスの起動 ネットワーク通信などを記録する 準備 1. 監査ポリシーの有効化 どのような行為をイベントログに残すのか? それは成功した時か? 失敗したときか? ローカルグループポリシーエディター (gpedit.msc) で設定 Page 18 ローカルコンピューターポリシー コンピューターの構成 Windows の設定 セキュリティの設定 ローカルポリシー 監査ポリシー オブジェクトアクセスの監査 ( ファイルアクセスの監査 ) オブジェクトアクセスの監査 成功 失敗にチェック
Page 19 準備 2. 監査対象の指定 誰が どんな操作をしたときにイベントログに残すのか? フォルダの プロパティ で設定 プロパティ セキュリティ 詳細設定 監査 追加 対象ユーザーを選択 ( 全員ならばEveryone) チェック Everyone 準備 3. sysmon のインストール ユーザ毎の行為の詳細 ( プロセスの起動 ネットワーク通信など ) を記録 イベントログの [ アプリケーションとサービスログ ]- [Microsoft]-[Windows]-[Sysmon]-[Operational] に記録される https://docs.microsoft.com/ja-jp/sysinternals/downloads/sysmon より入手 Page 20 sysmon64.exe -i を実行し インストール完了
Page 21 実習で使用 状況把握に便利なツール イベントログの調査 イベントビューアー (OS 付属 ) コントロールパネル 管理ツール イベントビューアー Event Log Explorer https://eventlogxp.com/jap/ 個人版ならば無料で使用可能 Event Log Explorer Page 22 イベント一覧 イベントログの選択 イベント詳細
Page 23 イベント ID と操作内容について イベントID 意味 4656 ファイルオープン 4663 ファイルアクセス 4690 ファイルコピー 4660 ファイル削除 4658 ファイルクローズ 操作内容 (Accesses) DELETE ReadData( または ListDirectory) WriteData( または AddFile) AppendData( または AddSubDirectory または CreatePipeInstance) 実行 / スキャン DeleteChild オブジェクトの削除 説明 フォルダ ファイルの読取り フォルダへのファイル操作 ファイルへの書込み データの追加 フォルダの作成 フォルダのスキャン ファイルの実行 フォルダとフォルダ内のファイル削除 プロセスの相関 Page 24 攻撃側 PC 感染側 PC client.exe ( コマンド指令 ) 7z a docs.zip docs ( ダウンロード指令 ) ファイル PID=1234 server.exe 生成 PID=2345 cmd.exe 生成 PID=3456 cmd.exe の親プロセス 7z.exe の親プロセス 7z.exe 読取り (ReadData) 書込み (WriteData) docs.zip ファイル
Page 25 実習 4 PC の証拠保全 外部業者に調査委託するための作業 Virtual Box( 仮想環境 ) 攻撃側 PC 感染側 PC 1 証拠保全 RAT コントローラー (C&C サーバ ) RAT Page 26 証拠保全とは PC の詳細調査 ( フォレンジック ) に必要な情報を取り出し 安全な場所に保管すること メモリ ネットワーク情報 プロセス情報 ユーザー入力情報等 ハードディスク イベントログ レジストリ システムファイル 感染側 PC 1 証拠保全ツール HDD メモリ 2 3 詳細調査 ( フォレンジック )
Page 27 実習で使用 証拠保全のツール FTK Imager Lite http://accessdata.com/product-download/ftk-imager-lite-version- 3.1.1 本格的なフォレンジックで使用 FastIR https://sekoialab.github.io/fastir_collector/ 簡易的なフォレンジックで使用 ToolBox ATTK トレンドマイクロ社の調査ログ収集用ツールキット 証拠保全の留意点 なるべく現状のままで保全を Page 28 稼働中のシステムでやみくもな調査を行うことによって 後のフォレンジック作業の妨げになることも マルウェアが自己消去してしまう可能性も PCの電源を切らない 再起動もしない ネットワークケーブルは抜かない 証拠保全は インシデント発覚時の初期段階で実施 特定非営利活動法人デジタル フォレンジック研究会 証拠保全ガイドライン第 6 版 2017 年 5 月 9 日 https://digitalforensic.jp/home/act/products/df-guideline-6th/
Page 29 まとめ イベントログの設定 ファイルアクセス 起動プロセス 痕跡調査のために あらかじめ採取する設定にする ( ログの保存期間 ディスク容量に留意 ) インシデント対応手順の確認 証拠保全を実施するタイミング 復旧を優先か? 調査 ( 原因 被害範囲の特定 ) を優先か? 事前にケース毎の検討を Page 30 補足資料
Page 31 補足資料 1. 被害拡大の防止 ネットワークの遮断 通信制限の強化 2. ネットワークの調査 ネットワークレベルでの痕跡調査 3. 事後対策 内部侵入 調査 の兆候をいち早く検知する仕組み 内部侵入 調査 の拡大がやりにくいネットワークの構築 Page 32 補足 1. 被害拡大の防止 外部ネット接続ケーブルの抜線 対応のレベル感 影響範囲大 外部向けファイアウォール 外部との接続を すべて 遮断 外部との接続を 一部のサービス ( 例 : メール ) を除き遮断 C&C サーバとの通信 のみ を遮断 内部用ファイアウォール ( 導入済の場合 ) 重要サーバへの通信の監視強化 通信制限 感染 PC のネット接続ケーブルの抜線 影響範囲小
補足 2. ネットワークの調査 ファイアウォール マルウェアに感染した PC から C&C サーバへの通信 ブラウジング中 マルウェアに感染した PC から ダウンロードサイトへの通信 IDS/IPS のアラート Proxy サーバのログ Page 33 補足 3. 事後対策 ネットワークレベルの対策 1 ネットワークの分離設計とアクセス制御 業務ごとにサブネットを分割 ユーザ端末とシステム管理用端末の分離 端末レベルの対策 2 ユーザ端末間のファイル共有禁止 3 オートコンプリートの禁止 4 キッティング時に設定した共通アカウントの削除 ドメインレベルの対策 5 管理者権限アカウントのキャッシュ禁止 監視の強化 6 トラップアカウントによる認証ログの監視と分析 Page 34
1 ネットワークの分離設計とアクセス制御 Page 35 攻撃者の侵入範囲の限定およびサーバへの侵入拡大防止が目的 DMZ L3-SW 業務ごとのネットワークの分離とアクセス制御設計 サーバセグメント 管理機能にアクセスできる端末の制限 トランジットサーバ ネットワーク機器でセグメントを細かく分離し セグメント間の通信を最小限に制限することで 侵入拡大を防止する 運用管理端末 運用管理セグメントの構築 ユーザ端末 ( 業務 A) ユーザ端末 ( 業務 B) ユーザ端末 ( 業務 C) 運用 ACL(Access Control List) の設計と定期的な見直し 2 ユーザ端末間のファイル共有禁止 Page 36 ユーザ端末から必要な通信先 (File Serverなど ) に限定したファイル共有を許可することにより 侵入拡大を防止することが目的 L3-SW ユーザ端末間のファイル共有禁止 サーバセグメント Windows サーバのセキュア設定 (UAC 有効 ) ユーザ端末 ( 業務 A) ユーザ端末 ( 業務 B) ユーザ端末 ( 業務 C) 運用 PsExec を使用したリモートメンテナンスは行わない PsExecsvr のプロセスが起動していないか監視する
Page 37 3 オートコンプリートの禁止 認証情報 (ID/PW) が端末上に保存されることを抑制 攻撃者に窃取され内部サービスへの侵入拡大を防ぐことが目的 サーバセグメント ブラウザのオートコンプリートの禁止 ユーザ端末 ( 業務 A) ユーザ端末 ( 業務 B) ユーザ端末 ( 業務 C) 運用 ユーザ端末でのオートコンプリートを禁止 ( 個別端末または AD のグループポリシー ) Page 38 4 キッティング時に設定した共通アカウントの削除 ひな型を複数の PC に展開する際 同じアカウントがコピーされてしまう これを削除することにより Pass the Hash 攻撃による他端末への侵入拡大を防ぐことが目的 共通アカウントの削除 ひな型端末 コピー端末 運用 共通アカウントを削除
5 管理者権限アカウントのキャッシュ禁止 Page 39 リモートからのパッチ配布などの管理者権限が必要な運用を維持しつつ 各サーバに影響を与えないアカウント運用を実現することが目的 ユーザ端末のアカウント権限の最小化 Domain ユーザ : 一般ユーザ権限ローカルユーザ : 管理者権限 Domain Admin の利用をさける 運用 ユーザ端末での Domain Admin でログインを禁止 ユーザ端末で Domain Admin グループのユーザがログインしていないか定期的に確認 Page 40 6 トラップアカウントによる認証ログの監視と分析 ユーザ端末上で通常業務で使用しないトラップアカウントを仕込み 重点的に監視を行うことで 不正なアクセスと正常なアクセスを見分けることが目的 L3-SW サーバセグメント認証サーバのログ監視 トラップアカウントを仕込む admin, clientadmin01 など ユーザ端末 ( 業務 B) 運用 認証サーバの認証ログの監視