0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鉴源实验室·基于DDS的模糊测试研究

上海控安 来源:上海控安 作者:上海控安 2025-02-19 14:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者 | 柳泽上海控安可信软件创新研究院 鉴源实验室

01

引 言

近年来,随着工业4.0和智能网联技术的发展,数据驱动型系统的需求日益增加,推动了诸如 DDS(Data Distribution Service)等高效数据分发中间件的应用和发展。在工业制造和智能网联领域,实时性、可靠性以及可扩展性成为系统设计中不可或缺的要素,传统的数据传输和通信架构难以满足这些需求。因此,DDS 作为一种标准化的发布/订阅通信模型,逐渐受到广泛关注。

DDS最早应用于国防军工,欧美的主流军工厂商,如THALES泰雷兹、、Raytheon雷神、Lockheed Martin洛克希德·马丁均采用DDS中间件为其作战指挥与控制系统无人机、导弹发射控制的提供通信服务。随着自动驾驶技术的快速发展和车联网(V2X)的普及,为满足智能网联汽车车内多种传感器之间,以及与车外高带宽,低延迟的数据传输需求,DDS于2018年被引入AUTOSAR。DDS 系统通常承担着实时数据分发和通信的重任,其安全性和稳定性变得至关重要。一旦发生故障或遭遇恶意攻击,可能导致严重的系统失效或数据泄露,进而影响业务连续性和人身安全。因此,对DDS进行深入研究,挖掘并消除潜在漏洞,确保 DDS 中间件的稳定性和可靠性对于工业自动化、智能化控制的安全至关重要。

02

DDS介绍

DDS(Data Distribution Service) 是一种用于实时系统的中间件标准,由对象管理组织 (OMG, Object Management Group) 制定。它专门设计用于支持分布式系统中的高效、可靠和可扩展的数据交换,尤其在高性能、实时性和可用性要求较高的分布式场景中应用。以下是DDS的应用示意图:

wKgZPGe1eVOAV--0AAFGWD57IrU355.png

图 1

在 DDS(Data Distribution Service)中,“域” 是一个重要的概念,它用来组织和隔离数据通信,以便在大型分布式系统中实现高效和有序的数据管理。每个域由一个唯一的域标识符(Domain ID)进行标识。DDS中的通信实体为域参与者(DomainParticipant),只有同一个域中的域参与者才可相互通信。在域之下,对通信的主题Topic进行了进一步的划分,只有参与者参与到了同一Topic时,两者才能进行通信。Topic通信中有两种角色:

· Publisher:Topic消息的发布者,可以同时有1个或多个发布者。

· Subscriber:Topic消息的订阅者,可以同时有1个或多个发布者。

DDS在网络协议栈中位于TCP和UDP之上,并且基于TCP和UDP来进行发送。DDS的规范中针对网络实时发布订阅,规定了实时发布订阅(Real-Time Publish Subscribe,RTPS)协议。

wKgZO2e1eVqACiWRAAGPIkuipP0203.png

图 2

RTPS 是 DDS 中的一个通信协议,专门用于在分布式系统中实现实时数据分发。RTPS 是 DDS 的核心传输协议,负责确保数据在网络上传输的实时性和可靠性。其主要特性包括:

· 数据传输:RTPS 确保发布者和订阅者之间的数据能够以实时和高效的方式传输。根据配置的 QoS 策略,RTPS 可以保证数据传输的可靠性和传递顺序,满足不同应用场景的需求。

· 自动发现:RTPS 支持节点之间的自动发现机制,允许分布式系统中的发布者和订阅者在启动时自动找到彼此,而无需手动配置。这使系统的动态扩展变得更加容易。

· QoS 管理:RTPS 协议支持多种 QoS 策略,如可靠性、持久性和传输优先级,提供对数据传输的严格控制,满足不同的实时性和可靠性要求。

wKgZPGe1eWCAWXdnAAEkIWpt17s562.png

图 3

RTPS协议的消息报文结构如图3所示,主要头(Header)、头拓展(HeaderExtention)、子消息(Submessage)组成。Header负责定义RTPS消息的域和节点信息,而功能的控制是由各个子消息来实现的,每个RTPS可以有一个或多个子消息。每个子消息都有特定的用途,用于在发布者和订阅者之间协调数据分发、可靠性控制以及参与者的自动发现。以下是 RTPS 的主要子消息类型:

wKgZPGe1eWaAJdtVAAJLy6nCy2w541.png

图 4

各子消息的报文结构及功能可见DDSI-RTPS v2.5,在此不做深入探讨。

03

DDS协议模糊测试技术

3.1 DDS漏洞分析

基于DDS的中间件因其去中心化,Qos机制丰富,耦合度低,数据分发高效灵活等特性,被诸多高分布式系统采用,其中ROS2已将fastDDS当作长期发布版本的默认中间件。除此之外,Eclipse CycloneDDS、GurumNetworks GurumDDS、OCI OpenDDS、RTI Connext DDS等不同厂商的DDS开源工程也被行业广泛应用。这些项目尽管在性能和功能上不断优化,但也不可避免地暴露出各种安全漏洞。根据CVE(Common Vulnerabilities and Exposures)数据库的统计,对开源DDS项目的安全漏洞记录已达41条之多,这些漏洞可能被利用来发动多种类型的网络攻击,如拒绝服务、信息泄露和未经授权的访问等。下面介绍一些DDS中挖掘出来的CVE漏洞:

1)子报文解析中的错误格式的处理不当

DDS-RTPS协议中,不同节点的通信控制都是依靠子消息的来实现。DDS-RTPS消息中支持携带一条或者多条子消息,且DDS-RTPS的报文种类与的格式变化丰富,因此子消息的解析过程处理不当也会造成很多漏洞。多子消息的DDS-RTPS报文依靠子消息头中的子消息长度来解析单条子报文,如图5所示:

wKgZPGe1eW-AV6izAAHaJiw-dT8685.png

图 5

攻击者可以利用子消息解析过程中的漏洞,构造恶意拼接的复杂子报文,致使RTPS报文解析出错误的消息。CVE-2024-28231中,攻击者通过刻意构造数据包的结构,使得 uint32_t型的参数payload_size被计算为-1(被转译成0xFFFFFFFF),最终导致了缓冲区溢出的错误。

wKgZO2e1eXWAWtN5AABUbtDTMO4193.png

图 6

为了触发该漏洞,攻击者需要构造特定DATA报文使得程序进入该位置。攻击者精心构造了子消息头的长度OctetsToNextHeader,InlineQos的偏移量octetsToInlineQos,以及inlineQosSize,最终使得payload_size计算异常。

2)子消息缺乏隐私安全保护措施

该类漏洞是由于DDS-RTPS报文的子消息中存在很多控制相关的命令,对于该类命令的传输如果不进行有效的安全加密,则会外部攻击者通过伪造合法节点在网络中进行恶意网络攻击行为。CVE-2023-50257描述了eProsima Fast DDS(前称为Fast RTPS)中存在的一个严重漏洞。在Fast DDS的实现中,用于断开节点连接的数据(如p[UD])和guid值未被加密。这一缺陷允许攻击者构造并发送恶意数据包,从而强行断开订阅者(Subscribers)与发布者(Publishers)的连接。攻击者可以发送特制的断开连接数据包到全局数据空间,并使用特定的发布者ID。这样,所有连接到该发布者的订阅者将断开连接,并无法接收数据,且通过持续发送断开连接的恶意数据包,攻击者可以阻止订阅者与发布者重新建立连接,导致分布式系统中的数据传输中断。

3)缺乏逻辑检查

该类漏洞是由于程序在接收外部数据输入时,未进行有效的逻辑结构检查,使得外部程序可以在没有初始化等前置操作时便去进行进一步应用处理。CVE-2023-50716描述了一个典型的未初始化导致DDS程序崩溃的例子。输入的无效DATA_FRAG子消息会使得CacheChange_t对象在未对inline_qos和serializedpayload进行初始化时便去释放内存,最终导致了程序的终止。

3.2 DDS-RTPS协议模糊测试

