微软与LLVM、Rust达成合作,将CFG支持添加到编译器

电子说

1.3w人已加入

描述

微软方面宣布,该公司已与 LLVM 和 Rust 开发团队达成合作,将对 Windows Control Flow Guard(CFG)平台安全功能的支持添加到了 Clang 和 Rustc 编译器中。此前,CFG 仅适用于使用 Microsoft Visual C ++ 编译的 C/C ++ 代码。

CFG 是微软自 Windows 8.1 版本开始添加的一项强大的安全功能,目前已在 Windows 10 中被广泛使用 。该功能可以保护应用程序代码的执行流,以防止恶意代码(例如内存错误的结果)劫持本机“控制流”并使应用程序执行有害的操作。CFG 是对其他漏洞利用缓解措施的补充,例如地址空间布局随机化(Address Space Layout Randomization,ASLR)和数据执行保护(Data Execution Prevention,DEP)。

目前,CFG 功能已在 LLVM 10.0 和 Rust 1.47(当前为 Nightly 版本)两个版本中可用。

“LLVM 10.0 现在支持 CFG。我们对 CFG 的实现完全包含在核心库中,这使得它可以在基于 LLVM 的任何编译器中重用–前端编译器只需要设置正确的 flags 即可。”

“CFG 在 Rust 1.47(当前为 Nightly 版本)中可用。要启用 CFG,只需添加 -C control-flow-guard flag 即可。”

值得一提的是,微软方面透露,将 CFG 支持扩展到 LLVM/Clang的主要驱动器是 Chromium,而 Chromium 代码库是使用 Clang 编译的。“因此,Chromium 团队正在努力在 Windows 版本中启用 CFG,这是在 Google Chrome 和 Microsoft Edge 中采用 CFG 的第一步。”

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分