freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

cwe_checker:在二进制可执行文件中查找存在安全问题的模式
2024-11-19 22:23:27
所属地 广西

关于cwe_checker

cwe_checker是一套用于检测常见错误类别(例如空指针取消引用和缓冲区溢出)的检查工具,这些错误类型可以将其称之为CWE。而该工具可以帮助广大研究人员快速找到潜在的易受攻击的代码路径,从而执行代码安全分析任务。

这些检查基于各种分析技术,从简单的启发式方法到基于抽象解释的数据流分析。它主要关注 Linux 和 Unix 操作系统中常见的 ELF 二进制文件。cwe_checker 使用Ghidra将二进制文件反汇编为一个通用的中间表示,并在此 IR 上实施自己的分析。

功能介绍

1、设置起来非常简单,只需构建 Docker 容器;

2、它分析了几种 CPU 架构的 ELF 二进制文件,包括 x86、ARM、MIPS 和 PPC;

3、由于其基于插件的架构,它具有可扩展性;

4、它是可配置的,例如将分析应用于新的 API;

5、查看 Ghidra 中注释的结果;

6、cwe_checker 可以作为插件集成到FACT中;

工具要求

Docker

Rust >= 1.76

Ghidra >= 10.2

工具安装

根据当前主分支生成镜像:

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

生成基于最新稳定发布版本的镜像:

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

生成基于 v0.9 稳定版本的镜像:

docker pull ghcr.io/fkie-cad/cwe_checker:v0.9

然后运行下列命令构建镜像:

docker build -t cwe_checker .

工具使用

cwe_checker以二进制文件作为输入,根据二进制文件的静态分析运行几项检查,然后输出分析过程中发现的 CWE 警告列表。

如果你使用官方的docker镜像,只需运行:

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

如果你在本地安装了cwe_checker,请运行:

cwe_checker BINARY

与其他工具集成

cwe_checker 附带一个 Ghidra 脚本,该脚本解析 cwe_checker 的输出并注释反汇编器中找到的CWE,以便于手动分析。该脚本位于ghidra_plugin/cwe_checker_ghidra_plugin.py,使用说明包含在文件中:

工具运行演示

许可证协议

本项目的开发与发布遵循LGPL-3.0开源许可协议。

项目地址

cwe_checker:【GitHub传送门

参考资料

https://docs.cwe-checker.io/

https://cwe.mitre.org/

https://www.rust-lang.org/

https://ghidra-sre.org/

https://2019.pass-the-salt.org/talks/74.html

https://www.blackhat.com/us-19/arsenal/schedule/index.html#cwe_checker-hunting-binary-code-vulnerabilities-across-cpu-architectures-16782

https://www.blackhat.com/us-22/arsenal/schedule/#cwe_checker-architecture-independent-binary-vulnerability-analysis-26960

# 代码审计 # 代码安全 # 二进制安全 # 二进制代码分析
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录