Microsoft Defender Anti-Virus (MDAV) スキャン実行方法まとめ

# 1. はじめに
Microsoft Defender Anti-Virus (MDAV) のスキャン実行が分かり難いので、まとめてみました。スキャンポリシーの配布については Microsoft Intune による配布、グループポリシー等を用いて実行する方が多いと思いますので、主に手動実施するパターンをまとめておきます。

# 2. スキャン実行
## 2.1 コマンドラインで実行する
### 2.1.1 Windows OS
``Start-MpScan``、もしくは ``Start-MpDOScan`` で実行する。

```powershell
PS C:\> Start-MpScan -ScanType QuickScan
```

[オフラインスキャン](https://learn.microsoft.com/ja-jp/defender-endpoint/microsoft-defender-offline)が必要な場合は、``Start-MpDoScan`` を用いる。

```powershell
PS C:\> Start-MpDOScan 
```

### 2.1.2 Linux OS
``mdatp`` コマンドを用いて quick/full スキャンを実施する。
- QuickScan
```bash
[azureuser@vRHEL001 ~]$ mdatp scan quick
Scan is running
        241 file(s) scanned
        0 threat(s) detected
```
- FullScan
```bash
[azureuser@vRHEL001 ~]$ mdatp scan full
Scan is running
        241 file(s) scanned
        0 threat(s) detected
```
- キャンセル方法
```bash
[azureuser@vRHEL001 ~]$ mdatp scan cancel
```

## 2.2 Defender XDR ポータルから実施する
Defender XDR ポータルサイトより、アセットを指定してスキャンを実施する。

- アセットから指定して実施
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/963b6f3c-383c-4c67-9727-8c71d166194c.png)
- アセットからボタンをクリックすることで、クイックスキャン/フルスキャンを実行できる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/15258e74-dbdf-4fd9-9f31-e0d022483213.png)
- ウイルススキャンの履歴は、アクションセンターより確認が可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/3bebf5e7-ccfd-4d5f-a24f-ca97d10b3a37.png)

## 2.3 Defender Endpoint API 
API 直叩きでウイルス対策スキャンを実行する方法。
Microsoft Defender for Endpoint API を用いて、``runAntiVirusScan`` を RESTAPI で POST 実行する。JSON Body 側で ScanType を指定する。

```json
{
    "Comment": "Check machine for viruses due to alert 3212",
    "ScanType": "Full"
}
```

https://learn.microsoft.com/ja-jp/defender-endpoint/api/run-av-scan

実際に Powershell スクリプトの例はこちらを参照下さい。

https://qiita.com/hisnakad/items/41e9a1cbadb470ccee91

## 2.4 ロジックアプリ
### 2.4.1 標準コネクタ
Microsoft Defender 用の標準コネクタを用いて実行が出来る。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/54b48283-1dca-4524-bfa8-2169839bb492.png)

### 2.4.2 RESTAPI
やっていることは標準コネクタと変わらない。HTTP モジュールを用いて API を直接叩く。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/09087539-e270-4db7-915c-0047923fb3b6.png)

パラメータ例

|  設定  | パラメータ |
| ---- | ---- |
| 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"}`` |

認証も忘れずに。サービスプリンシパルの例：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/8b1bbaed-4f27-4baf-8bce-bbe935540b5a.png)

## 2.5 Microsoft Intune による自動配布
[MDM](https://learn.microsoft.com/ja-jp/defender-endpoint/configure-endpoints-mdm)、もしくは [Microsoft Defender for Endpoint 設定管理](https://learn.microsoft.com/ja-jp/defender-endpoint/mde-security-settings-management)を用いて、Intune を用いてMDAV のスキャン設定ポリシーを配布する。

https://learn.microsoft.com/ja-jp/defender-endpoint/configure-endpoints-mdm

https://learn.microsoft.com/ja-jp/defender-endpoint/mde-security-settings-management

## 2.6 GPO による配布 (Windows)
以下省略

https://learn.microsoft.com/ja-jp/defender-endpoint/use-group-policy-microsoft-defender-antivirus

# 3. スキャン履歴のチェック
## 3.1 OS 上からコマンドラインでチェック
### 3.1.1 Windows OS
- 「イベントビューア」にて EventID : 1001 を見ると、``Microsoft Defender Antivirus scan has finished`` のイベントより、スキャン実行時間などの情報を確認することが可能
    - イベントビューアの画面が開いたら、「アプリケーションとサービスログ」の中の、``Microsoft``->``Windows``->``Windows Defender``->``Operational``を開く

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/91a1a311-cab9-4398-8188-6c07091cbe9f.png)

### 3.1.2 Linux OS
``mdatp scan list`` コマンドから実行履歴を確認することが出来る。
```bash
[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`` のイベントだけ出力される。拡張フィールドからスキャン種別を抽出することが可能）

```kql
DeviceEvents
| where ActionType contains "AntiVirus"
| extend ScanType=parse_json(AdditionalFields).ScanTypeIndex
| project TimeGenerated, DeviceName, ActionType, ScanType
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/49a9e861-9ad1-4458-9803-cade333ed2d0.png)

# 4. スキャン実施でマルウェアが見つかったら
MDAV によるスキャンが完了して、もしマルウェアが判定された場合はアラートとして検知される。
## 4.1 OS 上でコマンドラインで実行する
### 4.1.1 Windows OS
- ``Get-MpThreatDetection`` / ``Get-MpThreat`` で確認

```powershell
PS C:\> Get-MpThreatDetection
```

https://learn.microsoft.com/ja-jp/defender-endpoint/review-scan-results-microsoft-defender-antivirus#use-powershell-cmdlets-to-review-scan-results

### 4.1.2 Linux OS
- ``mdatp threat list`` / ``mdatp threat quarantine list`` で確認

```bash
[azureuser@vmRHEL001 ~]$ mdatp threat list
```

## 4.2 Defender XDR で確認する
- アラート画面で検知するので、インシデント/アラートからチェックする

https://learn.microsoft.com/ja-jp/defender-endpoint/review-scan-results-microsoft-defender-antivirus

## 4.3 Microsoft Intune で確認する
- 「レポート」より、「エンドポイントセキュリティ」->「検出されたマルウェア」でレポート生成が可能

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/33473ba4-b194-4c29-81aa-5ecf25a42315.png)

# 5. まとめ
MDAV のスキャン設定を一旦記事としてまとめてみました。本記事が Microsoft Security にご興味ある方々のためになれば幸いです。

＊本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。