一款模糊测试工具介绍

Posted 智能网联车安全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一款模糊测试工具介绍相关的知识,希望对你有一定的参考价值。

[Author]

Renhong WENG, Safety, and Security, and RAMS investigator.


一:模糊测试好处及定位

根据ISO SAE 21434 Annex F相关论述,模糊测试作为漏洞扫描的重要手段,存在,的定义及好处如下:

模糊测试是一种测试类型,其中提供了大量随机数据(通常以自动化或半自动化的方式)作为系统的输入,以查找弱点和漏洞(例如,故障和编码错误)。
如果系统崩溃或偏离正常定义的行为,则将输出报告为错误。 模糊测试可以在系统或接口级别进行,也可以通过列出被测软件中的每个变量并对代码中每个软件变量的随机值进行模糊化来更详尽地进行。 在后一种方法中,测试通常是高度自动化的。 模糊测试可用于发现例如具有网络安全隐患的溢出,分段和堆错误。 模糊测试可以应用于硬件输入。 模糊测试可以用作渗透测试的技术。

模糊测试也可以作为功能测试的一部分进行。 模糊测试的目的是用数据和/或信号轰炸功能部件或系统,以查看功能部件或系统是否会以不良方式响应,从而可能暴露出可能被利用的漏洞。 仍在开发专门用于嵌入式车辆系统的模糊测试工具,但是一些已开发用于其他行业(例如智能手机,网站)的模糊测试工具可能对特定系统(例如蓝牙)具有一定的适用性。 和Wi-Fi连接)。


二、模糊测试工具 - SAE J3061 Annex I

从SAE J3061中,模糊测试大致工具可列举如下:

工具会为系统或应用程序界面生成无效,意外或随机的数据,以检测错误的异常处理或输入过滤,从而可能导致程序崩溃或意外状态,从而可能被攻击者利用。 示例CANbuster,Codenomicon Defensics。


三、一款可以免费试用的模糊测试工具

SmartRocket Fuzzing,可免费试用,其具体参数如下:通过对软件源码或二进制程序进行 插桩,实现软件运行时状态监控持续输出更为有效的测试用例去遍历新的或不可预见的 执行 路径,从而触发各种异常并还原其中存在的漏洞 。

里面有一些原理值得借鉴,本文章不作为工具推荐,只是介绍一款潜在国产工具,毕竟现在中美贸易战,我们需要知道国内的情况

四、SmartRocket Fuzzing

模糊测试宗旨,不可依靠漏洞库已知的,而必须对代码进行潜在攻击与反馈持续进化,smartRicket可以做到:

产品特色:

1.覆盖导向的自动化测试

模糊测试 还可以作为 一种持续化部署流程集成在原有 CI/CD/DevOps 开发流程中,成为一套 完善的 自动化漏洞发现体系,以帮助客户高效、快速、方便地寻找 Bug 和漏洞 。

2.安全性漏洞检测和健壮性测试

3.更多更快的集成测试用例。SmartRocket Fuzzing 集成了可记录修改状态Steelix 可穿透分支的条件判断 大大提高了模糊测试对穿透函数调用型的
魔法字节比较的有效性。例如一个5字节的魔法字节比较:strcmp(string_var,magic”) 一般的灰盒测试不能生成有效的能够通过判断的输入文件,而SmartRocket Fuzzing 可以在 10s 之内产生可以通过判断的输入。

4.支持 源码、二进制程序的测试

5.灵活的模糊测试策略。

SmartRocket Fuzzing 提 供了两种基本的模糊测试模式:

(1)类 AFL 及其他主流测试引擎的常用方式,即从程序的入口函数 m ain
执行目标程序直至结束

(2)对程序片段进行模糊测试。

6.多方模糊策略集成化

7.与其他测试相比的大致优势:


Note:有兴趣更多了解的,可联系

TICPSH(上海控安): sunlufei@ticpsh.com


[REF]

ISO SAE DIS 21434

SAE J3061

上海控安:嵌入式模糊测试工具吉安简介

以上是关于一款模糊测试工具介绍的主要内容,如果未能解决你的问题,请参考以下文章

智能模糊测试工具Peach Fuzzer官方文档翻译

模糊测试工具 American Fuzzy Lop (一)

使用WebScarab模糊测试

智能合约场景下的模糊测试——智能合约基本介绍

GO语言(十六):模糊测试入门(上)

NEUZZ分析:一种新型模糊测试程序