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

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

リスク分析の3つのアプローチとセキュリティの7S

(追記)2019年02月12日に追記を行いました。

リスク分析は、セキュリティ戦略策定の上で欠かせない基本的なアプローチです。

以前、日経SYSTEMSの記事「セキュリティコスト 5つの掟」(2018年10月号)にて、 一部のインタビュー記事が紹介されましたが、そこで取り扱われたリスク分析の考え方について、自分の考え方について少し整理をしておきたいと思います。

tech.nikkeibp.co.jp

リスク分析の概要

リスク分析とは、基本的に以下のステップで行います。

  1. セキュリティ対策の現状把握を行い、現時点のリスクを特定・把握する。
  2. 対策の優先度を決定する。
  3. 対策の実装に向けたロードマップを策定する。

セキュリティ予算・リソースは通常有限であり、足りないことが一般的ですので、この分析をしてその年にやるべき対策を決定するのが主なスコープです。

セキュリティ対策の現状把握

リスク分析を行う際に、一番悩むポイントとして、「どのようにセキュリティ対策の現状把握を行うか?」という点です。

筆者の経験では、リスク分析のアプローチは大きく3種類に分類されると考えています。

  • ベースラインアプローチ
  • リスクベースアプローチ
  • ビジネスプロセスアプローチ
アプローチ1:ベースラインアプローチ

ベースラインアプローチとは、あらかじめ実現すべきセキュリティレベル(ベースライン)を決定し、システムや組織が目標としているセキュリティレベルに達しているか否か判断するアプローチで、ギャップ分析とも呼ばれます。

このベースライン(実現すべきセキュリティレベル)としては、様々なガイドラインや規制を活用することが一般的です。以下に代表的なガイドラインを示します。

  • ISO270001
  • Critical Security Control
  • PCI-DSS

