模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享

模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享

在前期内容中我们了解了模糊测试是如何发现漏洞的,本期我们将以开源网安模糊测试平台(SFuzz在车联网行业的实践为例,针对车载以太网DOIP协议详细阐释在实际过程的漏洞发掘过程。


在开始之前我们先来了解几个名词。


车载以太网

用于连接汽车内各种电气设备的一种物理网络。在传统以太网协议基础上,改变了物理接口的电气特性,并结合车载网络需求定制了一些新标准。车载以太网主要涉及OSI的1、2层技术,同时车载以太网同时支持TSN/TTE、TCP/IP、DOIP、SOME/IP等多种协议或应用形式。


DOIP

一种用于汽车诊断和通信的协议,它允许车辆的电子控制单元(ECU)之间以及车辆与外部诊断设备之间通过互联网协议(IP)进行通信。DOIP的主要目的是提供高速、安全和可靠的诊断和编程通信,以支持车辆的诊断、维护和编程等任务。
模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享


随机种子

计算机所产生的随机数是通过一串很长的序列数模拟随机数,故称为伪随机数,在实际应用这些随机数时,这些随机数一般都能具有真实随机数的所有概率性质和统计性质,因此可以产生许许多多的序列伪随机数,一个序列的第一个随机数对应一个数,这个数称为种子数。


了解以上名词后我们来看看车企是如何使用SFuzz发现车联网系统中的漏洞的。

 

环境信息


测试工具:SFuzz V3.0

操作系统:Ubuntu 18.4

被测件:某型号DOIP设备(客户设备,不便透露具体信息)

测试套件:DOIP协议测试套件


测试过程


安装部署

  1. 准备一台计算机,系统可以是Linux、Windows、Mac,该企业使用Ubuntu 18.4系统计算机

  2. 下载SFuzz V3.0安装包,按照安装手册进行部署安装,并导入DOIP协议测试套件

  3. 使用工程机RJ45接口直连被测件,使用ping + IP(被测件IP)确定被测件可以正常通信。


测试执行

登录SFuzz平台,选择“协议模糊测试“功能进行测试用例创建,配置对应的监视器,用于监控测试用例运行情况。本次测试使用TCP监视器。


进入测试启动页,选择对应的测试代理和种子数开始测试。

模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享


启动测试用例查看运行过程,同时监视被测件返回的日志。

模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享


通过SFuzz平台测试界面,发现当测试进行到第60次迭代时,平台返回了漏洞警报,我们注意到被测件的日志中出现了崩溃提示。同时,我们使用的TCP监视器也监视到了端口关闭,开始持续上报缺陷信息。从控制台日志可以看到错误提示:


terminate called after throwing an   instance of std;;bad alloc!

what():std: :bad alloc

Aborted


模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享


漏洞验证

此时我们可以使用SFuzz平台提供的“重放“功能来精准的定位漏洞。

模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享


通过重放我们可以精准的定位到第60次是一个协议漏洞,它将会导致被测件发送崩溃。我们可以通过下载对应的bin文件(攻击报文),将其提供给开发人员深入分析,尽快修复。

模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享


分析总结


通过多次验证上述测试过程,发现在向被测件的DOIP协议服务传入特定的变异数据包时,会发生崩溃现象。我们可以判断这是一个真实的未被识别的漏洞,而开源网安模糊测试平台SFuzz能够帮助使用者发现测试目标的潜在问题,高效检测出未知漏洞,极大提升系统安全性。


推荐阅读

1.模糊测试面面观 | 揭示真实世界中的漏洞发现过程

2.模糊测试面面观 | 模糊测试是如何准确定位问题的?

3.模糊测试面面观 | 模糊测试是如何发现异常情况的?

4.模糊测试面面观 | 模糊测试对软件质量和性能的影响

模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享

原文始发于微信公众号(开源网安):模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享

版权声明:admin 发表于 2023年9月21日 下午5:36。
转载请注明:模糊测试面面观 | 车载以太网协议DOIP模糊测试实践案例分享 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...