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

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

Threat Huntingとは何か?(2019年度版)

(変更履歴)過去のThreat Huntingに関する記事をいろいろ改善しながら執筆していたのですが、諸般の事情で執筆を中断したので、ブログに投稿しました。

Threat Huntingとは、セキュリティベンダーがシグニチャを提供するまでのゼロデイ期間において攻撃が行われていないか、プロアクティブに調査する一連のプロセスのことです。

Threat Huntingの定義

そもそも、Threat Huntingとは何でしょうか?ここでは、複数のホワイトペーパーからその定義を確認してみましょう。

Sqrrl社の定義

Sqrrl社は、Threat Huntingの分析技術の中でもUEBA(User Entity Behavior Analytics)という技術サービスを専門する企業として知られており、Threat Huntingに関するホワイトペーパーを積極的に発表していることでも有名な企業でした。

ちなみに、Sqrrl社がだしたホワイトペーパー3部作は今もサイトで公開されており、一読の価値はあるのでダウンロードしておいた方が良いかもしれません。

sqrrl.com

2018年1月には、Amazonのクラウド部門に買収され、AWS(Amazon Web Services)に取り込まれる用です。このことから、ますますAWSのセキュリティ機能も強化されるでしょう。

Sqrrl社のホワイトペーパー``A Framework for Cyber Threat Hunting''によれば、以下のように定義されています。

We define hunting as the process of proactively and iteratively searching through networks to detect and isolate advanced threats that evade existing security solutions. 

(筆者簡易訳)\

既存のセキュリティ対策を回避する高度な脅威を検知・隔離するために、能動的かつ再帰的にネットワーク内を探索するプロセス

SANSの定義

他のセキュリティ組織の定義についても確認してみましょう。SANSは、有名な米国のセキュリティ研究教育期間であり、Threat Huntingについてもホワイトペーパーを出しています。ここでは、ホワイトペーパー``The Who, What, Where, When, Why and How of Effective Threat Hunting''の定義を確認してみましょう。

Threat hunters focus their search on adversaries who have those three characteristics and who are already within the networks and systems of the threat hunters’ organization, where they have authority to collect data and deploy countermeasures.

(筆者簡易訳)

Threat Hunterとは、データを収集し、対策を展開できる権限を持つ環境において、脅威の三つの特徴(敵対的意図・能力・機会)を持ち、既に自組織のシステム・ネットワークに侵入している攻撃者の検索に焦点を当てる。

Carbon Black社

