情報セキュリティ関係の研修に参加
文科省が推進している大学等にCISOやCSIRTを設置する活動の一環で、CSIRT研修・応用編に参加してきました。基礎編の続きになります。日程は2日間になります。
これ、事前準備が多くて、、、ですが、その場で親切な説明がありますので、事前準備がなくても大丈夫です。ちなみに、ワークショップの実習で使用する調査ツールは以下の通りでした。
- FTK Imager Lite
- HashMyFiles
- サクラエディタ
- Profess Hacker
- Sysinternals
- Profess Explorer
- TCP View
- Autoruns
時間がある方はFTK Imager Liteくらいは見ておいてもいいかもしれません。
座学の内容
ツール
HashMyFiles
gpedit.exe→マルウェアを誤って実行しないように、exeの実行をできない場所を指定する
多層防御
入口対策、内部対策、出口対策
一般業務端末と重要業務端末を分離する
その上で、一般業務端末に個人情報を保存しないようにしたほうがいい
平時の情報収集
JPCERT情報公開センター
Microsoftは毎月第2水曜日に、脆弱性情報を公開している
緊急時の情報収集
virustotal
- IPアドレスからドメインがわかる、過去の関連ドメインも分かる
- Domain Siblingsの過去関連ドメインもすべてブラックリスト化すべき
- オンラインサンドボックスは機密性2の文書など、第三者が閲覧できることに注意すること
- 攻撃のFQDNやIPアドレスは時期により変化するので、時間軸に注意すること
インシデントレスポンス
ウイルス検知ログ
重要なセグメントを端末管理グループ分けして、特に厚くチェックするようにする。
自組織で行うのか、外部に委託するのかを先に決めておく。外部に、脆弱性診断を頼んだり、調査をお願いしたりする。
被害の公表
初動時、対応中、完了後
(公表時に二次被害に広がるような攻撃内容の詳細を記載するのは避ける)
(添付ファイルで公表する場合は、プロパティ情報を削除してから情報公開する)
インシデント発生源の調査
クラウドWAFを導入するか
ネットワーク系ログがないとどうしようもない→影響範囲の調査でも重要となる
プロキシーログ、DNSサーバログなどを残すこと
大規模な場合、ADの管理者が取られているときなど、ドメインコントローラのログが重要
DNSログでは、日時を必ず有効にすること。Bindではデフォルト無効になっている
FWの不要なポート番号は閉じておく。
ホワイトリスト形式にする。必要なら申請を受け、ホワイトリストに登録すること
データフォレンジック
データの完全性が重要
ハードディスクの保全
(1)全体複写←ほとんどがこれ。感染しているマルウェアが特定できていないなどの場合
(2)部分取得←事案が推測できる。ディスク全体をとる必要がないこともある
注意点
- ログが時刻同期されていること
- 利用者権限でログインできること。感染したユーザでログインしないと不正プログラムが動かないことも
- 管理者権限でツールを実行できること
- その他のパスワードを用意する
- ディスクの暗号化は?暗号化されていれば、複合化した状態で保全すること
- 物理的な設置個所はどこか。遠隔地だと把握が必要
- ドメイン環境かローカル環境か
- セキュリティ製品の一時的な無効化
- USBを受け付けないなどを無効化する
- CD/DVDやReadOnlyのUSBを使うこと
ハードディスクのコピーの仕方
ハードディスクの全体イメージ作成には、FTK Imager Liteというツールをお勧めする
仮想マシンであれば、スナップショットの作成でいける。仮想マシンの強み。
メモリダンプもあればよい。プロセス、ネットワークの状況がわかる。
(通信を確立した状態でとると、調査がはかどる)
イメージのマウント
WindowsのFTK Imagerでマウントするとよい
Linuxでやる場合は、別途コマンドで行う
メモリのダンプの場合はボラティリティというツールを使っている
PCのネットワークをケーブルを抜く形で切断するよりは、
アンチウイルスソフトのパーソナルファイヤーウォール機能を使うとよい
(リモート接続などを残す)
端末調査
ライブフォレンジック(ライブ端末調査)、デッドフォレンジック
(1)ライブフォレンジック
必須調査→ネットワーク調査、プロセス調査、レジストリ/サービス/タスク調査、ブラウザの履歴
必須の次→メモリ調査、ファイル調査
インストーラーは使わない。ポータブル形式のツールを利用する
調査前にディスク/メモリイメージを取得すること
ProcessHacker→netstatを見る
Sysinternals→
TCPView→netstatを見る、うまくいけばファイルまでわかる
Autoruns→自動実行系が一目でわかる
スタートアップ登録
検知日時と同じころに、登録されたプログラムが怪しい
正規プロセスのプロセス名とパスをセットにして調べる
プロセス名が正規のものでもパスがおかしい場合は怪しい
IPAのサイバーレスキュー隊(J-CRAT)技術レポート2017を参考にするのが良い
頻出コマンドはバッチファイルにしておく
ほとんどが、powershellなどの標準のコマンドが紹介されている
レジストリの調査
C:\Windows\System32\config
ツールはRegistryExplorerを使うとよい
SAMファイル→ユーザアカウント、グループ、最終ログオン、パスワードの変更などの日時
(ドメインの場合は、こちらには残らない。ローカルユーザのみ分かる)
攻撃者が作成したローカル管理者アカウントが残っていたりする
SOFTWAREファイル→インストールされているソフトウェア一覧
SYSTEMファイル→
>BACKGROUND ACTIVITY MODERATOR(BAM)
最終実行日時
Windows10の1709からのサービス痕跡
>AppCompatChache
ファイルパス、ファイルの更新日時
NTUSER.DAT
>UserAssist
プログラムパス、プログラム最終実行日時
エクスプローラー上で実行されたプログラムのみ
>RecentDocs
ファイル名、拡張子ごとの開かれた順番
外部記録媒体の接続履歴
>SOFTWARE、SYSTEM
どのUSBメモリでウイルスが侵入したかが判ったりする。
Prefetch→C:\Windows\Prefetch
WinPrefetchViewerで中身を見る。
ファイルパス、最終の実行日時が判る。
Windowsサーバではデフォルトで作成されない設定になっているため、使えない。
256個を超えると捨てられる。
Webブラウザのアクセス履歴
ツール、Autorunsを使って、隠しフォルダのプログラムを実行していたら怪しい。
デジタル署名が検証されていないファイル赤色も優先的に確認する。
マルウェアが良く使うフォルダ一覧がある。
特に%temp%が良く使われる。
ProgramFilesもたまに使われるが、多くない。
NTFSファイルシステム(Windows XP以降)
Mft2Csvというツールを使う
$MFTとUSNジャーナルというメタデータを作成している
$MFTはC:ドライブ直下にある。隠しファイルを表示としても、表示されない
ディスクイメージをマウントした状態ならC:ドライブ直下にたどり着ける
→端末上でのファイルの作成日が特に必要な情報
USNジャーナルファイル(C:$Extend\UsnJrnl:$J)
古いものはローテートされ消えてしまう
ツールで可視化する
イベント(File_Created、Data_Added、Data_Overwrittenなど)が記載されている
名前の変更やパスの変更、属性の変更に注意する
「マルウェア作成の事実」と「端末内の影響」を読み取ることができる
ExifToolを使って、pdfの文書ファイルの作成日時などを調べる
演習
これから参加される方もいらっしゃると思うので、ネタバレはなしでいきます。1点だけ、GUIしか触ったことの無い人にはきついと思います。CUIやった経験がある人ならなんとかついて行けると思いますよ。
では、みなさんも頑張ってください。
コメント