1. はじめに
Microsoft Defender Anti-Virus (MDAV) のスキャン実行が分かり難いので、まとめてみました。スキャンポリシーの配布については Microsoft Intune による配布、グループポリシー等を用いて実行する方が多いと思いますので、主に手動実施するパターンをまとめておきます。
2. スキャン実行
2.1 コマンドラインで実行する
2.1.1 Windows OS
Start-MpScan
、もしくは Start-MpDOScan
で実行する。
PS C:\> Start-MpScan -ScanType QuickScan
オフラインスキャンが必要な場合は、Start-MpDoScan
を用いる。
PS C:\> Start-MpDOScan
2.1.2 Linux OS
mdatp
コマンドを用いて quick/full スキャンを実施する。
- QuickScan
[azureuser@vRHEL001 ~]$ mdatp scan quick
Scan is running
241 file(s) scanned
0 threat(s) detected
- FullScan
[azureuser@vRHEL001 ~]$ mdatp scan full
Scan is running
241 file(s) scanned
0 threat(s) detected
- キャンセル方法
[azureuser@vRHEL001 ~]$ mdatp scan cancel
2.2 Defender XDR ポータルから実施する
Defender XDR ポータルサイトより、アセットを指定してスキャンを実施する。
2.3 Defender Endpoint API
API 直叩きでウイルス対策スキャンを実行する方法。
Microsoft Defender for Endpoint API を用いて、runAntiVirusScan
を RESTAPI で POST 実行する。JSON Body 側で ScanType を指定する。
{
"Comment": "Check machine for viruses due to alert 3212",
"ScanType": "Full"
}
実際に Powershell スクリプトの例はこちらを参照下さい。
2.4 ロジックアプリ
2.4.1 標準コネクタ
Microsoft Defender 用の標準コネクタを用いて実行が出来る。
2.4.2 RESTAPI
やっていることは標準コネクタと変わらない。HTTP モジュールを用いて API を直接叩く。
パラメータ例
設定 | パラメータ |
---|---|
URI | https://api.security.microsoft.com/api/machines/<マシンId>/runAntiVirusScan |
Headers | Content-Type:application/json |
Body | {"Comment": "Scheduled Full Scan Triggered by LogicApp from SOC Team.","ScanType": "Quick"} |
2.5 Microsoft Intune による自動配布
MDM、もしくは Microsoft Defender for Endpoint 設定管理を用いて、Intune を用いてMDAV のスキャン設定ポリシーを配布する。
2.6 GPO による配布 (Windows)
以下省略
3. スキャン履歴のチェック
3.1 OS 上からコマンドラインでチェック
3.1.1 Windows OS
- 「イベントビューア」にて EventID : 1001 を見ると、
Microsoft Defender Antivirus scan has finished
のイベントより、スキャン実行時間などの情報を確認することが可能- イベントビューアの画面が開いたら、「アプリケーションとサービスログ」の中の、
Microsoft
->Windows
->Windows Defender
->Operational
を開く
- イベントビューアの画面が開いたら、「アプリケーションとサービスログ」の中の、
3.1.2 Linux OS
mdatp scan list
コマンドから実行履歴を確認することが出来る。
[azureuser@vmRHEL001 ~]$ mdatp scan list
Scan Start Time: Apr 22, 2025 at 03:00:54 AM
Scan Type: full
Scheduled?: No
Scan State: succeeded
Duration (hr:min:sec): 0:23:25
Number of Files Scanned: 150713
Number of Threats Detected: 0
---
Scan Start Time: Apr 22, 2025 at 04:08:00 PM
Scan Type: quick
Scheduled?: No
Scan State: succeeded
Duration (hr:min:sec): 0:0:53
Number of Files Scanned: 1801
Number of Threats Detected: 0
3.2 Defender XDR / Advanced Hunting クエリーでチェック
Defender XDR コンソールから「高度な追求」を用いてクエリーで確認する。
DeviceEvents
のテーブルに ActionType
フィールドで条件を入れることでフィルターが可能。
但し残念ながら、スキャン開始イベントは記録されていない模様(AntivirusScanCompleted
のイベントだけ出力される。拡張フィールドからスキャン種別を抽出することが可能)
DeviceEvents
| where ActionType contains "AntiVirus"
| extend ScanType=parse_json(AdditionalFields).ScanTypeIndex
| project TimeGenerated, DeviceName, ActionType, ScanType
4. スキャン実施でマルウェアが見つかったら
MDAV によるスキャンが完了して、もしマルウェアが判定された場合はアラートとして検知される。
4.1 OS 上でコマンドラインで実行する
4.1.1 Windows OS
-
Get-MpThreatDetection
/Get-MpThreat
で確認
PS C:\> Get-MpThreatDetection
4.1.2 Linux OS
-
mdatp threat list
/mdatp threat quarantine list
で確認
[azureuser@vmRHEL001 ~]$ mdatp threat list
4.2 Defender XDR で確認する
- アラート画面で検知するので、インシデント/アラートからチェックする
4.3 Microsoft Intune で確認する
- 「レポート」より、「エンドポイントセキュリティ」->「検出されたマルウェア」でレポート生成が可能
5. まとめ
MDAV のスキャン設定を一旦記事としてまとめてみました。本記事が Microsoft Security にご興味ある方々のためになれば幸いです。
*本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。