【发布时间】:2017-03-18 02:15:53
【问题描述】:
在 Windows 中,Visual Studio 编译器刚刚引入了 Code Flow Guard,它记录了所有可能的跳转/调用位置以及如果您要跳转到函数的中间会发生的崩溃。有什么办法可以用 GCC 达到同样的效果吗?
可能 99% 的 apache、openssh、postfix/dovecot 服务器都是使用默认设置编译的。我正在考虑简单的编译器检查,不需要更改代码,以检测对我的服务器使用的基本 0 天。
【问题讨论】:
-
信息安全是不是像我这样好奇的人可能会问这个功能提供的安全感是不是假的?
-
嗯,总会有其他向量超出您的控制范围。我只是想尽量减少通过已知漏洞或未修补漏洞轻松入侵您的系统的自动化脚本小子废话。
-
哦,我的评论根本不是对这个问题的批评。快速浏览一下 MSDN 页面,这似乎也是 Windows 内核 的一个特性,因此 Linux 本身也必须支持它,而不仅仅是编译器。它仍然很整洁!
-
@Fox 调用目标验证可以大大降低Return-Orientated Programming 攻击的表现力。虽然它本身并不能阻止攻击利用内存损坏漏洞,但它可能会阻止它们获得任意代码执行能力。
-
@user3716714 您是只对 GCC 感兴趣,还是可以接受clang 的回答?
标签: ubuntu compilation gcc malware