uCFI论文设涉及到的相关知识点随记#1-程序员宅基地

技术标签: 测试用例  

1、Fuzzing技术是一种基于黑盒(或灰盒)的测试技术,通过自动化生成并执行大量的随机测试用例来发现产品或协议的未知漏洞。Fuzzing技术本质是依靠随机函数生成随机测试用例来进行测试验证,所以是不确定的。

目前,Fuzzing技术已经是软件测试、漏洞挖掘领域的最有效的手段之一。Fuzzing技术特别适合用于发现0 Day漏洞,也是众多黑客或黑帽子发现软件漏洞的首选技术。Fuzzing虽然不能直接达到入侵的效果,但是Fuzzing非常容易找到软件或系统的漏洞,以此为突破口深入分析,就更容易找到入侵路径。

2、AFL(American Fuzzy Lop),AFL就是著名的基于变异的Fuzzer,是一款开源的fuzzing工具。

  1. AFL内部实现细节小记
    ​​​​​​​​​​​​​​AFL内部实现细节小记 - 记事本​​​​​​

3、PTFuzz

这个工具是在AFL的基础上做出了改进,把AFL的基础上去除了插桩的依赖,把run_target里面的fork子进程跑插桩代码部分改成fork一个子进程利用PT收集包信息、筛选包信息,根据包信息获取当前种子的执行路径。

简单说一下他的创新点:

利用PT包信息

通过PT部件可以获得两个种类的包信息:基本执行信息(时间戳计时器、包流边界等)和控制流信息(时间、程序执行流等)。PT提供了三类调用包:直接调用、间接调用和远转换调用。当捕获了这样的Change of Flow Instructions(COFI)包时,就可以获取基本块的跳转信息,即边信息。

不同于统一大小的bitmap

AFL中的bitmap时固定大小(65536),而PTfuzz会在初始化载入二进制程序的时候,就构建了COFI map。利用python的CLE和capstone库把程序中text部分的调用地址记录下来并且存放在MSR寄存器,那么MSR寄存器就可以用来筛选PT的包信息。(MSR寄存器是PT指定可以实现筛选功能的寄存器)。
 

本文仅为个人学习做笔记之用,内容来源于网络。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/super_star_/article/details/121700462

智能推荐

前端使用vue实现简单登录注册功能_vue2实现好看的登录注册-程序员宅基地

文章浏览阅读1.4w次,点赞19次,收藏116次。最近学习过程中 常碰到让用户登录注册这种 今天就用vue实现简单的登录注册功能:注册时要用到localstorage来存储信息 登录时将表单信息和localstorage中的对比判断代码如下: <!-- 登陆页面 --> <van-nav-bar title="密码登陆" style="background:#2f8fea;color:#fff"> <template #left> <van-icon name="ar_vue2实现好看的登录注册

Linux 服务器Python后台运行服务(ssh断开不退出)_python 使用ssh执行完命令不断开-程序员宅基地

文章浏览阅读5k次,点赞12次,收藏23次。前言最近用 tornado 搭建了一个验证码识别的微服务,部署到CentOS7上去,比较方便的事 tornado自带web服务器,所以部署的时候只需要用python 运行即可一、关键命令 nohup命令:nohup python -u test.py > test.log 2>&1 &1.命令解释:nohup 不挂断的意思python tornado.py tornado服务的启动脚本-u 代表程序不启用缓存,也就是把输出直接放到log中,没_python 使用ssh执行完命令不断开

系统架构师考试经验分享_中级架构师好考吗-程序员宅基地

