什么是cwe_checker?
-
设置非常简单,只需构建 Docker 容器即可! -
它分析多种 CPU 架构的 ELF 二进制文件,包括 x86、ARM、MIPS 和 PPC -
由于其基于插件的架构,它是可扩展的 -
它是可配置的,例如将分析应用于新的 API -
查看用 Ghidra 注释的结果 -
cwe_checker 可以作为插件集成到FACT中
使用Docker镜像
-
生成基于当前主分支的图像。
docker pull ghcr.io/fkie-cad/cwe_checker:latest
-
生成基于最新稳定发行版本的映像。
docker pull ghcr.io/fkie-cad/cwe_checker:stable
-
生成基于 v0.7 稳定发行版的映像。但是,建议在发布后立即切换到较新的稳定版本,因为稳定版本之间的改进可能非常显着。
docker pull ghcr.io/fkie-cad/cwe_checker:v0.7
docker build -t cwe_checker .
本地安装
-
Rust >= 1.69 -
Ghidra >= 10.2
用法
docker run --rm -v /PATH/TO/BINARY:/input ghcr.io/fkie-cad/cwe_checker /input
cwe_checker BINARY
对于裸机二进制文件
文档和测试
实施检查
-
CWE-78:操作系统命令注入(当前在标准运行中禁用) -
CWE-119及其变体CWE-125和CWE-787:缓冲区溢出 -
CWE-134:使用外部控制的格式字符串 -
CWE-190:整数溢出或环绕 -
CWE-215:通过调试信息暴露信息 -
CWE-243:在不更改工作目录的情况下创建 chroot Jail -
CWE-332:PRNG 中的熵不足 -
CWE-367:检查时间使用时间 (TOCTOU) 竞争条件 -
CWE-416:释放后使用及其变体CWE-415:双重释放 -
CWE-426:不受信任的搜索路径 -
CWE-467:在指针类型上使用 sizeof() -
CWE-476:空指针取消引用 -
CWE-560:使用 umask() 和 chmod 样式参数 -
CWE-676:使用潜在危险功能 -
CWE-782:暴露的 IOCTL 访问控制不足 -
CWE-789:内存分配大小值过大
集成到其他工具中
-
通过 2019 年 SALT(幻灯片) -
Black Hat USA 2019(幻灯片) -
Black Hat USA 2022(幻灯片)
参考
原文始发于微信公众号(Eonian Sharp):【刻刀-rs】cwe_checker检查二进制可执行文件漏洞工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论