セキュリティコンサルタントの日誌から

セキュリティに関するエッセイなど

Threat Huntingとは何か?(その5)

以前の記事では、 Sqrrl社のThreat Hunting Reference Model(Threat Hunting参照モデル)という考え方から、The Hunting Loopという考え方を紹介しました。

www.scientia-security.org

今回は、その中からThe Hunting Maturity Model(HMM)とThe Hunt Matrixいう考え方を取り上げてみたいと思います。

キーワード6:The Hunting Maturity Model

The Hunting Maturity Model(ハンティング成熟度モデル)とは、その名の通り組織がよいハンティングをできるかどうか判断するための成熟度を示したモデルです。Sqrrl社の定義では5段階(HM0~HM4)までの指標を定義しています。(図はSqrrl社のレポートから引用)

Sqrrl社はこのモデルを自社のHunting Teamを構築する、あるいは改善する際のロードマップとして利用することを推奨しています。

f:id:security_consultant:20170117070320p:plain

いかに各成熟度に関して、説明してみたいと思います。

HM0:Initial

HM0とは、本質的に、IT環境における悪意のあるアクティビティを検知するため、IDS・SIEM・アンチウイルス製品などの自動アラートツールに依存している状態と定義されています。

組織によっては、シグネチャの更新、脅威情報の指標などの独自のフィードを組み込んだり、独自シグネチャや指標を作成している可能性もありますが、基本的にはフィードは直接監視システムに渡しており、アナリスト(人間)はアラートの内容の解決に集中している状態です。

HM0に分類される組織は、ITシステムから多くの情報を収集することもできないため、脅威を事前に検出する能力は低く、Proactiveに行われるべきThreat Huntingは難しいと考えられます。

HM1:Minimal

HM1の組織は、インシデント対応プロセスを推進するための自動アラートに頼ってますが、ITデータの定期的収集を行っている点でHM0の組織と異なります。これらの組織は、Threat Intelligenceによる検知を目指しています。多くの場合、オープンソースとクローズドな情報源の組み合わせから最新の脅威を把握しています。

HM1の組織は、IT環境から少なくとも数種類のデータをSIEM・ログ管理製品などの統合管理する仕組みに集約しています。そのため、新たな脅威が注目されると、アナリストはこれらのレポートから主要となる指標を抽出し、過去のデータを検索して、少なくとも最近の過去に同様の事象が発生してるか調べることができます。 この検索機能を備えているため、HM1はThreat Huntingができる最低限の基準を満たしていると考えられます。

HM2:Procedural

HM2の組織は、他の人が開発したThreat Huntingの手順を学び、定期的に実施できるレベルと定義されます。ここでいう「手順」とは、悪意のある特定の事象を発見するため、特定のデータと特定の分析手法を組みあわせた基本的なものを意味します。(例えば、ホスト上で自動的に実行されるプログラムの一覧を収集して、マルウェアを検知するなど)

多少の変更は可能ですが、自分たち自身でプロセスを開発できるレベルには達していないレベルです。これが、Threat Hunting Programを組織内に持つ平均的なレベルだと考えられます。

HM3:Innovative

HM3の組織は、さまざまな種類のデータ分析手法を理解し、悪意のある活動を識別するためにデータ分析を活用できるハンターが少なくても小数いる組織です。他の組織によって作成された手順に依存する代わりに、これらの組織は自社独自の手順を作成し、場合によっては公開しています。 分析スキルに関する成熟度は問いませんが、これらの技術を適用して繰り返し実施可能な手順を持っていることです(そして、それらの手順は文書化されており、繰り返し実施されていることも含まれます)

データ収集レベルは、HM2以上であることがこのレベルに達する条件です。

HM3の組織は、効率的に脅威を発見・対応する技術を持っていますが、独自のプロセスが高度化するにつれて、必要な時間内にプロセスを終了できない拡張性(スケーラビリティ)の問題に直面します。

HM4:Leading

HM4の組織は、本質的にHM3の組織と同じですが、1つ「自動化に成功している」という点で大きく違いがあります。HM4の組織では、全てのハンティング・プロセスが運用手順化されており、自動化されています。そのため、アナリストは新しいプロセスやプロセスの改善に時間を割くことができます。

HM0とHM4の違いとは?

ここまで読んでくると、HM0とHM4の違いに悩みます。どちらも自動化されたオペレーションが推奨されており、下手すると同じに見えます。いったい何が違うのでしょうか?

