おれさまラボ

実際に手を動かして理解を深めるブログ。

Windows Defender Exploit Guardに関するメモ

はじめに

Windows Defender Exploit Guardを扱いはじめたのですが、いまいちどういう製品なのかが分かりづらいので、自分なりに調べた内容をまとめておきます。

参考文献から引用した英文に対する訳は、筆者による拙訳ですのでご容赦ください。

Exploit Guard とは

Exploit は日本語にしづらいのですが、Exploit Guard を語る文脈では「不正侵入」のようなイメージで問題ありません。直訳すると「不正侵入防御」といった意味です。このあと「Exploit Guard とは何か」を深堀していきますが、製品分類としては Antivirus + Web Filtering といった感じのものとなります。言葉尻は IPS っぽさを感じますが、やってることは Antivirus や Web Filtering に近そうです。

エクスプロイトとは、偉業、快挙、功績、利用する、悪用する、などの意味を持つ英単語。ITの分野では、ソフトウェアなどの保安上の弱点(脆弱性)を突いて何らかの有害な動作を行うプログラム(エクスプロイトコード)や、そのようなプログラムによる不正アクセスなどの攻撃を指す。

引用:https://e-words.jp/w/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%82%A4%E3%83%88.html

Defender Series における位置づけ

Microsoft はエンドポイント・セキュリティ製品として Defender Series を提供しています。Defender Series のざっくりとした概要は、以下スライドを参照してください。

Microsoft による最新のドキュメントでは、エンドポイン保護を担う Defender 製品を以下6つとしており、Exploit Guard も そのひとつとなります。

  1. Microsoft Defender Antimalware
  2. Microsoft Defender Firewall
  3. Microsoft Defender for Endpoint
  4. Microsoft Defender Exploit Guard
  5. Microsoft Defender Application Guard
  6. Microsoft Defender Application Control

引用:https://docs.microsoft.com/en-us/mem/configmgr/protect/understand/protect-data-and-site-infrastructure

Micorosoft は、過去に EMET(Enhanced Mitigation Experience Toolkit)を未知/既知の脆弱性対策製品として提供してきましたが、2018年7月31日にサポート終了となりました。EMET で提供されていた機能を吸収・発展させる形で、Microsoft Defender Exploit Guard が生まれたようです。

Exploit Guardの機能

Exploit Guard は、大きく4つのポリシーを定義することで、不正アクセスからエンドポイント端末を保護します。

  • Attack Surface Reduction(攻撃面の縮小)
  • Controlled folder access(不正なアプリケーション実行からの保護)
  • Exploit protection(データ侵害からの保護)
  • Network protection(情報漏えいの脅威の抑制)

※日本語訳は[Japan Tech summit 2017] DEP 003より引用

Attack Surface Reduction

attack surface は攻撃表面/攻撃面とも訳され、その名のとおり攻撃を受けうる箇所(広義の脆弱性)を表すことばです。イメージは以下の記事を参考にしてください。

www.oresamalabo.net

Attack Surface Reduction ポリシーでは、さまざまな脅威を想定して、疑わしい処理を監査またはブロックできます。具体的な設定項目は下表のとおりで、具体的な項目をみれば何となくやってくれることのイメージがつくと思います。

Files and Folders to exclude from Attack Surface Reduction rules除外するファイルやフォルダを指定する
Email Threatsメールクライアントやウェブメールから実行可能なコンテンツをブロックする。
Office ThreatsOfficeアプリケーションが子プロセスを作成しないようにする
Officeアプリケーションが実行可能なコンテンツを作成するのをブロックする
Officeアプリケーションが他のプロセスにコードを注入することをブロックする
Office マクロからの Win32 API 呼び出しをブロックする
Scripting Threatsダウンロードした実行可能なコンテンツの起動からJavaScriptまたはVBScriptをブロックする
難読化された可能性のあるスクリプトの実行をブロックする
Ransomware threatsランサムウェアに対する高度な保護機能を使用する
Operating system threatsWindows のLocal Security Authority Subsystem Service(lsass)からの認証情報の盗用をブロックする
普及率や経年数、信頼できるリストの基準を満たさない限り、実行ファイルの実行をブロックする
External device threatsUSBから実行される信頼されていないプロセスや署名されていないプロセスをブロックする

最新の情報はドキュメントを参照してください。

docs.microsoft.com

Attack Surface Reduction ポリシーを使用するには、Microsoft Defender for Endpoint always-on protection の有効化が必要です。

Controlled folder access

Controlled folder access ポリシーは、悪意のある不審なアプリケーションから主要なフォルダー内にあるファイルを保護します。こちらも、設定項目を見れば、なんとなくイメージがつくと思います。

Configure Controlled folder access フォルダアクセス制御ルールを指定する。制御ルールは Block / Block disk sectors only / Audit / Audit disk sectors only Disabled から選択できる。
Allow apps through Controlled folder access フォルダアクセスを許可するアプリケーションを指定する。
Additional protected folders 制御下におくフォルダを追加する。

