こんにちは。NFLabs.のDefensive Teamです。
本記事では、我々のチームが行っている脅威情報収集および分析活動の一部を紹介します。 ただし、マルウェア解析・ログ分析といった技術的な内容やダークでディープなサイト紹介といった専門的な話題までは扱いません。
本記事のテーマとしては「脅威インテリジェンスを専門としていないようなエンジニアでも簡単に To Do に落とし込めて、尚且つ現場の人でも知見が得られるもの」に設定し、なるべく誰でも意味がわかる内容で書いていこうという趣旨です。
本記事は二部構成を予定しており、第一部を"脅威インテリジェンスとは何か?"といった導入部(本記事)、第二部を具体的なツールやサービス紹介といった実践部として紹介します。
本内容を通して、少しでも NFLabs. の Defensive Team が行っている活動が参考になれば幸いです。どうぞよろしくお願いします。
What is Cyber Threat Intelligence
Cyber Threat Intelligence (以降、CTI)は日本語読みだとサイバー脅威インテリジェンス
と言ったりします。
なんと脅威しか日本語になっていないですね。
カタカナ語でできているってことはそれだけ定義がふわっとしていて、
語彙を知っている人が説明を求められても一言で「これだ!!」と表現することは難しいのではないかと思います。
これを見ている人の中では、Wikipedia で CTI のページを検索して 『「掴みどころのない」概念である』という何の説明にもなっていないような文字列が飛び込んできて絶望した人もいるのではないでしょうか? => Wikipedia のサイバー脅威インテリジェンスの項目
これだけだと理解が厳しいので、他社で使用している言葉の定義を借りることにします。 サイバー脅威インテリジェンスについては様々な企業が各々の言葉で説明をしていますが、FireEye さんの定義 が一番わかりやすいのではないかと思います。
FireEyeでは「サイバー脅威インテリジェンス」を、攻撃者に関するエビデンスベースの知識と定義しています。 攻撃者の動機、意図、能力、対応環境、オペレーションを含み、単独のイベント、一連のイベント、トレンドに注目し、 防御側の意思決定に役立つ情報を提供します。*1
多少の誤解を覚悟でなるべくわかりやすい表現にすると、サイバー脅威インテリジェンスとは
『インターネットから攻撃の動向・オペレーションといった自組織を脅かすであろう情報を収集し、
その情報を元に防御力向上(意思決定
)に役立つ形式として組織に提供すること』って感じですかね。
Recorded Futureさんも同じような形で定義しているので、組織ごとに多少表現の揺れがあったとしても大きくズレていることはない表現だと思います。
ただし、これでもまだ言葉が抽象的で「具体的にどんなことをすればいいのか?」という疑問が生まれた人が多いと思います。 本来ならば「こういうことをしよう」と明記した方がわかりやすいのですが、 CTI は組織ごとに形態・目的が異なるので一概に「こんなことをする」とはまとめにくいです。 ですので、私が所属しているチームと組織の観点から紹介すると、我々は普段 CTI としてこのような活動を行っています。
- 流行しているばらまき型のマルウェアをいち早く観測し、検知・ブロックするための仕組みを導入する
- 標的型攻撃・インシデントが発生した場合に、攻撃者の残した痕跡を集めて攻撃元組織を調査する
- インテリジェンスを蓄積し、組織が欲しいタイミングでその情報にアクセスできるような仕組みを作る
などなど、他にもたくさんありますが、我々の組織における CTI への取り組みは、
- いかにして自組織に関連する情報を収集してくるか(情報源を知らないとそもそもインテリジェンスにならない)
- 蓄積したインテリジェンスに対してどうアクセスするか(誰かがインテリジェンスを蓄積しても、必要なときにその情報にアクセスできないと役に立たない)
の2つが焦点になっていると思います。
しかし、2の重要性は主に組織レベルでインテリジェンスをするときであって、個人の趣味でやる範囲だと知りたいことは1の内容が中心になると思います。 ですので、今回は1の「どこから情報とってくると良さげですか」ってことをメインで話します。
それでは、CTI の世界へ。。。
個人ではなく組織レベルで CTI を始めたいという方向けの話
少しだけ固い話をします。見たくない人はスルーしてください。 今回は趣味レベルの話なので詳細までは書かないのですが、 組織で CTI をする場合は「自組織にとって何がインテリジェンスとなるのか」をきちんとチームや意思決定者と議論して認識合わせをしてから始めた方が良いです。 理由は2点あります。
- インテリジェンスという言葉がふわっとしすぎていて、まとめてきた情報が何を以ってインテリジェンスと呼べるものになるのか、個々人のレベルで解釈が異なるため
- 始めたばかりの頃は思うようにワークしないので、きちんと活用できる"インテリジェンス"にするまでのプロセスを検討した方が良いため
なぜ事前にこのような話をしたかというと、CTI の業務を言葉通りの「ふわっとした状態」で始めると、あまり機能しないチームになりがちだからです。 いわゆる、「俺たちは雰囲気でサイバー脅威インテリジェンスをやっている」状態です。 このようになってしまう理由は様々あると思うのですが、代表的なものとして
- 経営層(やクライアント)が脅威インテリジェンスに求めるものと、実際の役割が食い違っている
- 脅威インテリジェンスチームが組織の本当に守るべきものや脅威となりうるものを認識できていない
- 脅威を分析する際の基準が明確になっていないため、外の情報を組織のインテリジェンスへ昇華する際に正確な評価ができない
などの理由が挙げられると思います。我々のチームも最初はこれらの課題で躓きました。
特に経営層との食い違いについては 『CTIの非対称性に関わる話』 としてNeutral8✗9eRさんがかつてBlogで紹介されています。 全ての脅威インテリジェンス分析者にとって参考になる記事だと思います。 多くの場合、サイバー攻撃に関して経営者側が最も欲する情報は「攻撃者は誰か」という攻撃者の”帰属”の視点になりがちです。 (これは経営者への批判というわけではないですが、どうしてもHowに対する部分を詳細にマトリクス化しても全てを理解できるわけではないため、 結局議論や理解がしやすい「どこからやられたんだ」に話が行きがちになります。)
確かに攻撃者の帰属を追い求める行為は経営者の意向に沿うことになるのですが、攻撃者側から名乗ってでもくれない限り、 一組織に所属する脅威インテリジェンス分析者の力だけで攻撃者を名指しすることは難しいです。 良かれと思って経営層が求めるものをそのまま達成しようとするとお互いに不幸になります。
CTI の形態は組織によって異なるとは書きましたが、往々にしてCTI チームに求められる役割には「外部から得た脅威情報から自組織のリスクを正しく評価し、意思決定者に適切に伝えることで自組織がより堅牢になるように働きかけること」というものが含まれると思います。 そのため、”攻撃者の帰属特定”といった本来の役割から逸れた内容に固執すると、堅実に業務をしていれば防げた脅威を防げなかったり、他社のインテリジェンスを自組織の帰属特定のための材料として無理やりこじつけるといった本末転倒な事態になってしまいます。 CTI 業務の走り始めはきちんと守るべきものと脅威の認識を組織で合わせることで、インテリジェンスが本当に達成したいことからズレないようにしておきましょう。
「何を以ってインテリジェンスとするか」を自分たちだけで想像することは難しいと思うので、 SANS が提供しているThe Sliding Scale of Cyber Security*2あたりを参考にしてください。 使い古された図とともに、「インテリジェンスは収集されたデータを整理・加工して、 分析・評価を加えたものであると定義されています。」という「言うは易く行うは難し」な文字列が並んでいます。
また、The Sliding Scale of Cyber Security にはインテリジェンスをワークさせるプロセスとして、 「要求→収集→評価→分析→配布」というこれまた「言うは易く行うは難し」な事例も載っています。
これらの資料を読んだだけで「これでやっていこう!!」と舵を取れるスーパーハカーはそう多くはいないと思うので、 資料を元に自組織の脅威は何か、求める情報は何かなどを整理してくと駆け出しとはいいのかもしれません。
また、良いインテリジェンスについては Effective Threat Intelligence: Building and Running an Intel Team for Your Organization などでも紹介されているので、 最初のうちのインテリジェンスを評価する指標としては十分でしょう。 一般的には、以下の3つを満たすものが良いインテリジェンスとされています。
- Actionable : 実行可能性 (インテリジェンスの受け取り手が、次に何をすればいいかのアクションを即座に取れる)
- Certainty : 確度 (インテリジェンスが確かな情報源から得られたかなど、データの信頼度がわかるようにする)
- Timing : タイミング (情報の受け取り手が欲しい時期にインテリジェンスを生成する)
このあたりの内容を詳細に知りたい人は、 石川 朝久さんの書いたCTIの記事『Cyber Threat Intelligenceとは何か?』を参考にしてください。
特に、組織でサイバー脅威インテリジェンス業務を始めるような場合だと多少予算があるので『〇〇さんのインテリジェンスサービスみんな良いって言っているし買ってみるか!!』となって導入してみたはいいものの、あんまり自組織に深く関わる情報がないなんてことが最初のうちはあったりするんじゃないかなと思います。とりあえず提供されるシグネチャだけ更新して満足しているとか、提供されるレポートをさらにまとめて上層部のレポートとして提出するけどあまり意思決定の役に立たなそうとかそのような肌感です。走り始めたはいいけれども自分たちが何をしたいかがわからなくなった場合は、この辺りの基本に戻ってこれるといいのではないかと思います。
CTIを始める前の下準備
ここから個人レベルでできる脅威情報収集について書いていこうと思うのですが、事前準備として以下の2つだけは用意しておくことをオススメします。
理由は単純で、操作ミスなどをした際に我々個人の情報が漏洩することを防止するためです。 個人でやる CTI なので攻撃者のインフラに直接乗り込んだりマルウェアを実行したりすることはないのですが、 調査中にホスト名を誤ってアクセスしてしまったり、マルウェアを手元に落としてきてしまったりするヒヤリハットは度々発生します。 そのため、専用の環境を一つ用意し、自宅以外の ISP 環境から作業をした方が安全で好ましいです。 もし「仮想環境なんて持ってないよ!!」という人は、VMWare Workstation の試用版を使いましょう。 Windows か Linux、お好みのイメージで運用してください。これで1ヶ月続けられたら才能があるので是非とも製品版を会社に買ってもらいましょう。 一応参考程度に筆者の環境も載せます。
筆者は主に、FireEye の Flare Team が提供している Threat Pursuit VM を使っています。 昔は同じく Flare Team が提供していた Flare VM を利用していたのですが、 マルウェア解析をしないならば Threat Pursuit の方がインストールされているツールが適していると思います。
Threat Pursuit VM のいいところは、調査用のツールとインテリジェンスの蓄積用環境の両方が用意されているところです。 具体例を挙げると、以下のようなものです。
- Maltego
- Jupyter Notebook
- Elasticsearch
- MISP
これらのツールが、Windows 10 にインストーラーを入れて実行 => 5時間くらい放置していれば使えるようになります。 インストーラーは GitHub に公開されているので、これから CTI を始める方にはオススメします。
https://github.com/fireeye/ThreatPursuit-VM
また、チームメンバーによっては、SANS が提供している REMnux をメインで利用している方もいます。 こちらも、基本的な解析・分析ツールが導入されているので便利です。
これらの環境については各個人で流派やこだわりが違ってくると思うので、試してみて一番使いやすいものを選んでいただければと思います。『調査する環境とホスト環境を切り離しておくこと』さえ守れていれば問題ありません。
最後に VPN についてですが、筆者は Proton VPN を利用しています。 理由は、VPN 事業者として中立であることを公言していて、プライバシー保護面で信頼できるからです。 あと、デザインがかっこいいから。
無料だと3ヵ国までしか出口を変更できないといった制約もありますが、 それでも GUI から簡単に IP 変えられるし通信速度もそこまで遅くないので機能面としては十分すぎます。 また、「VPN だけじゃなくて Tor も中継させたい」という人も月額課金をすれば実現できるようになるので、VPN だけでは心配な方にもオススメできます。
無料使用する場合も、メールアドレスさえあれば気軽に利用できるようになるため導入が簡単です。まだ VPN を使ったことがない人は、是非検討してみてください。
まとめ
本稿では、サイバー脅威インテリジェンスを始めるための導入編ということで、『サイバー脅威インテリジェンス』といったカタカナ語の意味や環境構築回りについてお話ししました。 次回は、サイバー脅威情報を収集するための具体的なサービスやプラットフォームについてお話したいと思います。
*1:MANDIAN: 『脅威インテリジェンスとは』, https://www.fireeye.jp/mandiant/threat-intelligence/what-is-cyber-threat-intelligence.html
*2:『The Sliding Scale of Cyber Security』(2015), SANS, https://www.sans.org/white-papers/36240/