例えば、Critical Security Controlの場合、AuditScript社がだしているようなスクリプトで評価する方法などが考えられます。(AuditScripts.com

ここで注意すべきことが複数存在します。

第一に、各ガイドライン・規制の特徴を正確に把握することです。具体的に技術的に詳しく踏み込んでいるガイドラインもあれば、かなり汎用的な表現にまとめられているものも存在します。各セキュリティベンダーは、こうした利点・欠点を活用しながら、独自のフレームワークを作成していたりします。

第二に、どのように評価するかという点です。簡単な方法はチェックリストによるチェックです。しかし、チェックリストでは申告者の認識違いなどがあり、過大評価される結果になりがちです。一方、コンサルタントを使った評価では、具体的なドキュメントを確認したり、記録を確認したりするなどして、その品質を担保していきます。

アプローチ2:リスクベースアプローチ

リスクベースアプローチとは、ベースラインアプローチをある程度実施し、基本的な対策を実装した組織がやるべき一つ成熟度を上げた手法です。これは、ある特定のリスクを防止するために必要な対策を見極めるアプローチで、「脅威シナリオ分析」とも呼ばれます。

ここで重要なことは、一般的にリスクが高いとされる脅威を選択すること、そしてシナリオを適切かつ緻密に作成することです。そのシナリオを作成するためには、Threat Intelligenceなどを活用するなどして、最新のシナリオを取り入れていきます。

そして、どういう条件の場合において攻撃が成功するのか、なにが単一障害点(Single Point of Failure)となるのか、そしてどんな新しいセキュリティ施策(Security Control)を導入するとその可能性を下げることができるのか、多層防御(Defense-In-Depth)の概念から検証します。

これを実際に行う際には、いくつか実施レイヤーが存在すると考えられます。非常に細かくやる場合は攻撃者の攻撃手口(TTP)と自社の環境を見比べ「XXというセキュリティコントロールが機能しない場合、その点が単一障害点となり被害が拡大する」ですとか「攻撃者がAというアプローチではなく、Bというアプローチをとった場合、防ぐことができない」などの分析結果が考えられます。

アプローチ3:ビジネスプロセスアプローチ

ビジネスプロセスアプローチは、よりビジネスプロセスに寄り添ったリスク分析手法です。この考え方は、複雑なビジネスプロセスを持っている、あるいは拠点間で様々な分業が行われているなど、リスクベースアプローチで対象とするような技術的リスクだけでなく、ビジネスプロセス上のリスクも含めて評価することを目的としています。特に最近では、BECのようなビジネスプロセスを悪用したような攻撃も増えていますので、こうした分析手法も徐々に注目を浴びています。

具体的な方法は、まずビジネスプロセスをまず整理します。その時には、全てのビジネスプロセスを追いかけると複雑になるため、主要なデータ(個人情報など)に注目し、その流れを追いかけることで関係のあるプロセスに着目します。そのうえで、どのような処理が行われているか、そしてどんな攻撃を受ける可能性があるかを分析していく手法です。

方法論(机上評価 vs. 実機評価)

ここまで、3種類のアプローチを紹介しましたが、これは机上評価という方法論に特化して説明してきました。ここでは、この方法が、テクニカルな方法でもこの考え方は適当できることを考えて行きます。

方法論1:机上評価

ここまで紹介した方法は、机上評価と呼ばれる方法です。この方法は、技術、プロセス、組織面から網羅性を担保して分析できる一方、ヒアリングやアンケートに基づいて行われるため、勘違いや認識齟齬、実際の技術やプロセスの実効性などについてあまり掘り下げられない可能性があります。

方法論2:実機評価

一方、実機評価と呼ばれる方法も存在します。実機評価とは、セキュリティ診断やペネトレーションテストなどを意味し、技術的観点を中心に、予防(Prevention)、検知(Detection)、対応(Response)の観点から分析を行います。技術的観点には深く分析することができる一方、マネジメント的観点、あるいはプロセス的観点についてはあまり網羅できないという特徴があります。

ベースラインアプローチに該当する実機評価は、脆弱性スキャンと呼ばれる方法です。パッチが適切にあたり、ハードニングが適切に行われている状態をベースラインとする一方、各機器が持つセキュリティレベルをチェックして、適用されていないパッチ、あるいは脆弱な設定などを洗い出し、そのギャップを分析する方法です。

また、リスクベースアプローチに該当する実機評価は、ペネトレーションテスト、あるいはRed Team Exerciseと呼ばれる方法です。つまり、実際にある目標に対する脅威を想定して、どんな攻撃パターンで目的を達成できるか、技術的な観点から監査を行います。最近金融庁などから話題になっているTIBER(Threat Intelligence Based Ethical Red Teaming)やTLPT(Threat Lead Penetration Test)などは、このシナリオ・リスクにより注目した概念だと考えられます。

最後のビジネスプロセスアプローチについては、ビジネス的観点を重視にされているため、ビジネスを知っているセキュリティ専門家でないと実施できない方法です。強いて言えば、高度なTIBER・TLPTはこれに該当すると言えますが、まだまだビジネスリスクにまで焦点を当てた実機評価は少ないでしょう。

補足:机上評価と実機評価の使い分けはどのようにすべきか?

評価軸1:取り組みやすさ

第一の評価軸として、「取り組みやすさ」が挙げられます。

机上評価の場合、自社環境を知っていればすぐに評価を行うことができ、また自社内で専門のスタッフが存在すれば、コスト負荷もなく実施することができるという点が挙げられます。そのため、取り組みやすい方法だと言えます。

また、新しい攻撃手法が出てきてもその多くは詳細なTTPs の差異であることが多いため、脅威シナリオを大幅に見直すことは少なく、多くの場合は特定のポイントを見直して終わることが一般的になるでしょう。

一方、技術評価の場合、「取り組みやすさ」という観点からは弱い部分があります。攻撃者と同じ立場で実施してもらうため、通常は外部セキュリティベンダーを活用して実施を行います。そのため、それなりにコスト負担をする必要があります。実際、金融庁の調査レポートなどでは、具体的金額が示されており、それなりの予算を確保しておく必要があります。さらに言えば、実施に際しても現行のビジネスに影響が出ないように、あるいはビジネス部門へ配慮しながら実施を行うために調整・準備コストという観点からも取り組み難易度は高いと言えます。

評価軸2:網羅性

第二の観点として、「網羅性」が挙げられます。机上評価の場合、環境全体を把握したうえで評価を行うために様々なケースを想定し、網羅的な検証を行うことができます。

一方、実機評価の場合、環境内の情報は最低限しか知らせず、公開情報をもとにTTPs に従った攻撃を行います。そのため、偶然セキュリティ運用チーム内のヒューマンエラーにより攻撃が成立する、あるいはたまたま条件がそろったために情報が奪取できたなど、結果についても個別具体的な要因に影響を受ける可能性があり、「そのヒューマンエラーがあまり起きなかった場合、あるいはそれ以外の弱い点はどこがあるのか?」といった網羅的な評価をやりきることは難しいと言えます。また、環境内の情報を最低限しか知らずに適宜調査をしながら侵入テストを行うという性質上、セキュリティ対策全体を俯瞰した上で問題点を洗い出すという側面に極めて弱く、あくまでも「侵入してきた攻撃者が時間内に調査した限りにおける弱点を洗い出す」という性質がどうしても強くなってしまうと言えます。

評価軸3:評価の信頼性

第三の観点として、「評価の信頼性」が挙げられます。ここまで、机上評価はメリットばかりが上がっていましたが、この点では机上評価は弱いと言えます。机上評価の最大の欠点は、評価者が既存のテクノロジーやプロセスを課題に評価してしまったり、各プロセスやテクノロジーが完璧に動くこと前提に評価してしまうなどの問題点が挙げられます(もちろん、その点も考慮してやるべきなのですが、そうしたテクノロジーやプロセスが適切に動かないケースはそれこそ様々な可能性があるので、ある程度想定を置いて行うしかできないでしょう)。外部のコンサルタントをいれた場合でも、基本的にこうしたプロセスの検証は限られた時間でやるため、ある程度定性的かつ包括的な評価にならざるを得ないと思います。

しかし、攻撃者はテクノロジーやプロセスの不完全性を突いて攻撃を行ってくることも多いわけですので、机上評価の結果を盲信してしまうと、思わぬ部分に課題があるというケースが考えられます。

一方、実証評価の最大の利点はこの「評価の信頼性」です。いくら机上で問題がないと評価しても実際に悪用できることを示してしまえば、非常に説得力を持って改善プロセスを動かすことができます。特に、ヒューマンエラーやプロセスの不備など、机上評価ではあらわれにくい課題が実証評価ではあらわれてきます。特に、テクノロジーの不備だけでなく、プロセス上の不備、不完全性をも悪用して検証が行われるため、実際に悪用できるのか否か、という点にシンプルな解を得られるという点です。

補足:プロセスの実効性をより深く検証する方法は?

ここまで読むと、プロセス面の実行性をより深く検証する方法はないのか?という疑問がわいてきます。部分的には存在します。

例えば、セキュア開発ライフサイクルなどの実効性を確認する場合は、当該製品のセキュリティ診断結果を見つつ、関連するドキュメントや成果物などを仔細に分析していく監査的なアプローチなどを取ることにより検証ができると言えます。

一方、例えばインシデント発生時の対応プロセスを検証するのであれば、サイバー演習と呼ばれる方法が有効でしょう。これは、実際にセキュリティインシデントが発生したと仮定して、模擬訓練を行う方法で、本来は避難訓練と同様に訓練が目的です。しかし、この方法を通じて、どのようなプロセス上の欠点があるか洗い出すことができます。例えば、金融庁や金融ISACが実施しているサイバー演習は、適宜イベントと呼ばれる状況付与を与え、それに基づいてダイナミックに対応する練習を行う手法を採用しています。こうした方法を取ることで、プロセスの実効性、メンバーへの浸透度合などを評価することができるでしょう。

セキュリティの7S

マッキンゼーの7Sとは組織マネジメントに必要な7要素を記述したコンサルタントが使う古典的なフレームワークです。この考え方を応用して、組織のセキュリティを語るときにこの7つの観点で記述するという方法があります。

tech.nikkeibp.co.jp

まとめ

リスク分析は、組織のセキュリティを客観的に評価する方法です。これを軸に、優先度や最も費用対効果がある部分を見極め、年次計画や中期計画を作ることができます。セキュリティ予算は決して潤沢にとれる組織はほとんどないので、こうしたアプローチは予算取りや優先度付けに非常に有益だと考えられます。

『インテリジェンス駆動型インシデントレスポンス』が発売されました!!+α

あけましておめでとうございます。

ご縁があり、翻訳させていただいた『インテリジェンス駆動型インシデントレスポンス』が12/26(水)に発売されました。ぜひ書店やAmazonでお買い求めください。(公開するの忘れてた...)

www.oreilly.co.jp

この本のセールスポイントとすると、以下の3つ挙げられると思います。

  1. 脅威インテリジェンスとその応用については、まだ体系的な書籍がなく日本初の書籍になること
  2. 執筆者はSANS Instituteで脅威インテリジェンスコース(FOR578)のインストラクターとコース執筆を担当している2名であること。特にRebekah BrownはNSAなどIC(Intelligence Community)などで働いていた経験を公開していること
  3. 少しとっつきづらい戦略的インテリジェンスなどについてもわかりやすく触れられていること

お勧めポイント

具体的な中身はぜひ読んでいただければと思いますが、個人的には、以下のポイントは英語版で読んだときに参考になり、翻訳したいと考えたきっかけでもあります。

ポイント1:F3EADモデルの活用

この本を英語で読んだ時に一番良いと感じた点は、F3EADというモデルを使って、インシデント対応 → インテリジェンス作成 → インシデント対応(+脅威ハンティング)という継続的なサイクルを意識して書かれている点です。

F3EADの略は以下の通りです。

  • Find:調査フェーズ
  • Fix:決定フェーズ
  • Finish:完了フェーズ
  • Exploit:活用フェーズ
  • Analyze:分析フェーズ
  • Disseminate:配布フェーズ

ポイント2:情報の収集・分析・報告について丁寧に記述されている

脅威インテリジェンスを取り扱う点で難しい点は、情報をどのように管理するか、分析するか、報告するかという点です。この本はその点で、管理方法や分析に関する考え方、あるいはペルソナという概念を使って報告主体を意識した報告方法について具体的な議論が行っています。

もちろん、この通りにやる必要はなく各組織の実態に合わせてうまく変えていけばよいと思いますが、何を報告すればよいかわからないという担当者に一つの指針を提示してくれると考えています。

更なる参考文献

脅威インテリジェンスを学ぶ上で更なる参考文献を上げたいと思います。(紹介されていないモノを中心に挙げています。)

色々挙げていますが、あえて1冊挙げればRecodedFuture社が発表しているThreat Intelligence Handbookは特に脅威インテリジェンスの具体的な活動内容がまとまっており有益です。

go.recordedfuture.com

INSA

この団体は比較的脅威インテリジェンスに関する定義などを積極的に出しておきます。考え方を整理する上で非常に役に立つと思います。

ThreatConnect社

ThreatConnect社は言わずと知れたTIP(脅威インテリジェンスプラットフォーム)で知られた会社で様々なホワイトペーパーを公開しています。

threatconnect.com

個人的には、以下のホワイトペーパーが参考になりました。

  • Threat Intelligence Platforms: Open Source vs. Commercial
  • Building a Threat Intelligence Program
  • Maturing a Threat Intelligence Program

SANS

SANSも様々なリソースを公開しています。大きく参考になるプレゼンテーションは大きく二つあります。

一つは、Summit ArchivesでこれはCyber Threat Intelligence Summitなどのプレゼンテーションを見ることができます。例えば、Diamond Modelについて説明した『THE DIAMOND MODEL FOR INTRUSION ANALYSIS: A PRIMER』などもここに公開されています。

www.sans.org

もう一つのリソースは、SANS Reading Roomです。ここでは、様々なWhite Paperが公開されていますが、特に「Analyst Paper」カテゴリーは良いものが多いと思います。脅威インテリジェンスに関係するカテゴリーとすると、「Active Defense」、「Threat Hunting」、「Threat Intelligence」、「Threats/Vulnerabilities」などのカテゴリーが該当するかと思います。

  • Threat Intelligence: What It Is, and How to Use It Effectively
  • The Sliding Scale of Cyber Security
  • Generating Hypotheses Successful Threat Hunting
  • The Who, What, Where, When, Why and How of Effective Threat Hunting
  • Scalable Methods for Conducting Cyber Threat Hunt Operations

www.sans.org

Sqrrl + Threat Hunting

Sqrrl社はThreat Huntingで有名な会社で現在はAmazonに買収されています。Threat Huntingは直接関係ないですが、脅威インテリジェンスを使って活動するという点において知っておくべき概念だと思います。残念ながら、Amazonに買収されたことにより、Threat Hunting Academyなどは閉鎖されてしまいましたが、今でも有効なリソースは存在します。

その他、Threat Hunting系は以下が参考リストになるのではないかと思います。

その他

その他、以下のホワイトペーパーは一読の価値があると思います。

まとめ

脅威インテリジェンスの活用は今後あたりまえになってくる分野の一つだと思いますのでぜひご活用ください。

*1:iSightPartnersから出版された書籍ですが、FireEye社に買収されてしまい、HPからダウンロードできなくなっています。リンク先からダウンロードできますが正規のDLサイトではないので、自己責任でお願いします。

*2:正規のDLサイトが削除されており、リンク先を張っておきますが自己責任でお願いします

Internet Week 2018で講演してきました!!

先日開催された、Intenet Week 2018の「D2-3 知れば組織が強くなる!ペネトレーションテストで分かったセキュリティ対策の抜け穴」のセッションで機会をいただき、講演をしてきました。

 スライドは以下で公開しましたので、よろしければご参照ください。

www.slideshare.net

追加:NRIセキュアのブログにも掲載

NRIセキュアのブログにも掲載されました。よろしければ、併せてごらんください。

www.secure-sketch.com

US-CERTの「Publicly Available Tools Seen in Cyber Incidents Worldwide」を翻訳してみた!!

先日、US-CERTからサイバー犯罪に利用される公開ツールに関するアナウンスが出されました。

Publicly Available Tools Seen in Cyber Incidents Worldwide | US-CERT

ITMediaにも取り上げられていますが、比較的面白い記事だったので勝手に翻訳してみました。(アメリカ合衆国政府機関の著作物はパブリックドメインとして扱われるので翻訳して公開しても問題ないと判断しています。間違っていたら教えてください。)

www.itmedia.co.jp

利用に際する注意事項は以下の通りです。

  • 翻訳上の誤りは多々あると思いますが、自己責任でご活用ください。
  • 記事の意図を反映するため、意訳をしているケースが多々ありますし、省略したり追加で言葉を添えている場合があります。
  • いまいち意図がわからない文章もあったので、その場合は推測で訳をしている場合があります。

翻訳:世界のサイバーインシデントで利用される公開ツール

翻訳をGitHubへ移動しました。(翻訳の一覧はコチラ!!)

scientia-security.github.io


ドメイン保護手法に関する整理

ドメインは、企業ブランドを守る上で非常に重要な情報資産です。有名な企業のドメインを乗っ取ることができればフィッシング攻撃などへの悪用は非常にやりやすくなります。

今回は、ドメイン保護手法について、予防・検知・対応の観点から整理をしていきましょう。(参考: ドメイン名のライフサイクルマネージメント

予防の観点から

まずは、予防の観点から議論をしましょう。

基本戦略

ドメイン保護手法の基本戦略は、基本的に以下の通りです。

自社のブランディングに影響するドメインは取得しておき、他人に取得されないようにする。

以下の記事によれば、Appleなどは240近いドメインを取得しているそうですし、こうしたドメイン管理はブランディング維持の上で重要な役割となります。

domain-girls.guide

とはいえ、該当する可能性があるドメインを全て登録することは現実的ではありません。完璧ではないですが、以下の仕組みで部分的には対応ができるでしょう。

TMCH(商標保護プログラム)

TMCH(商標保護プログラム・TrademarkClearinghouse)に登録して、他社が登録することを防ぐという方法があるそうです。具体的には、商標として登録しておくと、新しいgTLDが出た際に優先的に登録することができるというものです。また、第三者が申請に来た場合、商標保有者に通知してくれるという仕組みです。(Trademark Clearinghouse - Wikipedia

ムームードメインの説明がわかりやすいために以下に記載しておきます。

muumuu-domain.com

他にも、Donuts社などで提供しているDPML(Domain Protect Marketing List)というサービスがあるそうです。

ドロップキャッチ攻撃への対策

既に取得したドメインがある場合、ドロップキャッチ(Drop Catch)と呼ばれる悪用手法が存在します。これは、有効期限が切れ、誰でも購入できるようになったドメインについて、購入して悪用する手口です。過去良いレピュテーションを持っている場合、フィッシングなどに悪用しやすいため、この手口はたびたび悪用されています。

ドロップキャッチを防ぐためには、基本はドメインの永代供養を基本とします。逆に言えば、使い捨て感覚でドメインを取得することはあまり推奨できません。(日本

日本DNSオペレーターズグループのページに面白い画像があります)

検知の観点から

次に検知の観点から見ると、攻撃者がいつドメインを取得したのか検知できるようにする必要があります。思いつく限り、2つの手法が考えられます。

TMCH(商標保護プログラム)による検知

TMCH(商標保護プログラム)を利用している場合、この登録を軸にアラートを挙げるようにする方法があります。

ツールによる検知

最近では、ツールを利用して、変な登録がないか検知する方法も考えられます。

  • 例1)RiskIQなどの棚卸製品ベースで検知を行う場合
  • 例2)TIP(Threat Intel Platform)を利用して検知を行う場合
  • 例3)DomainTools PhishEyeなどを利用する。