文章浏览阅读2.8k次。目录前言考前复习考试过程考试结果证书领取前言新的一年系统架构师考试前,分享一下之前参加系统架构师考试的经验,以及考过后如何领证书。软考报名地址 中国计算机技术职业资格网 。考前复习考前由于工作原因,我个人只在考试前一周突击复习,时间允许的话,还是多匀一些时间复习,会比较有把握。架构师考试分3部分:上午的综合知识选择题考试,下午的案例分析考试及论文。复习的重点应该安排在综合知识及案例分析,论文则是在靠前根据以往的项目经验,确定好论文的内容,在考试时选择接近的论文题目即可(例如,我在以前参与过云平台的_中级架构师好考吗

多体素模式分析(MVPA)和表征相似性分析(RSA)-程序员宅基地

文章浏览阅读7.6k次,点赞17次,收藏82次。目录一、学习资源二、MVPA分析工具——pronto1.下载安装2.参考视频地址3.基本步骤(一)Data&Design(二)Prepare feature set 准备特征集(三)确定并且跑一个模型(四)看结果(五)检测哪些特征对模型的建立提供了更多的信息一、学习资源RSA学习链接1 https://www.zhihu.com/question/268530028二、MVPA分析工具——pronto1.下载安装github下载地址ht.._表征相似性分析

区域生长算法原理及MATLAB实现_区域生长原理-程序员宅基地

文章浏览阅读8.6k次,点赞3次,收藏24次。1. 基于区域生长算法的图像分割原理数字图像分割算法一般是基于灰度值的两个基本特性之一:不连续性和相似性。前一种性质的应用途径是基于图像灰度的不连续变化分割图像,比如图像的边缘。第二种性质的主要应用途径是依据实现指定的准则将图像分割为相似的区域。区域生长算法就是基于图像的第二种性质,即图像灰度值的相似性。1.1 基本公式令R表示整幅图像区域,那么分割可以看成将区域R划分为n个子区域R1..._区域生长原理

卸载出错:error reading information on service impala-catalog: No such file or directory error: %preun(i_error reading information on service bgpd:-程序员宅基地

文章浏览阅读2k次。卸载出错:error reading information on service impala-catalog: No such file or directory error: %preun(impala-catalog-2.11.0+cdh5.14.0+0-1.cdh5.14.0.p0.50.el6.x86_64) scriptlet failed, exit status 1卸载impala的依赖报错 相信大家再卸载的时候 都用用过 很多方法用了好多种方法才发现的方法好用,建议大家收藏,以后用_error reading information on service bgpd:

随便推点

ROS 打包报错 /usr/bin/ld: cannot find -lpthreads_performing test cmake_have_libc_pthread - failed-程序员宅基地

文章浏览阅读742次,点赞5次,收藏8次。ROS打包错误: /usr/bin/ld: cannot find -lpthreads 的解决_performing test cmake_have_libc_pthread - failed

深度神经网络模型压缩_深度网络模型压缩-程序员宅基地

文章浏览阅读1.7k次。“本文介绍的论文全面概述了深度神经网络的压缩方法,主要可分为参数修剪与共享、低秩分解、迁移/压缩卷积滤波器和知识精炼,本论文对每一类方法的性能、相关应用、优势和缺陷等进行独到的分析。” 大型神经网络具有大量的层级与结点,因此考虑如何减少它们所需要的内存与计算量就显得极为重要,特别是对于在线学习和增量学习等实时应用。此外,近来智能可穿戴设备的流行也为研究员提供了在资源(内存、CPU、能..._深度网络模型压缩

TortoiseGit的介绍和使用-程序员宅基地

文章浏览阅读4.4w次,点赞23次,收藏254次。  Git是什么,相信大家都很清楚。Git不就是分布式版本控制系统嘛?那你知道TortoiseGit是什么吗?下面我们就介绍一下TortoiseGit它是什么?如何使用?  TortoiseGit其实是一款开源的git的版本控制系统,也叫海龟git。TortoiseGit提供了人性化的图形化界面,不用像Git一样输入许多语句,像git init、git add、git commit这些语句就通通不用记了。轻松使用鼠标,就可以完成代码的提交和上传。对于使用本地Git的新手来说,TortoiseGit的更加简_tortoisegit

离线安装RabbitMQ,非root普通用户启动RabbitMQ_rabbitmq离线安装教程-程序员宅基地

文章浏览阅读3.6k次。离线安装RabbitMQ,非root普通用户启动RabbitMQ。_rabbitmq离线安装教程

java script实训心得_javascript实训报告总结.docx-程序员宅基地

文章浏览阅读1.1w次,点赞5次,收藏27次。javascript实训报告总结Javascript实训报告  专业名称:计算机应用技术  班级名称:  学员姓名:  指导教师:_______________  完成日期:  一、简介:  Web标准并不是一个单一的标准,而是一个系列的标准的集合。Web标准中具有代表性的几种语言有:XML可扩展标记语言、XHTML可扩展超文本标记语言、CSS层叠样式表、DOM文档对象模型、JavaScript脚..._javascript实训报告

推荐文章

热门文章

相关标签