GCC编译C/C++的最强硬选项是什么?

roo*_*ook 10 c++ security gcc buffer-overflow dangling-pointer

哪些GCC选项可以最好地防止内存损坏漏洞,如缓冲区溢出和悬空指针?GCC是否提供任何类型的ROP链缓解?是否存在性能问题或其他问题会妨碍此GCC选项在生产中使用关键任务应用程序?

我正在查看Debian强化指南以及GCC Mudflap.以下是我正在考虑的以下配置:

-D_FORTIFY_SOURCE=2
-fstack-protector --param ssp-buffer-size=4
-fPIE -pie
-Wl,-z,relro,-z,now (ld -z relro and ld -z now)
Run Code Online (Sandbox Code Playgroud)

是否可以对这组选项进行任何改进?假设最新版本的GCC,如果你知道任何很酷的即将推出的功能,请告诉我!

Ira*_*ter 1

不是 GCC 选项,但与 GCC 兼容。请参阅我们的CheckPointer工具,它可以检测大多数内存管理错误。

执行速度显着放缓;该工具必须跟踪指针和分配存储的有效性,这会增加开销。