SuperAPI AI 工具集

binary-hardening

安全与审计

查看项目

更新于 10-15 16:23

技能介绍

用途:指导代理为 C/C++ 二进制启用并验证安全缓解措施,覆盖 checksec 分析、编译器与链接器加固标志、控制流完整性、硬件影子栈以及 seccomp-bpf 系统调用过滤,实现纵深防御。

主要能力:用 checksec 检查单个文件或目录(checksec --file=./mybinary、checksec --dir=/usr/bin),解读 RELRO、栈金丝雀、NX、PIE、FORTIFY 等输出;提供 GCC/Clang 加固编译与链接标志,如 -fstack-protector-strong、-fstack-clash-protection、-fcf-protection、-D_FORTIFY_SOURCE=3、-fPIE 与 -pie、-Wl,-z,relro、-Wl,-z,now、-Wl,-z,noexecstack;介绍 Clang CFI(-fsanitize=cfi 及 cfi-vcall、cfi-icall 等子项,需 LTO 与 -fvisibility=hidden)与 Windows CFG(/guard:cf);说明栈金丝雀各档位、FORTIFY_SOURCE 级别差异、seccomp-bpf 白名单过滤示例、Intel CET(SHSTK+IBT)、ARM BTI/PAC、ARM MTE 及 glibc 2.39+ 影子栈。

使用方式:先分析现有二进制,再按需加入编译与链接标志重新构建,最后用 readelf、objdump、checksec 验证缓解是否生效;seccomp 过滤器应在 main 早期、初始化完成后加载,且加载后不可逆。

适用场景:加固 C/C++ 程序、审计现有二进制缓解状态、构建纵深防御。

限制:部分特性依赖硬件与内核支持(如 CET 需 Intel Tiger Lake+ 或 AMD Zen 3+ 及启用 CET 的内核,MTE 为实验性),CFI 需 LTO 与可见性设置,跨 DSO CFI 更复杂;具体发行版 glibc 构建差异会影响影子栈可用性。资料未提供收费、价格与平台信息。