前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对微软开源的模糊测试平台OneFuzz的看法

对微软开源的模糊测试平台OneFuzz的看法

作者头像
泉哥
发布2020-09-24 16:02:40
1.1K0
发布2020-09-24 16:02:40
举报
文章被收录于专栏:漏洞战争漏洞战争

上周微软开源了一款叫OneFuzz的模糊测试平台,主要是由开发团队驱动的可持续模糊测试平台,通过开发与集成项目对应的Fuzzer工具,在CI构建中持续Fuzz,自动化分析跟踪崩溃,告警通知、远程调试与漏洞重现等功能。

开源地址:https://github.com/microsoft/onefuzz

按官方介绍的功能包括:

  • 可编排的Fuzzing工作流
  • 内置集成Fuzzing,支持团队协作
  • 自动化触发崩溃与去重
  • 按需实时崩溃调试
  • 可观察,可调试
  • 支持Windows与Linux
  • 崩溃报告与通知

OneFuzz依赖于Microsoft Azure云服务,它利用虚拟机规模集(Virtual Machine Scale Sets)可以创建出虚拟机集群,从单一虚拟到上千核计算资源,并自动支持负载均衡。

同时利用 Azure Blob 存储容器去存储每个Fuzz任务的上下文信息,按容器作分类,包括目标程序及依赖、崩溃信息、输入样本等。

在代码仓库中,你可以直接集成OneFuzz去持续Fuzz,比如利用Github Actions去自动部署:

也可以自己本地利用OneFuzz本地命令去创建虚拟机,创建任务去Fuzz,运行效果:

如果发现崩溃可通过Microsoft Teams向团队发送通知:

对于崩溃会自动去重和分析,开发还可直接利用自带命令远程调试:

最后聊点个人看法:

  1. 对于在CICD中实现持续Fuzz的功能是相对比较完整的,与此前CIFuzz思路类似;
  2. 对Microsoft自身产品(Azure、Teams)依赖过重,且都是收费产品,对于其它企业有时比较难照搬使用,想要实现适合自己研发环境的CI Fuzzer只能自己动手,思路上可以借鉴下;
  3. Google的ClusterFuzz要比OneFuzz功能更加强大;
  4. 平台默认采用AFL、libfuzzer、honggfuzz、radamas工具进行Fuzz,皆为主流的有效工具,能否挖到漏洞取决于你的目标(包括基于libfuzzer写的目标程序)和样本,跟OneFuzz平台无关;
  5. OneFuzz对输入样本的处理功能支持较少,fuzzer也很少,估计后续可能会集成ossfuzz;
  6. 搭建成本不低,如果个人使用的话,可以自己写个本地虚拟机(vmware、hyper-V、qemu),docker容器对windows镜像的支持有限,难以应用;
  7. macOS系统经常不在CI Fuzzing的适配环境里,至少当前开源的相关工具多不支持,但现今企业的研发设备都已经配置了mac,比如阿里、腾讯都办公设备现在都是每人一台macbook(本地机器或服务器其实都可以作为Fuzz资源用于CI Fuzz),所以如果要做到CI Fuzzing,mac环境的因素后续仍需要考虑进去。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 漏洞战争 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档