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

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

Offensive Countermeasuresとは何か?

Offensive Countermeasures(OCM)とは、2009年にSANSインストラクターであるJohn Strand氏らが提唱した概念です。当時はあまり流行した考え方ではなかったと思いますが、Threat IntelligenceやThreat Huntingへの注目と合わせて、再度注目を集めている概念です。(最近では、SEC550: Active Defense, Offensive Countermeasures and Cyber Deceptionというコースも準備されているようです。)

 今日のブログでは、Offensive Countermeasureとは何か、提唱者の本をもとに読み解いてみたいと思います。

Offensive Countermeasures: The Art of Active Defense (English Edition)

Offensive Countermeasures: The Art of Active Defense (English Edition)

 

OCMの特徴を示すAAAとは?

Offensive Countermeasuresの特徴を表すキーワードとして、AAAが挙げられます。

  • Annoyance(擾乱):攻撃者を妨害・攪乱すること
  • Attribution(特定):攻撃者の帰属を特定すること
  • Attack(攻撃):攻撃者の環境に対して能動的な攻撃コードを仕掛けること

それぞれ具体的にみていきましょう。

Annoyance(擾乱)

Annoyance(擾乱)とは、デセプション技術とよぶことのほうが多いと思いますが、攻撃者のリソースを無駄遣いさせることを意味します。この考え方の背後には、攻撃者がアクションをすればするほど、攻撃を成功させるまでの時間を稼ぎ、検知する機会が増えるという前提に基づいています。

本書では、不要なポートを多数開いているようにだますPortspoofや、Webアプリケーションスキャナが持つクローラー機能をだますためランダムなURLを生成するWebLabyrinthなど様々なデセプション機能が紹介されています。(様々なツールが紹介されているので、具体的なツールは実際に読んでみてください)

Attribution(特定)

Attribution(特定)とは、攻撃者がだれかを突き止めることを意味します。その理由としては、攻撃者を特定することで、どこまで自分たちのリソースを投入すればよいか決めることが可能となるためです。

このカテゴリについては、OSINTや各種ツール(Decloaking Engine・HoneyBadger)など攻撃者を特定するためのツールが紹介されています。

Attack(攻撃)

Attack(攻撃)とは、攻撃者の環境に対して能動的な攻撃ードを仕掛けることを意味します。ただし、ここで注意すべきことはHack Back(やり返し)をするわけではないという点です。むしろ、Attributionをより深いレベルで実施するため、あるいは抑止力を確保するための手法だと述べています(そしてやる場合には、法務担当や経営層とよく相談して合意をしたうえでやるように書かれています)

具体的なツールとすると、攻撃者の端末でスクリプトを動かすことを主な目的として、SET(Social Engineering Toolkit)・BeEF(Browser Exploitation Framework)などのクライアントサイド攻撃を利用をすることが議論が行われています。例えば、攻撃者しか絶対にアクセスしないと推測される場所にBeEFを仕掛けるなどが該当します。

Offensive Countermeasuresの法的側面について

Offensive Countermeasuresはよく誤解されますが、いわゆるHack Backとは異なります。その一方、最後のAttack(攻撃)については特に法的に問題がないかという点について議論がわかれますし、本書でも各読者にて判断してほしいとしています。

ツール群について

本書で紹介されていたようなツールについては、ADHD(Active Defense Harbinger Distribution)と呼ばれる仮想環境があり、こちらにツールがすべて含まれているとされています。興味がある方はこちらを動かしてみるとよいのではないかと思います。

www.blackhillsinfosec.com

まとめ

今回、Offensive Countermeasuresについてまとめてみました。言葉から想定するほどの過激な内容ではありませんでしたが、いずれにしても攻撃者を挑発する側面が少なからずあるため、これを採用するのであればある程度のセキュリティが確保できているという前提が重要だと思います。ただし、今後金融機関などセキュリティが進んでいる分野を中心に断片的にもこういった考え方を取り入れていくのではないかと感じています。

Active Defenseの定義とは?

2018/01/16 一部内容を更新しました。
2018/02/07 一部内容を更新しました。

Active Defenseという言葉をご存知でしょうか?

SANSでもSEC550: Active Defense, Offensive Countermeasures and Cyber Deceptionというコースが用意されていますし、CTI(Cyber Threat Intelligence)とも密接に関わる概念です。