Sqrrl社は以下のように説明しています。

HM0の組織は、基本的にツールによる検知内容に完全に依存しており、仮に脅威を見つけたとしても本質的にプロセスを変更・改善できないチームのことを意味します。薗一方、HM4のプロセスは、あくまで自動化は負荷を減らすための手段として捕らえており、常に新しい脅威に対してプロセスを変更したり、新しい手法を試すことができる組織だと述べています。

キーワード7:The Hunt Matrix

The Hunt Matrixとは、The Hunting Maturity Model(HMM)とThe Hunting Loopの考え方を合成した考えかたです。

但し、個人的には、HMMの定義は定性的で曖昧であり、各Hunting Loopで何ができているべきかを示したこのHunt MatrixをHunting Maturityを図るための指標として考えたほうがわかりやすいと思います。

f:id:security_consultant:20170117081749p:plain

  • HM0:Initial
    • Ph.0 データ収集:データ収集なし、もしくは少々
    • Ph.1 仮説作成:既存の自動アラート(IDS・SIEM・FW)に対する対応
    • Ph.2 仮説検証:プロアクティブな調査はせず、アラート・SIEMの検証のみ
    • Ph.3 TPP発見:なし(IDS・SIMEなどに依存)
    • Ph.4 分析の自動化:なし
  • HM1:Minimal
    • Ph.0 データ収集:IT環境から一部の重要なデータを収集
    • Ph.1 仮説作成:新しい仮説構築のため、Threat Intelligenceを参照
    • Ph.2 仮説検証:SIEMやログ分析ツールを活用し、基本的な検索が実施可能
    • Ph.3 TPP発見痛みのピラミッドの下部レベルのIOCを作成可能
    • Ph.4 分析の自動化Threat Intelligenceのデータを自動アラートに組み込むことが可能
  • HM2:Procedural
    • Ph.0 データ収集:IT環境から多数の重要なデータを収集
    • Ph.1 仮説作成:新しい仮説構築のため、Threat Intelligenceを参照し、Intelligenceの内容を深く理解していること
    • Ph.2 仮説検証:既存の分析手順に従い、データ分析・統計分析ができること
    • Ph.3 TPP発見痛みのピラミッドの下部~中部レベルのIOCを作成可能で、現在の傾向にあわせて利用できること
    • Ph.4 分析の自動化:効率的なThreat Intelligence用のライブラリを作成して、定期的に実行できること
  • HM3:Innovative
    • Ph.0 データ収集:IT環境から多数の重要なデータを収集
    • Ph.1 仮説作成:新しい仮説構築のため、Threat Intelligenceを参照し、Intelligenceの内容を深く理解し、かつCrown Jewel分析などの手動によるリスク分析ができていること
    • Ph.2 仮説検証:グラフ分析や可視化を使った分析ができること。新しい手順が構築できること。
    • Ph.3 TPP発見:攻撃者のTTPを発見でき、痛みのピラミッドの上部レベルのIOCを作成可能であること
    • Ph.4 分析の自動化:効率的なThreat Intelligence用のライブラリを作成して、定期的に実行できる基盤を持っていること。また、基本的なデータ分析技術を採用していること。
  • HM4:Leading
    • Ph.0 データ収集:IT環境から多数の重要なデータを収集
    • Ph.1 仮説作成:新しい仮説構築のため、Threat Intelligenceを参照し、Intelligenceの内容を深く理解し、かつCrown Jewel分析などの手動によるリスク分析ができていること
    • Ph.2 仮説検証:高度なグラフ分析や可視化を使った分析ができること。新しい手順を公開して、自動化できること。
    • Ph.3 TPP発見:自動的に攻撃者の複雑なTTPを発見でき、攻撃キャンペーンを追跡できること。ISACなどにIOC情報を定期的に提供していること
    • Ph.4 分析の自動化:ハンティング・プロセスを自動化して、継続的に改善できること。また、高度なデータ分析技術を採用していること。

まとめ

The Hunting Maturity Model(ハンティング成熟度モデル)とHunt Matrixは成熟度や目指すべきゴールを知る上で非常に重要なツールです。ぜひ皆様の組織でも自社内の成熟度を評価してみることをお勧めします。

 

Cyber Attributionに対抗するCyber Disinformation技術

先日参加したShmooConで、Threat Intelligenceの面白い講演があったので共有します。

