Rust 和 LLVM 编译器中添加了 Windows CFG 支持
微软方面宣布,该公司已与 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 的第一步。”
详情可查看官方博客:https://msrc-blog.microsoft.com/2020/08/17/control-flow-guard-for-clang-llvm-and-rust/
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android 11 强制用户使用内置系统相机应用
reddit 的一篇帖子介绍了 Android 11 调用相机 API 的重大变化,根据这篇帖子引用的博客文章的介绍,Android 11包含一些行为变更,这些变更可能会影响以 Android11 或更高版本为目标平台的应用,其中一项变更包括: 从 Android11 开始,只有预装的系统相机应用可以响应以下 intent 操作: android.media.action.VIDEO_CAPTURE android.media.action.IMAGE_CAPTURE android.media.action.IMAGE_CAPTURE_SECURE 如果有多个预装的系统相机应用可用,系统会显示一个对话框,供用户选择应用。如果您希望自己的应用使用特定的第三方相机应用来代表其捕获图片或视频,可以通过为 intent 设置软件包名称或组件来使这些 intent 变得明确。 可以看到,对于三个特定的需要调用摄像头的intent(VIDEO_CAPTURE、IMAGE_CAPTURE和IMAGE_CAPTURE_SECURE),Android 11 现在将自动提供预装的系统相机应用以执行这些操...
- 下一篇
无锁缓存,每秒10万并发,究竟如何实现?
有一类业务场景: (1)超高吞吐量,每秒要处理海量请求; (2)写多读少,大部分请求是对数据进行修改,少部分请求对数据进行读取; 这类业务,有什么实现技巧么? 接下来,一起听我从案例入手,娓娓道来。 快狗打车,场景举例: (1)司机地理位置信息会随时变化,可能 每几秒钟地理位置要修改一次 ; (2)用户打车的时候查看某个司机的地理位置, 查询地理位置的频率相对较低 ; 这里要用到两个接口: (1)大量修改司机信息: void SetDriverInfo(long driver_id, DriverInfo info); (2)相对少量查询司机信息: DriverInfo GetDriverInfo(long driver_id); 这一类业务,一般怎么实现呢? 具体到底层的实现,往往是 一个Map内存缓存 : (1)查询key定长,例如:司机ID; (2)返回value也定长,例如:司机实体序列化后的二进制串; 即,类似这样的一个kv缓存结构: Map<driver_id, DriverInfo> 这个kv内存缓存是一个临界资源,对它的并发访问,有什么注意事项么? 临界资源...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS关闭SELinux安全模块
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Linux系统CentOS6、CentOS7手动修改IP地址