色々調べてみると、いくつか考え方ありそうなので、その考え方について整理をしてみたいと思います。

Wikipediaの定義

Wikipediaによれば、Active Defenseは以下のように定義されています。

Active defense can refer to a defensive strategy in the military or cybersecurity arena.

The Department of Defense defines active defense as: "The employment of limited offensive action and counterattacks to deny a contested area or position to the enemy." This definition does not specify whether it refers to physical actions, or cyber-related actions.

In the cybersecurity area, active defense may mean "asymmetric defenses," namely defenses that increase costs to cyber-adversaries by reducing costs to cyber-defenders. For example, an active defense data protection strategy invented by CryptoMove leverages dynamic data movement, distribution, and re-encryption to make data harder to attack, steal, or destroy. Prior data protection approaches relied on encryption of data at rest, which leaves data vulnerable to attacks including stealing of ciphertext, cryptographic attack, attacks on encryption keys, destruction of encrypted data, ransomware attacks, insider attacks, and others. Three ACM computing conferences have explored Moving Target Defense as a strategy for network and application-level security as well, for instance by rotating IP addresses or dynamically changing network topologies.

Some have defined active defenses as including of deception or honeypots, which seek to confuse attackers with traps and advanced forensics. (中略) Other types of active defenses might include automated incident response, which attempts to tie together different response strategies in order to increase work for attackers and decrease work for defenders.

  

(簡易翻訳)

アクティブ・ディフェンスは、軍事またはサイバーセキュリティの分野における防衛戦略の一つです。

米国防総省は、アクティブ・ディフェンスを「敵に対して戦闘地域や立場を否定するための限られた攻撃行為や反撃の採用」と定義しています。この定義は、物理的なアクションはサイバー関連のアクションに依存せず成立します。

サイバーセキュリティの分野では、アクティブ・ディフェンスは、防御側のコストを削減することで、攻撃者のコストを増加させる防衛方法、すなわち「非対称防御」ともいえます。例えば、CryptoMoveが発明したアクティブ・ディフェンス・データ保護戦略では、データの動的な移動、配布、再暗号化を利用して、データを攻撃、盗難、破壊することをより困難にしています。以前のデータ保護アプローチでは、特定の場所に保存されたデータの暗号化に依拠しているため、暗号文の盗用、暗号学的攻撃、暗号化キーの攻撃、暗号化されたデータの破壊、ランサムウェア攻撃、インサイダー攻撃などの攻撃から非常に脆弱でした。 また複数の学術的な国際会議では、IPアドレスをローテーションしたり、ネットワークトポロジを動的に変更するなど、ネットワークおよびアプリケーションレベルのセキュティの戦略としてMoving Target Defenseという概念が提唱されています。

また、攻撃者をトラップや高度なフォレンジック技術を利用して攻撃者を混乱させるため、デセプション技術やハニーポットを利用することと定義するものもいます。他の定義では、攻撃者の負担を増やし、防御側の作業を減らすために、様々なインシデント対応戦略を自動化インシデント対応につなげていくという考え方も存在します。

定義の整理

Wikipediaでも複数の定義が書かれていましたが、各ベンダー等もActive Defenseについて様々な見解をもっています。Wikipediaや他の情報を参考にしながら、Active Defenseという概念をこの言葉の定義を筆者なりに整理してみます。

私見では、Active Defenseとという言葉の使われ方は、大きく5つの意味に大別されると考えており、読み解いてみたいと思います。

定義1:Auto Response

第一の定義は、振る舞い検知・機械学習などを利用して、攻撃の検知・遮断を自動化していくという意味での定義です幾つかのベンダーソリューションではこの定義が使った機能紹介が行われている様子です。

ただし、個人的にはActive DefenseよりAuto Responseと呼ぶべきだと思います。

定義2:Asymmetric Defenses

第二の定義は、デセプション技術・ハニーポット技術などを用いて攻撃者側の時間を稼ぎ、攻撃者の攻撃コストを高めるという考え方です。Asymmetric Defense(非対称防御)とか、Time Based Securityという考え方で知られています。(Time Based Securityについては、別の記事でまとめますので、そちらをご参照ください。)

