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

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

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について解説をしたいと思います。

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

先日、Threat Huntingについて、IOCとPyramid of Painについてまとめました。 

www.scientia-security.org

第2回目は、引き続きSqrrl社の記事を元に、別のキーワードを取り上げます。

キーワード3:APDフレームワーク

APD(Advanced Persistent Defense)フレームワークとは、Sqrrl社のセキュリティ・アーキテクトであるDavid Biancoが提唱した標的型攻撃に対する防御フレームワークThe Defense Chainを精緻化したモデルです。

一般に、標的型攻撃への対応フレームワークとして、Cyber Kill Chainというモデルが有名ですが、よりそれをアクティブに対応できるようにしたフレームワークだと述べています。APDフレームワークの最終的なゴールは、Pyramid of Painで提唱されていたように、一番強力なIOCであるTTP(Tactics, Technique, Procedure)を利用して高度な対応をすることにあります。

APDフレームワークは大きく3種類のフェーズ(Intelligence → HuntingResponse)で構成されており、これらを継続的に実施していうことでTPPを効率的に発見し、適用していくことを推奨しています。また、各フェーズごとに実施すべきサイクルが定義されています。(図は、Sqrrl社のブログより引用)

 

f:id:security_consultant:20170114153027p:plain

Intelligence Cycle

Intelligence Cycleとは、方針(Direct)→ 収集(Collect)→ 分析(Analyze)→ 配信(Disseminate)という情報分析のサイクルです。Cyber Threat Intelligenceの講義などでは、以下のようなインテリジェンス・サイクルという分析フローを学びますが、基本的には同じ考えかたです。

インテリジェンス・サイクル - Wikipedia

Hunting Cycle

Hunting Cycleとは、ネットワーク・システム内に隠れている高度な脅威を検出するために、データを積極的かつ反復的に検索することに重点を置いたサイクルです。こちらも、情勢判断(Orient)→ 検索(Query)→ 分析(Analyze)→ 修正(Revise)という4ステップで構築されています。情勢判断フェーズは、Intelligence Cycleによってもたらされたtrailhead(調査の起点)を把握するフェーズです。また、検索・分析フェーズではLinked Data Analysis(リンクデータ分析)という手法が活用されます。この手法については、別途解説します。

Response Cycle

Response Cycleとは、封じ込め(Contain)→ 調査(Investigate)→ 影響緩和(Remediate)という3つのステップで構成されています。各内容はインシデント・レスポンスで一般的な内容かと思いますので省略します。

まとめ

今回は、APD(Advanced Persistent Defense)フレームワークを紹介しましたが、いかがだったでしょうか。APT(Advanced Persistent Threat)に対してどう対応していくべきかわかりやすいグラフになっています。ただ、Sqrrl社はThreat Hunting参照モデルという概念モデルを提唱しており、そこで提唱されているThreat Hunting Loopはもっと簡素化されたモデルとなっています。このモデルについては別の機会に紹介しようと思います。

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

Threat Huntingという概念をご存知でしょうか?

一言で言えば、「高度な標的型攻撃を検知・対応するための方法論」ですが、2015年度ごろから米国のカンファレンス等でよく耳にする単語です。しかしながら、Threath Huntingについて体系的に学べる資料がないため、しばらくの間学んだことをまとめて、Threat Huntingへの理解を深めたいと思います。

第1回目は、UEBA製品で有名なSqrrl社の記事を元に、2種類のキーワードを取り上げます。

キーワード1:IOC

IOC(Indicator of Compromise)とは、以下のようにに定義されます。

マルウェア・ハッキングなどにより侵害を受けたシステムにおいて、その脅威が存在することを示す痕跡

 例を挙げれば、悪性URLへのアクセス、不正なレジストリキーなどがそれに該当します。

