"深入理解并绕过控制流保护技术——幻灯片(2015)-计算机科学" 在计算机安全领域,控制流保护(Control Flow Guard,简称CFG)是一种重要的防御机制,旨在防止恶意代码通过重定向控制流到预期之外的位置来执行攻击。该技术最初在Windows 8.1预览版中引入,但由于兼容性问题在正式版(RTM)中被禁用。随后,经过改进,CFG在Windows 10技术预览版和Windows 8.1更新中被重新启用。 CFG的核心原理是在每个间接调用之前插入检查,以确保目标地址的有效性。在运行时,如果在支持CFG的操作系统上检测到检查失败,系统会终止程序执行,从而防止攻击者利用溢出漏洞等手段篡改指针,重定向控制流。因此,CFG对许多常见的利用技术提供了有效的防护。 然而,这篇资料介绍了一种普遍的绕过CFG保护的技术,它全面地规避了CFG的安全措施,使得那些原本被抑制的攻击技术再次变得可利用。这表明,尽管CFG提供了一层强大的防护,但安全研究人员始终在寻找方法来应对这种防御。 CFG的实现细节 CFG的实现分为编译阶段和运行时阶段。在编译阶段,编译器会在加载配置表中添加五个条目,其中一个是用于调用守护检查的函数指针。例如,MJ0011和Jack Tang已经详细分析了CFG的实现,他们指出: 0:006>ddsjscript9!_load_config_used+48l5 62b2104862f043fc jscript9!__guard_check_icall_fptr 这个示例显示了在特定的内存地址中,存在一个指向名为`__guard_check_icall_fptr`的函数指针,这是用于执行CFG检查的关键部分。 绕过技术 虽然CFG能有效地阻止许多攻击,但研究人员发现了一些方法来绕过其保护。这些方法可能包括但不限于:利用未充分理解的CFG边缘情况、篡改CFG表以误导检查,或者利用编译器或链接器的漏洞来规避检查。这些绕过技术的研究对于提升软件安全性和防御策略的改进具有重要意义。 这篇资料揭示了在面对高级安全机制如CFG时,攻击者依然能够寻找漏洞,寻找方法来破坏防御体系。因此,开发者需要持续关注和更新防御策略,同时,安全研究人员的工作是确保这些防御机制能够不断适应新的威胁。
- 粉丝: 5
- 资源: 907
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