【図解】EDRとは?ウイルス対策ソフト(EPP)との違いと、不審な動きを見つける仕組み

「ウイルス対策ソフトを入れているから大丈夫」。少し前まではそれで通じましたが、最近は「EDRは入っていますか」と聞かれる場面が増えました。ゼロトラストの話の中でも、EDRはほぼ必ず登場します。

この記事では、従来のウイルス対策ソフト(EPP)とEDRは何が違うのかを、たとえと図で整理します。そのうえで、EDRがどんな情報を集め、どういう考え方(ロジック)で「怪しい」と判断しているのかを、実際の攻撃の流れに沿って説明します。特定の製品の使い方ではなく、EDRに共通する仕組みを中心に書いています。

この記事でわかること
  1. ゼロトラストの中でEDRが担う役割
  2. EPP(従来のウイルス対策)が見ているものと、すり抜けられる理由
  3. EDRが不審な動きを見つける仕組み(記録 → つなげる → 判定 → 知らせる → 止める)
  4. 実際の攻撃の流れで見る、EPPとEDRの守る範囲の違い
  5. EDRを入れた後に必要な運用

ゼロトラストとEDR:入られる前提で考える

ゼロトラストには、「すべてのアクセスを毎回確かめる」「必要最小限の権限だけを与える」「侵入されている前提で備える」という3つの考え方があります。EDRが受け持つのは、3つ目の「侵入されている前提で備える」です。

どれだけ入口を固めても、攻撃者が社内のPCに入り込む可能性はゼロにはなりません。だからこそ、「入られたらすぐに気づき、被害が広がる前に止める」仕組みが必要になります。それが、PCやサーバなどの端末(エンドポイント)の中を見張るEDR(Endpoint Detection and Response)です。

建物の警備でたとえると、EPPとEDRの違いは次の図のようになります。

端末(PC・サーバ)の中 EPP 入口で照合 既知のマルウェア 正規ツールや 盗んだIDを悪用 EDR 動きを記録し、つなげて判定 PowerShell起動 外部と通信 認証情報を盗む 怪しい流れを見つけたら、端末を隔離して止める
図1 EPPは入口の門番、EDRは中の防犯カメラと警備員

EPPは建物の入口にいる門番です。手配書(既知のマルウェアの特徴)と照らし合わせ、怪しいものを入れないようにします。EDRは建物の中の防犯カメラと警備員です。門番をすり抜けた人がどこへ行き、何をしたかを記録し続け、怪しい動きに気づいたら駆けつけてその部屋を閉め切ります。

EPP(従来のウイルス対策)は何を見ているのか

EPP(Endpoint Protection Platform)は、いわゆるウイルス対策ソフトの発展形です。ファイルが入ってきたとき、または実行されようとしたときに、それが悪いものかどうかを判定し、悪ければ止めます。判定は、おおむね次の順番で行われます。

1つのファイル・1つの動きごとに、その場で判断する(点の判断) ファイル・プログラム 既知の悪性? シグネチャ 怪しい特徴? 機械学習など 危険な動き? 振る舞い検知 いいえ いいえ はい はい はい 許可 ブロック・隔離(その場で止める)
図2 EPPの判定の流れ(製品によって順番や方式は異なります)
判定の方式見ているものたとえ
シグネチャ(パターン)既知のマルウェアのハッシュ値やコードの特徴と一致するか手配書の顔写真と照合する
ヒューリスティック・機械学習未知のファイルでも、マルウェアによくある特徴を持っているか「手配書にはないが、いかにも怪しい格好」を見分ける
振る舞い検知実行されたプログラムが、その場で明らかに危険な動きをしないか入館後すぐに暴れ出した人を取り押さえる

最近のEPPは機械学習や振る舞い検知も備えており、「次世代アンチウイルス(NGAV)」とも呼ばれます。ただし基本は、1つのファイル、1つの動きを見て、その場で白か黒かを決める「点の判断」です。

EPPがすり抜けられる理由

今の攻撃は、点の判断では黒と言い切れないように作られています。代表的なのは次のような手口です。

