亚洲日韩久久|国偷自产一区二区三区蜜臀国|国产一区二区日韩|99热这里只亚洲无码,无码

Rust和LLVM編譯器中添加了Windows CFG支持

日期:2020-08-20 來源:電子創(chuàng)新網(wǎng)作者:winniewei閱讀:3

微軟方面宣布,該公司已與 LLVM 和 Rust 開發(fā)團(tuán)隊(duì)達(dá)成合作,將對(duì) Windows Control Flow Guard(CFG)平臺(tái)安全功能的支持添加到了 Clang 和 Rustc 編譯器中。此前,CFG 僅適用于使用 Microsoft Visual C ++ 編譯的 C/C ++ 代碼。CFG 是微軟自 Windows 8.1 版本開始添加的一項(xiàng)強(qiáng)大的安全功能,目前已在 Windows 10 中被廣泛使用 。

(詳情可查看官方博客)

該功能可以保護(hù)應(yīng)用程序代碼的執(zhí)行流,以防止惡意代碼(例如內(nèi)存錯(cuò)誤的結(jié)果)劫持本機(jī)“控制流”并使應(yīng)用程序執(zhí)行有害的操作。CFG 是對(duì)其他漏洞利用緩解措施的補(bǔ)充,例如地址空間布局隨機(jī)化(Address Space Layout Randomization,ASLR)和數(shù)據(jù)執(zhí)行保護(hù)(Data Execution Prevention,DEP)。

目前,CFG 功能已在 LLVM 10.0 和 Rust 1.47(當(dāng)前為 Nightly 版本)兩個(gè)版本中可用。

LLVM 10.0 現(xiàn)在支持 CFG。我們對(duì) CFG 的實(shí)現(xiàn)完全包含在核心庫中,這使得它可以在基于 LLVM 的任何編譯器中重用–前端編譯器只需要設(shè)置正確的 flags 即可。

CFG 在 Rust 1.47(當(dāng)前為 Nightly 版本)中可用。要啟用 CFG,只需添加 -C control-flow-guard flag 即可。

值得一提的是,微軟方面透露,將 CFG 支持?jǐn)U展到 LLVM/Clang的主要驅(qū)動(dòng)器是 Chromium,而 Chromium 代碼庫是使用 Clang 編譯的。“因此,Chromium 團(tuán)隊(duì)正在努力在Windows版本中啟用 CFG,這是在 Google Chrome 和 Microsoft Edge 中采用 CFG 的第一步?!?/p>

來源:開源中國

打賞
聯(lián)系客服 投訴反饋  頂部