Wikipediaでも書かれていたMTD(Moving Target Defense)という考え方は私も初めて知りましたが、この攻撃コストを高めるための一つの進化系だと推察します。

定義3:Threat Hunting

一部の文脈では、Threat Hunting(ログを相関分析などを利用してプロアクティブに分析し、シグニチャなどでは発見できないIOCを分析・導き出す技術)を行うことをActive Defenseと定義しているケースもあります。例えば、EY社の『Enhancing your security operations with Active Defense』ではその文脈で定義をしていると考えられます。

Active Defense is a deliberately planned and continuously executed campaign to identify and help eradicate hidden attackers and defeat likely threat scenarios targeting your most critical assets 

また、SANSも似たような定義を採用していると考えられます。”The Sliding Scale of Cyber Security”という論文でも以下のように定義され、アナリストが積極的に分析を行い、ツールに頼らない防御態勢を意味していると考えられます。

The process of analysts monitoring for, responding to, and learning from adversaries internal to the network

アナリストが内部ネットワークにいる攻撃者を監視し、対応し、敵から学ぶプロセス

また、SANSは独自のActive Cyber Defense Cycleを定義しています。この詳しい内容については、別エントリで整理します。

f:id:security_consultant:20180207214711p:plain

 定義4:Offensive Countermeasures

Active Defenseの文脈では、Offensive Countermeasuresという概念もあります。これは、定義2(Asymmetric Defenses)・定義3(Threat Hunting)に加えて攻撃技術を利用して攻撃者の情報を収集して防御に生かそうと考え方です。この考え方を正確に理解するためには、SANS550 Course AuthorでありOffensive Countermeasuresの提唱者であるJohn Strandの著書が参考になります。

Offensive Countermeasures: The Art of Active Defense (English Edition)

Offensive Countermeasures: The Art of Active Defense (English Edition)

 

 この本については、別のエントリにて議論していますので、よろしければご覧ください。

www.scientia-security.org

CrowdStrike社も独自のActive Defense Modelを提唱しています。基本的にOffensive Countermeasuresに近しい考え方だと考えられます。

www.itpro.co.uk

CrowdStrike社によれば、 「アクティブ・ディフェンスとは、攻撃者のコストとリスクを増大させ、彼らの行動への抑止を試みること」と定義しており、彼らのActive Defense Modelでは4つのユースケースを定義しているそうです。

  • Attack Detection
  • Attribution
  • Flexibility of Response
  • Intelligence dissemination

特に、Flexibility of Response(レスポンスの柔軟性)とは、デセプション、封じ込め、攻撃者リソースの浪費、疑念と混乱を攻撃者に植え付けるなどのアクションを意味し、Intelligence Dissemination(情報の拡散)は攻撃者への是正的・抑止的効果をもたらすと述べています。

定義5:Hack Back

一番過激な定義であり、要するに「やられたら、やり返す」という考え方です。特に、Offensive Countermeasureという言葉の響きからこの定義を連想する人も多いようですし、私もActive Defenseの定義はこの定義だと思っていました。(Offensive Countermeasuresの一部で攻撃という概念が出てくるため、こういった定義になることは無理もないと考えられます。Offensive Countermeasureのエントリーで違いについてても整理を行おうと考えています。)

