1 微软与LLVM、Rust达成合作,将CFG支持添加到编译器-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

如意 来源:开源中国 作者:白开水不加糖 2020-08-20 11:44 次阅读

微软方面宣布,该公司已与 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 的第一步。”

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微软
    +关注

    关注

    4

    文章

    6590

    浏览量

    104024
  • 编译器
    +关注

    关注

    1

    文章

    1623

    浏览量

    49107
  • CFG
    CFG
    +关注

    关注

    0

    文章

    10

    浏览量

    9814
收藏 人收藏

    评论

    相关推荐

    HighTec C/C++编译器支持Andes晶心科技RISC-V IP

    汽车编译器解决方案领先供货商HighTec EDV-Systeme GmbH宣布其针对汽车市场的高度优化C/C++编译器支持Andes晶心科技的RISC-V IP。这项支持对汽车软件开
    的头像 发表于 12-12 16:26 181次阅读

    AI编译器技术剖析

    随着人工智能技术的飞速发展,AI编译器作为一种新兴的编译技术逐渐进入人们的视野。AI编译器不仅具备传统编译器的功能,如高级语言编写的源代码
    的头像 发表于 07-17 18:28 1613次阅读

    人工智能编译器与传统编译器的区别

    人工智能编译器(AI编译器)与传统编译器在多个方面存在显著的差异。这些差异主要体现在设计目标、功能特性、优化策略、适用范围以及技术复杂性等方面。以下是对两者区别的详细探讨,旨在全面解析其内在差异。
    的头像 发表于 07-17 18:19 1832次阅读

    请问如何cURL库添加到ESP8266_RTOS_SDK项目中?

    我想使用 curl api,但我不知道如何添加到我的项目中,这样当我将该库的头文件包含在我的项目中时它就不会抱怨。 有谁知道如何正确地第三方库添加到ESP8266_RTOS_SD
    发表于 07-09 07:52

    芯来科技与华东师范大学SOLE实验室合作推动LLVM/CLANG编译器优化

    行深入的LLVM/CLANG编译器优化以及程序性能优化和调优。 我们不仅优化了LLVM编译器的多个关键环节,提升了代码生成效率和执行性能,还针对视频编解码、性能测试等应用场景进行了深入
    的头像 发表于 06-12 09:09 612次阅读
    芯来科技与华东师范大学SOLE实验室<b class='flag-5'>合作</b>推动<b class='flag-5'>LLVM</b>/CLANG<b class='flag-5'>编译器</b>优化

    SEGGER编译器优化和安全技术介绍 支持最新C和C++语言

    SEGGER编译器是专门为ARM和RISC-V微控制设计的优化C/C++编译器。它建立在强大的Clang前端上,支持最新的C和C++语言功能。 除其他外,其主要功能包括: 1) 尺寸
    的头像 发表于 06-04 15:31 1441次阅读
    SEGGER<b class='flag-5'>编译器</b>优化和安全技术介绍 <b class='flag-5'>支持</b>最新C和C++语言

    在Aurix Tc375Lk上使用Rust编程语言可以吗?

    您好,如果我想在 Aurix Tc375Lk 上使用 Rust 编程语言,可以吗?如果是,链接 rust 编译器 ADS 和 freetoolchain 的步骤是什么?你有在 ADS 或 freetoolchian 中链接
    发表于 05-17 13:42

    怎么把stlink server添加到keil里?

    stlink server的使用说明里面是支持keil5.25的。怎么把stlink server添加到keil里?
    发表于 03-27 07:28

    如何F-RAM™添加到现有的PSoC™ Creator项目?

    我们在PSoC™ Creator 中有一个 PSoC6 项目,并希望 QSPI F-RAM™存储添加到TDA5235_868_5_BOARD中。我很难找到如何在F-RAM™ PSoC
    发表于 03-01 12:14

    FCX3是否具有PTS或SCR添加到映像帧的功能?

    问题 1) FCX3是否具有PTS或SCR添加到映像帧的功能,如随附的USB规范中所述? 如果可能,请提供有关如何配置每个 PTS 和 SCR 的详细信息。 问题 2) CAN FCX3 支持1080x1280@120fps传
    发表于 02-26 08:23

    HighTec怎么添加.o文件?

    请问大神HighTec怎么添加.o文件,我现在有个软件包,其中几个函数没有源码,软件包里提供的是.o文件里面包含了这几个函数,该怎么添加到编译器里才能编译通过呢?
    发表于 02-18 07:16

    如何TC1798器件添加到MDK KEIL?

    我正在尝试使用 KEIL MDK(µVision)为英飞凌TC1798编程,但我不确定如何TC1798器件添加到MDK KEIL。 谁能帮我拿到 .pack 或者.zip 对于 TC1798?
    发表于 02-01 08:18

    ADuCM355硬件参考手册——Keli编译

    在 Arm Compiler 5 和 Arm Compiler for Embedded(以前称为 Arm Compiler 6)之间,底层技术发生了重大变化,从专有编译器 armcc 转变为基于开源 LLVM/Clang 的编译器
    的头像 发表于 01-12 09:35 1359次阅读
    ADuCM355硬件参考手册——Keli<b class='flag-5'>编译</b>版

    把LTC6811的C文件和头文件添加到工程里后,编译显示cell_asic没有定义是什么意思?

    把LTC6811的C文件和头文件添加到工程里后,编译显示cell_asic没有定义,啥意思? void LTC6811_init_cfg(uint8_t total_ic, //!<
    发表于 01-05 11:53

    从Rustup出发看Rust编译生态

    从Rustup出发看Rust编译生态 1. RustLLVM的关系是怎样的? 2. Rustup中targets是什么,为什么可以安装多个? 3.
    的头像 发表于 01-02 11:00 523次阅读