PowershellのGet-MpComputerStatusコマンドを使って、MicrosoftDefenderForBusiness + Intuneの考察

# 背景、目的など
　現職場では主なエンドポイントセキュリティとしてウイルスバスターを使用しているのですが、パッケージ版のOfficeからMicrosoft365にてOfficeアプリを使うようになり、セキュリティソフトもMicrosoft365経由で利用できないかということになり、MicrosoftDefenderForBusiness + Intuneによるセキュリティ統制を順次進めているところです。
　Windows端末にデフォルトで機能しているMicrosoftDefenderでセキュリティを確保している方は他にもいらっしゃると思いますが、これがちゃんと機能しているかどうか直感的に分からない、なんてことないでしょうか。セキュリティプロバイダのところの表示に「MicrosoftDefenderは有効です」みたいな表示はありますが、「この表示が出てれば安心だね！」というには少々不安だったりします。セキュリティベンダーのように専用のコンソールがあればちゃんと動いてる感が感じられますが、MicrosoftDefenderはWindowsのUIの一部として溶け込んでいるので、MicrosoftDefenderがどう有効なのか念を押して確認するにはどうすればよいか曖昧なままでした。
　この記事はMicrosoftDefenderやIntuneが何を以て有効なのかを調査した際のレポートとして投稿させていただいた次第です。

# 考察対象のWindowsの仕様（スタート→設定→システム→詳細設定で見れるやつ）
* エディション	Windows 10 Pro
* バージョン	22H2
* インストール日	‎2023/‎01/‎04
* OS ビルド	19045.2604
* エクスペリエンス	Windows Feature Experience Pack 120.2212.4190.0

# Get-MpComputerStatus(調査用コマンド)
後に添付するスクショの見栄えを考慮して、以下のワンライナーをPowershellで実行しております。動きとしてはGet-MpComputerStatusの出力結果の一番上にタイムスタンプを表示させて、ログを取得するといった感じのものです。
```
$temp1 = Get-Date ; $temp2 = (Get-Date -format "yyyyMMdd_hhmmss")+"_mpcom.txt" ; $temp3 = Get-MpComputerStatus ; Write-Output  $temp1 $temp3 | tee "$home\downloads\$temp2"
```

# 調査開始
設定＞更新とセキュリティ＞Windowsセキュリティ＞ウイルスと脅威の防止＞設定の管理を見ていきます。**リアルタイム保護**　**クラウド提供の保護**　**サンプルの自動送信**　**改ざん防止**をオン／オフした時の状態をGet-MpComputerStatusで見ていきます。
## ①デフォルトの状態
Windows10のセットアップが終わって、更新プログラムも一通り適用された状態の出力結果です。正直なところこの時点でTrueの項目、Falseの項目があって何が何だかって感じです。。。
![MicrosoftDefender_検証_01_デフォルト_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/4b065474-6f3c-66b9-17d9-8ea1acb75e71.jpeg)

## ②リアルタイム保護　オフ
これだけでいくつもの項目に変化が。。。
RealTimeProtectionEnabledがFalseになっていることがポイントなんでしょうか。
![MicrosoftDefender_検証_02_リアルタイム保護オフ_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/308d92d8-fda5-b313-4008-aab2f5d29456.jpeg)

## ③クラウド提供の保護　オフ
変化なし。
![MicrosoftDefender_検証_03_クラウド提供の保護オフ_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/806ed8df-0b5f-fcf2-1edd-339176f39f00.jpeg)

## ④サンプルの自動送信　オフ
変化なし。。。
![MicrosoftDefender_検証_04_サンプルの自動送信オフ_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/2388c269-7c0d-1886-fa7b-3534bbdfef79.jpeg)

## ⑤改ざん防止　オフ
IsTamperProtectionがFalseになりました。このタンパープロテクションですが、ざっと調べた限りでは「悪質なマルウェアへの感染からマシンを防御できる。」のだそうです。はい。
割と重要な項目だってことなんでしょうか。
![MicrosoftDefender_検証_05_改ざん防止オフ_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/45f75a27-4326-703e-13ee-d96760939513.jpeg)

## ⑥PC再起動
ここで試しに一度再起動を行いました。再起動後どうなったかといいますと、リアルタイム保護だけオンに戻されていました。RealTimeProtectionEnabledもTrueになっています。しかしIsTamperProtectionはFalseのままです。てっきり4項目全部オンに戻ると思っていましたが、バグなのか仕様なのか怪しいですね。
![MicrosoftDefender_検証_06_再起動_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/bc5dd447-3d60-8475-b839-0f7dbb5f16ae.jpeg)

## ⑦再度全部オフ
改めて全部オフにしました。
![MicrosoftDefender_検証_07_全オフ_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/61211662-5c0e-ec3e-5cbf-94507e051140.jpeg)