基本的には、攻撃者にやり返して必要であれば盗まれたデータの破壊などを意図している考え方ですし、米国ではACDC法(Active Cyber Defense Certainty Act・通称Hack Back法)が議会に提出されている実情もあります。この法案によれば、サイバー攻撃の被害者は攻撃者に対して報復をすることを許しているようです。(参考:Revised 'Hack Back' bill encourages 'active-defense' techniques, sets parameters

ただし、この考え方は賛否両論あり、比較的否定的な意見が多いように見受けられます。

securingtomorrow.mcafee.com

www.slate.com

まとめ

Active Defenseは現在注目を集める考え方の一つであると思いますが、まだその定義・考え方にはいろいろな差異が存在すると思いますので、Active Defenseについて議論する際にはどのような意味で使っているのか正確に押させた上で議論することがよいと考えられます。

各規制はセキュリティ診断の頻度をどのように定めているか?

2018/01/09 金融庁関連の話題を追加しました。

少し前ですが、2017年8月にJPCERT/CCが「Web サイトへのサイバー攻撃に備えて」という報告を発表して、セキュリティ診断・ペネトレーションテストの頻度について言及をしています。今回は、各レギュレーションがどのようについてどのように言及しているか整理を行いました。

今回は、各レギュレーションがどのようにセキュリティ診断の頻度を定めているか整理したいと思います。

各レギュレーションが定義する頻度

 各レギュレーションが定義する脆弱性スキャン・ペネトレーションテストの頻度は以下の通りです(間違っていたらすいません)。これを見ると、少なくても年1回はペネトレーションテストをすることが求められていると考えられます。

f:id:security_consultant:20171227214733p:plain

JPCERT/CC

JPCERT/CCは、「Web サイトへのサイバー攻撃に備えて」にて以下のように定義しています。この規制が一番具体的な回数に踏み込んでいると感じています。

(1) 利用製品 (プラグインなど追加の拡張機能も含む) のバージョンが最新であることの確認
 目的:製品の脆弱性を狙ったサイバー攻撃を回避・低減するため
 対象:Web サーバなどの Web システム、Web サイト運用管理用 PC
 頻度:数週間~1ヶ月に1回程度

 

(3) Web アプリケーションのセキュリティ診断
 目的:自社の Web アプリケーションに脆弱性や設定の不備が存在しないか確認するため
 対象:Web アプリケーション
 頻度:1年に1回程度、および機能追加などの変更が行われた時

PCI-DSS

PCI-DSSは、クレジットカードを取り扱う企業が守るべき基準です。これによれば、脆弱性スキャンについて以下のように定義しています。

11.2 Run internal and external network vulnerability scans at least quarterly and after any significant change in the network (such as new system component installations, changes in network topology, firewall rule modifications, product upgrades)

また、ペネトレーションテストについても以下のように定義しています。

11.3 Implement a methodology for penetration testing that includes the following:(中略)

11.3.1.a Examine the scope of work and results from the most recent external penetration test to verify that penetration testing is performed as follows:

  • Per the defined methodology
  • At least annually
  • After any significant changes to the environment

Critical Security Control

CSCでは、定期的な脆弱性スキャン・ペネトレーションテストを推奨しています。特に、このベストプラクティスでは、Red Team Exerciseについても言及していることが特徴だと考えられます。

www.cisecurity.org

CIS Control 4 Continuous Vulnverability Assessment and Remediation

CIS Control 20 Penetration Tests and Red Team Exercises

NYDFS Cybersecurity Regulation

詳しくは前のエントリーを見てください。

www.scientia-security.org

FFITC Information Security Booklet

FFITCの"Information Security Booklet"では以下のように定義しています。

IV.A.2(b) Penetration Tests

A penetration test subjects a system to real-world attacks selected and conducted by the testers. A penetration test targets systems and users to identify weaknesses in business processes and technical controls. The test mimics a threat source's search for and exploitation of vulnerabilities to demonstrate a potential for loss.(中略)

The frequency and scope of a penetration test should be a function of the level of assurance needed by the institution and determined by the risk assessment process. The test can be performed internally by independent groups, internally by the organizational unit, or by an independent third party. Management should determine the level of independence required of the test.

 

IV.A.2(c) Vulnerability Assessments
A vulnerability assessment is a process that defines, identifies, and classifies the vulnerabilities in a computer, network, or communications infrastructure. Technical vulnerabilities can be identified through the use of scanners and other tools. (中略)

Similar to penetration testing, the frequency of the performance of vulnerability assessments should be determined by the risk management process. Scanners and other tools can be run continuously, generating metrics that are reported and acted upon continuously. Alternatively, they can be run periodically. Vulnerability assessments can be performed internally or by external testers, but they are often run as part of internal testing processes.

MAS TRM

MAS TRM(Monetary Authority of Singapore Technology Risk Management Guidelines)とは、シンガポールの金融庁に相当する政府機関が出している技術リスク管理に関するガイドラインです。これについても、かなり具体的な内容が書かれています。

9.4 Vulnerability Assessment and Penetration Testing

9.4.1 Vulnerability assessment (VA) is the process of identifying, assessing and discovering security vulnerabilities in a system. The FI should conduct VAs regularly to detect security vulnerabilities in the IT environment.

9.4.2 The FI should deploy a combination of automated tools and manual techniques to perform a comprehensive VA. For web-based external facing systems, the scope of VA should include common web vulnerabilities such as SQL injection and cross-site scripting.

9.4.4 The FI should carry out penetration tests in order to conduct an in-depth evaluation of the security posture of the system through simulations of actual attacks on the system. The FI should conduct penetration tests on internetfacing systems at least annually

Penetration Testing Guidelines For the Financial Industry

ABS(The Association of Banks In Singapore)が、Penetration Testing Guidelines For the Financial Industry in Singaporeというガイドラインを出しています。このガイドラインによれば、外部委託先に対して年1回のペネトレーションテストを求めています。

Test Scope iv.

For outsourced environment, outsourcing vendor should also conduct annual penetration testing for their public Internet facing network infrastructures. Outsource vendors are expected to follow the methodology as laid out in this document. 

当局の指針・方針

頻度についてではないですが、「平成29事務年度 金融行政方針について」という金融庁の資料の中で以下のようなコメントが出ています。

大規模な金融機関については、そのサイバーセキュリティ対応能力をもう一段引き上げるため、より高度な評価手法*の活用を促す。また、金融機関に対し金融ISAC等を通じた情報共有の一層の推進を促す。

* 例えば、金融機関(外部ベンダー等の利用を含む)による脅威ベースのペネトレーションテスト(テスト対象企業ごとに脅威の分析を行い、個別にカスタマイズしたシナリオに基づく実践的な侵入テスト)。

ここでいうペネトレーションテストとは、Red Team Operationのようなテストを想定していると考えられます。また経済産業省からは、「情報セキュリティサービスの基準」というサービスの基準を示すガイドライン(?)のパブリックコメントが募集されています。

search.e-gov.go.jp

中を少し抜粋して整理すると以下の通りです。ただ内容を見ると、そこまで厳しい内容というより、基本的な部分に言及していると考えられます。

d(3)脆弱性診断サービス
システムやソフトウェア等の脆弱性に関する一定の知見を有する者が、システムやソフトウェア等に対して行う次に掲げる脆弱性診断サービスを行うサービス業をいう。
ア) Web アプリケーション脆弱性診断
イ) プラットフォーム脆弱性診断
ウ) スマートフォンアプリケーション脆弱性診断

 