無差別に配布されるマルウェアと異なり、標的型攻撃では攻撃対象企業用にカスタマイズされたマルウエアが利用されます。そのため、マルウェア対策ソフトでパッチが提供されることは期待できず、とはいえ自社の攻撃に利用されたマルウェアを外部に渡したくないという事情があります*1

そのため、各社ごとに標的型攻撃マルウェアを分析し、独自のシグニチャを作る必要があり、IOCをシグニチャ化して調査を効率化する、他に同じ攻撃を受けている端末がないか一斉スキャンをするなど、IOCは幅広く使われています。

なお、IOCをシグニチャとして記述する方法として、OpenIOC・STIX・VERIS・YARAなど様々あり、それぞれツールが開発されています。(参考資料

キーワード2:Pyramid of Pain(痛みのピラミッド)

Pyramid of Pain(痛みのピラミッド)とは、Sqrrl社のセキュリティ・アーキテクトであるDavid BiancoがIOCを分類するために提唱した概念です。

いかに、その図を示します。(図は、Bianco氏のブログより引用

f:id:security_consultant:20170113154400p:plain

簡単に言えば、一番下が防御者・攻撃者の痛みは少なく、上に行けば行くほど両者にとっての痛みが増すことを示した図です。

例えば、ハッシュ値をIOCとして収集して各種セキュリティ製品に適用することは簡単である(=防御側の痛みが少ない)といえます。一方、ハッシュ値は簡単に変更できてしまうため、攻撃者にとってもIOCとしてハッシュ値が与えるダメージはほとんどない(=攻撃者側の痛みが少ない)といえます。逆も然りで、TPPは作成・適用ともに難しい反面、きちんと実装できれば攻撃者に対しても大きなダメージを与えるといえます。これを理解したうえで、どのレベルのIOCを作るべきなのか考える上で役に立ちます。

いかに、各レイヤーの中身を簡単に見てみましょう。

ハッシュ値

特定の疑わしいファイルや悪意のあるファイルに対応するSHA1、MD5などのハッシュです。マルウェアの同一性の証明でもよく利用されます。但し、ハッシュ値を変更するのはとても簡単です。多くの場合、ハッシュ値を追跡する価値がない場合もあります。

IPアドレス & ドメインネーム

これも、基本的な指標ですが、攻撃発生元を調べるのに有益な指標です。

アーティファクト

ネットワークやホストに攻撃者により意図的に作成された痕跡のことです。これにより、正規ユーザとの区別をつけやすくなります。具体的には、URLパターンやC2通信の存在、レジストリ・キーや特定の場所に存在するファイルなどが該当します。

ツール

攻撃者が利用するソフトウェア・実行ファイルのことです。例えば、PowerShellや、特定のコマンド、ツールなど関連ソフトウェアは大きな指標となります。

TTP

TTP(Tactics, Techniques and Procedures)とは、本来安全保障などの分野でテロリズム脅威分析などに利用する分析手法で、行動パターンを分析するためのものです。サイバーセキュリティの文脈でいえば、スピア・フィッシングにより「ライセンス更新」を装うメールで攻撃をしてくるなど、具体的な攻撃パターンを意味します。行動パターンを変更することは攻撃者にとって高いコストが伴うため、TTPを適切に定義できれば、攻撃を防ぐ上で非常に有益になります。そのため、Threat HuntingではこのTPPをいかに発見し、IOCとして定式化するかという点が一番重要となってきます。

まとめ

今回は2つのキーワードを取り上げましたが、いかがだったでしょうか。

Threat Huntingには様々な理論・考え方が存在しますので、今後も引き続き紹介していきたいと思います。

*1:とはいえ、各社だけで対応していくことに限界があることから、信頼できる仲間内(同じ業界関係者)で攻撃関連の情報を共有したり、IOCを共有するISAC(Information Sharing and Analysis Centers)という情報共有組織が立ち上がりつつあります。有名な組織として、FS-ISAC(金融ISAC)・NH-ISAC(ヘルスケアISAC)などが挙げられます。