weka使用训练集分类测试集_LAVA-M测试集?的安装与使用

本文详细介绍了LAVA-M测试集的安装和使用方法,包括通过自动化脚本安装、AFL系列工具测试、Angora测试以及解决在uniq测试中遇到的问题。LAVA-M是用于评估fuzz工具效果的测试集,文中提供了使用Angora的gllvm和angora-clang进行编译的步骤。
摘要由CSDN通过智能技术生成

LAVA是由Brendan Dolan-Gavitt等人提出的用于在程序中插入bug的技术方法,其相关论文《LAVA: Large-scale Automated Vulnerability Addition》发表在了2016年的S&P上。通过LAVA在uniq、who、md5sum、base64四个程序上进行bug插入而形成的测试集即为LAVA-M。LAVA-M被广泛应用于fuzz领域的工具效果评估,Angora、RedQueen、T-Fuzz、VUzzer等工具都使用了LAVA-M进行测试评估。本文结合Angora等技术文档和笔者实际经历,介绍一下LAVA-M的安装与使用。

1.下载

LAVA-M的下载地址为http://panda.moyix.net/~moyix/lava_corpus.tar.xz,点击链接下载压缩包并解压,可以在文件夹中找到分别存放base64、md5sum、uniq、who的子文件夹。下面我们以base64为例介绍安装与使用方法。

2.通过脚本自动化进行安装

进入base64文件夹,查看子文件及文件夹:

moonlight@ubuntu:~/lava_corpus/LAVA-M/base64$ ls
backtraces  coreutils-8.24-lava-safe  fuzzer_input  inputs  validated_bugs  validate.sh

validated_bugs里列出了在base64中插入的crash编号;inputs里有能触发crash的输入,每一个输入的编号对应于一个crash的编号;fuzzer_input里有用于给fuzzer作为种子的输入;coreutils-8.24-lava-safe文件夹里存放了源代码及编译设置等;validate.sh为安装脚本,其代码如下:

#!/bin/bash

PROG="base64"
PROGOPT="-d"
INPUT_PATTERN="inputs/utmp-fuzzed-%s.b64"
INPUT_CLEAN="inputs/utmp.b64"

echo "Building buggy ${PROG}..."

cd coreutils-8.24-lava-safe
make clean &> /dev/null
./configure --prefix=`pwd`/lava-install LIBS="-lacl" &> /dev/null
make -j $(nproc) &> /dev/null
make install &> /dev/null
cd ..

echo "Checking if buggy ${PROG} succeeds on non-trigger input..."
./coreutils-8.24-lava-safe/lava-install/bin/${PROG} ${PROGOPT} ${IN
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值