MDEのインシデントをSentinelから調査する

皆さんこんにちは。国井です。
私はトレーニングの中でMDEを利用したインシデント調査の方法をよくご紹介しているのですが、必ずと言ってよいほどMDEで記録されたログの保存期間の話になります。
MDEのログは180日間保存しますが、Advanced Huntingの目的には30日前までのものしか利用できないという不便さがあります。そうすると決まって30日以上前のログを参照したければMicrosoft Sentinelにログを転送して調査できるようにしておいてください、という話をセットでするわけです。

しかし、Microsoft Sentinelにログを転送してしまうとMDEとは違ったUIで調査をしなければならなくなります。そこで今回は「ひと目でわかるMicrosoft Defender for Endpoint」書籍でも取り上げたサンプルマルウェアである[ドキュメントがバックドアをドロップする]のマルウェアを実行したときのログがどのようにSentinelから見えるか?調査に利用できるか?を紹介します。
(サンプルマルウェアは https://security.microsoft.com から エンドポイント > チュートリアル&シミュレーション からどうぞ)

image

インシデントとアラートの概要

Microsoft SentinelでMicrosoft Defender for Endpointのデータコネクタを接続している場合、MDEのインシデントとアラートはそのままSentinelに取り込まれます。そのため、Sentinel画面の[インシデント]メニューをクリックすれば、MDE時代のインシデントを参照でき

image

インシデントをクリックすればインシデントの詳細が右画面で確認できます。
MDEでインシデント画面を開いたときに[証拠]タブをクリックすると様々なエンティティ(ファイルとかレジストリとかプロセスとかのことです)が表示されたと思いますが、同じ情報は下の画面の[エンティティ]で参照できます。

image

MDEではインシデントが出現したらその対応を自動的に開始していましたが、Sentinelでは勝手に処理をしてくれるわけではありません。自動で行いたい処理などあれば、あらかじめLogic Appsでプレイブックを作成しておき、この画面からプレイブックを呼び出すような運用が必要になります。(とはいえMDEのように発生したインシデント種類に応じたプレイブックなど自分で事前に用意することなどできないので、できることとしてはメールを管理者に送る、インシデントチケットを発行する、程度のことです)

image

詳細画面から[すべての詳細を表示]-[調査]をクリックするとインシデントのもう少し詳細な画面が出てきます。真ん中の列に表示されるのがアラート一覧で、MDEに表示していたアラートと同じものが表示されます。

image

縦に4列で表示されている内容のうち、一番左側がインシデント全体の概要情報です。ここでの注目ポイントはMITRE ATT&CKのTTPが出力される点です。これを見ることで具体的にどのような攻撃が行われたかを把握するのに役立てることができます。
以前の投稿でも書いたスケジュールタスクが登録された旨が確認できますね。

image

縦に4列で表示されている内容のうち、左から2番目の列がアラート一覧です。各アラートはクリックすると右側に吹き出しが表示されてアラートの詳細な内容が確認できます。MDEだと[アラートのストーリー]を利用してどのようなプロセスから新しいプロセスが生成したか?などが確認できたと思います。
一方、Sentinelではご覧のようにアラートに絡むプロセス等はエンティティで確認できるものの相関関係は(ここでは)まったくわかりません。

image

縦に4列で表示されている内容のうち、左から3番目の列がエンティティの一覧です。
アラートをクリックして表示されるエンティティはアラート内のものであるのに対して[エンティティ]列の一覧はすべてのアラートで共通のエンティティです。

image

上の画面はまだマシなのですが、エンティティ列にはファイルが記載されることがあり、ファイルの種類によってはファイル名ではなくハッシュ値で表示される場合があるため(MS純正実行プログラム以外すべてっぽい)、ファイル名がわからないという苦しみを味わいます。確かにインシデント調査をするときにファイル名ではなくハッシュ値で追跡すべきだというのはわかるのですが、ファイル名がまったくわからないのはツライ..

image

最後に一番右側の列ではインシデントに絡むユーザーがWindowsにサインインした回数や、Azure ADのサインイン情報が確認できます。MDEにも同じような機能があるけど、こちらはMDEより洗練されててわかりやすいです。ただ、この情報はデバイスのイベントログから取得した情報をベースにしているので、SecurityEventを取得するようにデータコネクタを設定していないと何も見えません。

UEBA Insightsという領域ではAzure ADのサインイン情報が見えるのですが、Azure ADユーザーでのアクティビティベースで追跡するため、Azure AD参加ではないデバイスだったり、そもそもAzure ADへのサインインを必要としない環境でのインシデントだったりすると必要な情報は何も取ってこれません。

image

アラートの調査

MDEにあった[アラートのストーリー]的な調査画面が欲しい場合、似ているかわからないけど
詳細画面の左下にある[調査]ボタンをクリックするとグラフビューでそれぞれのエンティティの相関関係を参照できます。
ただ全体像が見えることがうれしいとは限りません。

image

そこで特定のエンティティに注目して調査していくスタイルがSentinelには求められるのだと思います。
などと話をしていたら、なんと右端に[タイムライン]という項目があるじゃないですか!
早速クリックして特定のアラート(画面下の青い部分)をクリックしてみると、タイムライン項目が拡大して事象が時系列で並んでいることがわかります。MDEの[アラートのストーリー]のような相関関係を表すものではないけど概要は把握できるかと思います。

image

続いて[情報]項目。調査ウィンドウで今回はアラートを選択しているので、[情報]項目ではアラートの詳細情報が出てきます。これはMDEのアラートを選択したときに出てくるアラートの説明や修復ステップなどを解説してくれる画面と同じですね。

image

続いて[エンティティ]項目。ここでは選択した項目に関連するエンティティを一覧で参照できます。ここではschtasks.exeを選択しているのですが、schtasks.exeってタスクスケジューラなのでタスクスケジューラからどのようなプロセスが実行されたか?その時のプロセスIDがいくつか?などを確認できます。MDEだと[アラート]画面の[アラートのストーリー]メニューで見えていたものが分解されて表示されているようなイメージですかね。

image

ご覧のような感じでMDEで見えていた内容はほとんど網羅されているとは思うのですが、見え方が異なるのでMDEで慣れていると利用するのに戸惑うことが多いのではないかと思います。

その他、MDEにあった、あの機能ってどこ?にお答えします。

Advanced Hunting (高度な追跡)

Sentinelの[ログ]メニューから同じクエリを書いて検索できます。
また、MDEではクエリの実行結果からアラートを出すこともできたと思いますが、Sentinelでは[分析]メニューからルールを作ってアラートが出せますし、[オートメーション]メニューでアラートをもとにメール送信/TeamsチャットするようにLogic Appsのアプリを組むこともできます。

タイムライン

ありません。すべてSentinelの[ログ]メニューからクエリを書いて参照しましょう。

Live Response

ありません。MDEから操作しましょう。

自動調査

Sentinelはなにをもってアラートとするか?
そしてアラート出力時にはどのように対処するのか?
これらは基本的に自分で定義しなければなりません。
ここがMDEとの大きな違いです。
Sentinelの場合は様々な脅威インテリジェンスと連携してアラート出したりすることができるメリットがありますが、最初から用意されているものを勝手に使って、勝手に調査を始めてくれるものとは違います。
ちなみに[分析]メニューでアラート出力のルールを、[オートメーション]メニューでアラート出力時のアクションをそれぞれ定義できます。

まとめ

SentinelはそもそもEDRじゃありません。
SentinelはSIEMなので様々な場所からログを集めて分析するのが目的であり、デバイスにフォーカスされた製品じゃ、そもそもないのです。だからMDEと比較してSentinelが使いやすい、使いにくいと言うのはそもそも違うのかなと思います。
ただ、ある程度時間が経過してしまったものに関してはSentinelから調査せざるを得ないので、追加コストを払ってでもここは何とかしてほしいな、できればMDEから調査できる期間をもうちょっと伸ばしてくれると嬉しいなと思いました。