www.scientia-security.org

Leveraging Threat Intel Disinformation Campaigns

Synack社のCTOであるMark Kuhr氏はNSAの勤務経験もあり、Threat Intelligenceの専門家です。その中で彼はCyber Attributionに関する難しさについて議論していました。

そもそもAttributionとは?

攻撃者も人であるため、アイデンティティ・動機・犯罪の手口(modus operandi)があり、それを特定することがCyber Attributionという技術になります。この技術を応用することで、攻撃者の動向・攻撃の背景・次の攻撃などをつかむことがThreat Intelligence分野には重要な要素になります。特にNation-State Sponsored Hackerが攻撃をしてくるであろう金融・インフラ・軍事産業などでは非常に重要な技術となります。

Anti-Attributionとは?

しかし、情報戦のでは別の誰かが攻撃したように思わせる技術、Anti-Attribution Techniqueも多数存在すると述べています。攻殻機動隊のアニメでよく出てくる台詞「あるいは、我々にそう思わせたい第三者の意図が介在している」ってケースです。

具体的な技術として以下を挙げています。

  • 複数の地理的拠点を経由して攻撃する
  • 異なるインフラストラクチャから攻撃を行う
  • カウンター・インテリジェンス
  • アンチ・フォレンジック技術
  • 偽情報(Disinformation)

Disinformationとオペレーション・フロー

前の章にでてきたDisinformation技術とは、意図的に広められる虚偽・不正確な情報を意味します。要するに、偽の情報を流すことで異なる攻撃者がやったように思わせる技術です。

Mark氏はDisinformationの技術を中心にAnti-Attributionを実現しながら攻撃を行うオペレーション・フローとして以下を紹介しています。

  1. Target Recon
  2. Select Actor to Mimic
  3. Setup Attaack Infrastructure of Mimic
  4. Taint OSINT
  5. Launch Attack
  6. Leak Data & Frame the Mimic
Target Recon

まず、Target Reconフェーズで攻撃対象者に関する情報、それに伴う政治的・社会的・経済的関係を分析します。また同時に、攻撃の容疑を擦り付ける相手(Mimic)に関する情報も収集します。

Select Actor to Mimic

その後、Attribution分析をしたときに、その対象がMimicにいくように仕向けます。例えば、以下の技術が紹介されていました。

  • C&CサーバをMimicの国のIPアドレスを使う
  • ファイル名・パスワードにMimicを示唆する文字列を入れる
  • バイナリファイル・マルウェアの中に、Mimicを示唆する特定の文字列を入れる。言語IDを入れておく。(例えば、アジア関連諸国をMimicにする場合は漢字コードを入れておくなど)
  • HTranやPoisonIvyを利用する
  • Mimicを推測させるドメインを利用する
  • 他の関連するリソースなど(QQ・163.comなど特定の国でよく使われているサービスを含めてみる)など
Setup Attaack Infrastructure of Mimic

その後、Mimic用の攻撃インフラストラクチャを構築します。スピーカーは中国をMimicとする事例を挙げていましたが、その場合は以下のようなことをするそうです。

  1. BAIGE VPNのアカウントを購入
  2. キーボードをセットして、簡易中国語を含むメタデータをコンピュータに設定する
  3. 前段階で取得したドメインをMimicのActor・場所に紐付ける
  4. 当該国から通信が出入りするよう、C2サーバを当該国のVPSに設置する
  5. 163.comにメールアドレスを登録して、フィッシング攻撃を行えるようにする
Taint OSINT(OSINT情報の汚染)