2 脆弱性診断サービスの審査基準
(1)技術要件
脆弱性診断サービスを提供しようとする者は、次に掲げる技術要件に該当するものであること。

 ア 専門性を有する者の在籍状況
サービス品質の確保のため、次のいずれかの要件を満たす者を業務に従事させるとともに、要件を満たす者ごとの人数を明らかにすること。

  • 高度資格(情報処理安全確保支援士・CISSP・CISA)のいずれかを有する者
  • 次の専門家コミュニティ(JNSA・ISOG-J・OWASP)における講師又はリーダーの経験を有する者
  • 次の事業(Web アプリケーション脆弱性診断・プラットフォーム脆弱性診断・スマートフォンアプリケーション脆弱性診断)において基準となる日から起算して過去3年間に合計5件以上の実績を有する者
  • サービス品質確保に資する研修を修了している者

イ サービス仕様の明示
サービス品質の確保に資する基準に従って、脆弱性診断サービスが行われていることとともに脆弱性診断の結果の取扱いを明らかにしていること。

(2)品質管理要件
脆弱性診断サービスを提供しようとする者は、次に掲げる品質管理要件に該当するものであること。

ア 品質管理者の割当状況
品質の維持のため、サービス品質の管理に関する担当者を割り当てていること。ただし、当該担当者が専属してサービス品質の管理を行うことを必ずしも求めるものではない。

イ 品質管理マニュアルの整備
品質維持のため、サービス品質の管理のためのマニュアルを整備していること。

ウ 品質を担保する手続等の導入状況
品質維持のため、次に掲げる手続等を行っていること。

  • 脆弱性診断サービスを行った案件について、当該案件に従事した者以外の者が検査実施報告書についてレビューを行っていること
  • 脆弱性診断サービスに従事する者に対して次に掲げる教育及び研修等を実施し又は受講させていること。
    • 診断従事者 年20時間以上の教育又は研修(資格維持のための研修を含む。)
    • 専門家コミュニティにおける活動をしている者 年20時間以上の活動
    • 高度資格を有する者 継続専門教育(以下「CPE」という。)による年20ポイント以上の取得
  • 顧客の情報を保護するための手続を設け、運用するとともに、当該手続について監査を実施することにより実効性の確保がされていること。

