Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
UnifiedThreatHunting — セキュリティチーム向けに、トリガー、SMART仮説、実現可能性ゲート、スコープ設定、ハント計画、結果報告を網羅する、構造化された反復可能な脅威ハンティング手法を文書化します。 | Kitploit
ツール/GitHubGitHub/sims718718/unifiedthreathunting
防御ツールフォレンジック脅威インテリジェンス論文と研究学習と教育レッドチーミングインシデントレスポンス厳選リソースログ分析
GitHubsims718718/unifiedthreathunting

UnifiedThreatHunting

セキュリティチーム向けに、トリガー、SMART仮説、実現可能性ゲート、スコープ設定、ハント計画、結果報告を網羅する、構造化された反復可能な脅威ハンティング手法を文書化します。

10811161日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る

統合脅威ハンティングプロセス

リード脅威ハンターとして、私は脅威ハンティングプログラムをゼロから構築する任務を負いました。これには、脅威ハンティングとは実際何なのか、そしてそれを有意義な成果へとどう変換するかについて、多くの考察が伴いました。脅威ハンティング、検知エンジニアリング、サイバー脅威インテリジェンス(CTI)、フォレンジックに関するさまざまな方法論を読み、さらには米国空軍での経験まで、多くの時間を費やしました。しかし、プログラムを構築する中で、私は一つのプロセス、すなわち統合脅威ハンティングプロセスが必要だと気づきました。私はこのプロセスを、ハンティングを構造化され明確に定義された方法で行い、最終的に組織にとって有意義な成果を提供するために開発しました。


graph LR
    Z[Step 0: Environment Context] --> A[Triggering Event]
    A --> B[Hypothesis Development]
    B --> C[Initial Assessment]
    C --> D[Feasibility Assessment]
    D --> E[Define Scope & Objectives]
    E --> F[Formalize Hunt Plan]
    F --> G[Execute Hunt]
    G --> H[Document Outcomes]
    H --> I[Report & Iterate]
    I --> A

本プロセスが借用しているもの、そして追加しているもの

脅威ハンティングとは、防御コントロールを回避した脅威を能動的に探し出すことです。その定義はすでに固まっていますが、それをプログラムとしてどう運用するかは固まっていません。このプロセスは統合であり、以下の表はそれを正直に整理したものです:

出典ここへの貢献
Sqrrl / Hunting Maturity Model (Bianco)Maturity & Metrics で使用されている中核ループと成熟度ラダー
TaHiTI真の出発点としてのトリガー、およびクローズ時の隣接プロセスへの引き継ぎ
PEAKハントの類型化(仮説 / ベースライン / モデル支援)と、成果に焦点を当てた「知識をもって行動する」クローズ
AIMOD2**侵害前提(assumed breach)**の前提と、類型化された成果カテゴリ
OTHFハントを反復可能なチーム機能として運用するための運用フレーミング
本プロセスが追加ステップ0 環境コンテキスト · 厳格な実現可能性 GO / NO-GO / CONDITIONAL ゲート · 型付き成果を伴うJira Epic/Story/Task · ルーブリックでゲートされた仮説と、規定された検知ハンドオフ

差別化要素は最後の行です。それ以外はすべて他者の成果の上に立っており、References に引用しています。

ハントの種類

ハント運用の実施方法としては、構造化、非構造化、TTPフォーカス、インテリジェンスフォーカス、データ駆動など、さまざまな手法が記述されています。このUnified Threat Hunting Processは構造化されているように見えるかもしれませんが、だからといって仮説を非構造化な方法でデータから導き出せないわけではありません。本プロセスは、さまざまな種類の脅威ハンティングを取り込み、モジュール式のアプローチを可能にすることを目的としています。仮説を徹底的に検証するために、これらすべての手法を用いることになります。

目標は、万能の解が存在しない、モジュール式の脅威ハンティングアプローチです。利用可能なすべての手法を使いましょう。

実際には、選択するハントの種類は、DAIKIチェーン(Data → Information → Knowledge → Insight)のどこから始めるかによって決まります:

ハントの種類出発点特徴
Exploratory (EDA)生データベースライン化、データ形状の理解、事前仮説なし
Hypothesis-Based (HBO)状況認識チームの知識に基づく信頼性の高い攻撃シナリオの検証
Threat-Informed (TIO)実用的なCTIインテリジェンス駆動、既知のアクターまたはTTPに焦点
Purple Operations (DPO)レッドチームの知見攻撃側/防御側の共同検証

データサイエンスの原則に従い、ハントの種類にかかわらず、ハントに関連するデータソースを探索し理解することを目指すべきです。このリポジトリの /Data_Analysis フォルダには、その探索フェーズを支援する手法とノートブックが含まれています。