## ⑧Intune（AzureAD）登録
4項目全部オフの状態でIntuneに登録しようと思います。といってもAzureADへの参加と同様の操作です。今回は「職場または学校にアクセスする」からAzureADに参加します。何をやったかが分かるだけでいいかと思うので雑に貼ります。
![MicrosoftDefender_検証_08_AAD登録前.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/7f9ab662-0dcd-bfdb-dd25-2de73480b176.png)
![MicrosoftDefender_検証_09_AAD登録.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/94cd90c8-a93c-3fd6-37ac-c4aba57cfd1c.png)
![MicrosoftDefender_検証_10_AAD登録.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/1a51d85c-6907-9b4b-dfb5-9bf5ea0f88e3.png)
![MicrosoftDefender_検証_11_AAD登録.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/d958256a-bb36-5dfa-f163-b172dbbfd7fe.png)
![MicrosoftDefender_検証_12_AAD登録.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/6e924678-5a39-4958-b7fd-26ba4b5328bc.png)
![MicrosoftDefender_検証_13_AAD登録後_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/f1d51c12-08ae-9689-d84b-bb8f379dd256.jpeg)

## ⑨Intune（AzureAD）登録直後
**この設定は管理者によって管理されています**の文字が表示されるようになりました。この赤い文字ですが、恐らくIntuneに登録した影響で強力なポリシーが適用されたんだと思います。gpedit.mscからグループポリシーをいじれるんですが、そこをいじっているときにこんな赤い文字が表示されるのを確認しているので、多分、そうです。しかしgpedit.mscを見て回りましたが、特に変化を見つけられませんでした。ここがIntuneの特徴？なんでしょうか。別の検証でMicrosoftDefenderForBusinessだけを登録した際はこのような赤文字は出てきませんでした。
そして4項目のうち**改ざん防止**以外がオンになりました。IsTamperProtectionもFalseだし、、、不安だなぁ。。。てかこれどうやって戻すんだろう。
![MicrosoftDefender_検証_14_AAD登録直後_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/931a9489-baaf-39ee-bbe2-81746b419e25.jpeg)

## ⑩全部オンの状態で「管理者によって管理」されている状態
なんやかんやで全部オンにできました。確かPCの再起動とかした気がします。IsTamperProtectionもTrueになってますね。
![MicrosoftDefender_検証_15_全部オンの状態で「管理者によって管理」されている_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/49f317a0-7a27-67d1-1621-2a160b7daa67.jpeg)

## ⑪①と⑩を比較
ここで痛恨のミスをしました。①時点のログを取り損ねていました。。。
ですので、他の状態の近いマシンからとってきたログにて比較を行っております。
タイムスタンプが逆行していますが、**左が①**、**右が⑩**のログです。
オン／オフをした影響なのかスキャンした回数や日時が変化しています。特にこれという違いがないのですが、強いてあげるなら下5行の部分でしょうか。
![MicrosoftDefender_検証_16_検証01と検証15を比較_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/7d0c1326-cb63-9247-4178-ff1f13055b60.jpeg)

TamperProtectionSourceのパラメータのATPとはAdvanced Threat Protectionのことでしょうか。ちょいちょい見かけるので、勝手にそう思うことにします。

TDTとあるものですが、Threat Detection Technologyのことっぽい。
https://japan.zdnet.com/article/35170079/#:~:text=Microsoft%E3%81%AFIntel%E3%81%A8%E5%8D%94%E5%8A%9B%E3%81%97%E3%80%81%E3%80%8CMicrosoft%20Defender%20for%20Endpoint%E3%80%8D%EF%BC%88%E6%97%A7%E7%A7%B0%E3%80%8CMicrosoft%20Defender%20Advanced,Threat%20Protection%E3%80%8D%EF%BC%89%E3%81%AB%E3%80%81Intel%E3%81%AE%E3%80%8C%20Threat%20Detection%20Technology%20%E3%80%8D%EF%BC%88TDT%EF%BC%89%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%9F%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%B8%E3%83%A3%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0%E3%83%9E%E3%83%AB%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E6%A9%9F%E8%83%BD%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%9F%E3%80%82

で、これらのパラメータがN/Aなんですが、これはどう解釈すればいいのか。検索の仕方が悪いのかさっぱり出てこない。。。
「クリプトジャッキングマルウェアをブロックする機能」らしいですが、TamperProtectionなどのガードが軒並み有効であればその限りではない、ということでしょうか。そういうことにしておきます(笑)

# ウイルスバスター端末と比較
現行でウイルスバスターが入っているマシンでGet-MpComputerStatusを実行しました。もろもろFalseだったり、なんとかモードがNot Runningになっているので、完全にMicrosoftDefenderが無効になっている状態ってことなんでしょう。この状態ならちゃんとウイルスバスターが動いてるんだなって感じがしますね。
![MicrosoftDefender_検証_17_ウィルスバスター_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/17f3aa39-8985-c906-db1c-ced8bd105d72.jpeg)

ちなみにセキュリティプロバイダーの部分はこんな感じで違いが出ています。
![MicrosoftDefender_検証_18_19_セキュリティプロバイダー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/ce785702-12e5-d217-56e9-b718b6e36a65.png)