最新の情報はドキュメントを参照してください。

docs.microsoft.com

Controlled folder access ポリシーを使用するには、Microsoft Defender for Endpoint always-on protection の有効化が必要です。

Exploit protection

Exploit protectionポリシーでは、EMET(Enhanced Mitigation Experience Toolkit)の多くを引き継いだ機能で、数々のSecurity-Mitigation(セキュリティの緩和策)を提供します。提供される緩和策は下表のとおりです。

緩和策説明適用先監査モードの使用
Control flow guard (CFG)Ensures control flow integrity for indirect calls. Can optionally suppress exports and use strict CFG.System and app-levelNo
Data Execution Prevention (DEP)Prevents code from being run from data-only memory pages such as the heap and stacks. Only configurable for 32-bit (x86) apps, permanently enabled for all other architectures. Can optionally enable ATL thunk emulation.System and app-levelNo
Force randomization for images (Mandatory ASLR)Forcibly relocates images not compiled with /DYNAMICBASE. Can optionally fail loading images that don't have relocation information.System and app-levelNo
Randomize memory allocations (Bottom-Up ASLR)Randomizes locations for virtual memory allocations. It includes system structure heaps, stacks, TEBs, and PEBs. Can optionally use a wider randomization variance for 64-bit processes.System and app-levelNo
Validate exception chains (SEHOP)Ensures the integrity of an exception chain during exception dispatch. Only configurable for 32-bit (x86) applications.System and app-levelNo
Validate heap integrityTerminates a process when heap corruption is detected.System and app-levelNo
Arbitrary code guard (ACG)Prevents the introduction of non-image-backed executable code and prevents code pages from being modified. Can optionally allow thread opt-out and allow remote downgrade (configurable only with PowerShell).App-level onlyYes
Block low integrity imagesPrevents the loading of images marked with Low Integrity.App-level onlyYes
Block remote imagesPrevents loading of images from remote devices.App-level onlyNo
Block untrusted fontsPrevents loading any GDI-based fonts not installed in the system fonts directory, notably fonts from the web.App-level onlyYes
Code integrity guardRestricts loading of images signed by Microsoft, WHQL, or higher. Can optionally allow Microsoft Store signed images.App-level onlyYes
Disable extension pointsDisables various extensibility mechanisms that allow DLL injection into all processes, such as AppInit DLLs, window hooks, and Winsock service providers.App-level onlyNo
Disable Win32k system callsPrevents an app from using the Win32k system call table.App-level onlyYes
Don't allow child processesPrevents an app from creating child processes.App-level onlyYes
Export address filtering (EAF)Detects dangerous operations being resolved by malicious code. Can optionally validate access by modules commonly used by exploits.App-level onlyYes
Import address filtering (IAF)Detects dangerous operations being resolved by malicious code.App-level onlyYes
Simulate execution (SimExec)Ensures that calls to sensitive APIs return to legitimate callers. Only configurable for 32-bit (x86) applications. Not compatible with ACG.App-level onlyYes
Validate API invocation (CallerCheck)Ensures that sensitive APIs are invoked by legitimate callers. Only configurable for 32-bit (x86) applications. Not compatible with ACGApp-level onlyYes
Validate handle usageCauses an exception to be raised on any invalid handle references.App-level onlyNo
Validate image dependency integrityEnforces code signing for Windows image dependency loading.App-level onlyNo
Validate stack integrity (StackPivot)Ensures that the stack hasn't been redirected for sensitive APIs. Not compatible with ACG.App-level onlyYes

最新の情報はドキュメントを参照してください。

docs.microsoft.com

Network protection

Network protectionポリシーでは、インターネットを使用することで受けやすい攻撃からの保護を提供します。具体的には、フィッシング詐欺やエクスプロイト、悪意のあるコンテンツが存在する可能性のある疑わしいドメインへのアクセスを制限します。本機能は Microsoft Defender SmartScreen の機能をWebブラウザ以外のアプリケーションへ拡大するもので、参照する脅威インテリジェンスはSmartScreenと同一となります。

www.oresamalabo.net

設定は、Network Protection 機能を On / Off / Audit のいずれかを選択するのみです。

Network protection ポリシーを使用するには、Microsoft Defender for Endpoint always-on protection および cloud-delivered protection の有効化が必要です。

参考資料

You want your users to securely access your organization's resources. Protect both your infrastructure and your data from exposure or malicious attack. Use Configuration Manager to enable access and help protect your organization's resources.

Endpoint Protection lets you manage the following Microsoft Defender policies for client computers:

引用:https://docs.microsoft.com/en-us/mem/configmgr/protect/understand/protect-data-and-site-infrastructure

2018年7月31日、Microsoftは当初の予告通り、「Enhanced Mitigation Experience Toolkit(EMET)」のサポートを終了しました

