はじめに
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 も そのひとつとなります。
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
は攻撃表面/攻撃面とも訳され、その名のとおり攻撃を受けうる箇所(広義の脆弱性)を表すことばです。イメージは以下の記事を参考にしてください。
Attack Surface Reduction ポリシーでは、さまざまな脅威を想定して、疑わしい処理を監査またはブロックできます。具体的な設定項目は下表のとおりで、具体的な項目をみれば何となくやってくれることのイメージがつくと思います。
Files and Folders to exclude from Attack Surface Reduction rules | 除外するファイルやフォルダを指定する |
Email Threats | メールクライアントやウェブメールから実行可能なコンテンツをブロックする。 |
Office Threats | Officeアプリケーションが子プロセスを作成しないようにする |
Officeアプリケーションが実行可能なコンテンツを作成するのをブロックする | |
Officeアプリケーションが他のプロセスにコードを注入することをブロックする | |
Office マクロからの Win32 API 呼び出しをブロックする | |
Scripting Threats | ダウンロードした実行可能なコンテンツの起動からJavaScriptまたはVBScriptをブロックする |
難読化された可能性のあるスクリプトの実行をブロックする | |
Ransomware threats | ランサムウェアに対する高度な保護機能を使用する |
Operating system threats | Windows のLocal Security Authority Subsystem Service(lsass)からの認証情報の盗用をブロックする |
普及率や経年数、信頼できるリストの基準を満たさない限り、実行ファイルの実行をブロックする | |
External device threats | USBから実行される信頼されていないプロセスや署名されていないプロセスをブロックする |
最新の情報はドキュメントを参照してください。
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 | 制御下におくフォルダを追加する。 |
最新の情報はドキュメントを参照してください。
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-level | No |
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-level | No |
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-level | No |
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-level | No |
Validate exception chains (SEHOP) | Ensures the integrity of an exception chain during exception dispatch. Only configurable for 32-bit (x86) applications. | System and app-level | No |
Validate heap integrity | Terminates a process when heap corruption is detected. | System and app-level | No |
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 only | Yes |
Block low integrity images | Prevents the loading of images marked with Low Integrity. | App-level only | Yes |
Block remote images | Prevents loading of images from remote devices. | App-level only | No |
Block untrusted fonts | Prevents loading any GDI-based fonts not installed in the system fonts directory, notably fonts from the web. | App-level only | Yes |
Code integrity guard | Restricts loading of images signed by Microsoft, WHQL, or higher. Can optionally allow Microsoft Store signed images. | App-level only | Yes |
Disable extension points | Disables various extensibility mechanisms that allow DLL injection into all processes, such as AppInit DLLs, window hooks, and Winsock service providers. | App-level only | No |
Disable Win32k system calls | Prevents an app from using the Win32k system call table. | App-level only | Yes |
Don't allow child processes | Prevents an app from creating child processes. | App-level only | Yes |
Export address filtering (EAF) | Detects dangerous operations being resolved by malicious code. Can optionally validate access by modules commonly used by exploits. | App-level only | Yes |
Import address filtering (IAF) | Detects dangerous operations being resolved by malicious code. | App-level only | Yes |
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 only | Yes |
Validate API invocation (CallerCheck) | Ensures that sensitive APIs are invoked by legitimate callers. Only configurable for 32-bit (x86) applications. Not compatible with ACG | App-level only | Yes |
Validate handle usage | Causes an exception to be raised on any invalid handle references. | App-level only | No |
Validate image dependency integrity | Enforces code signing for Windows image dependency loading. | App-level only | No |
Validate stack integrity (StackPivot) | Ensures that the stack hasn't been redirected for sensitive APIs. Not compatible with ACG. | App-level only | Yes |
最新の情報はドキュメントを参照してください。
Network protection
Network protectionポリシーでは、インターネットを使用することで受けやすい攻撃からの保護を提供します。具体的には、フィッシング詐欺やエクスプロイト、悪意のあるコンテンツが存在する可能性のある疑わしいドメインへのアクセスを制限します。本機能は Microsoft Defender SmartScreen の機能をWebブラウザ以外のアプリケーションへ拡大するもので、参照する脅威インテリジェンスはSmartScreenと同一となります。
設定は、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:
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.
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 (英語情報) に搭載された新しい侵入防止機能です。
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.
忙しい人向けExport Address Filteringまとめ - 任意コード実行が出来た後のAPIアドレス特定を阻止する - 方法は特定.dllのexport関数一覧への不正アクセスを検知してクラッシュする - 対象はkernel32.dllとkernelbase.dllとntdll.dll - 悪用される率が高いからと思われる - 不正アクセスとは正規にロードされたバイナリのコード領域以外からの読み取り - 実行可能属性ついたヒープやスタックからだと不正扱い - 回避は楽勝すぎて防御は無いも同然
引用:https://resemblances.click3.org/?p=2017
以上