今回は、個人で管理しているMicrosoft 365環境のDefender セキュア スコアを高めるために取り組んだ記録について、シリーズで投稿していきたいと思います。(今回は第1弾になります。)
Microsoft 365 Defenderに関する説明は割愛しております。Microsoftの公式ドキュメントを添付しますのでそちらをご参照ください。
簡単ですが、管理しているMicrosoft 365環境の構成は以下の通りです。MDEはMicrosoft Defender for Endpointの略称です。
- ライセンス:Microsoft 365 E5
- 端末台数:Windows11 2台、Windows10 1台、Mac 1台、iPhone 2台、Android 1台
- Windows:2台がAzure AD Joined/Intune/MDEで管理、1台がMDEのみで管理
- Mac:Azure AD Registered/Intune/MDEで管理
- iPhone/Android:Azure AD Registered/Intuneで管理
概要
まず、現在のセキュア スコアは以下の通りでした。Microsoft 365 Defender コンソール へアクセスして、セキュア スコアメニューより確認することが出来ます。
私の環境はデバイスのスコアが最も低い状態であり、まずはデバイス関連から改善していこうと思います。
ということで、おすすめの操作画面にて「カテゴリ:デバイス、状態:要対処」でフィルターして表示したところ、73件のおすすめの操作が表示されました。(改善点が多い。。。)
画面のイメージは以下画像の通りです。
CSVエクスポート機能で出力してどの様な改善点があるのか具体的に見ていくと、Officeに関連する操作が複数確認することができました。そして、各々を詳細に確認したところ、すべてMDEの機能である攻撃面の減少ルール(以下、ASRルール)に該当していることが判明しました。
そこで、本投稿ではMicrosoft 365 Defenderのセキュア スコア改善の取り組み第1弾として、ASRルールについて制御したことを備忘的な感じで記載します。
ASRルールとは
まず、ASRとはAttack Surface Reductionの略称であり「攻撃面の減少」と呼ばれるMDEの機能の一つです。サイバー攻撃などの脅威に対する脆弱な領域を減らすための機能であり、EPP(Endpoint Protection Platform)の拡張機能のような位置づけになると思います。
攻撃面の減少には、「ネットワーク保護」や「制御されたフォルダーへのアクセス保護」やリムーバブル記憶域などのメディアを監視する「デバイスコントロール」といった様々な機能が含まれており、ASRルールはその中の一つに位置しております。攻撃面の減少に関する詳細は以下のMicrosoft 公式ドキュメントをご参照ください。
さて、本題のASRルールについてですが、まず次の2種類のいずれかに分類されています。
- 標準保護ルール:他の ASRルールの影響と構成のニーズを評価しながら、Microsoft が常に有効にすることを推奨する最小ルールです。 通常、これらのルールはエンド ユーザーに対して最小限からまったく顕著な影響を及ぼしません。
- その他のルール:文書化された展開手順に従って何らかの手段を必要とする規ルールです。
これだけ読んでもいまいち分からないのですが、「その他のルール」に該当する方はエンドユーザーに影響を及ぼす可能性があるため、しっかりテストした上で展開していく必要があるルールだと解釈しています。
そして、ASRルールでは以下の計16個の項目を制御することができます。
ASRルール名 | 標準保護ルール | その他のルール |
---|---|---|
悪用された脆弱な署名付きドライバーの悪用をブロックする | はい | |
Adobe Reader による子プロセスの作成をブロックする | はい | |
すべての Office アプリケーションが子プロセスを作成できないようにブロックする | はい | |
Windows ローカル セキュリティ機関サブシステムからの資格情報の盗用をブロックする (lsass.exe) | はい | |
電子メール クライアントと Web メールから実行可能なコンテンツをブロックする | はい | |
有病率、年齢、または信頼されたリストの条件を満たしていない限り、実行可能ファイルの実行をブロックする | はい | |
難読化される可能性のあるスクリプトの実行をブロックする | はい | |
ダウンロードした実行可能コンテンツの起動を JavaScript または VBScript でブロックする | はい | |
Office アプリケーションによる実行可能コンテンツの作成をブロックする | はい | |
Office アプリケーションによるコードの他のプロセスへの挿入をブロックする | はい | |
Office 通信アプリケーションによる子プロセスの作成をブロックする | はい | |
WMI イベント サブスクリプションを使用して永続化をブロックする | はい | |
PSExec および WMI コマンドからのプロセスの作成をブロックする | はい | |
USB から実行される信頼されていないプロセスと署名されていないプロセスをブロックする | はい | |
Office マクロからの Win32 API 呼び出しをブロックする | はい | |
ランサムウェアに対する高度な保護を使用する | はい |
それぞれの項目に関する説明を記載すると非常に長くなってしまうため、詳細は割愛させていただきます。以下のMicrosoft 公式ドキュメントをご参照ください。
それでは、次にASRルールの制御方法について見ていきたいと思います。
ASRルールの制御方法
設定箇所
ASRルールは様々な箇所で制御することが可能です。オンプレミスADのグループポリシー、Intune、PowerShellなどです。
私の環境では、Intuneで管理しているWindows端末が2台とMDEのみ登録しているWORKGROUPのWindows端末が1台存在しています。そのため、IntuneとPowerShellを使用してそれぞれ制御していきたいと思います。
設定値
ASRルールは各操作ごとに設定することが可能です。設定値は以下の通りです。
- ブロック:ASRルールが有効になっている
- 監査:ASRルールが組織に与える影響について評価のみ行う
- 警告:ASRルールが有効になっておりエンドユーザーに通知を表示するがブロックはしない
- 無効:ASRルールが無効になっている
実際の本番環境で制御していく場合は、まず「監査」に設定を行い、時間をかけて評価した上で「ブロック」にするかどうか判断していく必要があります。しかし、「監査」の場合はMicrosoft 365 Defenderのセキュア スコアは改善されません。そのため今回は、セキュア スコアのポイント獲得を目的としていますので、すべてブロックに制御していきたいと思います。(不具合がでたら、後日「監査」に変更したいと思います。)
IntuneにてASRルールを制御する
それでは、まずはIntuneにてASRルールを制御していきます。
手順1:Intune管理センターへアクセスする
Intune管理センター へアクセスします。
手順2:攻撃面の減少の設定画面に移動する
[エンドポイントセキュリティ]>[攻撃面の減少]を選択し、[ポリシーの作成]から新しいポリシーを作成します。
手順3:攻撃面の減少ルールのプロファイルを作成する
プラットフォームに「Windows 10、Windows 11、Windows Server」、プロファイルに「攻撃の回避規則」を選択して、「作成」をクリックします。
[構成設定]>[Defender]の画面にてASRルールの各項目ごとに設定を入力します。
[割り当て]>[組み込まれたグループ]の画面にて適用したいグループを追加します。
私の環境では、Autopilotにて登録したWindows端末を「Autopilot」という名前のセキュリティグループにメンバー追加しているため、そちらを選択します。
一通り設定したら「作成」をクリックします。
以下の画像のようにASRルールを制御するポリシーが追加されたら設定完了です。
手順4:Windows端末へのポリシー適用状態を確認する
レポート画面を表示して、ASRルール向けのポリシーが適用されたことを確認することができます。以下の画像より、Windows端末2台に対して適用されたことを確認できました。(1台はプライマリユーザー以外でログインしたため、「システムアカウント」の適用が含まれており成功は3件になっています。)
PowerShellにてASRルールを制御する
次にIntuneに登録していないWindows端末に対してPowerShellでASRルールを制御していきます。
手順1:現在のASRルールの設定値を確認する
PowerShellを起動して以下のコマンドを実行します。設定されている項目について表示されます。未設定(無効)の場合は何も表示されません。
$preferences = Get-MpPreference
$ids = $preferences.AttackSurfaceReductionRules_Ids
$actions = $preferences.AttackSurfaceReductionRules_Actions
for ($i=0; $i -lt $ids.Count; $i++) {
Write-Output ("Rule ID: " + $ids[$i] + " Action: " + $actions[$i])
}
先にIntuneで設定したWindows端末で実行した結果は以下の通りです。
出力されたRule IDがどの項目に該当するかは以下Microsoft のドキュメントにて確認できます。
また、Actionの値については以下の通りです。期待通りすべてブロックされていることが確認できます。
- 0:無効
- 1:ブロック
- 2:監査
- 6:警告
手順2:ASRルールの全ての項目を無効⇒ブロックに変更する
PowerShellを管理者として起動して以下のコマンドを実行します。各項目のRule IDを指定し、それぞれ設定を行います。
Add-MpPreference -AttackSurfaceReductionRules_Ids <Rule ID> -AttackSurfaceReductionRules_Actions Enabled
なお、「有病率、年齢、または信頼されたリストの条件を満たしていない限り、実行可能ファイルの実行をブロックする」の項目を使用するには「クラウド提供の保護」を有効にする 必要があります。
そのため、以下リンクを参考に「クラウド提供の保護」についても併せて有効に変更しました。
Microsoft Defender ウイルス対策でクラウド保護を有効にする
手順3:設定変更後のASRルールの設定値を確認する
手順1と同じコマンドを実行します。私の環境では、以下の通りWORKGROUPのWindows端末についてもASRルールの設定がブロックに変更されたことを確認しました。
Microsoft 365 Defender でASRルールの設定値を確認する
Microsoft 365 Defenderのレポート機能を使用して、MDEに登録しているWindows端末のASRルールの設定値を確認することができます。
[Microsoft 365 Defender]>[レポート]>[攻撃面の減少ルール]にてConfigurationタブを表示します。期待通り、すべてブロックになっていることを確認できました。
セキュア スコアのポイント獲得結果を確認する
最後にMicrosoft 365 Defenderのセキュア スコアがどの程度改善されたのか確認していきます。(セキュアスコアの更新には最大で24時間かかる場合があります)
結果は以下の通りでした、59.27%⇒68.84%へ改善されたことを確認できました!
さいごに
いかがでしょうか?今回はMicrosoft 365 Defenderのセキュア スコアのポイント獲得のため、デバイスセキュリティのASRルールについて制御する方法を見てきました。セキュア スコアのポイント獲得については継続して取り組んでいく予定ですので、今後も第2弾、第3弾と記事化していきたいと思います。
参考リンク
- Microsoft 365 Defender とは
- 攻撃面の縮小機能を理解して使用する
- 攻撃面の減少 (ASR) ルールの参照
- GUID マトリックスへの ASR ルール
- Microsoft Defender ウイルス対策でクラウド保護を有効にする
- 攻撃面の縮小ルールのデモ
- 攻撃面の減少ルールを有効にする