目次
概要(ざっくり)
マルウェア感染の兆候は単一ログだけでは見えません。エンドポイント(EDR / Sysmon)+ネットワーク(プロキシ / FW / DNS)+認証ログ(AD / IdP)+ファイル/プロセスの兆候を横断して相関させることで、初期侵入(Initial Access)〜実行(Execution)〜コマンド&コントロール(C2)〜横展開(Lateral Movement)を早期に捕捉できます。
主要な「兆候(シグナル)」とその理由
以下は現場でよく見る“赤旗”(high-value indicators)。
- プロセスの異常な親子関係
- 例:
explorer.exe
がpowershell.exe
を起動 → 正常でない自動化処理やマクロ実行の痕跡。 - 理由:攻撃者は正規プロセスを足掛かりにして悪性スクリプトを実行する。
- 例:
- PowerShell / WMI / cmd のエンコード実行(Base64等)
- 例:
powershell -EncodedCommand ...
- 理由:コード難読化・スクリプトインジェクションに使われ、検査回避の常套手段。
- 例:
- 短時間に同一端末から多数の外部接続(ビーコン)
- 例:決まった間隔(periodic)で外部IPへHTTPS接続 → C2ビーコンの可能性。
- DNSの異常(長いサブドメイン、短期間に多数の新規ドメイン)
- 理由:DNSトンネリングやDGA(ドメイン生成アルゴリズム)によるC2通信が疑われる。
- 未知ハッシュの実行 / 既知マルウェアハッシュの検出
- 理由:ファイルベースの感染を直接示す。
- SMB/Windowsファイル共有での大量ファイル作成/書き込み
- 理由:ランサムウェアや横展開(Credential abuse)での特徴。
- 認証の異常(Impossible Travel、多地点ログイン、急増する失敗ログイン)
- 理由:Credential theft・パスワードリスト攻撃の兆候。
- 新規サービス作成 / レジストリの Run キー追加 / スケジュールタスクの登録
- 理由:永続化(Persistence)を確立しようとする挙動。
どのログで何を見るか(一覧)
- EDR / Sysmon(エンドポイント):プロセス作成、コマンドライン、子プロセス、ファイル作成、DLLロード、ネットワーク接続
- プロキシ / FW / DNSログ(ネットワーク):外部接続先、頻度、ドメイン名の特徴、DNSクエリパターン
- SIEM(アラート相関):複数ソースの相関(例:添付→プロセス→C2接続)
- 認証ログ(AD / AzureAD / IdP):成功/失敗ログイン、Impossible Travel、サービスアカウント活動
- ファイルサーバログ:大量の暗号化や異常なファイル拡張子生成
- メールゲートウェイログ:マルウェア付き添付の配信履歴
サンプルログ(実務で見る形式・抜粋)とポイント解説
A. Sysmon / EDR(プロセス作成)
Timestamp: 2025-09-20T11:07:30Z
Host: PC-TAKEDA
EventType: ProcessCreate
Process: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
ParentProcess: C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE
CommandLine: powershell.exe -NoProfile -EncodedCommand "SQBFA..."
User: TAKEDA\j.takeda
- ポイント:Word(WINWORD.EXE)が親になってPowerShellをEncodedCommandで呼んでいる→ マクロ経由のドロッパーの疑い。
B. EDR(ネットワーク接続)
Timestamp: 2025-09-20T11:08:05Z
Host: PC-TAKEDA
Process: powershell.exe
DstIP: 198.51.100.77
DstPort: 443
Protocol: TLS
Pattern: periodic 60s
- ポイント:PowerShellから定期的に外部IPへTLS接続→ ビーコン(C2)の可能性。
C. DNSログ
time: 2025-09-20T11:08:01Z
src_ip: 10.0.5.21
query: ajk3k9q2x1.command-and-control[.]top
ttl: 60
whois_created: 2025-09-15
- ポイント:短命ドメイン・怪しいサブドメイン → DGA or C2ドメイン。
D. Windows Security(ログオン)
time: 2025-09-20T11:05:10Z
event: 4624 (Logon)
user: j.takeda
src_ip: 203.0.113.45
location: Russia, Moscow
- ポイント:Impossible Travelと組み合わせるとアカウントの不正使用を示す。
SIEM / EDRでの実践的クエリ例(概念)
※ 実際の構文は製品ごとに違うので「論理」を示します。
- PowerShellのBase64実行(Sysmon/EDR)
// KQL風(概念)
SysmonEvents
| where EventID == 1 and ProcessName == "powershell.exe"
| where ProcessCommandLine contains "-EncodedCommand" or ProcessCommandLine contains "FromBase64String"
- Excel/Word -> PowerShell の親子チェーン
index=edr EventType=ProcessCreate ParentImage="*\\WINWORD.EXE" Image="*\\powershell.exe"
- 短期間に繰り返す外部接続(ビーコン)
NetworkEvents
| where DestinationIP in (external_ips)
| summarize count() by SourceHost, DestinationIP, bin(timestamp, 1m)
| where count() > 5
- 新規/短命ドメインへのDNSクエリ
DnsEvents
| where QueryTime > ago(7d) and WhoisCreationDate > ago(30d)
| where QueryName matches regex "^[a-z0-9]{8,}\."
初動プレイブック(簡易:疑わしいマルウェア兆候検出時)
- Triage(Tier1)
- ログのタイムラインを整備(SIEMでProcess→Network→DNS→Authの時系列)
- 影響範囲(ホスト, ユーザー)を特定
- EDRで該当プロセスの動的情報(コマンドライン、子プロセス、ネットワーク)をキャプチャ
- Contain(Tier1/2)
- 該当ホストをネットワークから一時隔離(EDRのIsolation)
- もし認証の悪用が疑われるなら対象アカウントを無効化/パスワードリセット・MFA強制
- Investigate(Tier2)
- 該当ファイルをサンドボックスに投入して振る舞い解析
- メモリダンプ/プロセスダンプを取得(フォレンジック)
- SIEMでIOC(ハッシュ,ドメイン,IP)を横展開検索
- Eradicate & Recover(Tier2/3)
- マルウェアのクリーン、不要なサービス削除、永続化ポイント削除(レジストリ、タスク)
- パッチ適用やWAF/IPS設定で脆弱性・入口を修正
- 復旧後は端末をベースラインに戻して監視
- Lessons & Hardening(Tier3)
- 検知ルール・プレイブックを更新、SOARで自動化
- ユーザー教育、メールゲートウェイルール強化、SPF/DKIM整備等の再発防止
フォレンジックでよく取る証拠(優先度順)
- EDRログのプロセスチェーン & コマンドライン
- ネットワーク接続ログ(PC→外部IP)
- メモリダンプ(プロセスの動的痕跡)
- ディスク上の実行ファイル(ハッシュ取得)
- レジストリ / タスクスケジューラ の永続化エントリ
- 認証ログ(ログオン履歴)
誤検知の見極め方(False Positive対策)
- 正常業務かどうかの確認:Scheduled Task / 管理ツール(RMM)による正当なスクリプト実行でないか確認。
- 利用者ヒアリング:当該ユーザーに操作の心当たりを確認。
- ホワイトリスト管理:既知の管理ソフトや自動化ツールは例外設定。ただし例外は最小限に。
- しきい値とコンテキスト:単一のPowerShell実行だけで高優先度にしない、ネットワーク接続や不審な親子関係と組み合わせる。
MITRE ATT&CKとの紐付け(よく使うTTP)
- Initial Access: T1566 (Phishing)
- Execution: T1059 (Command and Scripting Interpreter – PowerShell)
- Persistence: T1547 (Boot or Logon Autostart Execution – Run keys), T1053 (Scheduled Task)
- Privilege Escalation: T1068/T1134(エクスプロイト/トークン操作)
- Lateral Movement: T1021 (Remote Services – SMB/RDP)
- Command and Control: T1071 (Web Protocols), T1572 (Protocol Tunneling / DNS)
- Exfiltration: T1041 (Exfiltration over C2 channel)
面接で言うなら「このログは T1059(PowerShell実行) と T1071(外部HTTPS接続) を示しており、C2の可能性が高い」みたいに説明できます。
実務的な練習問題(短い)
- SysmonのProcessCreateで
ParentImage
がWINWORD.EXE
、CommandLine
に-EncodedCommand
を検出。どのログをさらに見ますか?(回答例:EDRのネットワーク接続、DNSクエリ、ファイルハッシュ) - あるホストから1分ごとに外部IPへHTTPS接続が継続している。どのしきい値で「ビーコン」と判断しますか?(回答例:一定期間にわたる規則性、未知IP、短命ドメイン、前後のプロセス情報を合わせる)
まとめ(面接で使える短い説明)
「マルウェア感染の兆候は、プロセスの不審な親子関係、PowerShellのエンコード実行、周期的な外部接続、短命ドメインへのDNSクエリ、大量のSMB活動、永続化の痕跡などの複数のシグナルを横断的に相関させて判断します。初動は『隔離→認証停止→IOC横展開→フォレンジック証拠取得→再発防止』という流れで実行します。」
コメント