皆さんこんにちは。国井です。
今日はMicrosoft Defender for Endpoint (MDE) の話です。
MDEって脅威インテリジェンスを利用して不正アクセスを検出し
プレイブックに基づくインシデント対応を自動化するっていうけど
本当にスキルゼロでできるものなのか?
そうでなければ、どの程度の前提スキルが必要なものなのか?
そのあたりをなんとなくでも把握してもらえるよう、Windows 10デバイスをランサムウェアに感染させ、そのうえで調査や対応を実際にやってみました。
MDEを使うためにはライセンスを買う、初期設定する、Windows 10デバイスをオンボーディングする、などが必要になりますが、その辺は評価ガイドが出ているので、そちらを参考にしてもらえればと思います。
そのうえでWindows 10デバイスでランサムウェアを検出したらどうなるのか見てみます。
ランサムウェアが見つかった
まず、Microsoft Defender for Endpointの管理は Microsoft 365 Defender管理センターから行います。
管理センター画面の左側から[インシデント]をクリックすると、インシデントの発生状況が確認できます。ランサムウェアが見つかった場合もインシデントのメニューでその内容を確認します(下の画面みたいに)。ここの画面には書いていないですけど、ランサムウェアが見つかればRansomware was detected.. みたいな感じで表示されます。
利用する上での前提スキルという点からいえば、これを見たときに「ああ、〇〇が起きたのね」とわかる、もしくは自分で関連情報を調べられるスキルが必要になると思います。
インシデントをクリックすると、その詳細が確認できます。
なかでも[証拠と対応]と書かれたところをクリックすると、インシデントと判定されるに至った基準(証拠)について情報が書かれていることがわかります。今回の場合にはランサムウェアと判定されるファイルやプロセスがあったことが書かれています。ちなみにRemediatedと書かれた項目がありますが、これは検疫などの修復対応済みであることを表します。
これを見れば自動で対処してくれたのね!ってことがわかりますね。
さらに[証拠と対応]タブでは[Persistence Methods]欄からASEPと呼ばれるWindows起動とともに実行するプロセスが不適切に追加されたことが書かれています。ここでPersistence Methodsというキーワードが出てきましたが、これも典型的な攻撃のプロセスってどういうもの?ということを理解していることが前提になっているように思います。
項目をクリックすると、ご覧のようにレジストリのどの項目に書き込みを行い、ASEPの設定をしたのかがわかります。もちろんRemediatedと表示されているので修復済みです。
アラートから見てみる
MDEではインシデントが発生するとそれに対応するアラートが一緒に出力されます。
アラートの詳細を開くと[アラートのストーリー]と呼ばれるアラートを出力するに至ったプロセスの情報がプロセスツリーで表示されます。これにより、どのプロセスからどのプロセスが呼び出されたかがわかります。今回の場合で言えば、プロセスID4384のプロセスからプロセスID7424のプロセスが呼び出され、そこからcsrss.exeを通じてASEPの登録を行ったということがわかります。
(その他にも赤い字で数々の悪行が書かれていますが、ここでは省略します)
タイムラインから見てみる
アラートに出力された悪行からタイムラインに移動することができます。
そこでタイムラインを参照すると、アラートを出力することになったプロセスの前後にどのようなことが行われたかを確認できます。今回のケースだと、マルウェアはMicrosoft Edgeでダウンロードしていることがわかるので、自発的にダウンロードしたのかな?だとか仮説を立てたりできるわけです。その他、マルウェアはChromeでダウンロードしたから自分のデバイスで実行することになったとか、メーラーでメールと一緒に添付ファイルのダウンロードを行ったから自分のデバイスで実行することになったとか、タイムラインを見れば前後関係が把握でき、アラートのストーリーと組み合わせて参照することで攻撃の実態をより立体的に把握することができます..
というのはセールストークなどでよく聞く話で、じゃあ実際に誰でも立体的に把握できるかといわれれば、典型的な立体がなにか?がわかっていなければならないわけで、それは前提条件スキルにあたる部分なのかなと思うのです。
ファイルの単位で見てみる
前の画面で表示させたインシデントメニューに戻り、[証拠と対応]タブから特定のファイルの詳細を開きます。するとファイルのハッシュ情報であったり、マルウェアと判定されたそのファイルが組織内で何台のデバイスで見つかったか?などが確認できます。この辺りを参照すれば組織内での影響範囲なども把握できると思います。
また、[詳細分析]タブをクリックすると、マルウェアの検体を送信し、さらに詳細な分析を依頼することができます。
でもって結果が返ってくるとこんな感じの情報が表示されます。
細かく見ていきます。
まず、動作 > Communicationsではそのexeファイルがどこと通信しているかを確認できます。通信先をencrypted channelとexternal IP addressに分けているんだけど、encrypted channelって単純にHTTPSのことかな??
監視可能なもの > 接続されたIPでは前の画面で表示された通信先となるIPアドレスがありましたがそれぞれのIPアドレスがリンクになっていて、クリックするとIPアドレスそのものの危険度が確認できたりします。こうした調査って、マルウェアの動的解析や静的解析など、解析調査を通じて知りうるものだと思いますが、MDEだとそれをボタン一つでMSに依頼して解析してもらうことができるっていう嬉しさはあると思います。
一方で結果を見せられて、その情報をどのように扱うべきかということについては
わかる人がいなければならないことは事実だと思います。
インジケーターを使う
前の画面ではファイル単位での分析を見てきましたが、この中のメニューに[インジケーターの追加]というのがあります。これを利用すると同じファイルが他のオンボーディングされたデバイスで見つかった場合、ファイルをブロックしてくれます。
1台のデバイスでマルウェアを発見した時、その影響範囲を広げたくない時などに有効です。
インジケーターを追加するウィザードで指定可能なパラメーターはこんな感じ。
インジケーターを設定した後にオンボーディングされたデバイスでマルウェアを検出すると、ご覧のようにブロックしてくれます。ただし、インジケーターの設定に基づくブロックができるのはオンボーディングされたデバイスでMicrosoft Defenderウイルス対策を使っていることが前提条件です。ESETなどのウイルス対策との組み合わせでもMDEは動作しますが、アクティブモードと呼ばれるインジケーターに基づくアクションを実行することができない点が注意点です。
■ ■ ■
ここまでMDEでインシデント対応をしながらMDEの特徴や扱う人に求められるスキルを簡単に見てきました。簡単に言えば不正アクセスの特徴そのものをある程度理解していることが必要だと言うことが理解してもらえたと思います。もうちょっと具体的に言えば、MDEでインシデント/アラートが出力されると「本物のインシデントか?それとも誤検知か?」からスタートしますが、内容を見てそれを判断できるチカラがまず必要になると思います。そして自分のデバイスの中での影響範囲や組織内のデバイスにおける影響範囲を見極めるチカラが必要になります。こうしたことを判断できるようになるには色々なスキルが必要になるんだと思いますが、まずはMDEに触れて、様々な事例に触れていくことが重要ではないかと思っています。