c - 有用的 GCcflags来提高程序的安全性?

标签 c security gcc

纯属偶然,我偶然发现了一篇文章,其中提到您可以使用 -pie -fPIE“启用”ASLR(或者更确切地说,让您的应用程序支持 ASLR)。 -fstack-protector 也是普遍推荐的(尽管我很少看到解释它如何保护以及防止哪些类型的攻击)。

是否有有用的选项列表以及它们如何提高安全性的说明?

...

当您的应用程序使用大约 30 个库而没有使用这些库时,这些措施到底有多大用处? ;)

最佳答案

Hardened Gentoo 使用这些标志:

CFLAGS="-fPIE -fstack-protector-all -D_FORTIFY_SOURCE=2" 
LDFLAGS="-Wl,-z,now -Wl,-z,relro"

在默认的 phoronix 基准测试套件中,与优化的 Gentoo linux(包括 PaX/SElinux 和其他措施,而不仅仅是 CFLAGS)相比,我发现性能下降了大约 5-10%。

关于c - 有用的 GCcflags来提高程序的安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9398046/

相关文章:

c++ - 套接字和文件推荐的缓冲区大小

c - sizeof() 具有零长度数组成员的结构

c++ - 用于自定义文本字段突出显示的系统范围热键

security - Symfony 2 Security.yml 重定向循环和 LogicException 问题

c++ - 链接模板目标文件 - clang 和 gcc 的不同行为

linux - 在 linux 中创建共享库时如何包含依赖信息?

从汇编调用 C 函数、段错误

java - 堆中的 Java 执行与 c/c++ 堆栈中的执行有何不同?

MySQL 连接和安全

algorithm - 在哈希中包含时间戳,但如何比较哈希?