まとめ

このようにみると、様々なガイドラインなどで少なくても年1回のペネトレーションテストを求めているようです。内部ルール作成などの参考になればと思います。

脅威の検知レイヤーモデル

現在、Cyber Threat IntelligenceやThreat Intelligenceに興味を持っていますが、脅威を検知手法について整理してみました。

時間軸による検知レイヤーモデル

色々な考え方があるますが、検知のインプットは大きく4種類あると考えています。

  • Signiture Based(シグニチャに基づく検知)
  • Behavior Based(振る舞い検知)
  • Cyber Threat Intelligence(脅威情報)
  • Threat Hunting(スレット・ハンティング)

上記の図では、その4つのインプットを時間軸、特性から分類をしています。

f:id:security_consultant:20171213000951p:plain

検知にかかる時間

上記の図にあるとおり、検知にかかる時間を考えるとシグニチャに基づく検知(Signiture Based)が一番早く、スレット・ハンティング(Threat Hunting)が一番時間がかかると考えられます。その理由としては、シグニチャに基づく検知の場合、ブラックリストと照合して該当するものがあるしか否か判断すれば脅威を見つけられます。しかしながら、脅威情報(Cyber Threat Intelligence)スレット・ハンティング(Threat Hunting)の場合、誤検知の可能性や、多く受け取った情報を検証する必要があり、脅威の確定に時間がかかるためです。

受動的アプローチ

図にあるとおり、上の方は受動的かつ自動的なアプローチになり、汎用的・伝統的・原始的な脅威に対抗する技術になります。シグニチャに基づく検知(Signiture Based)の場合、汎用的な脅威しか検知できないという欠点もあります。

能動的アプローチ

一方下に行けば行くほど、プロアクティブ・手動的なアプローチとなり、ユニークかつ最新の脅威に対応する方法となります。上記の図では、脅威情報(Cyber Threat Intelligence)スレット・ハンティング(Threat Hunting)など、能動的に調査・収集をしなければいけない脅威を表現しています。

ちなみにこの二つの大きな違いは、脅威情報を自社で独自に見つけるのがスレット・ハンティング(Threat Hunting)、ベンダー・外部の専門家・同業者の知見を借りるのが脅威情報(Cyber Threat Intelligence)です。

脅威情報(Cyber Threat Intelligence)の場合、ベンダー・外部の専門家・同業者からもたらされる情報を元に脅威を発見する手法であり、最終的には独自シグニチャとして内部のセキュリティに組み込まれたり、次回のThreat Huntingのインプットにもなります。

一方、スレット・ハンティング(Threat Hunting)は自分の環境から脅威・攻撃を発見する方法です。こちらも、最終的には独自シグニチャとして組み込まれたり、脅威情報(Cyber Threat Intelligence)として外部などに共有されていきます。

まとめ

誤解なきように書くと、受動的な検知手法がダメということではなく、確実に脅威を検知する技術という意味では非常に有効な手段です。ここで大事なことは、それぞれの脅威の発見方法・特性を正確に理解し、いろいろな脅威を網羅的にカバーしていくことが重要だと考えています。

Threat Hunting for Dummiesを読んでみた!!

カンファレンスでもらった"Threat Hunting for Dummies"を積読していたのですが、時間ができたので読んで見たのでメモをまとめます。EDRで有名なCarbon Black社が書いているので、クオリティも十分でした。

www.carbonblack.com

Threat Huntingの定義と目的

Threat Huntingについて、以下の用に定義されています。

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

Threat Huntingは、決して新しいコンセプトではないと言われていますが、基本的には能動的に攻撃の痕跡、インシデントの兆候を見つけにいくプロセスを意味します。

セキュリティオペレーションの第一歩は、セキュリティ機器を導入して提供する検知メカニズム(シグニチャ)で検知・対応することが第一ステップとなります。しかし、攻撃手法も高度化し、マルウェアの回避手法(Evasion Technique)も日々洗練しているため、特に最新の攻撃手法が登場した時点では検知メカニズムに組み込まれておらず、検知できないという問題が挙げられます。