次の段階として、Cyber AttributionではOSINT技術が使われますが、そこで誤った情報に誘導されるようにインターネット上の情報に汚染された情報を流していきます。そのため、前段階でセットアップした新しいインフラをMimicと紐付けていき、最終的にはOSINT分析者が利用しているThreat Intelligence Feed(VirusTotal・AlianVault・OpenPhish)にも汚染されるような状態までの状態を目指します。(例えば、まずは偽装円ウェアを作成して、VirusTotalにアップロードしてMimicにつながるようになどです。

Launch Attack

準備が終わったら、攻撃を実施します。(例えば、標的型攻撃メールを送るなど)

Leak Data & Frame the Mimic

最後の段階として、Mimicに非難が集中するように仕向けます。

  1. 何も認めず、全てを否定し、逆告発をする
  2. Plausible Deniabilityを利用する
  3. Mimicとなる国を非難するよにシフトする
  4. 望むべき結論がでるよう、「独立性のある」第三者と協力する
  5. 全てのインフラストラクチャを削除する

結論...

最後にMark氏はこのように述べています。

  • Attributionは、抑止力のための基礎であり、正しいAttributionなしに抑止力はなしえない。
  • Disinformationは、Threat Intelligenceにおいて大きな問題を投げかけており、間違ったAttributionをもとに特定の国に攻撃的な態度をとった場合、政治的にも大きな問題になりえる。
  • Attributionの正確さを確かめるためには、物理的に攻撃者のマシンを調べるほかにはなく、それ以外の分析は全て"ベストエフォートによる推測"に過ぎず、「大筋正しい」という結論でしかない。そのため、ソースの正確性については常に気をつける必要がある。

まとめ・所感

まるでスパイ映画を見ているような話で非常に面白い話でした。

Cyber AttributionはThreat Intelligenceとあわせて有名になっている技術ですが、やはりNation-Stateレベルの攻撃を警戒する技術であり、成熟度の高い企業、もしくは国家的にも大きな損害をこうむる組織は身につけるべき技術だと思います。

ただ、Cyber Attributionには実は反対意見もあり、「誰が攻撃してきたところで実際に攻撃を防ぐ技術はかわらない」とCyber Attributionの意義を否定する専門家も存在します。

少なくても今後追いかけていくべき技術であるため、今後も紹介していきたいと思います。

ShmooConに参加してきた!!

2017/01/18 一部記事を追加しました。

ShmooConというカンファレンスにいってきました!!

ShmooConはもともとあまり日本であまり有名なカンファレンスではありませんでしたが、以下の記事を見て比較的評判がよいと知り参加した経緯があります。

www.concise-courses.com

今回受けた中で比較的面白かったThreat Intelligence関連の話について、報告したいと思います。

Leveraging Threat Intel Disinformation Campaigns

一つ目は、Cyber Attributionに対抗するCyber Disinformation技術に関する話です。

スピーカーは、Synack社のCTOであるMark Kuhr氏です。彼は、NSAの勤務経験もあり、Threat Intelligenceの専門家です。その中で彼はCyber Attributionに関する難しさについて議論していました。

以下講演内容メモをまとめましたのでご参照ください。

www.scientia-security.org

Does a BEAR Leak in the Woods?

もうひとつの講演が、ThreatConnect社のResearch DirectorToni Gidwani女史の講演です。ThreatConnectのプラットフォームを使ってDemocratic National Committeeに対するFancy Bear(APT28)・Cozy Bear(APT29)のAttribution分析について話をしていました。

非常に面白い分析なので、Threat Intelligence関連に興味がある人は閲覧をお勧めします。(ただ、一番の驚きなのは対して自分とは年齢が離れていないだろうこの人がこれだけのプレゼンテーションをでき、Research Directorとして活躍していることだという事実...)

www.youtube.com

まとめ

全体を通じて見ると比較的アカデミックなカンファレンスを目指している傾向にあると思われますが、全体を通じて理論的な発表が多かった印象です。そのため、明日からすぐに使える話は比較的少なかったように見受けられ、前評判に影響されていたこともあり、個人的には少し期待はずれでした。

Threat Huntingとは何か?(その4)

前回は、Trailhead & Hypothesisについて取り上げました。

www.scientia-security.org

Sqrrl社はThreat Huntingについては様々なことを提唱していますが、"A Framework of Cyber Threat Hunting"というレポートの中で、Threat Hunting Reference Model(Threat Hunting参照モデル)という考え方を提示しており、この分野で重要となる3種類の考え方を提示しています。

  • The Hunting Maturity Model(HMM)
  • The Hunting Loop
  • The Hunt Matrix

今回は、その中からHunting Loopを取り上げてみたいと思います。

なお、以前にAPD(Advanced Persistent Defense)フレームワーク というものを紹介しましたが、現在のSqrrl社はこちらのHunting Loopのほうをよく紹介しています。

www.scientia-security.org

キーワード5:The Hunting Loop

Hunting Loopとは、以下のようなループです。(図は、Sqrrl社のレポートから引用)

f:id:security_consultant:20170115130234p:plain

1. 仮説構築フェーズ(Hypothesis Generation)

仮説構築フェーズは、前回取り上げたのでそちらを参照してください。

www.scientia-security.org

 2. 調査フェーズ(Tools and Technique Enabled Investigation)

調査フェーズとは、仮説を検証するためのツール・テクニックを利用して調査を行うフェーズです。テクニック自体は既存のインシデント・レスポンス技術、IOCを使った調査など様々ありますが、レポートでは、Link Data Analysisという手法や、分析技術についても言及しています。この手法については、長くなるので別途紹介します。

3. 発見フェーズ(Patterns & TTP Discovery)

発見フェーズとは、攻撃者の行動と攻撃的なTTPsについて発見するフェーズです。このフェーズが終わる時には、Huntingに必要な特徴を把握したことになります。

4. 共有フェーズ(Automated Analytics)

共有フェーズとは、発見したTTP・パターンをIOCとして定義し、各種分析ツール・チームに共有するフェーズです。重要なことは、なるべく手動で同じ調査をすることを減らし、自動化することが重要となります。やり方としては、Apache SparkやRを使って統計的に分析するなど様々なやり方が存在します。

まとめ

今回は、Threat Hunting Loopを解説しました。このステップはThreat Huntingの重要な要素になるため、知っておいて損はないと思います。

Threat Huntingとは何か?(その3)

先日は、APDフレームワークについて取り上げました。

www.scientia-security.org

今回は、Trailheadというキーワードとその背後にある仮説構築について、ホワイトペーパーを読み解きながらまとめていきたいと思います。

キーワード4:Trailhead & Hypothesis

Trailhead(調査の起点)とは、Threat Huntingに関するプロセスを開始するトリガーのことです。Threat Huntingで分析担当者の重要な役割のひとつに、どんな脅威を捕捉したいのか、どのような方法で見つけられるのか、といった課題設定が挙げられます。この課題設定を「仮説」(Hypothesis)と呼んでいます。つまり、Trailheadとは「設定した仮説」のことを意味します。

それでは、仮説が持つべき要素、仮説を構築する方法論とはどのようなものでしょうか?

仮説が持つべき要素

Threat Huntingの文脈における仮説とは以下の2要素を兼ね備えている必要があります。

  1. 観察(Observation)に基づくこと
  2. 検証可能(Testable)であり、検証に必要なデータにアクセスできること

3つの仮説のタイプ

なお、Sqrrl社によれば、仮説の構築方法は大きく3種類あるとしています。

  • Intelligence-Driven Hypotheses
  • Situational-Awareness
  • Domain Expertise
 Intelligence-Driven Hypotheses

Intelligence-Driven Hypothesesとは、Cyber Threat Intelligenceチームの情報、マルウェア分析や脆弱性スキャンの結果、既知のIOC(Indicator of Compromise)やTTP(Tactics, Technique, Procedure)などを元に仮説を構築する手法です。IOCなどをもとに仮説を構築する手法は一般的な仮説構築手法だといえます。

Situational-Awareness

Situational-Awareness Driven Hypothesisとは、環境におきた変化に気付き、仮説を構築する方法で、ベースラインをよく知っていることが条件となります。このとき、攻撃者は価値のある資産、もしくは一番リスクが高い場所から狙いを定めてくることが前提となることから、Crown Jewel analysisやリスク・アセスメントなどを事前にしておくことで集めるべき情報が明確になり、仮説が立てやすくなります。

大きなネットワークではマニュアルで対応することには限界があるため、自動化・リスクアルゴリズムなどAnalytics-Driven Approachを併用するように述べています。具体的には、UEBA・EDR・SIEMなどの各種分析ツール、もしくは機械学習など各種アルゴリズム分析によって抽出された結果をもとに分析を進めていく必要があります。

Domain Expertise

Domain Expertiseとは、過去の経験に基づく仮説です。具体的には、各アナリストは異なる経験を持っているために、文書化による情報共有をして、全員が同じ過去の事例を知っていることが重要だと指摘しています。また、過去の経験に基づく仮説は認知的バイアスにかかっている可能性があるため、その点についても注意する必要があります。なお、分析における認知的バイアスについては、Threat Intelligenceの分野で必ず取り上げられる話題なので、別の機会にまとめたいと思います。

まとめ

仮説構築については、いかがだったでしょうか。Cyber Threat Intelligenceの授業でもこれらのことについて触れられます。次は、この仮説を基にした、Threat Hunting Loopについて解説をしたいと思います。