EASM — 外部攻撃対象領域の管理
組織が外部に晒しているものを、組織自身が申告したシード(起点)からマッピングします。資産を探索し、リスクの検出事項を記録し、それぞれが互いにどう繋がっているかのグラフを維持します。対象に侵襲的に触れることは一切ありません。
概要
作業の単位はペリメータです。「本番環境」「ステージング環境」のように、組織内で名前を付けたスコープを指します。各ペリメータには4種類のシードを与えます。CNPJ(ブラジルの法人登録番号)、ドメイン、CIDR形式のIPレンジ、メールドメインで、種類ごとに異なるパイプラインが動きます。
ブラジルにおいて決定的なのがCNPJのシードです。これを起点に、プラットフォームはインデックス済みの連邦国税庁(Receita Federal)の公開データベースを参照し、基礎CNPJから支店・関連法人を洗い出し、株主・出資者を把握し、高リスクな業種コード(CNAE)を検出事項として表示します。セキュリティチームの誰も存在を知らなかった子会社を見つけ出す経路であり、M&A後の典型的なシナリオです。
原則としてのパッシブ探索
収集はDNSクエリとTLSハンドシェイクのみです。対象へのペイロード送信は一切ありません。結果が資産として登録される前に、3つの安全規則が適用されます。
- DNSが返したプライベートIP、ループバック、リンクローカル、マルチキャストのアドレスは破棄します。外部向けインベントリから内部トポロジーが漏れないようにするためです
.local、.internal、.localhostのドメインは入口でブロックします- 実行ごとに上限があります。資産500件、検出事項1,000件、関係500件、DNSレコード種別ごとに50件。敵対的な、あるいは設定の壊れたゾーンによって取り込み処理が倒れることはありません
発見された資産には9種類(ドメイン、サブドメイン、IP、メールアドレス、CNPJによる関連法人、証明書、アプリケーション、MXサーバ、NSサーバ)があり、それぞれが発見の由来を持ちます。A/AAAAレコード、MX、NS、TXT、CNAME、証明書のSAN、CNPJ照会、漏洩データとの相関、手動入力のいずれかです。グラフは9種類の関係で資産を結びます。名前解決先、MX利用、NS利用、ホスティング、ドメイン保有、証明書保持、関連法人、漏洩データで発見、相関ありの9つです。
説明できるスコア
資産のリスクは、未対応の検出事項のポイント合計で、上限は100です。証明書の期限切れは25点、開発用サブドメインの露出は20点、自己署名証明書は15点、期限が迫った証明書は10点です。
実務上の帰結は、この数値が監査可能だということです。どの検出事項が構成要素なのかを正確に指し示せますし、検出事項が解決・受容・誤検知のいずれかになれば、スコアは自動的に下がります。各ペリメータはさらに、資産数、未対応の検出事項数、うち緊急・高の件数、そして稼働中資産の平均リスクを保持します。
実行スケジュール
証明書チェックは03:00 UTC、漏洩データとの相関付けは04:00、リスク再計算は05:00、検出事項のアーカイブは02:00。継続監視は6時間ごとで、DNSを再確認し、80・443・8080・8443番ポートを照合し、前回のスナップショットと比較して変化の検出事項を起票します(1回の実行あたり資産100件が上限)。ドメイン起点およびCNPJ起点の探索、タイポスクワッティング検知、サブドメインテイクオーバーの調査はオンデマンド実行です。
主な機能
- 12種類の検出事項。サブドメインテイクオーバー、タイポスクワット候補、シャドーIT、管理用ポートの露出、相関付けられた漏洩認証情報などを含みます
- 未使用サービスを指したCNAMEによるサブドメインテイクオーバー検知。GitHub Pages、Heroku、Fastly、Shopify、Zendesk、AWS S3、Azure、Bitbucket、Netlifyのシグネチャに対応
- dnstwistによるタイポスクワッティング検知。1回の実行あたり500バリエーション、DNSクエリごとに3秒のタイムアウト、並列度は制御されます
- Leaksモジュールとの相関付け。メールやドメインの資産が漏洩データのハッシュ記録に現れた場合、検出事項になります
- 検出事項のライフサイクルは4状態:未対応、受容、誤検知、是正済み
- バグバウンティ/VDPプログラムの登録(BugHunt、HackerOne、Bugcrowd、Intigriti、YesWeHack、HackenProof)
ユースケース
- CNPJを起点に、支店・関連法人を含む企業グループ全体の外部公開面を棚卸しする
- シャドーITを見つける:外部からアクセスできる開発用・検証用サブドメイン
- 証明書の失効による停止を30日前に先回りして防ぐ
- 実際に外部公開されているものの一覧で、ペネトレーションテストのスコープを準備する
本モジュールが行わないこと
- 脆弱性スキャンは行いません。 エクスプロイトを送らず、ペイロードを試さず、アプリケーションへの認証も行いません
- CVSSもEPSSも使いません。 スコアは検出事項ごとのポイント合計であり、第三者の脆弱性評価値ではありません
- 広範なポートスキャンは行いません。継続監視が確認するのはWebサービス用の4ポートのみです
- Shodan、Censys、BinaryEdgeへの照会は行わず、AWS・Azure・GCPのAPIによるクラウドリソースの棚卸しもしません
- 内部資産の探索は行いません。プライベートIPの破棄は設計上の規則であり、一時的な制約ではありません
typosquat_candidateはあくまで候補です。悪意の有無の確定は人による分析であり、その後の対応はLegal & Takedownモジュールで進めます
連携
- Airflow(オーケストレーション)、OpenSearch(検出事項の履歴、
ooda_easm_findings-*) - 連邦国税庁のCNPJ公開データベース(プラットフォーム側でインデックス化)
- dnstwist(ドメインのバリエーション生成)
- OODA Leaks、OODA Search
SLA・保証
厳密にパッシブな収集 · プライベートIPは決してインデックスしない · スコアは生成元の検出事項まで追跡可能