DDS 中间件通过“发布-订阅”模式提供一个高效的数据分发引擎,抽象化了底层的通信细节,简化了数据传输和消息管理。虽然DDS中间件简化了应用开发者的开发流程,但是也使自身暴露在复杂的分布式网络环境中。DDS开源软件漏洞分析的案例分析中,很多漏洞都是攻击者伪装成网络节点,通过精心构造报文来引发DDS中间件的崩溃。通过发送特定协议报文触发漏洞来实现网络恶意攻击的方式使得攻击者可以用低廉的成本来达成攻击目的。因此,有必要通过模糊测试的方式预先排查并修复漏洞,提升产品的鲁棒性和稳定性。

SmartRocket TestSec是一款针对工业互联网协议的自动化智能黑盒模糊测试工具。工具的模糊测试测试功能支持CAN、CAN FD、EthernetUSB、BlueTooth、WIFI等不同硬件类型的模糊测试,DDS-RTPS的协议模糊测试属于工具的Ethernet模糊测试用例。

DDS-RTPS的协议模糊测试有以下特性:

· 被测件的互操作性检查

· 用户自定义配置DDS-RTPS报文的待模糊字段

· 用户自定义配置监控套件监控被测件状态

· 支持模糊的交互过程全记录

· 支持crash报文记录及向前回溯

· 支持结果报告自动生成

wKgZPGe1eXuAIZ54AAGLfUaQ0uU243.png

图 7

TestSec协议模糊测试页面(图7)勾选添加了RTPS模糊测试用例之后,可以通过用例说明了解各个报文字段的意义,并根据需求选择特定的字段进行模糊。RTPS协议模糊测试支持用户添加多个子消息以模拟真实的RTPS报文格式。用户可以固定填写关键参数信息使得报文信息可以发送到指定的被测件上或者使被测件进入特定的报文交互模式,以更快的测试具体功能。以CVE-2024-28231的POC为例,用户可以固定部分字段,并对其赋予有意义的值,对想要模糊测试的字段进行变异勾选。

wKgZO2e1eYGAENTmAAFqWcz9zLY332.png

图 8

然后利用ASAN监控套件,检测被测软件的状态。在检测到Crash后,TestSec会汇总监控信息、以及模糊用例的信息,并最终生成测试报告,见图10。

wKgZO2e1eYeAEiFtAAEMuuSF12M790.png

图 9

wKgZPGe1eYyAHf52AAIq197ZZz0494.png

图 10

参考文献:

1. https://github.com/eProsima/Fast-DDS/security

2.https://www.omg.org/spec/DDSI-RTPS/

