游客发表

鉴源实验室·根据DDS的含糊测验研讨

发帖时间:2025-05-28 09:19:19

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

01。

引 言。

近年来,跟着。工业。4.0和。智能。网联技能的开展,数据驱动型体系的需求日益增加,推动了比如 DDS(Data Distribu。ti。on Serv。ic。e)等高效数据分发中间件的运用和开展。在工业制作和智能网联范畴,实时性、牢靠性以及可扩展性成为体系规划中不可或缺的要素,传统的数据传输和。通讯。架构难以满意这些需求。因而,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的运用示意图:

图 1。

在 DDS(Data Distribution Service)中,“域” 是一个重要的概念,它用来安排和阻隔数据通讯,以便在大型分布式体系中完成高效和有序的数据办理。每个域由一个仅有的域标识符(Domain ID)进行标识。DDS中的通讯实体为域参加者(DomainParticipant),只要同一个域中的域参加者才可互相通讯。在域之下,对通讯的主题To。pi。c进行了进一步的区分,只要参加者参加到了同一Topic时,两者才干进行通讯。Topic通讯中有两种人物:

· Publisher:Topic音讯的发布者,能够一起有1个或多个发布者。

·。 Sub。scriber:Topic音讯的订阅者,能够一起有1个或多个发布者。

DDS在。网络。协议栈中坐落TCP和UDP之上,而且依据TCP和UDP来进行发送。DDS的标准中针对网络实时发布订阅,规则了实时发布订阅(Real-Time Publish Subscribe,RTPS)协议。

图 2。

RTPS 是 DDS 中的一个通讯协议,专门用于在分布式体系中完成实时数据分发。RTPS 是 DDS 的中心传输协议,担任确保数据在网络上传输的实时性和牢靠性。其首要特性包含:

· 数据传输:RTPS 确保发布者和订阅者之间的数据能够以实时和高效的方法传输。依据装备的 QoS 战略,RTPS 能够确保数据传输的牢靠性和传递次序,满意不同运用场景的需求。

· 主动发现:RTPS 支撑节点之间的主动发现机制,答应分布式体系中的发布者和订阅者在启动时主动找到互相,而无需手动装备。这使体系的动态扩展变得愈加简单。

· QoS 办理:RTPS 协议支撑多种 QoS 战略,如牢靠性、持久性和传输优先级,供给对数据传输的严格操控,满意不同的实时性和牢靠性要求。

图 3。

RTPS协议的音讯报文结构如图3所示,首要头(He。ad。er)、头拓宽(HeaderEx。te。ntion)、子音讯(Submessage)组成。Header担任界说RTPS音讯的域和节点。信息。,而功用的操控是由各个子音讯来完成的,每个RTPS能够有一个或多个子音讯。每个子音讯都有特定的用处,用于在发布者和订阅者之间和谐数据分发、牢靠性操控以及参加者的主动发现。以下是 RTPS 的首要子音讯类型:

图 4。

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

03。

DDS协议含糊测验技能。

3.1 DDS缝隙剖析。

依据DDS的中间件因其去。中心。化,Qos机制丰厚,耦合。度低,数据分发高效灵敏等特性,被许多高分布式体系选用,其间。ROS2。已将fastDDS当作长时间发布版别的默许中间件。除此之外,Eclipse CycloneDDS、GurumNetw。or。ks 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所示:

图 5。

进犯者能够运用子音讯解析进程中的缝隙,结构歹意拼接的杂乱子报文,致使RTPS报文解析出过错的音讯。CVE-2024-28231中,进犯者经过故意结构数据包的结构,使得 uint32_t型的。参数。payload_size被核算为-1(被转译成0xFFFFFFFF),终究导致了缓冲区溢出的过错。

图 6。

为了触发该缝隙,进犯者需求结构特定DATA报文使得程序进入该方位。进犯者精心结构了子音讯头的长度OctetsToNextHeader,InlineQos的偏移量octetsToInlineQos,以及inlineQosSize,终究使得payload_size核算反常。

2)子音讯缺少隐私安全保护措施。

该类缝隙是因为DDS-RTPS报文的子音讯中存在许多操控相关的指令,关于该类指令的传输假如不进行有用的安全加密,则会外部进犯者经过假造合法节点在网络中进行歹意网络进犯行为。CVE-2023-50257描绘了eP。ros。ima Fast DDS(前称为Fast RTPS)中存在的一个严峻缝隙。在Fast DDS的完成中,用于断开节点衔接的数据(如p[UD])和guid值未被加密。这一缺点答应进犯者结构并发送歹意数据包,然后强行断开订阅者(Subscribe。rs。)与发布者(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、。Ethernet。、。USB。、BlueTooth、WIFI等不同硬件类型的含糊测验,DDS-RTPS的协议含糊测验归于东西的Ethernet含糊测验用例。

DDS-RTPS的协议含糊测验有以下特性:

·。 被测件的互操作性查看。

·。 用户自界说装备DDS-RTPS报文的待含糊字段。

·。 用户自界说装备监控套件监控被测件状况。

·。 支撑含糊的交互进程全记载。

·。 支撑crash报文记载及向前回溯。

·。 支撑成果陈述主动生成。

图 7。

TestSec协议含糊测验页面(图7)勾选增加了RTPS含糊测验用例之后,能够经过用例阐明了解各个报文字段的含义,并依据需求挑选特定的字段进行含糊。RTPS协议含糊测验支撑用户增加多个子音讯以。模仿。实在的RTPS报文格局。用户能够固定填写要害参数信息使得报文信息能够发送到指定的被测件上或许使被测件进入特定的报文交互形式,以更快的测验详细功用。以CVE-2024-28231的POC为例,用户能够固定部分字段,并对其赋予有含义的值,对想要含糊测验的字段进行变异勾选。

图 8。

然后运用ASAN监控套件,检测。被测软件的状况。在检测到Crash后,TestSec会汇总监控信息、以及含糊用例的信息,并终究生成测验陈述,见图10。

图 9。

图 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.。


审阅修改 黄宇。

内容来源:https://nlsngoisaoviet.com/app-1/thống kê tần suất bộ số,http://chatbotjud.saude.mg.gov.br/app-1/bozano-777

    相关内容

      系统发生错误

      系统发生错误

      您可以选择 [ 重试 ] [ 返回 ] 或者 [ 回到首页 ]

      [ 错误信息 ]

      页面发生异常错误,系统设置开启调试模式后,刷新本页查看具体错误!