手口内容点の判断で止めにくい理由
正規ツールの悪用PowerShellやコマンドプロンプトなど、Windowsに最初から入っているツールで攻撃するツール自体は正規のもので、管理者も普段使っている
ファイルレス攻撃攻撃用のプログラムをディスクに保存せず、メモリ上だけで動かすスキャンするファイルが残らない
盗んだIDでのログインフィッシングなどで盗んだIDとパスワードで、正規の利用者として入るログインそのものは正しい手順で行われる
未知の攻撃まだ誰も知らない脆弱性や、新しく作られたマルウェアを使う手配書(シグネチャ)がまだない

どれも、1つ1つの動きだけを見ると「普通の操作」に見えます。ここで必要になるのが、動きを記録して、前後をつなげて判断するEDRです。

EPPとEDRの違い

EPP(従来のウイルス対策)EDR
目的侵入を防ぐ(予防)侵入に気づき、調べて、止める(検知と対応)
見るタイミングファイルが入ってくる・実行される瞬間常に。過去の記録もさかのぼって見る
見るものファイルとその場の動きプロセス、通信、ファイル、レジストリ、ログオンなど端末で起きたことすべて
判断の単位点(1つのファイル・1つの動き)線(つながった一連の動き)
結果自動でブロック・隔離して終わりアラートと調査材料(いつ、どこから、何をしたか)を出し、隔離などで対応する
使う人基本は自動で動き、人はあまり触らないアラートを見て判断する人(情シス、SOC など)が必要

EPPとEDRはどちらかを選ぶものではなく、組み合わせて使います。入口のEPPで大半のマルウェアを止め、すり抜けたものをEDRで見つける、という二段構えです。最近は、1つのエージェント(端末に入れるソフト)でEPPとEDRの両方を提供する製品が多くなっています。

EDRが不審な動きを見つける仕組み

ここからがEDRの中身です。EDRの処理は、大きく5つの段階に分けられます。

端末(センサー) 管理サーバ・クラウド(解析基盤) 運用者・自動対応 ① 記録 ② 集める ③ 判定 ④ 知らせる ⑤ 止める 端末の動きを 細かく残す つなげて 流れにする ルール・AIで 怪しさを見る アラートと 調査材料 隔離・停止 調査 隔離・停止の指示は端末に戻って実行される
図3 EDRの処理の流れ

端末の動きを細かく記録する

EDRのエージェントは、端末の中で起きたことを、ドライブレコーダーのように記録し続けます。悪いかどうかに関係なく、まず記録するのがポイントです。記録する主な情報は次のとおりです。

記録するもの具体的な中身
プロセスの起動どのプログラムが、どのプログラムから(親子関係)、どんなコマンドライン引数で起動されたか、ファイルのハッシュ値
ファイル作成・変更・削除・名前の変更
レジストリ自動起動の設定などの書き換え
ネットワークどのプロセスが、どのIPアドレス・ドメインと通信したか
ログオン誰が、いつ、どこから、どの方法でログオンしたか
スクリプト・メモリPowerShellなどで実行されたスクリプトの中身、ほかのプロセスのメモリへの読み書き
補足

Windowsには、PowerShellのスクリプトやOfficeのマクロの内容を、ウイルス対策製品に検査させるAMSI(Antimalware Scan Interface)という仕組みがあります。ファイルを保存しないファイルレス攻撃でも、実行される中身を確認できる手がかりの1つです。

動きをつなげて「流れ」にする

集めた記録は、管理サーバやクラウドに送られ、プロセスの親子関係や時刻でつなぎ合わされます。これで「何が、何を起動して、その後何をしたか」という一連の流れ(プロセスツリー)が見えるようになります。EDRの判定の多くは、この流れを材料にしています。

outlook.exe winword.exe 通信:外部のサーバ rundll32.exe LSASSのメモリを読む powershell.exe -enc … メールソフト 添付のWordを開く 1 2 3 4 EDRの見方 1 2 3 4 OfficeがPowerShellを起動 中身を隠したコマンドで外部へ 取得したものを実行 パスワード情報に触る 1つずつなら言い訳できても、 つながると攻撃の形になる 1つの攻撃として通知(重要度:高)
図4 プロセスツリーの例(実線はプロセス、点線は通信やメモリへのアクセス)

図4の例では、メールの添付ファイルを開いたことをきっかけに、WordがPowerShellを起動し、PowerShellが外部からファイルを取ってきて実行し、最後にパスワード情報が置かれたLSASS(Windowsのログオン情報を扱うプロセス)のメモリを読もうとしています。PowerShellの起動も、外部との通信も、それだけなら普段の業務でも起こります。しかし、この順番でつながると、典型的な攻撃の流れになります。

