LAVA:大规模自动化漏洞注入工具

LAVA:大规模自动化漏洞注入工具

lava LAVA: Large-scale Automated Vulnerability Addition lava 项目地址: https://gitcode.com/gh_mirrors/lav/lava

项目介绍

在当前的软件安全领域,评估和改进漏洞检测工具面临着巨大的挑战,主要原因是缺乏具有已知漏洞的真实数据集。为了解决这一问题,LAVA(Large Scale Automated Vulnerability Addition) 项目应运而生。LAVA 通过自动向软件中注入漏洞,生成包含已知漏洞的软件版本,从而为漏洞检测工具的评估和开发提供了一个高质量的基准数据集。

LAVA 项目由 MIT Lincoln Laboratory、NYU 和 Northeastern University 合作开发,旨在为安全研究人员和开发者提供一个强大的工具,帮助他们更好地理解和改进漏洞检测技术。

项目技术分析

LAVA 的核心技术在于其能够自动生成具有已知漏洞的软件版本。具体来说,LAVA 通过以下步骤实现漏洞注入:

  1. 动态污点分析:LAVA 使用 PANDA 进行动态污点分析,以识别程序中的敏感数据流。
  2. 漏洞注入:在识别出敏感数据流后,LAVA 会自动在这些数据流中注入漏洞,并生成触发这些漏洞的输入。
  3. 配置管理:LAVA 通过 host.jsontarget_configs 目录中的配置文件,管理不同项目的漏洞注入设置。

通过这些技术手段,LAVA 能够生成具有高度真实性的漏洞数据集,为漏洞检测工具的评估提供了可靠的基础。

项目及技术应用场景

LAVA 的应用场景非常广泛,主要包括以下几个方面:

  1. 漏洞检测工具评估:通过使用 LAVA 生成的漏洞数据集,安全研究人员可以对不同的漏洞检测工具进行严格的评估,从而找出工具的优缺点。
  2. 漏洞修复训练:开发者可以使用 LAVA 生成的漏洞数据集进行漏洞修复训练,提高对不同类型漏洞的理解和修复能力。
  3. 安全研究:研究人员可以利用 LAVA 生成的数据集进行深入的安全研究,探索新的漏洞类型和检测方法。

项目特点

LAVA 项目具有以下几个显著特点:

  1. 自动化:LAVA 能够自动完成漏洞注入过程,大大减少了人工操作的工作量。
  2. 高度真实性:注入的漏洞具有高度的真实性,能够模拟真实世界中的漏洞情况。
  3. 可扩展性:LAVA 支持多种项目的漏洞注入,用户可以根据需要扩展到新的项目。
  4. 开源:LAVA 是一个开源项目,用户可以自由使用、修改和分发。

快速开始

在 Ubuntu 16.04 系统上,按照以下步骤快速开始使用 LAVA:

  1. 安装依赖:参考 docs/setup.md 安装所需的依赖。
  2. 运行安装脚本:执行 python2 setup.py 安装 LAVA 及相关组件。
  3. 生成配置文件:运行 init-host.py 生成 host.json 配置文件。
  4. 注入漏洞:使用 ./scripts/lava.sh 脚本注入漏洞,例如 ./scripts/lava.sh toy

通过以上步骤,您就可以快速生成一个包含已知漏洞的软件版本,开始您的漏洞检测和研究工作。

文档与支持

更多详细信息和使用指南,请参考 docs 目录中的文档。如果您在使用过程中遇到问题,可以查阅文档或联系项目开发者获取支持。

当前状态

LAVA 项目目前处于 2.0.0 版本,支持多种项目的漏洞注入,具体支持情况如下:

Project       RESET    CLEAN    ADD      MAKE     TAINT    INJECT   COMP
blecho        PASS     PASS     PASS     PASS     PASS     PASS     PASS
libyaml       PASS     PASS     PASS     PASS     PASS     PASS     PASS
file          PASS     PASS     PASS     PASS     PASS     PASS     PASS
toy           PASS     PASS     PASS     PASS     PASS     PASS     PASS
pcre2         PASS     PASS     PASS     PASS     PASS     PASS     PASS
jq            PASS     PASS     PASS     PASS     PASS     PASS     PASS
grep          PASS     PASS     PASS     PASS     PASS     FAIL
libjpeg       PASS     PASS     PASS     PASS     FAIL
tinyexpr      PASS     PASS     PASS     PASS     FAIL
duktape       PASS     PASS     PASS     FAIL
tweetNaCl     PASS     PASS     FAIL
gzip          FAIL

作者

LAVA 项目是多位开发者多年努力的成果,以下是部分贡献者的名单(按字母顺序排列):

  • Andy Davis
  • Brendan Dolan-Gavitt
  • Andrew Fasano
  • Zhenghao Hu
  • Patrick Hulin
  • Amy Jiang
  • Engin Kirda
  • Tim Leek
  • Andrea Mambretti
  • Wil Robertson
  • Aaron Sedlacek
  • Rahul Sridhar
  • Frederick Ulrich
  • Ryan Whelan

通过 LAVA 项目,我们希望能够为软件安全领域的发展贡献一份力量,帮助更多的研究人员和开发者提升漏洞检测和修复的能力。欢迎大家使用并参与到 LAVA 项目中来!

lava LAVA: Large-scale Automated Vulnerability Addition lava 项目地址: https://gitcode.com/gh_mirrors/lav/lava

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阮曦薇Joe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值