個人的には、Domain Toolsを活用した方法が有益ではないかと考えています。

Domain Toolsとは、DNSレコードを記録しているデータベースで、過去の登録情報などを追いかけることができます。そのため、Domain Tools Irisという主力製品は、Threat Intelligenceの調査などによく使われます。例えば、あるC2通信に使われていたドメインがどのIPに過去紐づいていたか、どんな登録情報を持っていたかを調査するために使われます。

最近では、当該データベースを活用して、Phishyなドメインを探すというDomain Tools PhishEyeというサービスを始めています。こうしたツールは、検知の観点から非常に有益なのではないかと考えています。

対応の観点から

対応の観点では、既に誰かに奪取されたドメインを取り換えすという作業がメインになります。おれは、レジストラなどと協力して行う対応方法ですが、有効な手段として 二種類の方法があることを知っておくことが重要だと思います。

ドメインを取り戻す手法(UDRP)

UDRP(Uniform Domain Name Resolution Policy)と呼ばれる方法で、ドメインを実際に取り戻す方法です。但し、ある程度時間がかかるため、あくまでも積極的に取りたい手段ではないかと思います。なお、JPCERT自らドメイン名紛争処理をした時の内容がブログに乗っているため、参考として読まれると良いかと思います。

ドメインを停止させる(URS)

