Syzkaller测试

  • Syzkaller系列文章链接
    • Syzkaller介绍

Syzkaller系列文章链接

最近一段时间在使用syzkaller进行kernel的fuzz测试, 抽时间将syzkaller的学习记录一下。 此系列将通过下面链接不定期进行更新:

Syzkaller介绍

syzkaller 是一个无监督的覆盖引导内核模糊器。
syzkaller是google开源出来的一个模糊测试工具,目前它对linux测试支持最多。

模糊测试(Fuzzing),是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞(二进制漏洞)的方法。Syzkaller是一种基于覆盖率的模糊测试工具,通过kcov收集覆盖率信息,若产生新的覆盖,则认为当前的case为有效case,此时syzkaller对case参数进行变异寻找系统漏洞。

syzkaller专注于特定类别的错误,即内核系统调用实现(或简称为系统调用)中的错误。它们是用户访问操作系统提供的功能和资源的主要入口点,从打开文件到配置设备。当用户的输入不是内核所期望的时会发生什么?
唯一正确的答案是内核应该通过返回适当的错误代码来警告用户他们提供了无效的输入。
导致意外行为的用户输入;使系统崩溃;错误地或意外地授予权限是一个内核错误。鉴于此,系统调用是内核测试的重要组成部分,因为它们是潜在的故障点。

正如 Linus Torvalds 所说,内核开发的第一条规则是我们不破坏用户空间。这意味着如果用户应用程序在一个版本中工作,它应该在以下任何一个版本中以相同的方式工作。

总之, syzkaller是一种fuzz测试, 通过kcov进行覆盖率统计以实现无监督测试, 并专注于测试kernel 系统调用类接口的稳定验证以及安全漏洞探测。

参考:
[1]:https://android.googlesource.com/platform/external/syzkaller/

Syzkaller测试相关推荐

  1. 零基础syzkaller挖掘Linux内核漏洞

    网络安全,web,Kali,渗透测试相关课件,工具,资料 可以关注公众号:"掌控安全课堂" 回复:"我想学黑客"即可免费获得 作者:维阵漏洞研究员--km1ng ...

  2. fuzz测试之syzkaller(linux kernel fuzz)

    目录 一.fuzz 二.syzkaller简介 三.syzkaller整体架构 四.使用syzkaller进行Linux内核漏洞挖掘 环境准备 构建 运行syzkaller 一.fuzz 模糊测试 ( ...

  3. 内核模糊测试syzkaller安装教程

    0x00 背景 最近看论文看到了Google官方的内核模糊测试软件syzkaller,想要安装一下试试看.没想到百度出来的教程只有两三篇,而且过程讲的及其模糊,按照其中的一篇进行搭建了两天也没成功.后 ...

  4. delphi 调用浏览器内核_HFL:基于混合模糊测试的Linux内核漏洞挖掘

    Remarks Conference: NDSS 2020 Full Paper: HFL: Hybrid Fuzzing on the Linux Kernel Summary 针对的问题: Lin ...

  5. 他们从各大操作系统中发现了26个 USB 漏洞,用的是这款模糊测试工具

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 普渡大学的研究员 Hui Peng 和瑞士洛桑联邦理工学院的研究员 Mathias Payer 在多种操作系统(如 Linux.mac ...

  6. Syzkaller学习笔记---更新syz-manager(二)

    Syzkaller学习笔记 Syzkaller 安装 文件系统 内核 Android common kernel 参考文献 syzkaller 源码阅读笔记-1 前言 syz-extract main ...

  7. syzkaller 源码阅读笔记3(syz-fuzzer)

    文章目录 1. `main()` 2. `poll()` 3. `BuildChoiceTable()` 3-1 `calcStaticPriorities()` 3-2 `calcDynamicPr ...

  8. syzkaller 源码阅读笔记1(syz-extract syz-sysgen)

    文章目录 1. syz-extract 1-0 总结 1-1. `main()` 1-2 `archList()` - `1-1 (3)` 获取架构 name list 1-3 `createArch ...

  9. syzkaller 源码阅读笔记2(syz-manager)

    文章目录 1. 介绍 2. `main()` 3. `RunManager()` 4. `vmLoop()` 4-1 crash复现 (1)`extractProg()` (3)`extractC() ...

最新文章

  1. 小森林顺序_英桥镇彩虹幼儿园趣味亲子活动—森林运动会
  2. getparameter java_java中getAttribute与getParameter方法的区别
  3. Nginx 实现 IP+项目名 访问
  4. 用 Scikit-Learn 和 Pandas 学习线性回归
  5. hdu 5093 二分匹配
  6. OXite解读(1)----- 概述
  7. 程序员过关斩将--Http请求中如何保持状态?
  8. linux内核的I2C子系统详解4——i2c-s3c2410.c文件中的adapter、algorithm
  9. Bug 险中求: 作为新手,我怎样才能快速找到不和别人重复的第一个 bug?
  10. Django框架rest_framework中APIView的as_view()源码解析、认证、权限、频率控制
  11. landesk 卸载_LANDesk软件分发在项目中的深入探索(续2)—客户端已安装应用程序的远程卸载...
  12. 低配置享受3D立体游戏 手把手教你设置
  13. mysql1062duplicate
  14. 如何使CAD打印PDF显示清楚
  15. .so文件移动游戏破解范例
  16. Android:Gradle 依赖相关
  17. 统一身份认证子系统界面设计与实现
  18. 国内外php主流开源cms、SNS、DIGG、RSS、Wiki汇总
  19. VGG网络讲解——小白也能懂
  20. 这才是纯爷们!!!~~~~~~

热门文章

  1. ERROR Error loading vue.config.js ERROR Error Command failed git describe --always报错可能的原因
  2. 设置海思芯片MMZ内存、OS内存详解
  3. JavaScript奇淫技巧:隐写术
  4. 法外之徒第一季/全集Braquo迅雷下载
  5. 功能室计算机宣言,教室布置标语(精选多篇)
  6. 云服务器上安装 R语言 以及 RStudio Server 详细图文操作(全)
  7. 利用HbuilderX制作简单网页: HTML5期末大作业——html5漫画风格个人主页
  8. 键盘录入 写入文件 quit时 结束
  9. easyExcel设置最后一行的样式【可以拓展为每一行】
  10. 学计算机的三本分数线,2020三本分数线