いくつかの見方で怪しさを判定する

EDRは、つながった記録をいくつかの見方で調べ、怪しさを判定します。製品によって呼び方は違いますが、考え方はおおむね次の3つと、それらをまとめる「相関」です。

端末の記録 プロセス・通信など IOCとの照合 既知の悪いハッシュ・IP・ドメイン 振る舞いのルール 攻撃者がよくやる動きの組み合わせ 機械学習・普段との違い いつもと違う・見たことがない 相関 まとめて重要度付け アラート
図5 EDRの判定の考え方
見方どう判断するか得意なもの
IOCとの照合IOC(Indicator of Compromise、侵害の痕跡)は、既知の攻撃で使われたファイルのハッシュ値、IPアドレス、ドメインなどです。記録の中にこれらと一致するものがあれば怪しいと判断します。過去の記録にさかのぼって照合できるのがEPPとの違いです。すでに知られている攻撃。「先週から同じ攻撃が来ていなかったか」の確認
振る舞いのルール「Officeが文書を開いた直後にPowerShellを起動した」のように、攻撃者がよくやる動きやその組み合わせをルールにしておき、一致したら検知します。製品によってはIOA(Indicator of Attack、攻撃の兆候)とも呼びます。正規ツールの悪用、ファイルレス攻撃、未知のマルウェア
機械学習・普段との違い大量の攻撃データから学んだモデルや、その端末・ユーザーの普段の動きと比べて、「いつもと違う」「見たことがない」ものを見つけます。いつもと違う時間・場所からのログオン、組織内で初めて見るプログラム
相関上の3つで見つけた小さな怪しさを、同じ流れ・同じ端末・同じユーザーでまとめ、1つのインシデントとして重要度を付けます。1つ1つは弱い兆候の組み合わせ

振る舞いのルールの具体例を挙げます。左端の列は、攻撃者の手口を整理した MITRE ATT&CK という枠組みでの分類です。多くのEDRは、アラートにこの分類を表示します。

MITRE ATT&CK の例記録に残った動きなぜ怪しいか
T1566.001
添付ファイルによるフィッシング
T1059.001
PowerShell
WordやExcelがPowerShellやコマンドプロンプトを起動した文書を開いただけでコマンドが動くことは、普段の業務ではほとんどない
T1059.001
PowerShell
PowerShellが、エンコード(変換)された長いコマンドを実行し、外部からファイルを取得した中身を隠して外部から攻撃ツールを持ち込む、よくある手口
T1003.001
認証情報の取得(LSASS)
ほかのプロセスがLSASSのメモリを読み取ったログオン中のユーザーの認証情報を盗む典型的な手口
T1490
システム回復の妨害
vssadmin delete shadows でシャドウコピーを消したバックアップからの復元を妨げる。ランサムウェアが暗号化の前によく行う
T1486
データの暗号化
短い時間に大量のファイルが書き換えられ、拡張子が変わったファイルを暗号化している可能性がある
T1021
リモートサービス
普段使わないPCへ、管理者のアカウントでリモートログオンした盗んだIDで、ほかの端末に広がろうとしている可能性がある

アラートと調査材料を出す

判定の結果、怪しいと判断したものはアラートになります。EDRのアラートは「ウイルスを見つけました」で終わらず、図4のようなプロセスツリー、時系列の記録、関係する端末やユーザー、ATT&CKの分類、重要度などがまとめて表示されます。担当者は、これを見て「どこから入り、何をして、どこまで広がったか」を調べます。

隔離・停止で被害を止める

攻撃と判断したら、EDRの管理画面から端末に指示を出して、被害の広がりを止めます。主な対応は次のとおりです。製品やライセンスによって、使える機能は異なります。

対応内容
端末の隔離端末をネットワークから切り離します。EDRの管理サーバとの通信だけは残すので、隔離したまま調査や復旧を続けられます。
プロセスの停止・ファイルの隔離悪いプロセスを止め、悪いファイルを隔離します。
アプリの実行制限許可したプログラム以外を動かせないようにします。
リモートでの調査担当者がリモートで端末に入り、ファイルやログを集めたり、コマンドを実行したりします。
自動調査・自動対応設定したルールに沿って、調査や隔離をEDRが自動で行います。
IOCの登録見つけたファイルのハッシュ値や通信先を登録し、ほかの端末でも検知・ブロックします。

