SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

SB C&S

FortiEDR 前編(検出・調査)

セキュリティ
2023.03.30

今回はFortiEDRを検証する機会があったため、機能の概要とインシデントの調査手順や検出後の対応方法を記載していきます。
当記事では主にインシデントの調査や分析に焦点を当てて、セキュリティイベントの表示方法や分析画面の見方を説明しています。
インシデントへの対応(レスポンス)や自動化機能については後編で記載します。

初めにFortiEDRの製品概要について触れておきます。

○FortiEDR 概要

国内のNGFW市場にて大きなシェアを持つFortinet社のEDRプロダクトです。
FortiEDRはエンドポイント保護の観点における、攻撃者による侵入前の防御機能であるEPPと、侵入後の脅威の検出、無効化、対応と調査から復旧までを行うEDR機能の両方を備えています。
侵入前防御のEPPはNGAVによってカーネルレベルで動作するため、一般的なEPP製品と遜色ない性能をもっています。
さらに侵入後のEDR部分に関しては、検知・調査画面の提供や端末の隔離・修復がなどの一連のフローを自動化する機能も搭載しています。
このようにFortiEDRでは攻撃者による一連の攻撃手法に対して防御・検知・対応を実現するために必要となる機能を提供しています。

またFortiEDRの導入に際してクラウドモデル、オンプレモデルどちらにも対応しているため、ユーザーの環境に合った方法でデバイスを保護することができます。

以下から実際の設定やインシデントの見方を説明していきます。

○FortiEDR 検出・調査

・コレクター

FortiEDRではコレクターというエージェントソフトをエンドポイントにダウンロードしてデバイスを管理します。
コレクターは非常に軽量なエージェントで、他社EDR製品と比べても必要となる最小動作要件が低いです。
これはFortiEDRではシグネチャレスで検知を行うため、コレクターにシグネチャ持たせる必要がないからです。
コレクターは組織に環境や要件に合わせてグループごとにまとめて、これくらーグループとして管理を行います。

・ポリシー設定

最初に脅威の検出のためのセキュリティプロファイルの設定を見ていきます。
FortiEDRは端末上の脅威の検知・防御をポリシーベースで行います。
ポリシーを各コレクターグループに割り当てることにより、各ポリシーに違反する脅威に対してアクションを適用します。

デフォルトで複数のセキュリティポリシーが用意されており、管理者はこれらのポリシーを利用するか、ポリシーをコピーし編集することで自社のセキュリティ要件にあったカスタムポリシーを作成します。
それぞれのポリシー内にはルールがあり、デバイス内でルールに抵触する動作が検知された際のアクションとして、ブロックまたはログ取得のみを設定できます

FE01.png

FortiEDRで用意されているポリシーの簡単な内容を以下にまとめます。
利用できるポリシーはライセンスによって異なります。

  • Execution Prevention:悪意のあるファイルまたは疑わしいファイルを検知・ブロックするポリシーです。分析結果に基づいて決定される重大度によってファイルの実行をブロックするか判断します。
  • Exfiltration Prevention:監視端末上で悪意のある接続要求が発生した場合に不審な通信を検知・ブロックするポリシーです。
    いくつかのルールはExecution Preventionと同様のルールが設定できますが、それらに加えて重要なシステム譲歩上のアクセスや不審なスクリプトの実行を防止するルールが定義されている点が特徴です。
  • Ransomware Prevention:ユーザーが重要なシステムすることを妨害するマルウェア(ランサムウェア)を検出・ブロックスするポリシーです。攻撃者によるデータの書き換えやファイル暗号化によるアクセスロック状態を防止することが可能です。
  • Device Control:SSDなどのUSBストレージのようなUSBデバイスの接続を検知して制御するポリシーです。
    USBデバイスの検出はデバイスのタイプを基準に判断します。(オーディオ、ハブ、プリンター等)
  • eXtended Detection Policy:エンドポイントのみではなく複数のセキュリティシステムからデータを収集、可視化を行い不審なアクティビティを検知するポリシーです。
    特徴としてこのポリシーで検知されたイベントはブロックはできず・フォレンジック機能での分析はできません。
  • Application Control:ユーザーが定義したアプリケーション定義に従い、アプリケーションの実行をブロックするポリシーです。
    許可・ブロックするアプリケーションリストの管理はApplication Control Managerで行います。