# MicrosoftDefenderForBusiness有効確認
結局上記の調査ですがIntuneの確認にしかならない気がします。Intuneに登録すればMicrosoftDefenderForBusinessも自動で適応されるのですが手応えがありません。なのでMicrosoftDefenderForBusinessはどう有効であるのか別途調査しました。MicrosoftDefenderForBusinessを購入されている方はわかると思いますが、MicrosoftDefenderForBusinessを有効にするためのローカル実行用スクリプトが用意されていたりします。このスクリプトをテキストエディタで眺めていて以下のcmdコマンドに変化があることを見つけました。

```
sc query "SENSE"

REG query "HKLM\SOFTWARE\Microsoft\Windows Advanced Threat Protection\Status"

REG query "HKLM\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection"
```
`sc query "SENSE"`はpowershellだと`Get-Service "SENSE"`で同様のものが確認できます。

MicrosoftDefenderForBusinessが適用された端末でPowershellにて上記コマンドを実行すると以下の出力が得られます。
REG query "HKLM\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection"は表示結果が長いので省略しています。

![MicrosoftDefender_検証_20_レジストリ確認_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/fdb99fd2-6cb5-f3cd-386a-c502bd9d6aa8.jpeg)

これをウイルスバスター端末で実行すると以下の通りです。
![MicrosoftDefender_検証_21_レジストリ確認.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/a8dcbc9a-ed35-eeb0-4349-80ea5fdacd40.png)

各端末での出力を比較すると、MicrosoftDefenderForBusinessではSENSEというサービスが動いています。そして指定のレジストリに値が作成されているのが分かります。
このSENSEですが、管理ツール＞サービスで編集できるWindows Defender Advanced Threat Protectionサービスのことのようです。（画像はウイルスバスター端末より）
![MicrosoftDefender_検証_23_サービスSENSE.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/c2b4422e-d210-de53-1a38-cb953ed7979d.png)

この状態で各端末にてテスト用のアラートコマンドを実行します。
するとウイルスバスターは自身のアプリケーションにて検知の通知が出てきます。
これがMicrosoftDefenderForBusinessだとMicrosoft 365 Defenderにて通知が来るようになります。一応このテストアラート通知がMicrosoftDefenderForBusinessの有効確認でもあるようです。
![MicrosoftDefender_検証_22_テストアラート_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/394613/940ef99e-a32b-123f-36fe-0bef9a76d181.jpeg)

# まとめ
MicrosoftDefenderForBusiness + Intuneのセットアップ後の適用確認について、以下のことが確認できればいいということで一旦落ち着こうと思います。

**Intune登録確認**
* 「職場または学校にアクセスする」にAzureADに接続済みの表示がある
* 設定＞更新とセキュリティ＞Windowsセキュリティ＞ウイルスと脅威の防止＞設定の管理の４項目が**この設定は管理者によって管理されています**と表示され、オン／オフの切り替えができない

**MicrosoftDefenderForBusiness有効確認**
* Get-MpComputerStatus実行時、以下の項目がTrueである
`RealTimeProtectionEnabled：True`
`IsTamperProtection：True`
* Get-Service "SENSE"実行時、以下の状態である
（cmdだとsc query "SENSE"）
`Status：Running`
* REG query "HKLM\SOFTWARE\Microsoft\Windows Advanced Threat Protection\Status"の表示結果の以下の項目が0x1である
`OnboardingState：0x1`
* REG query "HKLM\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection"の表示結果にOnboadingInfoがある
* テストアラート実行時、Microsoft 365 Defenderにて通知が来る

# 所感
いろいろと探してて気付いたんですが、Intune用のPowershellコマンドがMicrosoft公式から配布されているようでした。
識者投稿記事：https://azuread.net/archives/8734#:~:text=Intune%E7%99%BB%E9%8C%B2%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AE%E7%A2%BA%E8%AA%8D%20Get-IntuneManagedDevice%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%AC%E3%83%83%E3%83%88%E3%82%92%E4%BD%BF%E3%81%84%E3%81%BE%E3%81%99%E3%80%82,%E5%AE%9F%E8%A1%8C%E7%B5%90%E6%9E%9C%E3%81%AE%E3%81%86%E3%81%A1%E3%80%81deviceName%E5%B1%9E%E6%80%A7%E3%81%8C%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AE%E5%90%8D%E5%89%8D%E3%80%81deviceEnrollmentType%E5%B1%9E%E6%80%A7%E3%81%8CAzure%20AD%E3%81%B8%E3%81%AE%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E7%99%BB%E9%8C%B2%E6%96%B9%E6%B3%95%28registered%2C%20WindowsAzureADJoin%E3%81%AA%E3%81%A9%29%E3%80%81osVersion%E5%B1%9E%E6%80%A7%E3%81%8COS%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E8%A1%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

へー、と思いながら見ていますが、.NET Framework 4.7.1以降である、net471フォルダーにあるコンテンツを使う、などやや敷居が高いように感じました。これを入れればより詳細なIntuneのステータスが分析できそうですが、すべてのPCに入れてまでやるかと言われると少々微妙なところです。今後の課題です。

以上でございます。チェックリスト作成時の参考にしたり、より詳細なナレッジへの踏み台とかになってくれればと思います。
ご拝読ありがとうございました。