実際の攻撃の流れで見るEPPとEDRの範囲

ランサムウェア攻撃のよくある流れに沿って、EPPとEDRがそれぞれどこを受け持つのかを見てみます。

① 侵入 ② 実行 ③ 取得 ④ 窃取 ⑤ 横展開 ⑥ 目的達成 メールの添付 マクロなど ツールを入手 認証情報を盗む ほかのPCへ 暗号化など EPP 入ってくる・実行されるファイルを判定 EDR 入った後の流れ全体を記録し、つなげて判定する
図6 ランサムウェア攻撃の流れと、EPP・EDRが受け持つ範囲
攻撃の段階攻撃者の動きEPPから見るとEDRから見ると
① 侵入マクロ付きの文書をメールで送る既知のマルウェアなら止められるどのメールの、どの添付から始まったかを記録
② 実行マクロからPowerShellを起動するPowerShellは正規のツールなので止めにくい「OfficeがPowerShellを起動」というルールに一致
③ 取得メモリ上で攻撃ツールを動かすファイルが残らないと見えにくいスクリプトの中身や外部との通信を記録
④ 窃取LSASSのメモリから認証情報を盗む既知のツールなら止められることもあるLSASSへのアクセスとして検知
⑤ 横展開盗んだIDでほかのPCにログオンする正規のログオンなので見えない普段と違うログオンとして検知。どの端末に広がったかがわかる
⑥ 目的達成シャドウコピーを消し、ファイルを暗号化するランサムウェア本体が既知なら止められるシャドウコピーの削除や大量の書き換えで検知し、端末を隔離

ポイントは、EDRなら②や③の段階、つまり被害が出る前に気づける可能性があることです。仮に⑥まで進んでも、記録が残っているので「最初にどこから入ったか」「ほかにどの端末が触られたか」を後から調べられます。

EDRを入れた後に必要なこと

EDRは「入れれば自動で全部守ってくれる」ものではありません。アラートを見て、本当に攻撃なのか、業務で使っている正規の操作なのかを判断する人が必要です。たとえば、管理者が保守のためにPowerShellのスクリプトを実行しただけでも、アラートが出ることがあります。

運用で必要なこと内容
アラートの確認と判断アラートを見て、攻撃か誤検知かを判断し、必要なら隔離などの対応をします。夜間・休日の体制も決めておきます。
誤検知の調整(チューニング)業務で使う正規のツールや操作が何度も検知される場合は、除外の設定を見直します。除外しすぎると見逃しにつながるので、範囲は絞ります。
外部サービスの活用社内で24時間見るのが難しい場合は、SOCやMDR(EDRの監視・対応を代行するサービス)を使う方法があります。
ほかのログとの連携メール、ID、ネットワーク機器のログと組み合わせて見ると、攻撃の全体像がつかみやすくなります。EDRを端末以外の情報にまで広げたものはXDRと呼ばれます。
製品について

代表的なEDR製品には、CrowdStrike Falcon や Microsoft Defender for Endpoint などがあります。画面や機能の名前は製品ごとに違いますが、ここで説明した「記録 → つなげる → 判定 → 知らせる → 止める」という流れは共通です。

まとめ

EPPは入口でファイルや動きを1つずつ判定して止める門番、EDRは端末の中の動きを記録し続け、つなげて判定し、見つけたら止める防犯カメラと警備員です。ゼロトラストの「侵入されている前提で備える」を、端末の上で実現するのがEDRの役割です。

項目ポイント
EPP入口での予防。シグネチャ・機械学習・振る舞い検知で、1つのファイル・1つの動きを判定する(点)
EDR侵入後の検知と対応。端末の動きを記録し、つなげて判定する(線)
EPPをすり抜ける手口正規ツールの悪用、ファイルレス攻撃、盗んだIDでのログイン、未知の攻撃
EDRの処理① 記録 → ② 集めてつなげる → ③ 判定 → ④ アラート → ⑤ 隔離・停止
判定の見方IOCとの照合、振る舞いのルール(IOA)、機械学習・普段との違い、それらの相関
ゼロトラストとの関係「侵入されている前提で備える(Assume breach)」を端末で実現する
運用アラートを判断する人と体制、誤検知の調整が必要。難しければSOC・MDRを使う

コメント