サプライチェーン侵害の「いつもと違う外向き通信」を DNS+VPC フローで拾う
依存の侵入を 100% 防げない前提で、Web/AP サーバから出る通信先を DNS ログと VPC フローログで突き合わせ、許可リストにない宛先だけ Slack 通知する。常時 SIEM ではなく Athena/Lambda 等の間欠処理で月数百円・運用 10 分を目指す。
いつ使うか
- npm/Docker 等のサプライチェーン対策(クールダウン・レジストリ遮断)に加えて、侵入後の C&C 通信を早く見つけたいとき
- フルパケットや常時プロセス監視は重いが、「外向き宛先の変化」だけは見たいとき
- AWS 上の比較的通信先が安定した Web/AP サーバ群
考え方
- 目標は 100 点検知ではなく、続けられる 80 点(アラート過多で無視される状態を避ける)
- サーバが自分から触る外部先は多くない。平常時はほぼ通知ゼロ、突然の未知ドメインが価値になる
手順(概要)
- DNS ログから解決ドメインと回答 IP を取る
- VPC フローログの通信先 IP と突き合わせる
- 許可済みドメイン/IP(DynamoDB 等のホワイトリスト)を除外
- 未確認の宛先だけ抽出し Slack へ通知
- 正当ならホワイトリストへ追加し、以降は通知から外す
処理は S3 に溜めたログを Athena で問い合わせ、Lambda で間欠実行する構成が例として示されている(常時監視サーバを立てない)。
初回チューニング
- 初回は OS 更新や AWS 内部通信などで未確認が 100 件超になることがある
- 安全なドメインを登録すると、紐づく複数 IP のノイズがまとめて消える
- 用途まで厳密に分類できないが実害がなさそうなものはホワイトリストへ。特定 IP レンジを監視外にする割り切りも使う
- 確認作業が 1 日 10 分を超えるなら、リストか監視範囲を見直す
注意点
- C&C へ外向き通信するタイプの侵害向けの 1 レイヤー。暗号化トンネルや正規 CDN への潜伏は拾えない場合がある
- 依存パッケージの「クールダウン」設定(minimumReleaseAge / min-release-age)・悪性パッケージをブロックするレジストリ/プロキシを挟む・サプライチェーン侵害パッケージを入れてしまったときの初動 と併用する
- ホワイトリスト拡大は検知穴になる。拡大理由を残す
出典
- キーワード検索経由(ScanNetSecurity / AeyeScan blog 紹介): @ScanNetSecurity · 2026-10-13
- 元記事: scan.netsecurity.ne.jp
- 著者表記: 株式会社エーアイセキュリティラボ 杉山俊春