CTEMは、セキュリティを「点(一時的な診断)」ではなく「線(終わりのない運用)」で捉える考え方である。モダンな開発現場ではインフラが頻繁に変わるため、一度のチェックでは不十分であるという前提に立っている。
従来の「脆弱性管理」との決定的な違い
- 守備範囲の広さ これまではOSやアプリのバグ(穴)を塞ぐのが主。CTEMでは、設定ミスや権限の与えすぎといった「攻撃者に悪用されそうな隙(エクスポージャー)」すべてを対象とする。
- 頻度の違い 年1回の健康診断ではなく、ウェアラブルデバイスで24時間バイタルを測り続けるようなイメージ。
5つのフェーズを噛み砕く
1. スコーピング:守るべき場所を決める
- すべてを完璧に守るのは不可能。
- 会社にとって一番大事なデータ(顧客情報など)や、止まると困るシステムを特定し、どこを重点的に監視するか決める。
2. 発見:隙を見つける
- サーバー、クラウドの設定、ドメイン、社員のID管理など、あらゆるところを点検。
- 自分が把握していない「野良サーバー」や、うっかり公開設定になっているバケットなどを見つけ出す。
3. 優先順位付け
- 見つかった問題すべてに対応するとエンジニアが疲弊する。
- 「ネットから直接アクセス可能で、かつ重要データに繋がっている」といった、攻撃者に狙われやすいものから順にフラグを立てる。
4. 検証:本当に侵入できるか試す
- 「鍵が開いている」という報告が、本当に「家の中まで入れる」状態なのかをシミュレーション。
- 攻撃者の動きを真似して、実際にどこまで深く入り込めるかを確認し、リスクをリアルに実感する。
5. 動員:みんなで直す
- セキュリティ担当が叫ぶだけでなく、開発者や運用者が動ける状態を作る。
- チケット管理システムと連携したり、修正方法までセットで提示したりして、実際の修復をスムーズに進める。
現場で役立つ技術のキーワード
CAASM:バラバラな資産情報をAPIで集めて、一つの台帳にまとめる技術。ASPM:ソースコードからクラウドの設定まで、アプリが動く流れ全体を監視する手法。BAS:疑似的な攻撃を自動で走らせて、防御壁が機能しているか確かめるツール。
エンジニアリング組織としてのポイント
- セキュリティを「特別な作業」にしない。
- バグ修正やリファクタリングと同じように、通常の開発サイクル(GitHubのIssueなど)に組み込んで、自然に直していく文化が理想。
- 監視画面を眺めるだけでなく、IaC(コードでのインフラ管理)へ自動で修正案を出すなど、効率化を突き詰める。