论文学习_Critical Variable Guided Mutation for Directed Greybox Fuzzing

1. 引言

研究背景:软件漏洞的出现可能会带来严重的安全隐患,因此对程序进行安全测试非常重要。在程序的数千行代码中,新提交的代码更容易引入漏洞,因为这些代码通常是为了功能升级或 bug 修复而添加的。现有的基于覆盖率的模糊测试方法虽然在发现真实世界软件系统中的安全漏洞方面已经证明是高度有效的,但在识别提交引入的漏洞方面却缺乏效率,因为它们对代码的所有部分都同等对待,而没有专门针对提交的变更进行测试。相比之下,有针对性的模糊测试更适合提交测试场景,因为它可以将提交的变更点作为目标进行测试。

研究意义:现有的有针对性的模糊测试方法仍然存在一些问题:首先,它们主要关注快速到达目标(变更点),而没有引导模糊器对受影响的代码进行彻底测试,因此可能无法发现变更点远离崩溃点的新引入漏洞;(2)其次,提交通常修改多个地方,导致存在多个目标,但现有方法可能会忽略某些目标,影响对每个目标的彻底测试。

研究内容:论文提出了一种名为 WAFLGO 的有针对性的模糊测试方法,通过关键代码引导的输入生成策略和新的距离度量,实现对提交引入的漏洞进行有效发现。WAFLGO 可以充分探索受影响的代码,并对所有变更点进行彻底检查,从而更好地支持提交测试场景下的漏洞发现。该研究对于提高软件安全性测试的效率和有效性具有重要意义。

2. 研究方法

静态分析:使用 SVF 框架构建了程序的 Inter-Procedural Control Flow Graph (ICFG) 和 Inter-Procedural Static Value-Flow Graph (SVFG)。通过数据流分析,识别出两类关键代码:路径前缀代码和数据后缀代码。</

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/41099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【嵌入式——FreeRTOS】事件标志组

【嵌入式——FreeRTOS】事件标志组 简介相关API代码示例 简介 事件是一种实现任务间通信的机制&#xff0c;主要用于实现多任务间的同步&#xff0c;但是事件通信只能是事件类型的通信&#xff0c;无数据传输。与信号量不同的是&#xff0c;事件可以实现一对多&#xff0c;多对…

Citrix替换:不只是功能拉齐,更是性能体验的超越

用户在选择Citrix替换方案时&#xff0c;除了关注架构和功能的全面性&#xff0c;也期待着国产桌面办公方案带来的惊喜。 深信服桌面云不仅在基础能力和功能上做到了全面对标Citrix&#xff0c;还在用户极为重视的安全、可靠性、智能监控与排障、信创生态等方面做到了全面超越…

如何用SRM管理供应商,轻松又高效?

在企业运营的日常里&#xff0c;你是否常常为那些繁杂的供应商信息而头疼&#xff1f;每当项目紧急需要某个物料时&#xff0c;你是否会为了寻找可靠的供应商而焦头烂额&#xff1f;更别提那些层出不穷的交货延期、质量问题&#xff0c;以及难以追踪的合同条款了。这些问题&…

基于AGX ORIN与FPGA K7实现PCIE高速数据通信/Orin与FPGA高速数据传输/XDMA在linux系统使用教程

因最近想学习AGX orin和FPGA实现数据高速通信&#xff0c;借此机会和大家一起学习AGX orin和FPGA 制作不易&#xff0c;记得三连哦&#xff0c;给我动力&#xff0c;持续更新&#xff01;&#xff01;&#xff01; 完整工程文件下载&#xff1a;AGX orin与FPGA实现PCIE完整…

【深度学习】图形模型基础(5):线性回归模型第一部分:认识线性回归模型

1. 回归模型定义 最简单的回归模型是具有单一预测变量的线性模型&#xff0c;其基本形式如下&#xff1a; y a b x ϵ y a bx \epsilon yabxϵ 其中&#xff0c; a a a 和 b b b 被称为模型的系数或更一般地&#xff0c;模型的参数。 ϵ \epsilon ϵ 代表误差项&#…

如何使用 AI 提高程序猿的工作效率

我们程序猿其实是距离AI最近的一批人 也是别人眼中最有可能被AI代替的人 但是光恐惧或者排斥是没用的 有一句话说得好&#xff1a; 与其想办法跑的AI跑的快 不如考一张AI驾照 - 鲁迅 下面就分享3个我在日常工作中 使用的AI来提高效率的场景 1.使用AI来辅助编码&#xff0c;…

通证经济重塑经济格局

在数字化转型的全球浪潮中&#xff0c;通证经济模式犹如一股新兴力量&#xff0c;以其独特的价值传递与共享机制&#xff0c;重塑着经济格局&#xff0c;引领我们步入数字经济的新纪元。 通证&#xff0c;作为这一模式的核心&#xff0c;不仅是权利与权益的数字化凭证&#xf…

