查看: 2094|回复: 9
收起左侧

[一般话题] 七个月之前的贴子:WDEG介绍。

[复制链接]
ELOHIM
发表于 2018-10-4 20:50:53 | 显示全部楼层 |阅读模式
本帖最后由 ELOHIM 于 2018-10-4 22:44 编辑

Windows 10 Fall Creators Update安全新特性之WDEG
——张云海               
———————————————————————————————————————————————

文章目录

  • 一、概述
  • 二、攻击防护
    • 2.1 设置
      • 2.1.1 系统设置
      • 2.1.2 程序设置
      • 2.2.2 加载程序设置
      • 2.2.3 应用设置
      • 2.2.4 加载Payload Restriction
  • 三、攻击面减少
  • 四、网络保护
  • 五、受控制文件夹的访问
  • 六、总结

一、概述
微软于2017年10月17日正式发布了Windows 10的新版本Fall Creators Update(RS3)。
在此次更新中,微软将其缓解工具集EMET(The Enhanced Mitigation Experience Toolkit)的功能集成到操作系统中,推出了WDEG(Windows Defender Exploit Guard)。
WDEG
主要实现以下四项功能:

  • 攻击防护(Exploit protection
通过应用缓解技术来阻止攻击者利用漏洞,可以应用于指定的程序或者系统中所有的程序。
  • 攻击面减少(Attack surface reduction
通过设置智能规则来减少潜在的攻击面,以阻止基于Office应用、脚本、邮件等的攻击。
  • 网络保护(Network protection
扩展Windows Defender SmartScreen的范围,为所有网络相关的操作提供基于信誉的防护。
  • 受控制文件夹的访问(Controlled folder access
协助保护系统中的重要文件,使其不会被恶意软件(尤其是加密文件的勒索软件)修改。

二、攻击防护
攻击防护功能由系统的缓解措施与EMET的增强功能发展而来,通过阻止漏洞利用中的关键技术来进行防护。
2.1 设置
攻击防护可以通过Windows Defender安全中心进行设置:

攻击防护的设置有系统设置与程序设置两类:

2.1.1 系统设置
系统设置用于设置全局性的策略,包含以下项目:

  • 控制流保护(CFG
确保间接调用的控制流完整性。
默认设置为打开。
  • 数据执行保护(DEP
阻止代码从仅数据内存页中运行。
默认设置为打开。
  • 强制映像随机化(强制性ASLR
强制重定位未用/DYNAMICBASE编译的映像。
默认设置为关闭。
  • 随机化内存分配(自下而上ASLR
随机化虚拟内存分配位置。
默认设置为打开。
  • 验证异常链(SEHOP
确保调度期间异常链的完整性。
默认设置为打开。
  • 验证堆完整性
检测到堆损坏时终止进程。
默认设置为打开。
2.1.2 程序设置
程序设置用于对特定程序进行自定义设置,包含以下项目:

  • 任意代码保护(ACG
阻止非映像支持的可执行代码和代码页修改。
可选设置有:允许线程退出、审核。
  • 阻止低完整性映像
阻止加载标记低完整性的映像。
可选设置有:审核。
  • 阻止远程映像
阻止从远程设备加载映像。
可选设置有:审核。
  • 阻止不受信任的字体
阻止加载系统字体目录中未安装的任何基于GDI的字体。
可选设置有:审核。
  • 代码完整性保护
只允许加载由Microsoft签名的映像。
可选设置有:同时允许加载由Windows应用商店签名的映像、审核。
  • 控制流保护(CFG
确保间接调用的控制流完整性。
可选设置有:使用严格CFG。
  • 数据执行保护(DEP
阻止代码从仅数据内存页中运行。
可选设置有:启用ATL形式转换模拟。
  • 禁用扩展点
禁用各种允许DLL注入到所有进程的可扩展机制,如窗口挂接。
  • 禁用Win32k系统调用
阻止程序使用Win32k系统调用表。
可选设置有:审核。
  • 不允许子进程
阻止程序创建子进程。
可选设置有:审核。
  • 导出地址筛选(EAF
检测由恶意代码解析的危险导出函数。
可选设置有:验证通常被攻击滥用的模块的访问权限、审核。
  • 强制映像随机化(强制性ASLR
强制重定位未用/DYNAMICBASE编译的映像。
可选设置有:不允许去除的映像。
  • 导入地址筛选(IAF
检测由恶意代码解析的危险导入函数。
可选设置有:审核。
  • 随机化内存分配(自下而上ASLR
随机化虚拟内存分配位置。
可选设置有:不使用高熵。
  • 模拟执行(SimExec
确保对敏感函数的调用返回到合法调用方。
可选设置有:审核。
  • 验证API调用(CallerCheck
确保由合法调用方调用敏感API。
可选设置有:审核。
  • 验证异常链(SEHOP
确保调度期间异常链的完整性。
  • 验证句柄使用情况
对任何无效句柄引用引发异常。
  • 验证堆完整性
检测到堆损坏时终止进程。
  • 验证映像依赖项完整性
对Windows映像依赖项加载强制执行代码签名。
可选设置有:审核。
  • 验证堆栈完整性(StackPivot
确保未对敏感函数重定向堆栈。
可选设置有:审核。
  • 实现
  • 加载系统设置
攻击防护的系统设置保存在注册表中HKLM\System\CurrentControlSet\Control\Session Manager\kernel项下:

系统启动时,在初始化过程中会调用nt!CmGetSystemControlValues函数来获取注册表中保存的设置:

其中,MitigationOptions的值保存到nt!PspSystemMitigationOptions中,MitigationAuditOptions的值保存到nt!PspSystemMitigationAuditOptions中:

2.2.2 加载程序设置
攻击防护的程序设置保存在对应程序的IFEO(Image File Execution Options)项中:

系统创建新的进程时,将调用nt!PspAllocateProcess函数:

nt!PspAllocateProcess函数调用nt!PspReadIFEOMitigationOptions函数以及nt!PspReadIFEOMitigationAuditOptions函数来读取IFEO中保存的程序设置:

2.2.3 应用设置
然后,nt!PspAllocateProcess函数调用nt!PspInheritMitigationOptions函数合并系统设置与程序设置,得到需要应用的设置:

最后,nt!PspAllocateProcess函数调用nt!PspApplyMitigationOptions函数来应用设置:

nt!PspApplyMitigationOptions根据MitigationOptions与MitigationAuditOption的值来设置EPROCESS的MitigationFlags与MitigationFlags2对应的标志位:

MitigationFlags对应系统的缓解措施,设置对应的标志位之后即可生效。
MitigationFlags2对应增强的缓解措施,需要加载动态库PayloadRestrictions.dll来实现。

2.2.4 加载Payload Restriction
完成进程创建之后,将调用ntdll.dll的LdrInitializeThunk函数进行初始化。
初始化过程中,将逐步调用到ntdll!LdrpInitializeExecutionOptions函数:

ntdll!LdrpInitializeExecutionOptions函数检查PEB的NtGlobalFlag是否设置了FLG_HEAP_PAGE_ALLOCS或FLG_APPLICATION_VERIFIER标志位,同时调用ntdll!LdrpPayloadRestrictionMitigationsEnabled函数来判断是否启用了Payload Restriction的缓解措施:

满足任一条件时,将调用ntdll!LdrpInitializeApplicationVerifierPackage函数来初始化ApplicationVerifier;后者将调用ntdll!AvrfMiniLoadDll函数来加载动态库verifier.dll:

verifier.dll进行初始化时,将调用verifier!MitLibInitialize函数:

verifier!MitLibInitialize函数完成动态库PayloadRestrictions.dll的加载:
2.2.5 应用Payload Restriction
PayloadRestrictions.dll进行初始化时,将调用ntdll!LdrRegisterDllNotification函数来注册回调函数PayloadRestrictions!MitLibDllNotification:

此后加载、卸载模块时,系统会调用PayloadRestrictions!MitLibDllNotification函数进行通知:

加载模块时,PayloadRestrictions!MitLibHandleDllLoadEvent为该模块注入相应的防护机制:


三、攻击面减少
攻击面减少用于阻止Office应用、脚本、邮件的一些特性被攻击者滥用,包括:


  • 在Office应用或Web Mail中执行程序或脚本来下载或执行文件;
  • 执行混淆的可疑脚本;
  • 其他在正常的日常工作中不太可能出现的行为;
攻击面减少可以通过组策略编辑器来设置,其路径为“计算机配置 > 管理模板 > Windows组件 > Windows Defender防病毒程序 > Windows Defender攻击防护 > 攻击面减少”:

攻击面减少规则由GUID来标识,启用后可以设置每个规则的状态(1表示阻止,0表示关闭,2表示审核)。

目前支持的规则如下:
规则ID说明
BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550阻止从邮件中执行内容
D4F940AB-401B-4EFC-AADC-AD5F3C50688A阻止Office应用创建子进程
3B576869-A4EC-4529-8536-B80A7769E899阻止Office应用创建可执行内容
75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84阻止Office应用向其他进程注入代码
D3E037E1-3EB8-44C8-A917-57927947596D阻止脚本执行下载的内容
5BEB7EFE-FD9A-4556-801D-275E5FFC04CC阻止执行混淆的脚本
92E97FA1-2EDF-4476-BDD6-9DD0B4DDDC7B阻止在宏中调用Win32 API

同时,可以指定从上述规则中排除的文件和路径:

攻击面减少的规则保存在注册表中
HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{EE798E8D-335D-4D47-9C4B-ECDF73662A1F}Machine\Software\Policies\Microsoft\Windows Defender\Windows Defender Exploit Guard\ASR\Rules项下。

四、网络保护
网络保护通过阻止任意程序访问危险的网站(可能包含钓鱼诈骗、漏洞利用等恶意内容)来减少基于网络的攻击面。
网络保护扩展了Windows Defender SmartScreen的范围,将阻断全部试图连接低信誉目标的HTTP / HTTPS流量。
网络保护可以通过组策略编辑器来设置,其路径为“计算机配置 > 管理模板 > Windows组件 > Windows Defender防病毒程序 > Windows Defender攻击防护 > 网络保护”:


网络保护的规则保存在注册表中
HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{EE798E8D-335D-4D47-9C4B-ECDF73662A1F}Machine\Software\Policies\Microsoft\Windows Defender\Windows Defender Exploit Guard\ Network Protection项下。

五、受控制文件夹的访问
受控制文件夹的访问用于阻止恶意应用(如勒索软件)修改重要的文件,只有Windows Defender防病毒程序评估为安全的应用才被允许修改受控制文件夹中的文件。
受控制文件夹的访问可以通过组策略编辑器来设置,其路径为“计算机配置 > 管理模板 > Windows组件 > Windows Defender防病毒程序 > Windows Defender攻击防护 > 受控制文件夹的访问”:



可以通过配置允许的应用程序,将受信任的程序加入白名单:

缺省情况受保护的只有系统文件夹,可以通过配置受保护的文件夹来添加应该受到该功能保护的文件夹:

受控制文件夹的访问的规则保存在注册表中
HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{EE798E8D-335D-4D47-9C4B-ECDF73662A1F}Machine\Software\Policies\Microsoft\Windows Defender\Windows Defender Exploit Guard\ Controlled Folder Access项下。

六、总结
Windows 10 Fall Creators Update更新中的WDEG提供了全面而强大的漏洞利用防护功能。
然而,安全与便捷往往不可兼得,为了不过多的影响用户体验,WDEG中的许多功能缺省并未开启。
系统管理员应当根据其实际情况来设置组策略,以便更好的利用WDEG来进行防护。


评分

参与人数 3人气 +9 收起 理由
EnZhSTReLniKoVa + 3 感谢提供分享
为你心碎 + 3 感谢提供分享
曲中求 + 3 版区有你更精彩: )

查看全部评分

ELOHIM
 楼主| 发表于 2018-10-4 21:23:42 | 显示全部楼层
本帖最后由 ELOHIM 于 2018-10-4 21:35 编辑

感谢@曲中求 第一时间评分。
——————————————
我想说,如果用户能第一时间把操作系统自带的功能了解透彻的话,我想说,还不错。
如果把XP系统自带的CHM文件研究透,也算在你的朋友圈小有名气啦!~
如果非要图省事,安个三方,那也不是什么难题,双击可以解决一切不开心和开心。
不过,请神容易送神难。。神仙也有几个挺难缠的。

如果使用第三方软件,我的建议,也不要禁用系统自带安全功能(不包括WD杀毒)。
比如系统墙,UAC,WDSS,win update,磁盘加密,NTFS控制设置,USB自动播放,网络访问保护等。
———————————————————————————————————————
其实,我说这么多,
我只是在给大家推荐一个:
高安全高性能的组合。
即安全又操作简单的组合。
而不是很安全很麻烦的组合。
也不是特安全特恼火的组合。     
驭龙
发表于 2018-10-4 21:45:40 | 显示全部楼层
转发的话,是不是应该注明一下(现在的注明太小),要不然不尊重原作者啊

评分

参与人数 1人气 +1 收起 理由
ELOHIM + 1 感谢解答: )

查看全部评分

EnZhSTReLniKoVa
发表于 2018-10-4 21:54:46 | 显示全部楼层
多谢普及姿势, 萌新受益了

评分

参与人数 1人气 +1 收起 理由
ELOHIM + 1 感谢解答: )

查看全部评分

ELOHIM
 楼主| 发表于 2018-10-4 22:01:23 | 显示全部楼层
驭龙 发表于 2018-10-4 21:45
转发的话,是不是应该注明一下(现在的注明太小),要不然不尊重原作者啊

已修改。


并感谢张云海大神辛苦整理。

评分

参与人数 1人气 +3 收起 理由
驭龙 + 3

查看全部评分

ELOHIM
 楼主| 发表于 2018-10-4 22:03:09 | 显示全部楼层
君陌潇 发表于 2018-10-4 21:54
多谢普及姿势, 萌新受益了

感谢君君现身支持。
www-tekeze
发表于 2018-10-4 22:17:38 | 显示全部楼层
   技术贴,必须得进来顶一下!

评分

参与人数 1人气 +1 收起 理由
ELOHIM + 1 淡定

查看全部评分

ELOHIM
 楼主| 发表于 2018-10-4 22:19:05 | 显示全部楼层
www-tekeze 发表于 2018-10-4 22:17
技术贴,必须得进来顶一下!

大神啦,不要笑话我。
转发来的。
干货分享给大家。。  
为你心碎
发表于 2018-10-5 09:55:34 | 显示全部楼层
这些正不知道怎么用呢,刚好了
ELOHIM
 楼主| 发表于 2018-10-5 11:19:16 | 显示全部楼层
为你心碎 发表于 2018-10-5 09:55
这些正不知道怎么用呢,刚好了


你先用吧。。我还没有10系统用。。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-3-29 19:17 , Processed in 0.134609 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表