[レポート]防衛を考え直す-Active Directoryでのリスクの数値化 – CODE BLUE 2022 #codeblue_jp

CODE BLUE 2022で行われた「防衛を考え直す-Active Directoryでのリスクの数値化」というセッションのレポートです。
2022.10.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、臼田です。

今回はCODE BLUE 2022で行われた以下のセッションのレポートです。

防衛を考え直す-Active Directoryでのリスクの数値化

Active Directory(AD)は、企業ネットワークのバックボーンとして広く採用されている。そのため、ADを乗っ取ることは組織全体をコントロールすることを意味する。しかし、ADを悪利用しようとする敵対者のニュースが後を絶たない。われわれの研究によると、これは防御側と攻撃側の間に大きなギャップを生じさせていることが分かった。AD環境における潜在的な攻撃ベクトルが見えないと、防御者は何を防御すべきかの手がかりを得られない。防御者が環境中の潜在的な攻撃ベクトルを認識していたとしても、効果的なリスク低減はもちろん、作業の優先順位をつけるためにリスクの重大性を理解しなければ、防御を実施することは困難な場合が多い。

上記の課題を克服するため、われわれはまず、ADにおいての知識の範囲内ですべての攻撃ベクトルを評価し、防御者に可視性を提供する。そして、その評価に基づき、攻撃ベクトルや経路のリスク定量化を行うために、Active Directoryを対象とした実用的なリスクモデルを提案する。このモデルでは、組織内のさまざまなタイプのシナリオで無理なく利用できるよう、柔軟性を考慮したリスクファクターを定義している。本講演では、リスクモデルを深く掘り下げた後、攻撃ベクトルと攻撃経路をどのようにモデルに適用し、リスクを定量化できるかを紹介する。

本講演では、聴講者は、潜在的な攻撃を早期に発見するために、攻撃ベクトルを列挙することで、すぐに行動を起こすことができる。また、攻撃経路を列挙した後、リスク定量化モデルを適用し、防御作業の優先順位付けを行うことが可能だ。また、リスクモデルに基づく戦略を共有することで、効果的かつ包括的な方法でリスク全体を低減することもできる。

Presented by : マース・チェン - Mars Cheng デクスター・チェン - Dexter Chen

レポート

  • このリスクモデルのベネフィットについて
  • 自己紹介
    • Mars Cheng
      • PSIRTとスレットリサーチをしている
    • Dexter Chen
      • 台湾のCyber Secで喋ったりしている
  • AD概要
    • Active Directoryはエンタープライズの環境で不可欠なコンポーネント
    • 様々なところに接続している
    • 非常に強力なもの
    • DS
    • FS
    • CS
    • RMSなどある
    • 今回はDomain Servicesにフォーカス
    • 大体はこれがターゲットであるため
  • ADはエンタープライズネットワークのコア
    • 全体のうちAD使ってないところは少ない
    • AzureADなどのADを利用している
    • 63%
    • 最も重要なAsset
    • 攻撃者もそれをわかっている
    • 様々な分析が行われている
    • 学び
      • LockBit2.0
      • GPOを使ってランサムウェアを広げる
  • しかしADを乗っ取るのがなぜ簡単なのか
  • 防御はなぜ難しいのか
    • Misconfigurationがある
      • デフォルトや設定したもの
      • 設定が多いから
      • 時間をかけてチェックしないといけない
    • テクニック
      • 脆弱性がわかっていてもプライオリティが難しい
      • たくさんある
    • 検知メカニズムが必要
      • 攻撃ベクトルを100%見つけるのは難しい
      • 緩和が難しい
    • スコープも広くて難しい
  • 攻撃ベクトルはわかっているが限られたリソースでどれを優先してアクションを取るのかわからない
  • 1ヶ月や半年時間をかけないと抑制できないのか
  • リスク数値化モデルを使うとプライオリティ付けができる
  • AD向けのリスク数値化モデル
    • AD向けなので通常のものとは別
    • リスクは確率とインパクト
    • Attack Vector
    • Threat Source
      • 誰が攻撃できるか
    • Likelihood
      • 可能性
    • Impact
      • 影響
      • 1つの攻撃ベクトルでも異なることが生じる場合がある
  • Likelihood
    • 素因
      • 環境的な要素
      • セキュリティポスチャも違う
      • 環境要因を反映させる
    • スレットの開始
      • ドメインアカウントのカバレッジ率
    • 発生率
      • イニシエーションがすべて通るわけではない
      • 80%成功すればHigh
    • 環境要因
      • 設定もポリシーも違う
      • ドメインに特定の設定があるか
      • 暗号アルゴリズムで強力なものを使っているかなど
  • Likelihood Matrix
    • マトリクスを使う
  • Impact
    • どのように定義するか
    • Adminの権限ならインパクトは高い
    • リスクマトリクスで計算する
  • 事例
    • Kerberoasting
    • ドメイン全体で悪用される可能性があるか
    • サービスチケットを使って攻撃することができる
    • ドメイン全体のリスクアセスメントを行う必要がある
    • すべてのドメインユーザーが開始できる
    • T.I.が100%のため5(VH)となる
    • 発生率はクラッキングできるか
    • パスワードをハッシュからクラッキングできるか
    • パスワードはデフォルト7文字、42日の保持
    • ここから中程度のリスクとなる
    • 素因はどうか
      • パスワード変更やDESが無効なのか
      • これを計算していく
      • Domain Administratorへの攻撃ならリスクは大きい
      • Impactが5(VH)となるのでリスクは20(H)
    • RC4を無効化することでスコアを下げられる
  • ACLの悪用
    • 設計ミスにより起きる
    • 権限を乱用して水平展開できる
    • ユーザーのドメイングループが関係してくる
  • どの攻撃経路を緩和すべきか
    • 攻撃パスが高いもの
    • どのように攻撃の経路を数値化して比較するか
  • メソッド
    • それぞれの攻撃ベクターのアカウントを持っている数を確認
    • 攻撃者の可能性を計算する
    • ユニークなアカウントで重複をなくす
    • 脅威の可能性の値を定義
    • 高いインパクトを与えるベクターを計算
    • Attack Pathのマトリクス
    • 攻撃者がドメインに到達するとそれを悪用する
  • Quantification
    • ローカルアドミンからログオンセッションのダンプ
    • なりすましができるとACLを悪用して別のユーザーになりすましできる
    • このユーザーがDCSyncの権限を持っていると更に悪用される
    • どうやってこれを計算するか
    • まずローカルアドミンを計算
    • ログオンセッションでダンプできる確率を計算
    • ACLの権限を持っているドメインユーザーをカウントする
  • もう一つの事例
    • 各ベクターを攻撃経路に応じて評価
    • どれだけのログオンのセッションがあるのか
    • どれだけのユーザーがいるのか
    • などを見ていく
    • ログオンセッションをダンプすることができるのでリスクはLow
    • ACLはカバー率は75%でリスクは20
    • DCSyncは33%でリスクは15
    • まとめるとACLが一番高いのでここから対応していく
  • まとめ
    • 攻撃経路を無効にする
      • 高いベクターのものをなくす
      • SPN設定など
    • 可能性を低くする
      • ACLなどは可能性を低くする
      • ネストされているグループは注意深くやる必要がある
    • 検知メカニズムを執行する
      • 緩和できなければ検知を強化する

感想

ADは非常にコアな機能のため、こういったアプローチを活用して改善をしていきたいですね。