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

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

再考:米国の標的型攻撃訓練サービス

先日、標的型メール訓練サービスについて少し米国事情を調べたり、講演で聞いた内容をまとめる機会があり、その内容を共有します。

日本では、標的型攻撃診断では標的型攻撃メール訓練サービス」などと呼ばれるユーザの開封率などを視覚化してくれるサービスが一般的ですが、米国のペネトレーション・テスト事情で少し異なることは前に聞いたとおりです。

www.scientia-security.org

さらに米国の講演を聞いたり色々な調べてみると、米国でのこの手のサービス形態は大きく3種類に分類されます。(現実には、それらをミックスして実施するなど厳密な分類は難しかったりはします。)

  • Awareness Phishing
  • Penetration Testing Phishing
  • Red Team Phishing

Awareness Phishing

日本で一般的な「標的型攻撃メール訓練サービス」のことで、Phishing Simulationとか呼ばれたりもします。基本的には標的型攻撃メールをユーザに知ってもらう教育目的で実施するサービスです。

そのため、通常はクライアントから教育対象となる全社員のメールアドレスをもらい、そのメールアドレスにクライアントと取り決めた訓練用メールを送り、当該メールを開封するか否かテストするサービスです。

最近では、この手のクラウドサービスがいくつか複数存在しています。比較的よく名前を聞く企業は以下の二つですが、両方とも2016年10月に公開されたガートナーの"Security Awareness Computer Based Training Magic Quaderant"にてリーダに分類されています。

ちなみに、自社内で環境を準備したければ、GoPhishなどを使うのがよいと思います。

www.scientia-security.org

Penetration Test Phishing

Penetration Test Phishingも基本的にはAwareness Phishingとやることは変わらず、手元にあるメールアドレスにできるだけ標的型メールを送り、現行のセキュリティ堅牢性を評価したり、 改善点を見つける点にあります。

ただ、Awareness Phishingと大きく異なる点とすると2点あると考えられます。

メールアドレスの収集方法

第一に、メールアドレス収集の方法がクライアントから直接もらうのではなく、OSINT(Open Source Intelligence)と呼ばれる手法によりメールアドレスを収集してデータセットを作成するという点です。この方法をとることにより、そもそも組織に対する攻撃のしやすさを評価することができると考えられます。

攻撃シナリオ

Awareness Phishingでは、メールを開いたかどうかをテストして終了となりますが、Penetration Test Phishingの場合、訓練用ではなく実際のインシデントと同じシナリオでテストを行う点で大きく異なります。

以下、以前の記事を抜粋して記載します。

話を聞いた多くの企業でも同じように標的型メールを送るのですが、訓練用ではなく実際のインシデントと同じシナリオでテストを行います。具体的には、以下の通りです。

  • 実際のマルウェアを添付したメールを送る
  • 脆弱性が仕込まれたURLを含むメールを送付する
  • フィッシングサイトへ誘導するURLを含むメールを送付する

その後、ユーザがリンクを踏むと、脆弱性を悪用して端末を掌握してC&Cサーバと通信を発生させたり、フィッシングサイトへ誘導してアカウントを抜いたりし、特定のゴールにたどりつけるまで監査を行うなど非常に実践的な内容で行われます。特定のゴールとは、例えば以下のようなものです。

  • (外部から)ドメイン管理者のアカウントを取得できるか
  • (外部から)クレジットカード情報にアクセスできるか

通常、標的型メールを送付する前に、担当者から社員のメール一覧を受領して実施することが一般的ですが、中には事前調査(Reconnaissance)から実施して攻撃を仕掛けるといった本格的な企業もあり、非常に面白いものでした。

日本でも、感染を前提としたサービス(NRIセキュア社の「標的型メール攻撃被害シミュレーション」やLAC社の「APT先制攻撃サービス」など)がありますが、このフェーズを分けずに、一連の流れをテストするというところが大きな違いだと考えられます。

Red Team Phishing

Red Team Phishingは一番高度なサービスになると考えられます。このレベルのテストの目標は、「内部へのアクセスを取得して盗めることを確認する」ことにつきます。言い換えれば、年金機構への攻撃をそのまま再現する形になります。

そのため、メール送信はあくまで、初期の踏み台となる端末を得るためだけに利用します。最初のステップでは、OSINTの技術を活用して、通常この手のテストではLinkedInやインターネットで情報を収集して、攻撃対象1~2名を選出して攻撃を仕掛けていき、添付ファイルや脆弱なURLを踏めば端末を掌握してさらに内部ネットワークに踏みこんで行きます。(DerbyConであった講演では、最大でも10通ぐらいしか送らないと述べていました)

そのため、LinkedInで偽装アカウントをつくって攻撃対象者の情報収集する、特定の役職(リクルーター)を装って連絡する、発表されたばかりの脆弱性を使って気付かれないように攻撃するなど色々な工夫が凝らされて攻撃が行われます。

また、Low & Slowの原則と呼ばれますが、攻撃をBlue Team・SOCに検知されないよう、テストも時間をかけて行われるそうです。当然、時間・費用ともにかかる手法ですが、実際に漏洩できるのかどうなのかという観点で言えば、もっとも有効なテストだと考えられます。

まとめ

米国では、標的型訓練サービスも多様化・高度化している様子が見て取れます。個人的には、Red Team Phishingが一番高い効果をもたらすためこの手法がより流行してくれるとよいと感じています。

 

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

まとめ

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