URS(Uniform Rapid Suspension)と呼ばれ、ドメインを一時停止する機能です。

JPNICの記事では、以下のように説明されています。

インターネット用語1分解説~Uniform Rapid Suspension (URS)とは~ - JPNIC

申請受領後の事務的なチェックが済み次第、 24時間以内にドメイン名の登録内容がロックされ、 ドメイン名の移転やレジストラ変更等ができない状態になります。 その後、裁定で申請者の主張が認められれば、当該ドメイン名の利用が差し止められ、 そのドメイン名を持つWebサイトなどにアクセスしても、 利用差し止め中である旨を表示する紛争処理機関のWebサイトにリダイレクトされるようになります。

 まとめ

予防・検知・対応の枠組みで考えると、万が一変なドメインを取られても取り返すことは可能だと思われますが、まずは適切な予防策を取ることが非常に重要だと思われます。

また、上記以外にも保険的対策として考えらえる方法はいくつか挙げられます。但し、実際に使ったことがある方法ばかりではないので、対策の検討案の参考としてご検討いただければと思います。

  • 検索エンジン会社に申請して、検索エンジンに引っかからない、あるいは Safe Browsingなどに登録してもらうように働きかける。
  • ブラックリストエンジンなどに登録する。(例えば、https://www.phishtank.com/など)
  • EV-SSL証明書を使って、サイトの真正性を証明し、それ以外については自社でないことを宣言する。
  • サービスで利用しているドメイン名リストを公開する。