CWE checker

cwe_checker 是一套用于检测常见错误类别(例如空指针取消引用和缓冲区溢出)的检查工具。这些错误类别正式称为常见弱点枚举(CWE)。这些检查基于各种分析技术,从简单的启发式方法到基于抽象解释的数据流分析。其主要目标是帮助分析师快速找到潜在的易受攻击的代码路径。

检测列表:检测原理

  • CWE-78:操作系统命令注入(目前在标准运行中已禁用)
  • CWE-119(缓冲区溢出)及其变体CWE-125(越界读取)和CWE-787(越界写入)
  • CWE-134:使用外部控制格式字符串
  • CWE-190:整数溢出或回绕
  • CWE-215:对调试信息的暴露信息进行检查。
  • CWE-243:在不改变工作目录的情况下创建 chroot Jail
  • CWE-332:PRNG 中的熵不足
  • CWE-337:伪随机数生成器(PRNG)中的可预测种子
  • CWE-367:检查时间使用时间 (TOCTOU) 竞争条件
  • CWE-416:释放后使用及其变体CWE-415:双重释放
  • CWE-426:不受信任的搜索路径
  • CWE-467:在指针类型上使用sizeof()
  • CWE-476:空指针取消引用
  • CWE-560:umask() 与 chmod-style 参数的使用
  • CWE-676:潜在危险功能的使用
  • CWE-782:暴露 IOCTL,访问控制不足
  • CWE-789:大小值过大的内存分配

使用:

1.拉取docker镜像

docker pull ghcr.io/fkie-cad/cwe_checker:latest

2.运行

docker run –rm -v /PATH/TO/BINARY:/input ghcr.io/fkie-cad/cwe_checker /input

特点:

  • 设置起来非常简单,只需构建 Docker 容器!
  • 它分析了几种 CPU 架构的 ELF 二进制文件,包括 x86、ARM、MIPS 和 PPC
  • 由于其基于插件的架构,它具有可扩展性
  • 它是可配置的,例如将分析应用于新的 API
  • 查看 Ghidra 中注释的结果
  • cwe_checker 可以作为插件集成到FACT中

docker运行工具后,

说被测elf不是一个文件

如何绕过文件的检测策略直接启用检测


CWE checker
https://jimi-lab.github.io/2023/09/01/CWE checker/
作者
Jimi
发布于
2023年9月1日
许可协议