FortiEDRではコレクターグループに複数のポリシーを割り当てることが可能です。
例えば上記でご紹介したデフォルトで用意されているすべてのポリシーを同時に設定できます。
複数のポリシーを割り当てる際に同じセキュリティイベントが重複して作成されてしまうことが懸念されますが、FortiEDRでは複数のポリシーでイベント生成がトリガーされると最もアラートの内容に則したポリシーにて検知が行われます。
具体的には、悪意あるファイルが実行された場合はExecution Preventionでトリガーし、ファイルをロックしたりデータを暗号化する場合はRansomware Preventionがトリガーされるなど優先順位が決まっています。

一般的にEDRのような製品ではどのようなポリシーを割り当てるべきかをユーザー自身で考え判断することは難しいです。
ですがFortiEDRでは事前に用意されたポリシーで基本的なセキュリティは確保することができます。
例えば既存のNGAVのようなセキュリティで動作させたい場合はExecution Preventionを割り当て、攻撃を受けた後に環境内での被害の波及を防ぐためにはExfiltration Preventionを割り当てることで容易に脅威対策を実現できます。

・イベントビューアー

FortiEDRが検出したインシデントはこのイベントビューアーにセキュリティイベントとして生成されます。
管理者は初めにイベントビューアーを確認することで脅威の概要を把握することに役立てます。
セキュリティイベントは脅威が検知されたプロセスごと表示するか、あるいは検出されたデバイスごとに表示するか選択できます。

以下ではデバイスごとのセキュリティイベントの表示をベースにどのような情報が見れるか確認していきます。
EVENTSではセキュリティイベントのIDや分類、セキュリティイベントが検出されたプロセス名、最初の検出日時と更新のあった日時などが確認できます。

FE03.png

EVENTSでセキュリティイベントを選択すると脅威の概要を確認できるCLASSIFICATION DETAILSが表示されます。
ここでは脅威の名称やタイプ、またFortiEDRが脅威を分類してから更新した履歴を確認できます。

FE04.png

またこのセキュリティイベントがトリガーされたポリシー名とルール名、そして該当するMITERの戦術やTIDを参照できます。
推奨される修復方法が存在する場合は手順が赤字で追記されています。

FE05.png

ADVANCED DATAのEvent Graphではセキュリティイベントが発生するまでのプロセスツリー、そしてFortiEDR実行したアクションが表示されます。
Automated Analysisではセキュリティイベントの分類の推移とその理由、そして検出されたファイル情報やメモリ、ネットワーク情報が確認できます。

FE06.png

以上が管理者がイベントビューアーで確認できるイベント情報です。
これらの情報を参考に管理者は発生したインシデントの概要を把握します。

また以下ではセキュリティイベントのカテゴリについて記載します。
生成されたセキュリティイベントはFortiEDRによって以下の7つのカテゴリに分類されます。

  • MLICIOUS:悪意のある機能、完成したデバイスに損害を与える、業務上で実行される用途ではない場合に分類されるイベント
  • SUSPICIOUS:マルウェアの可能性が高いが、既出の検出済みマルウェアではない場合のイベント
  • PUP:悪意ある目的で使用される可能性のあるソフトウェア、またはプログラムによって発生するイベント
  • INCONCLUSIVE:悪意ある動作か判断するためにさらに調査が必要なイベント
  • LIKELY SAFE:おそらく安全である可能性が高いイベント
  • SAFE:使用を許可されたソフトウェアによって発生するイベント

