前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WINGFUZZ SaaS:在线智能模糊测试平台

WINGFUZZ SaaS:在线智能模糊测试平台

作者头像
FB客服
发布2023-03-30 19:32:17
1.6K0
发布2023-03-30 19:32:17
举报
文章被收录于专栏:FreeBufFreeBuf

关于WINGFUZZ SaaS

WINGFUZZ SaaS是水木羽林推出的智能模糊测试在线服务,可以在不需要用户上传源代码的情况下利用云端资源开展覆盖率引导的模糊测试。作为国内首个模糊测试SaaS服务平台,当前已开放beta版免费注册使用,支持C/C++程序内存问题等安全漏洞的自动化测试。

注册使用

平台注册地址是:https://wingfuzz.com/

注册后即可登入平台查看demo项目与相关功能,等待审核激活后就可以跑测试了。

技术原理

平台后端基于覆盖率引导的模糊测试实现,引入了团队自研的多引擎集成等技术,可以实现比开源工具更好的漏洞挖掘效果,前端基于容器实现测试过程的管理和追踪。

覆盖率引导的模糊测试,或灰盒模糊测试、智能模糊测试,是一种动态测试技术。工具会自动生成大量带有随机性的测试用例,触发软件异常,最终发现软件缺陷。同时,通过灰盒插桩、覆盖率引导、Sanitizer等技术,可以带来更高的测试覆盖率,更多缺陷类型支持,并提供代码行级缺陷定位。

当前模糊测试已经使用得比较广泛,Google、Microsoft、Linux基金会等组织已经在OpenSSL、Chromium、Linux、Office等软件中发现了大量bug,也有像OSS-Fuzz, One-Fuzz这样的平台化项目。但像OSS-Fuzz的测试服务只对开源软件开放,也需要用户上传自己的源代码,自己搭建如ClusterFuzz一类的平台也较为困难,WINGFUZZ提供了一个新的选择。

WINGFUZZ架构与功能

WINGFUZZ SaaS平台整体采用“平台+SDK”架构,SDK可通过平台下载。

SDK提供了命令行工具,支持项目编译插桩、本地验证测试、远程测试Job提交等功能。

平台端实现了测试管理、资源调度、用户计费等功能,并通过容器化环境提供用户和测试项目的隔离。用户交互层面,提供了项目管理、测试过程报告、缺陷详情分析等功能,还提供可导出的测试报告。

漏洞挖掘流程

WINGFUZZ SaaS提供了比较详细的在线教程,可以跟着教程来操作整个流程,同时了解测试运行的相关技术细节。

在线教程地址在:

https://doc.wingfuzz.com/

还配上了各种小视频来帮助上手。

1. 驱动准备

直接使用教程demo程序,保存为firtst-fuzz.cpp:

代码语言:javascript
复制
e <stdio.h>#include <string.h>#include <string>#include <wfuzz.h>
void echo(std::string content) {    char buf[10];    strncpy(buf, content.c_str(), 10);    printf("%s\n", buf);}
WFUZZ_TEST_ENTRYPOINT(echo);

驱动是模糊测试器的测试入口,WINGFUZZ提供比AFL / LibFuzzer更容易使用的宏来进行驱动定义,同时也兼容AFL / LibFuzzer的驱动写法。这段demo程序是引入了一个strncpy和printf函数带来的栈缓冲区溢出(stack-buffer-overflow)错误。

2. 对象编译

使用这个命令进行编译:

代码语言:javascript
复制
wfuzz-c++ -o first-fuzz first-fuzz.cpp

完成后就得到了测试用的二进制文件。编译中会自动添加相关参数,并且在链接时添加必要的运行时库。

启动测试

启动测试有两种方式,Web端直接上传二进制,和命令行启动。命令行测试时,也支持两种模式,分别是调试用的本地验证测试,以及远程云端测试。我们使用这个命令来启动远程测试:

代码语言:javascript
复制
wfuzz fuzz -R -t 600 first-fuzz

启动后命令后输出如下:

然后在Web端就可以看到一个新测试在运行了:

瞬间就能测出demo程序的bug,可以查看详情:

demo程序的基础流程就是这样,教程中还提供了OpenSSL心脏滴血漏洞挖掘实战流程,以及更多详细技术介绍。

结语

基础软件的质量非常重要,模糊测试技术逐步走入大家的视野,解决软件开发过程中的可靠性、安全性、性能等问题,但是其使用门槛也比传统软件分析方法对于开发者的要求更加苛刻,WINGFUZZ SaaS作为这一方向国内的首次尝试,希望可以降低模糊测试的使用成本和门槛,为基础软件测试带来更多选择。

精彩推荐

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于WINGFUZZ SaaS
  • 注册使用
  • 技术原理
  • WINGFUZZ架构与功能
    • 1. 驱动准备
      • 2. 对象编译
        • 启动测试
        相关产品与服务
        腾讯云服务器利旧
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档