また、Ponemon Instituteのレポート『2015 Cost of data breach: Global』によれば悪意のある攻撃による情報漏洩インシデントの検知にかかる平均日数は256日と発表しており、そんなに待っていられないという観点もあります。(Threat Hunting for Dummiesでは、220日と書かれているのですが、出典が不明確なので別のレポートを引用しました)

Threat Huntingの特徴として、共存(IDS・DLPなど既存の検知メカニズムをうまく補う形で使うこと)、人間機械系(ツール・人間それぞれが得意な部分を活用すること)などを挙げています。

また、Huntingの結果として反映された兆候については、自社内のSecurity Operation Team内で共有され、シグニチャ化され、自動化プロセスに組み込まれるため、同じ事象を二回ハンティングすることはないというかなり研究に近いプロセスだと思われます。

The Carbon Black Hunt Chain

Carbon Black Hunt Chainは、Carbon Black社において開発されたThreat Huntingのプロセスのことです。

f:id:security_consultant:20171208020737p:plain

まとめると、大きく4つのフェーズに分類されています。

  • Starting & Refining the Hunt
    ログから正当なアクテビティを取り除き怪しい挙動を絞り込む。その後さらに追加調査を行い、攻撃の痕跡か判定する。
  • Discovery
    攻撃を確認したら、根本原因を分析する。(インシデント対応プロセスの一部でもあるので、引き継ぐ方法もあります。)
  • Response
    攻撃のインパクトを調査した上で、インシデント対応(封じ込め、マルウェアの除去など)を行う。
  • Update Defense
    発見した事象からIoCを作成し、各種セキュリティ機器にカスタムシグニチャを追加したり問題の修正を行う。

では、具体的にどのようにその兆候を見つけるかという点については、基本的にはデータ分析が基本になると思います。アプローチとして、UEBA(User Entity Behavior Analytics) などといったキーワードがありますが、個人的にはData Driven Securityという概念が重要になると思います。また、以下の本は面白かったので推奨します。 

Data-Driven Security: Analysis, Visualization and Dashboards

Data-Driven Security: Analysis, Visualization and Dashboards

 

この本は積読リストに入れていますが、同じような内容ではないかと推測しています。 

Network Security Through Data Analysis: From Data to Action

Network Security Through Data Analysis: From Data to Action

 

有効なThreat Huntingのすすめ

Threat Huntingをする上で、以下の10つのTipが紹介されています。

  1. 自分の環境を深く知ること
  2. 攻撃者の目線で考えること
  3. OODAループを意識すること
  4. ハンティングに十分なリソース(人材・ツール・基盤)を投入すること
  5. エンドポイント全てに対してセンサーを展開すること
  6. ネットワークデータを利用して、エンドポイント分析を支援すること
  7. ITチームと協調的に活動すること
  8. ハンティングプロセス・結果を記録すること
  9. セキュリティスキルを常に向上させること
  10. 攻撃トレンドを正確に抑えること

このTips群は多くの示唆を含んでいると思います。

例えば、「自分の環境を深く知ること」で言えば、自社のネットワークはもちろんのこと、攻撃者が狙う重要資産はどこに配置されているのか、さらにはOSやソフトウェアのノーマルな挙動とアブノーマルな挙動を正確に把握しておく必要があります。また、自社のインシデント対応プロセスやハンティングに使うツールになれておくことも必須です。

ほかにも、「攻撃者の目線で考えること」という部分では、Red Teamの経験などがあると望ましいと思います。個人的には、Red・Blue両方を知るPurple人材こそこういったThreat Huntingをやるべきだと考えていますが、経験がない場合でもCyber Threat Intelligenceを活用してトレンドを押させておくことは重要となります。

また、「ハンティングに十分なリソース(人材・ツール・基盤)を投入すること」も重要です。本書では、「最初は1週間に2時間ほどThreat Huntingに専念する時間を設けるべき」と述べていますが、それを支えるのはエンドポイント・サーバ・ネットワークの可視化であり、大量のログを分析するためのSIEMのような統合分析プラットフォームです。

まとめ

今回は、Threat Huntingのレポートをまとめてみましたが、Threat Huntingは方法論はある程度このレポートで確立されていると感じています。良い教材ですので読んでみると良いと思います。