Carbon Black社は、EDR(Endpoint Detection \& Response)製品で有名な企業です。端末(Endpoint)は、Threat Huntingでも重要な情報ソースとなり、以下のように定義しています。(参考文献:What is Threat Hunting? | Carbon Black

Threat hunting is, quite simply, the pursuit of abnormal activity on servers and endpoints that may be signs of compromise, intrusion, or exfiltration of data.

(筆者簡易訳)

Threat Huntingとは、サーバとエンドポイントにおいて、不正アクセス、侵入、データ漏洩等の兆候を示す不審な挙動の追跡を意味する。 

補足事項

このブログでは、「既存のセキュリティ対策を回避する高度な脅威を検知・隔離するために、能動的かつ再帰的にネットワーク内を探索するプロセス」というSqrrl社の定義をもとに議論を進めていきますが、Threat Huntingで重要について少し追加しましょう。
第一に、Threat Huntingは能動的なプロセスであり、既存のセキュリティ機器から通知されるアラートを待つのでは無く、Security Analystが攻撃者に侵入された痕跡がないかを能動的に探索する試みだということです。

第二に、上記の性質からSecurity Analystが主体的に行うプロセスだという点です。当然、各種セキュリティ機器からの通知や機械学習などによるツールによる支援を活用はしますが、あくまでも人による分析がメインという点が重要となります。

なぜThreat Huntingが重要か?

Threat Huntingが重要な理由は、昨今の攻撃手法は高度化してきており、既存の製品を導入していたとしても、攻撃を完全に防ぐことは困難な状況となっています。そのため、セキュリティ機器から通知されるアラートを待っているだけでは、攻撃者に既に社内に侵入されているにも関わらずその事実にすら気付かないという事態が発生してしまいます。

実際に少し前の記事ですが、FireEye 社の年次セキュリティレポート「M-Trends 2017」によると調査対象の組織がセキュリティ侵害を検知するまでグローバルで99 日、アジア太平洋地域に限定すると172 日間もの日数( 中央値) を要しています。これだけの長期間にわたり侵害に気付いていない状況であり、また、半数の組織は外部からの指摘で侵害が発覚したとされています。

Threat Hunting は、積極的に自社組織で侵害を検知することで、侵害から検知までの期間をできる限り短縮するために行われます。このような背景から、昨今、各セキュリティベンダがThreat Hunting という用語を使い出しているのです。

このブログでは、以前脅威に気付く検知レイヤーモデルとして紹介していますが、こうした活動を検知するためにはThreat Huntingは重要になると思います。
www.scientia-security.org

プロセス・モデル

Threat Huntingを行うプロセスについては、プロセス・モデルという形で概念化されています。ここでは、Sqrrl社の代表的なモデル``The Hunting Loop''を紹介します。このほかにも、Carbon Black社が提唱する『The Carbon Black Hunt Chain』モデルやCyberReason社『8 Steps To Start Threat Hunting』モデルなどがありますので、興味がある方は原文に当たってみてください。

www.carbonblack.com

www.cybereason.com

Sqrrl社によれば、Hunting Looとは、以下の通り4種類のフェーズにより構成されています。(図は、Sqrrl社のレポートから引用)

f:id:security_consultant:20170115130234p:plain

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

Threat Huntingを行う上で一番最初にやるべき重要なフェーズとして、仮説の構築(Hypothesis Generation)が挙げられます。いきなり、「脅威を探し出す」といっても何を調べていいかわからないため、どんな脅威があるか仮説(Hypothesis)を構築し、その仮説を検証する形で脅威を探し出す流れとなります。仮説を構築することでTrailhead(調査の起点)を設定することができるようになります。

Threat Huntingの仮説を構築する際には、大きく2要素が重要となります。

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

まず第一要素である「観察」とは様々なことが含まれます。過去の経験や知識、あるいは脅威インテリジェンスで得られた知見や共有された情報、「なにか不審に見える挙動」など様々なものが該当し、これらに基づいて仮説を構築します。

また、第二要素で述べられている通り、これらは自分の環境において適切なログが取られており、検証可能でなければなりません。

SANSのホワイトペーパーによれば、仮説の構築方法は大きく3種類あると指摘しています。

Intelligence-Driven Hypotheses

Intelligence-Driven Hypothesesとは、サイバー脅威インテリジェンスチームの情報、すなわちマルウェア分析や脆弱性スキャンの結果、既知のIOCやTTP(Tactics, Technique, Procedure)などを元に仮説を構築する手法です。

インテリジェンスを活用した場合、以下のような仮説が一般的には構築されるはずです。

  • 某攻撃キャンペーンは、X国のインフラストラクチャよりフィッシングメールを送付している。そのため、もし自分の組織が攻撃されているのであれば、メールのログを分析し、送信元IPアドレスとしてX国のログがあるか分析してみる必要がある。
  • ある攻撃グループが利用するマルウェアは、1AM ~ 3AMの時間帯にY国所属のIPアドレスに対して」HTTPで疎通確認を行う傾向が存在する。そのため、もし自分の組織が攻撃されているのであれば、当該時間帯にY国のIPアドレスに対してHTTP通信が発生しているか、プロキシのログを分析する必要がある。

Intelligence-Driven Hypothesesでは、注意すべきことが2点あります。

第一に、「Pyramids of Painの下位にあるIOCsへの過剰な依存を避け、上位概念であるTTPsに焦点を当てる」という点です。マルウェアのハッシュ値やC2通信のIPアドレスなどのIOCsは膨大に存在し、その質も情報源や状況によりバラバラであるため、全部を検証するとほとんど合致せず、膨大な負荷に追われることになります。そのため、IOCsはあくまで素早く成果を出すために活用し、Pyramid of Painの一番上記概念であるTTPsに焦点を当てて分析を行うことに焦点を当てる必要があります。

第二に、このプロセスは動的なプロセスであるという点です。言い換えれば、調査過程で新しい仮説が出てきたり、複数の仮説が構築できる場合もあるという点です。一方、Threat Huntingやツールでは検知できない脅威を見つけるプロセスであるため、いくらでも時間は費やすことができます。そのため、時間に制約がある前提のもと、新しい仮説や複数の仮説が出てきた倍には、もともとの仮説をきちんと完了させることに焦点を当てる一方、新しい仮説はきちんと記録しておき将来のThreat Huntingのために活用することが重要となります。

Situational-Awareness

Situational-Awarenessとは、環境のベースラインをよく把握している環境において、その環境において発生した変化に気付き、仮説を構築する方法です。

ここで重要なことは、「当該環境のベースラインをよく知っていること」です。このとき、攻撃者は価値のある資産、もしくは一番リスクが高い場所から狙いを定めてくることが前提となることから、Crown Jewel analysisやリスク・アセスメントなどを事前にしておくことで集めるべき情報が明確になり、仮説が立てやすくなります。

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

Domain Expertise

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

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

調査フェーズとは、仮説を検証するためのツール・テクニックを利用して調査を行うフェーズです。テクニック自体は既存のインシデント・レスポンス技術、IOCを使った調査など様々あります。

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

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

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

共有フェーズとは、発見したTTP・パターンをIOCとして定義し、各種分析ツール・チームに共有するフェーズです。重要なことは、なるべく手動で同じ調査をすることを減らし、自動化することが重要となります。そのため、IOC化して以降自動検知できるようにする必要があります。

まとめ

 脅威ハンティングは、攻撃者の痕跡を能動的に見つけようという試みですが、常に新しい手法で攻撃者を見つけようとする探偵のような研究のような試みで知的好奇心をくすぐられますので、成熟した組織の方々はぜひご検討ください。(前に米国滞在中にまねごとみたいなことをやりましたが、非常に面白いです。ただ誤検知が多かったですが)