さらに、脅威インテリジェンスは、それが出発点であるかどうかにかかわらず、運用を推進するためにプロセス全体に織り込まれています。Threat Intelligence

注: 通常は行動やTTPに焦点を当てたいところですが、IoCも、真に実用的でタイムリーであれば価値があります。環境全体でIoCをハンティングすることは厳密には脅威ハンティングではありませんが、それでも有用な情報と別の出発点を提供できます。それらはハントサイクルの一部にはなり得ますが、ハントそのもの全体にはなりません。


ステップ0: 環境コンテキスト

ハントを開始する前に、環境を記録しておくことで、下流のあらゆる成果物(クエリ、フィールド名、スコープ決定)が、一般的に書かれたものではなく、実際に自分が働く環境に合わせて調整されます。私がこれを明示的なステップとして追加したのは、誰も持っていないデータソースを参照するハント計画や、まったく間違った方言で書かれたクエリを何度も見てきたからです。ここで数分費やすことで、後で何時間も節約できます。

最低限、以下を文書化します:

コンテキストなぜ重要か
SIEM / データプラットフォームSplunk SPL、KQL、Elastic DSL、Chronicleはそれぞれ、書くすべてのクエリの形を決める
EDRプラットフォームCrowdStrike、SentinelOne、Defender for Endpointはそれぞれ異なるテレメトリフィールド名を使用する
環境タイプオンプレミス、クラウドネイティブ(AWS/Azure/GCP)、またはハイブリッドかで、そもそも存在するログが変わる
業種どの脅威アクターが現実的に関連するかを左右する
ログ保持期間どの時間範囲が実際にクエリ可能かを決める
ハント成熟度レベル初めてのハンターには足場が必要であり、経験豊富なチームは骨組みを求める

これをEpicの冒頭に Environment Profile ブロックとして文書化します。急いでいる場合、絶対的な最低限は SIEMプラットフォーム と 環境タイプ です。それ以下ではクエリが一般的なものになってしまいます。

複数の組織にまたがってハンティングしますか?(MSSP/MDR、連合子会社、または共有SIEMプラットフォーム。)テナントごとに1つのプロファイルを tenants/<id>/profile.yaml レジストリに保持し、各Epicはプロファイルを埋め込む代わりに tenant: <id> を参照するようにします。実現可能性の前に、認可を確認してください: RoE/契約の適用範囲がないテナント、またはその allowed_actions の範囲外の計画されたアクションは NOT AUTHORIZED であり、そこで停止します。単一組織のチームはこれを省略できます。Multi-Tenant Operation を参照してください。


トリガー

TaHiTIフレームワークから借用すると、脅威ハンティングはトリガーとなるイベントから始まります。これらのイベントがハントの開始を正当化します。TaHiTIによれば、トリガーには以下が含まれます:

  • CTI(サイバー脅威インテリジェンス)
  • 不完全なユースケース
  • 過去のインシデント
  • レッドチーミング
  • MITRE TTP
  • など

私たちの組織では、これらに加えて、ステークホルダーからの直接的な要件や環境に影響を与える脆弱性の開示など、いくつかの追加トリガーを使用しています。

一部のフレームワークは、最初の仮説(ここではステップ2)から脅威ハントを始めますが、私は問いかけます: そもそもどうやってその仮説に至るのでしょうか?

最初の仮説につながるトリガーとなるイベントが存在するはずです。ちょうどアイザック・ニュートンが、どのような力がそれを引き下ろすのかと疑問に思う前にリンゴが落ちるのを見たように、そのリンゴは重力に関する仮説につながるトリガーとなるイベントでした。 同様に、仮説に至る前にトリガーがあるべきです。

image

ハンティングトリガー (出典: Targeted Hunting Integrating Threat Intelligence (TaHiTI))


仮説の構築

次に、そしておそらく最も重要なステップが、ハント仮説の構築です。このステップは重要である一方で、最も曖昧でもあります。あなたの仮説は、金鉱に導くこともあれば、終わりのないウサギの穴に落とし込むこともあります。

データサイエンスの原則から言えば、仮説とは分析を導くための検証可能な命題を作成することです。それだけでなく、仮説をSMARTにすることを目指すべきです:

  • Specific(具体的): 明確で曖昧さがなく、誤解の余地がない。一度にすべてのTTPをハンティングしようとしないこと。
  • Measurable(測定可能): 進捗を追跡するための定量化可能な基準が必要。(これには後でJiraを使用します。)
  • Achievable(達成可能): 現実的で、チームの能力の範囲内であること。単に持っていないテレメトリを目指さないこと。
  • Relevant(関連性): 組織の目標と整合しているべき。ミッションにとって意味のあるものにすること。
  • Time-bound(期限付き): 期限を設定すること。終わりのないハントはなし。