C语言 | Leetcode C语言题解之第213题打家劫舍II

题目&#xff1a; 题解&#xff1a; int robRange(int* nums, int start, int end) {int first nums[start], second fmax(nums[start], nums[start 1]);for (int i start 2; i < end; i) {int temp second;second fmax(first nums[i], second);first temp;}retur…

需求分析分类和层级、分析步骤

需求分析是软件工程和系统开发中至关重要的阶段&#xff0c;它帮助确立和理解系统或软件的需求&#xff0c;为后续的设计和开发工作奠定基础。以下是需求分析的分类、层级和分析步骤的详细讨论&#xff1a; 需求分析的分类和层级 功能需求和非功能需求&#xff1a; 功能需求&…

今天的一次有效沟通,人必须学会和他人、社会好好相处

今天遇到的沟通情景分享&#xff0c;文字有点长&#xff1a; 今天我发现自己实践了一次还ok的沟通&#xff0c;做到了&#xff1a;先聆听自己&#xff0c;然后表达尊重、倾听、不评判、认同朋友我也认同的部分、表达用词时尽量客观和让对方看到她自己想表达的目的&#xff0c;…

MySQL数据库碎片化:隐患与解决策略

为什么我们经常说不建议使用简单的 UUID 做 ID&#xff0c;当唯一索引&#xff0c;其实很大原因就是因为不规则的 UUID 会导致存储碎片&#xff0c;接下来聊一聊 MySQL 为什么会有存储碎片&#xff0c;影响大不大。关于 UUID 做主键还是自增主键&#xff0c;可参考往期文章&…

coco dataset标签数据结构(json文件)

COCO数据集现在有3种标注类型&#xff1a;object instances&#xff08;目标实例&#xff09;, object keypoints&#xff08;目标上的关键点&#xff09;, 和image captions&#xff08;看图说话&#xff09;&#xff0c;使用json文件存储。 NameImagesLabelstrain linkhttp:…

Golang基础问题

Go基础 文章目录 Go基础● Go有那些关键字&#xff1f;● Go方法与函数的区别&#xff1f;● Go函数返回局部变量的指针是否安全&#xff1f;● Go函数参数传递是值传递还是引用传递&#xff1f;● defer关键字的实现原理&#xff1f;● 内置函数make和new的区别&#xff1f;●…

Yarn的安装方法

Yarn是由Facebook开发的一款快速、可靠、安全的JavaScript包管理工具&#xff0c;它是npm的替代品&#xff0c;提供了更快速的安装速度和更稳定的依赖版本管理。Yarn的安装与配置主要包括以下几个步骤&#xff1a; 一、安装Yarn Yarn的安装方法多种多样&#xff0c;以下是几种…

SVM的代码实现

生成假数据集&#xff1a;创建一个简单的二分类数据集。数据标准化&#xff1a;标准化特征。定义线性核函数&#xff1a;选择一个简单的线性核。定义优化问题&#xff1a;使用对偶问题进行求解。求解对偶问题&#xff1a;通过简单的梯度上升法求解对偶问题。确定支持向量&#…

kotlin协程的理解

伴生对象&#xff1a;companion object 其实质等同于Java中的单例模式 协程&#xff1a;通常实现是用户态的任务协作式调度 一段可执行代码可挂起/可恢复执行概念上与语言无关&#xff0c;协程这个概念于1958年提出 依赖框架&#xff1a; 协程的启动&#xff1a; 1.协程体&a…

大模型LLMs概述:利用大模型 (LLMs) 解决信息抽取任务

论文标题&#xff1a;Large Language Models for Generative Information Extraction: A Survey 论文链接&#xff1a;https://arxiv.org/pdf/2312.17617.pdf 论文主要探讨了大型语言模型&#xff08;LLMs&#xff09;在生成式信息抽取&#xff08;IE&#xff09;任务中的应用…

属性描述符初探——Vue实现数据劫持的基础

目录 属性描述符——Vue实现数据劫持的基础 一、属性描述符是什么&#xff1f; ​编辑 1.1、属性描述符示例 1.2、用属性描述符定义属性及获取对象的属性描述符 1.3、带有读取器和设置器的属性描述符 二、使用属性描述符的情景 2.1、封装和数据隐藏 使用getter和setter…

Desktop docker 部署 WordPress

Desktop Docker 部署 WordPress 之前都是在Linux里面玩的,今天看到别人在windwos下安装docker,一时兴起装了一个试试,效果一般,很吃硬盘空间和内存。 首先在docker官方下载桌面版,安装下一步一直到完成。 安装完docker会自动加入到环境变量,而且docker-compose也会一并安…