引用:https://atmarkit.itmedia.co.jp/ait/articles/1808/07/news009.html

Defender for Endpoint includes several attack surface reduction capabilities. To learn more, see Overview of attack surface reduction capabilities. To configure attack surface reduction in your environment, follow these steps:

Enable hardware-based isolation for Microsoft Edge.

Enable application control.

Review base policies in Windows. See Example Base Policies. See the Windows Defender Application Control design guide. Refer to Deploying Windows Defender Application Control (WDAC) policies. Enable controlled folder access.

Turn on Network protection.

Enable exploit protection.

Configure attack surface reduction rules.

Set up your network firewall.

Get an overview of Windows Defender Firewall with advanced security. Use the Windows Defender Firewall design guide to decide how you want to design your firewall policies. Use the Windows Defender Firewall deployment guide to set up your organization's firewall with advanced security.

引用:https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-attack-surface-reduction

You can configure and deploy Configuration Manager policies that manage all four components of Windows Defender Exploit Guard. These components include:

Attack Surface Reduction Controlled folder access Exploit protection Network protection

引用:https://docs.microsoft.com/en-us/mem/configmgr/protect/deploy-use/create-deploy-exploit-guard-policy

Windows Defender Exploit Guard」(以下、Exploit Guard)は、Windows 10の侵入防止機能であり、マシンをさまざまなタイプの攻撃から保護する。例えばマルウェアによる内蔵メモリの操作を食い止めたり、フォルダアクセスを制御して強制的な変更を防いだりする。

引用:https://techtarget.itmedia.co.jp/tt/news/1810/16/news04.html

簡単に言えば、”使用環境”が攻撃されるようなウイルス等を侵入させないようにすることが出来ます。リスクの管理/縮小が可能です。ウイルスも日々、新しい物が増えてきているので我々ユーザーもこういった新しい機能を使ってウイルス対策や管理をおこなわなければなりません。

引用:https://appli-world.jp/posts/7030

信頼されていないアクセスをブロックすることが主な役割です。

引用:https://www.itmedia.co.jp/enterprise/articles/1804/11/news011_2.html

EMET は2017 年秋に公開予定の Windows 10 Fall Creators Update にて Windows Defender Exploitation Guard 機能として完全統合される予定です。

引用:https://msrc-blog.microsoft.com/2017/09/12/emettowdeg/

最新の「Windows 10」では「EMET」の機能が“Windows Defender Exploitation Guard”として統合されており、「Windows Defender セキュリティ センター」からGUIで設定可能となっている。

引用:https://forest.watch.impress.co.jp/docs/news/1133701.html

ランサムウェアなどの脅威から重要なデータを守るための機能が追加された。これは“コントロールされたフォルダー アクセス”と呼ばれており、[ウイルスと脅威の防止]セクションにある“ウイルスと脅威の防止の設定”から利用可能。ここにフォルダーを登録しておくと、当該フォルダーへのアクセスが常に監視されるようになり、信頼されていないアプリによるアクセスはブロックされるようになる。

引用:https://forest.watch.impress.co.jp/docs/news/1067956.html

Windows Defender Exploit Guard は、Windows 10 Fall Creators Update (英語情報) に搭載された新しい侵入防止機能です。

引用:https://msrc-blog.microsoft.com/2017/11/01/windows-defender-exploit-guard-reduce-the-attack-surface-against-next-generation-malware/

Microsoft Windows Defender Exploit Guard (EG) is an anti-malware software that provides intrusion protection for users with the Windows 10 operating system (OS). Exploit Guard is available as a part of Windows Defender Security Center and can protect machines against multiple attack types. Microsoft Windows Defender Exploit Guard (EG) は、Windows 10 オペレーティングシステム (OS) を使用するユーザーに侵入防止機能を提供するマルウェア対策ソフトウェアです。Exploit Guardは、Windows Defender Security Centerの一部として提供され、複数の攻撃タイプからマシンを保護することができます。

引用:https://searchsecurity.techtarget.com/definition/Windows-Defender-Exploit-Guard

Remote content are parts of a message (such as images, stylesheets, or videos) which are not included in the message itself, but are downloaded from the Internet when you view the message.

引用:https://support.mozilla.org/en-US/kb/remote-content-in-messages#:~:text=Remote%20content%20are%20parts%20of,time%20you%20view%20the%20message

忙しい人向けExport Address Filteringまとめ - 任意コード実行が出来た後のAPIアドレス特定を阻止する - 方法は特定.dllのexport関数一覧への不正アクセスを検知してクラッシュする - 対象はkernel32.dllとkernelbase.dllとntdll.dll - 悪用される率が高いからと思われる - 不正アクセスとは正規にロードされたバイナリのコード領域以外からの読み取り - 実行可能属性ついたヒープやスタックからだと不正扱い - 回避は楽勝すぎて防御は無いも同然

引用:https://resemblances.click3.org/?p=2017

以上