我什么时候不想在Microsoft Visual Studio中启用“Control Flow Guard”?

时间:2017-05-09 15:42:27

标签: c++ c visual-studio controlflowguard

引用MSDN

  

Control Flow Guard(CFG)是一种高度优化的平台安全性   为打击内存损坏漏洞而创建的功能。   通过严格限制应用程序可以执行代码的位置   从中,它使得漏洞利用执行任意代码变得更加困难   通过缓冲区溢出等漏洞。

     

我们   强烈鼓励开发人员为他们的应用程序启用CFG。   您不必为代码的每个部分启用CFG,作为混合   启用CFG和启用非CFG的代码将执行正常。但失败了   为所有代码启用CFG可以打开保护漏洞。   此外,CFG启用代码在“CFG-Unaware”版本上运行良好   Windows因此与它们完全兼容。

那我什么时候不启用呢?

或者换句话说,在启用代码之前我需要检查一下我的代码,风险是什么?

1 个答案:

答案 0 :(得分:1)

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