SMART仮説の例

有用なテンプレート:

[脅威アクター / 手法 / 行動] が、[データソース] における [観測可能な指標] によって証拠づけられる形で、私たちの環境に存在する可能性があると仮説を立てる。これは [時間枠] 内に [検証方法] によって検証できる。

例1(CTI駆動、TIO):

Kerberos事前認証が無効化されたアカウントに対するAS-REP Roasting(T1558.004)を使用する攻撃者が、私たちの環境に存在する可能性があると仮説を立てる。これは、Splunk Windows Securityログにおいて、ドメインコントローラー以外のソースからの事前認証タイプ0を伴うイベントID 4768によって証拠づけられる。これは、過去30日分の認証イベントをクエリし、サービスアカウントインベントリと照合することによって、スプリント終了までに検証できる。

例2(行動駆動、HBO):

特権アカウントによる業務時間外の異常な対話型ログオンが、資格情報の悪用を示している可能性があると仮説を立てる。これは、Domain Adminsグループのアカウントに対するCrowdStrikeテレメトリにおけるイベントID 4624(タイプ2または10)および4672によって証拠づけられる。これは、60日分のログオン履歴をベースライン化し、2標準偏差を超える逸脱をフラグ付けすることによって、2週間以内に検証できる。

仮説を構築する際には、実際には多数の競合する仮説を展開することになるかもしれません。これについて読む価値のある本は、CIAのCenter for the Study of Intelligenceが出版した、Richards J. Heuer著の Psychology of Intelligence Analysis です。Heuerは競合仮説(Competing Hypotheses)について述べており、これはハント活動に有益です。

このプロセスは、複数の仮説を定義し、その中で最も妥当なものを決定することを含み、仮説構築フェーズに厳密さをもたらし、ハントの基盤を定義するのに役立ちます。7ステップのプロセスは以下の通りです:

  1. すべての仮説を列挙する
  2. 各仮説を支持する証拠を探す
  3. 証拠を仮説と比較する。Heuerはこれを行うためにマトリクスを構築する
  4. マトリクスを通じて診断的価値の乏しい証拠を除去する
  5. 尤度によって仮説を優先順位付けする
  6. どの結論が証拠不足に依存しているかを特定し、その証拠が誤っている可能性を検討する
  7. 仮説の比較を文書化する

次の2つのフェーズは、仮説に基づいてハントを実行すべきか否かを定義するために、このプロセスに依拠しています。

さらに、AIMOD2フレームワークの重要な概念は、**侵害前提(assumed breach)**という根底にある仮説です。私たちは、敵対者がすでに私たちのコントロールを回避しているという前提の下で、未知のものを特定することに焦点を当てています。


初期評価

初期評価フェーズでは、仮説を支持するデータを収集し調査します。これには内部ソースと外部ソースの両方が含まれます。

  • 過去のハントと教訓をレビューした
  • 内部ドキュメント: ネットワーク/アプリケーション図、コードリポジトリ、資産インベントリ
  • 内部脅威インテリジェンスと既存の検知カバレッジを確認した
  • 外部: OSINT、ベンダーレポート、ATT&CK手法ドキュメント、関連するSigmaルール
  • 必要に応じて、信頼できる外部組織にRFIを発行した
  • ビジネス/技術オーナーを特定した。環境に不慣れな場合はSMEにインタビューした
  • 既知の正常な動作を文書化した(これが除外リストになる)

ここでのサブステップは、ビジネスまたは技術オーナーを特定し、必要に応じてインタビューすることです。ハントによっては、より深い理解のためにSMEを関与させる必要があるかもしれません。これは常に必要なわけではなく、経験や過去のハントからシステム、ログ、アプリケーションをすでに知っている場合もあります。

目標は、システムの専門家になることではなく、環境について十分な理解を深めることです。


実現可能性評価

ハント活動を計画する前に、実現可能性を評価する必要があります。これには以下が含まれます:

  • 制約と限界
  • データの可用性
  • データ品質
  • チームのスキルセット
  • タイムライン
  • ツールの可用性

本質的に、私たちは問いかけます: 「手間をかける価値はあるか?」

テレメトリが利用できない場合は、問いかけます: 利用可能にできるか? そのためにどのような労力が必要か?

各実現可能性評価は、明確な決定を生み出すべきです:

決定意味
✅ GOすべての基準を満たしている、計画に進む
❌ NO-GO重大な阻害要因が存在する、是正計画とともにバックログに入れる
⚠️ CONDITIONAL軽微なギャップがある、前提を文書化して注意事項付きで進める

実現可能性の実施例

上記のAS-REP Roasting仮説を用いて:

ツールをダウンロード