自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

翻译 灰盒协议fuzz——AFLNET、SPFuzz和IOTHunter对比

AFLNET、SPFuzz和IOTHunter对比这三篇论文都是针对协议的有状态fuzz工具。分别在ICST2020年、ACESS2019和Security usenix19发表。以下是论文连接:IOTHunterAFLNETSPFUZZ背景背景是相似的,都是当前fuzz主要分成两类:一类是针对传统软件以AFL为代表的模糊测试全家桶,主要为变异生成的模糊测试,另一类是学术(boofuzz)或者工业(peach)流行的生成性模糊测试。这三款工具都是认为基于生成的变异对于协议对使用者来说门槛较高,

2020-12-16 23:22:12 3182 2

原创 Ubuntu编译LLVM出现问题

error:aggregate ‘sigaltstack handler_stack’ has incomplete type and cannot be defined这个时候按照这个指导修改就好了fatal error: xlocale.h: No such file or directoryln -s /usr/include/locale.h /usr/include/xlocale.h

2020-06-09 09:20:39 1225

翻译 AFLGO:定向灰盒模糊测试

之前介绍过AFL,今天讲一下AFLGO,这个是2017年的成果,在AFL的基础上优化了种子选取。把给定的源码位置设置为Targets,然后AFLGO能在AFL的基础上把离距离Target更近的种子给予更多的能量,使AFLGO能够更快的覆盖Target并测试我们感兴趣的地方。他在以下场景非常适用。补丁测试在程序出现漏洞后通常会打补丁,在补丁后的版本可以针对补丁部分重点测试,查看新版本是否有新的漏洞。漏洞重现在有些上报的漏洞中处于隐私问题不会提供出发的输入,仅仅会报告漏洞出现在代码的哪些位置,那么AFL

2020-05-27 17:32:07 4221

原创 AFLGO源码解析

介绍AFLGO的文章提到

2020-05-27 11:39:28 2171 2

原创 windows安装angr的一些问题和解决方法

前几天介绍了符号执行,然后看来看起觉得angr是python写的,方便交互,几个部件可以分别使用,就尝试了一下安装。安装官网的流程在windows上安装就好了,我就说一下遇到的几个坑。1、virtualenv不是批处理文件官方推荐使用虚拟环境运行angr(避免环境冲突),所以决定使用virtualenv。但因为很多时候是直接安装的python(如果用anaconda安装的话会有选项说在环境...

2020-04-25 10:13:19 1224

原创 符号化执行引擎对比

随着fuzz技术的发展,发现以AFL为代表coverage-guided的fuzz引擎达到一个瓶颈,因为是盲目的,所以现在有很流行的方法——加入符号化执行。比如Driller、QSYM、和我讲过的SAVIOR,这三个都很大的提高了fuzz的效率。但是符号化执行也是和fuzz一样复杂而内容丰富的领域,这里就把最近看的一个文章跟大家分享下,简单介绍几个流行的符号化执行。[1]Roberto Bal...

2020-04-22 15:09:31 1845 3

原创 UB Sanitizer 以及Savior

简介:当前已有的混合模糊测试虽然对覆盖率有很高的提升,但是仍然存在以下两点问题:1、对AFL提供的种子无挑选进行符号化执行操作2、很多漏洞会覆盖其所在分支但是没有触发SAVIOR针对以上两点问题,首先利用了LLVM的UBSan工具对二进制潜在漏洞点进行标记,构建CFG进行分析,在运行中计算未发现边的漏洞数量进而打分实现对AFL种子的选择排序;其次,把标记过UBSan标签的LLVM中间代码给...

2020-04-09 21:31:54 599

翻译 Fuzz前思考的七件事(转载)

本文转自https://www.linuxfoundation.org/blog/2016/02/7-things-to-consider-before-fuzzing-a-large-open-source-project/1. 首先确定您的目标确定您是否只是在寻找安全性问题,还是在寻找所有类型的正确性问题。Fuzzing发现了许多在正常使用中可能永远不会遇到的低严重性问题。这些可能看起来与...

2020-04-09 21:30:02 214

原创 Intel PT的使用以及PTFuzz、NEUFuzz

前言在之前关于AFL的程序执行路径在AFL第三节讲过,首先是afl-gcc对每个基本块随机赋予一个随机值,然后在执行的时候,通过fork()后的“子进程”去执行插桩的部分代码,把随机值亦或后的字节加一,通过共享的bitmap存储区域就可以知道执行当前种子的bitmap(执行路径)是多少了。但是存在几点问题:1、bitmap利用率,bitmap大小为65536个字节,有些程序的边可能会超过(概率...

2020-04-09 21:28:30 2247

原创 AFL模糊测试学习(三)AFL运行

以使用afl-gcc进行插桩后的AFL运行为例。我们来学习AFL的运行。main函数中首先识别参数opt = getopt(argc, argv,"+i: o: f: m: t: T: d: n: C: B: S:M: x: Q")。然后在setup_shm()这个函数中初始化MAP_SIZE(2^16)大小的map用来父进程子进程间的信息共享。然后perform_dry_run()这个函数把初始...

2020-04-09 21:26:35 2682 6

原创 AFL模糊测试学习(二)二进制插桩

上一节一起学习了使用afl-gcc对有源码的程序如何插桩,并且插桩的机制,这一节我们来一起学习如何使用QEMU对没有源码的二进制程序进行插桩。首先要运行build_qemu_support.sh这个脚本,这个时候如果有没安装pixman的错误的时候直接用apt安装即可。apt-get install libpixman-1-dev然后这个脚本是构建了一个linux系统的虚拟机并且存放在afl...

2020-04-09 21:19:23 1575

原创 AFL模糊测试学习(一)源码插桩

先简单介绍一下.刚接触模糊测试肯定是要从现在最为流行的AFL开始,现在很多关于AFL的改进都是针对AFL的,而且AFL本身因为其遗传算法、高吞吐量而得到很好的应用,在一些AFL变异版本(如AFLGO、PFuzz、CollAFL、ENFuzz等)、混合模糊测试(结合模糊测试和符号化执行)在实验对比中都拿AFL当作baseline。我们就一步一步从AFL本身学起,对模糊测试进行深入学习吧。对一个程...

2020-04-09 21:15:23 3545

原创 最新!如何在WPS/WORD中解决Aurora的运行问题

最新!如何在WPS/WORD中解决Aurora的运行问题前言安装找到aurora位置使用为什么会出现Problems running LaTex在properties中,先要找到Miktex的运行程序位置,修改PathPackage为什么一直出现Problems running LaTex下载Package前言大家现在写论文想用一段公式或者伪代码,以前我都是利用自带的公式插入工具或者是画个表格...

2019-05-15 16:16:47 8674 12

client-server.zip

使用BIO实现HTTPS服务器、客户端。使用了linux中的bio库,实现了https服务器和客户端的C语言开发。内含server.c client.c Makefile

2020-04-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除