针对C/
C++语言
安全漏洞的分析检测也出现了大量的工具,按照不同的机理主要分为以下几类,如表所示:
分析类型 | 机理 | 分析工具 | 备注 |
静态分析 | 预处理 | FormatGuard | 预处理提供的宏功能来对printf函数中的参数个数进行计数 |
词法分析 | Rats、Flawfinder、Its4 | 见后文介绍 | |
语法分析 | Antlr/Gold | 见后文介绍 | |
注解分析 | Splint/ | 见后文介绍 | |
语义/值流分析 | Cqual | 见后文介绍 | |
逆向分析 | IDA/ Win32Dasml | 反汇编工具 | |
动态分析 | 拦截库函数的调用 | LibFormat | 见后文介绍 |
逆向分析 | OllyDbg/ Windbg | 动态调试工具,常结合静态反汇编工具对程序进行逆向分析 |
FormatGuard:Linux下防止格式化字符串攻击的工具,是对glibc的增强。具体通过预处理提供的宏功能来对类 printf函数中的参数个数进行计数,通过glibc提供的parse_printf_format函