我什么时候不希望在Visual Studio中启用“Control Flow Guard Microsoft

When would I not wish to enable “Control Flow Guard” in Microsoft Visual Studio?

本文关键字:启用 Control Flow Microsoft Guard Studio 什么时候 希望 Visual      更新时间:2023-10-16

引用MSDN:

控制流防护 (CFG( 是一种高度优化的平台安全性为对抗内存损坏漏洞而创建的功能。通过严格限制应用程序可以执行代码的位置从,它使漏洞利用更难执行任意代码通过缓冲区溢出等漏洞。

我们强烈建议开发人员为其应用程序启用 CFG。您不必为代码的每个部分启用 CFG,作为混合启用 CFG 和未启用 CFG 的代码将执行正常。但失败了为所有代码启用 CFG 可以在保护中打开空白。此外,启用 CFG 的代码在"CFG-Unaware"版本的视窗,因此与它们完全兼容。

那么我什么时候不能启用它呢?

或者换句话说,在启用代码之前,我必须检查代码的哪些内容以及存在哪些风险

看起来它使程序运行得更慢。不过,他们没有说多少。文章的简单语言表明所有间接调用现在都通过内核?如果这是真的,这确实是灾难性的。