この分類は一度FortiEDRで決定された後、FortiEDR Cloud Service(FCS)で追加の分析が行われるため、初回の分類から変更される可能性があります。

・フォレンジック

上記のイベントビューアーからさらに掘り下げてインシデントを調査する際にはフォレンジック機能を利用します。
フォレンジック機能では感染したデバイスとアプリケーションの詳細、攻撃者が違反したプロセスと実行された違反の種類を含む証拠パスなどが確認できます。
また攻撃確立までのプロセスをスタックという形でツリー状にまとめており、各スタックごとに実行されたコマンドを確認できるため、どのタイミングでポリシー違反となるコマンドが実行されたかを把握できます。

実際にイベントのフォレンジックを行う際の見方を説明します。
フォレンジックは対象のイベントを選択して指紋マークのアイコンをクリックすることで実行できます。

FE07.png

スタックはプロセスの順番ごとに表示され、赤い点がポリシー違反が検出されたスタックになります。

FE08.png

スタックをクリックすると、画面下部に対象スタックのプロセスやコマンドライン等の詳細情報が確認できます。
また下部のエントリにはFortiEDRがデータ収集した際に、スタック内に常駐していた.exeや.dllなどの実行可能ファイルが表示されています。
エントリ内で赤い点がついているファイルがセキュリティイベントをトリガーした実行ファイルになります。

FE09.png

調査の際はこれらのファイルの詳細情報を開いたり、VirusTotalでハッシュを確認して既存のマルウェアファイルか確認します。

FE10.png

管理者はこれらのフォレンジックの情報を確認することで、どの親プロセスからコマンドが送られてきたか、どのようなコマンドが実行されたか調査が可能です。
各プロセスで動作していたファイルやコマンドを認識することで、イベントビューアーよりも詳細に攻撃の手法を分析できます。

・脅威ハンティング

FortiEDRでは脅威ハンティングという機能を利用することで、監視環境内の非脅威ログを含むあらゆるアクティビティログから攻撃の痕跡を検出が可能です。
この機能を使うとイベントビューアーやフォレンジックでは確認できなかった、プロセスやファイルやネットワーク、レジストリの情報を探索し能動的に環境内の脅威情報を調査・分析できます。

脅威ハンティングの機能を利用するには事前にコレクションプロファイルを設定する必要があります。
デフォルトのコレクションプロファイルでは必要最小限のアクティビティログしか記録しません。
これはログの保存できる容量には制限があり、全てのアクティビティログを取得すると膨大なログ量になってしまい古いログが削除されてしまうためです。
容量は追加することが可能ですが、不要なログの収集を削減するためにカスタムプロファイルを作成することができます。

FE11.png

フォレンジックでスタックを選択すると詳細にProcess IDとアイコンが表示されます。
アイコンをクリックすると選択したプロセスに関連するアクティビティログが確認できます。

FE12.png

アクティビティログで不審な動作を検出した場合、ログ上にFilelessやReconnaissance、ScriptingなどFrotiEDRが判定した振る舞いが表示されます。
またMITERのアイコンをクリックするとテクニックIDが表示されるため、攻撃者により実行された攻撃の手法を把握し対策をとることができます。

まとめ

以上がFortiEDRでのインシデントの検出・調査の手法でした。
イベントビューアでセキュリティイベントの概要を把握→フォレンジックでインシデント判定されたファイルやプロセスを確認→脅威ハンティングで特定のプロセスごとに詳細を紐解くといった順番でインシデントの内容を調査・分析できました。
攻撃者の攻撃手法についてもFortiEDRの持つ脅威情報と第三者機関であるMITERの情報も併せて確認できるため、環境の被害状況を把握するための調査の参考になります。

後編ではインシデント検出後の対応(レスポンス)の機能についてご紹介していきます。

資料ダウンロード

著者紹介

SB C&S株式会社
ICT事業本部 ICT事業戦略・技術本部 技術統括部 第3技術部 3課

渡邊 理史