EASM — 外部攻撃対象領域の管理 // モジュール

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は決してインデックスしない · スコアは生成元の検出事項まで追跡可能

次のステップ