3.AUTOSAR. (2022). Specification of Secure Onboard Communication. AUTOSAR Standard Working Specification.


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    6031

    浏览量

    130722
  • DDS
    DDS
    +关注

    关注

    22

    文章

    683

    浏览量

    156073
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    实验室·基于MQTT协议的模糊测试研究

    作者 |  张渊策 上海控安可信软件创新研究院工控网络安全组 来源 |  实验室 社群 |  添加微信号“ TICPShanghai ”加入“上海控安51fusa安全社区” 随着物
    的头像 发表于 07-30 15:21 1361次阅读
    <b class='flag-5'>鉴</b><b class='flag-5'>源</b><b class='flag-5'>实验室</b>·基于MQTT协议的<b class='flag-5'>模糊</b><b class='flag-5'>测试</b><b class='flag-5'>研究</b>

    Kilby实验室大揭秘

    可能面临的挑战,”Kilby实验室纳米技术团队的领导Paul Emerson说道,“我们的目标是发明改变世界的突破性解决方案。” 自2009年创立应用研究中心Kilby实验室起,领先技术已经与TI的业务
    发表于 07-16 04:45

    锂电材料截面制样-氩离子抛光CP离子研磨 金实验室分享(下)

    锂电池正极片氩离子抛光(CP离子研磨)制样后效果图(正极片氩离子抛光制样后效果图-如上图所示-金实验室罗工提供)锂电池负极片氩离子抛光(CP离子研磨)制样后效果图(负极片氩离子抛光制样后效果图-如上图所示-金
    发表于 12-16 15:47

    CDMA手机入网测试实验室测试要求是什么

    CDMA手机入网测试实验室测试要求是什么CDMA手机实验室测试标准是什么
    发表于 05-06 09:23

    lims实验室管理系统是什么?实验室信息管理系统介绍!

    。检测结果管理最后,lims实验室管理系统的主要功能之一是将测试结果与样本相关联。当测试结果是浓度等简单数据点时,可以直接将测试结果记录在样本记录中。然而,越来越普遍的是,
    发表于 11-03 11:17

    实验室lims系统解决方案

    ?lims实验室信息管理系统是一种软件产品,旨在帮助实验室跟踪其设备、样品和测试结果,管理其工作流程/协议,创建合规报告并分析结果。虽然医院、诊所和研究
    发表于 11-04 11:18

    广东金实验室科技有限公司介绍

    认定的“LED失效分析公共服务示范平台”,广州市中级人民法院司法鉴定专业委托机构。   金实验室建设了一条从芯片到封装灯具的LED测试分析线,其LED失效分析业务市场占有率为80%,是国际顶尖的LED检测
    发表于 11-25 17:19 2162次阅读
    广东金<b class='flag-5'>鉴</b><b class='flag-5'>实验室</b>科技有限公司介绍

    高精度电流在电子实验室中的应用

    高精度电流是一种能够提供恒定、稳定电流输出的设备,被广泛应用于电子实验室中。电子实验室是电子工程师进行实验测试和研发的场所,而高精度电流
    的头像 发表于 06-12 09:13 1108次阅读
    高精度电流<b class='flag-5'>源</b>在电子<b class='flag-5'>实验室</b>中的应用

    极致出品,可靠至上 | 晶丰明测试实验室

    十五年间,晶丰明从深耕LED照明驱动领域,走向智慧家居、外置电源、智能云计算及控制驱动多领域全面发展,在这不断成长超越、突破创新的过程中,晶丰明测试实验室承载着公司对卓越质量与高可
    发表于 06-16 13:59 638次阅读
    极致出品,可靠至上 | 晶丰明<b class='flag-5'>源</b><b class='flag-5'>测试</b><b class='flag-5'>实验室</b>

    实验室协助鸿利智汇产品顺利通过AEC-Q102认证

    实验室
    的头像 发表于 08-18 09:43 1413次阅读
    金<b class='flag-5'>鉴</b><b class='flag-5'>实验室</b>协助鸿利智汇产品顺利通过AEC-Q102认证

    DEKRA德凯为Hisense海信实验室授予CTF实验室资质

    近日,全球领先的检验检测认证机构DEKRA德凯为海信家电集团洗护技术测试研究中心(以下简称:Hisense海信)实验室授予CTF实验室资质。
    的头像 发表于 04-10 14:52 1140次阅读

    实验室丨智能网联汽车协议模糊测试技术概述

    作者 | 乔琪 上海控安可信软件创新研究院工控网络安全组 来源 | 实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 摘要:随着智能网联
    的头像 发表于 04-17 13:39 1482次阅读

    实验室·HTTP协议网络安全攻击

    作者 | 李芷若 上海控安可信软件创新研究院工控网络安全组 来源 |  实验室 社群 |  添加微信号“ TICPShanghai ”加入“上海控安51fusa安全社区” 01 背
    的头像 发表于 07-30 13:48 1046次阅读
    <b class='flag-5'>鉴</b><b class='flag-5'>源</b><b class='flag-5'>实验室</b>·HTTP协议网络安全攻击

    实验室·ISO 26262中测试用例的得出方法-等价类的生成和分析

    作者 | 李伟 上海控安安全测评部总监 来源 |  实验室 社群 | 添加微信号“ TICPShanghai ”加入“上海控安51fusa安全社区”   在ISO 26262-6-2018
    的头像 发表于 07-30 15:37 1338次阅读
    <b class='flag-5'>鉴</b><b class='flag-5'>源</b><b class='flag-5'>实验室</b>·ISO 26262中<b class='flag-5'>测试</b>用例的得出方法-等价类的生成和分析

    天合储能获得衡目击实验室资质认可

    近日,天合储能正式获得北京衡认证中心(CGC) 颁发的目击实验室资质。在北京衡认证中心专家的现场审核下,公司自主研发的“储能专用天合芯及电池系统“,于常州AES先进储能技术研究院完
    的头像 发表于 09-03 18:16 668次阅读