IFuzzer:An Evolutionary Interpreter Fuzzer using Genetic Programming
摘要:该论文主要提供了一种自动进化模糊测试技术来查找JavaScript解释器中的错误。模糊测试是一种自动化黑盒测试技术,用于通过提供随机数据作为输入来查找软件中的安全漏洞。然而,当目标是解释器时,模糊测试是很有挑战性的。因为输入是应该在语法/语义上有效的代码,以通过解释器的基本检查。另一方面,模糊输入也应该不足再解释器中触发异常行为,例如崩溃,内存泄露和失败的断言。在我们的方法中,我们使用进化计算技术,特别是遗传编程来指导fuzzer生成可能在解释器中触发异常行为的不寻常的输入代码片段。我们实现一个原型命名为IFuzzer来评估我们的技术在现实生活中的例子。IFuzzer使用语言语法来生成有效的输入。我们在Mozilla的JavaScript解释器的旧版本上首先使用了IFuzzer(允许与现有工作进行公正的比较),并发现了四十个错误,其中12个是可以利用的。随后针对最新版本的解释器,IFuzzer发现了17个错误,其中4个是安全漏洞。
关键词:模糊测试,系统安全,漏洞,遗传编程,进化计算
IFuzzer:An Evolutionary Interpreter Fuzzer using Genetic Programming的更多相关文章
- 遗传编程(GA,genetic programming)算法初探,以及用遗传编程自动生成符合题解的正则表达式的实践
1. 遗传编程简介 0x1:什么是遗传编程算法,和传统机器学习算法有什么区别 传统上,我们接触的机器学习算法,都是被设计为解决某一个某一类问题的确定性算法.对于这些机器学习算法来说,唯一的灵活性体现在 ...
- 【遗传编程/基因规划】Genetic Programming
目录 背景介绍 程序表示 初始化 (Initialization) Depth定义 Grow方法 Full方法 Ramped half-and-half方法 适应度(Fitness)与选择(Selec ...
- 笛卡尔遗传规划Cartesian Genetic Programming (CGP)简单理解(1)
初识遗传算法Genetic Algorithm(GA) 遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种.进化算法借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传.突变.自然选 ...
- 【python(deap库)实现】GEAP 遗传算法/遗传编程 genetic programming +
目录 前言 1.优化问题的定义 单目标优化 多目标优化 2.个体编码 实数编码 二进制编码 序列编码(Permutation encoding) 粒子(Particles) 3 初始种群建立 一般族群 ...
- Portal:Machine learning机器学习:门户
Machine learning Machine learning is a scientific discipline that explores the construction and stud ...
- 遗传算法 Genetic Algorithm
2017-12-17 19:12:10 一.Evolutionary Algorithm 进化算法,也被成为是演化算法(evolutionary algorithms,简称EAs),它不是一个具体的算 ...
- Evolutionary approaches towards AI: past, present, and future
Evolutionary approaches towards AI: past, present, and future 2019-10-06 07:28:13 This blog is from: ...
- Questions that are independent of programming language. These questions are typically more abstract than other categories.
Questions that are independent of programming language. These questions are typically more abstract ...
- Machine and Deep Learning with Python
Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstiti ...
随机推荐
- [物理学与PDEs]第2章第3节 Navier-Stokes 方程组
1. 当流体的压力 $p$ 及温度 $T$ 改变时, 密度 $\rho$ 变化很小. 此时可近似地把流体看作是不可压的, 而 $\rho=\const$. 如此, 流体动力学方程组中的质量.动量守恒 ...
- 运维工作笔记-------nginx的反向代理
1.nginx的反向代理意义 一般来说,我们在项目中,不会直接让项目服务器ip与外网做直接映射,这样一则是不安全,二是客户直接去访问项目服务器,对项目服务器带来的压力太大,从而导致项目运行速度变慢,程 ...
- android dialog设置全屏半透明背景色
style代码如下: <style name="theme_dialog" parent="@android:style/Theme.Dialog"> ...
- 我实在不懂Python的Asyncio
原语 事件循环(Event Loop) Awaitables和Coroutines Coroutine Wrappers Awaitables and Futures Tasks Handles Ex ...
- 洛谷P3348 [ZJOI2016]大森林 [LCT]
传送门 刷了那么久水题之后终于有一题可以来写写博客了. 但是这题太神仙了我还没完全弄懂-- upd:写完博客之后似乎懂了. 思路 首先很容易想到\(O(n^2\log n)\)乘上\(O(\frac{ ...
- JVM 组成以及各部分作用
1.Java虚拟机的体系结构 2.jvm在系统中的布局 3.jvm装载一个类 当一个classLoder启动的时候,classLoader的生存地点在jvm中的堆,然后它会去主机硬盘上将A.class ...
- memcached笔记
启动memcached:./memcached -d -m 10 -l 127.0.0.1 -p 11211 -u root 连接memcached:telnet 127.0.0.1 11211 查看 ...
- SQL Server数据库中导入导出数据及结构时主外键关系的处理
2015-01-26 软件开发中,经常涉及到不同数据库(包括不同产品的不同版本)之间的数据结构与数据的导入导出.处理过程中会遇到很多问题,尤为突出重要的一个问题就是主从表之间,从表有外检约束,从而导致 ...
- 洛谷P4482 [BJWC2018]Border 的四种求法 字符串,SAM,线段树合并,线段树,树链剖分,DSU on Tree
原文链接https://www.cnblogs.com/zhouzhendong/p/LuoguP4482.html 题意 给定一个字符串 S,有 q 次询问,每次给定两个数 L,R ,求 S[L.. ...
- 权限管理——shiro
1.shiro整合spring a.导入依赖 <properties> <shiro.version>1.2.4</shiro.version> </prop ...