摘要:机器人操作系统(robot operating system,简称ROS)是一种广泛应用于机器人开发的开源系统,它可以为开发者提供硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能,应用前景广阔.ROS集成了可以实现不同功能的功能包,例如定位绘图、行动规划、感知、模拟等等,但其中可能存在一些漏洞,破坏整个机器人系统的安全性和可靠性.提出了一种差分模糊测试方法对ROS不同版本的功能包进行测试,找出其中的漏洞.该方法包括测试用例生成和差分模糊测试执行两个模块:首先,对于输入文件进行加载、处理,并基于策略生成的方法生成测试用例文件;其次,节点间使用话题通信机制实现通信,使用上一模块生成的测试用例文件作为统一的模糊输入,对ROS不同版本的功能包进行差分模糊测试;接着,对测试结果中的不一致输出进行差异计算并评估,符合评估指标的种子将被保留并反馈给用例生成模块循环生成测试用例,有效提高了种子质量及代码覆盖率;最后分析不一致输出原因,找出漏洞.将该方法应用在机器人坐标转换的实验中,实现对不同参考系下坐标转换的功能包TF和TF2的测试.最终的实验结果表明:与TF2相比,TF在功能实现上更加准确.TF2实现坐标旋转变换的函数存在漏洞.
Abstract:Robot operating system (ROS) is an open source system widely used in Robot development. It can provide developers with hardware abstraction, device driver, library function, visualization, messaging, software package management, and other functions, which has an important and broad application prospect. ROS integrates various software packages that can realize different functions, such as positioning drawing, action planning, perception, simulation, etc. However, some vulnerabilities may damage the overall safety and reliability of robot system directly. In this study, an ROS oriented fuzzing method is proposed to test different versions of ROS packages and find out the vulnerabilities. The proposed approach includes two modules:Test cases generation and differential fuzz testing execution. Firstly, load and process the input file, and generate the test cases file based on the strategy's generation. Secondly, communication among nodes is achieved using topic communication mechanism, and the test case files are used as the inputs to carry out differential fuzz testing on the ROS packages. Then, the inconsistent outputs in the test results are calculated and evaluated, and the seed meet the evaluation indicators are reserved and fed back to the test case generation module to generate test cases, it will improve seed quality and code coverage effectively. Finally, analyze the cause of inconsistent output and find out the vulnerability. This method is applied in the experiment of robot coordinate transformation, testing the packages TF and TF2 that realize coordinate transformation under different reference frames. Final experiment results show that TF is more accurate in function implementation compared with TF2, and there are vulnerabilities in the function of TF2 to realize coordinate rotation transformation.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/6254
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
面向ROS的差分模糊测试方法
本站小编 Free考研考试/2022-01-02
相关话题/测试 通信 种子 实验 系统
一种监控系统的链路跟踪型日志数据的存储设计
摘要:随着软件系统越来越复杂化和分布化,为系统提供具有完善功能的监控服务显得越来越重要.APM(applicationperformancemanagement)系统通过采集软件系统运行时的各项指标数据来分析软件的运行状态,例如CPU、内存使用率、垃圾回收的耗时、QPS等指标.此外,APM系统也会在 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02多版本共存的微服务系统自适应演化方法
摘要:微服务设计模式通过将应用程序拆分成多个相互独立的微服务,实现了各个微服务之间的相互解耦,允许各个微服务能够独立地进行迭代开发、部署,从而对用户需求变化以及DevOps流程中部署需求作出快速响应.每个微服务的独立迭代升级导致了系统中可能出现多版本共存现象,不同服务的不同版本之间的依赖关系变得更加 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02区块链系统攻击与防御技术研究进展
摘要:区块链作为一种多技术融合的新兴服务架构,因其去中心化、不可篡改等特点,受到了学术界和工业界的广泛关注.然而,由于区块链技术架构的复杂性,针对区块链的攻击方式层出不穷,逐年增加的安全事件导致了巨大的经济损失,严重影响了区块链技术的发展与应用.从层级分类、攻击关联分析两个维度对区块链已有安全问题的 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向领域的软件系统构造与质量保障专题前言
摘要:软件是推动新一代信息技术发展的驱动力.随着互联网、云计算、人工智能等技术的快速发展,软件与物联网、区块链、自动驾驶等众多领域的融合进一步加强,正引领并促进这些领域向数字化、智能化发展,为社会、经济的加速演进和创新发展带来了新的契机.因此,面向领域的软件技术不仅是软件领域,也是众多其他领域国内外 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于环境建模的物联网系统TAP规则生成方法
摘要:用户需求是物联网智能服务的根本驱动力,如IFTTT等很多物联网框架允许用户使用简单的触发-命令编程(TAP)规则进行编程,但它们描述的是设备调度程序,并不是用户服务需求.一些物联网系统提出采用面向目标的需求方法,支持服务目标的分解,但很难保证物联网不同服务间的一致性和服务部署的完整性.为了支持 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于深度学习的混合模糊测试方法
摘要:随着软件技术的快速发展,面向领域的软件系统在广泛使用的同时带来了研究与应用上的新挑战.由于领域应用对安全性、可靠性有着很高的要求,而符号执行和模糊测试等技术在保障软件系统的安全性、可靠性方面已经发展了数十年,许多研究和被发现的缺陷表明了它们的有效性.但是,由于两者的优劣各有不同,将这两者相结合 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向神经机器翻译系统的多粒度蜕变测试
摘要:机器翻译是利用计算机将一种自然语言转换成另一种自然语言的任务,是人工智能领域研究的热点问题之一.近年来,随着深度学习的发展,基于序列到序列结构的神经机器翻译模型在多种语言对的翻译任务上都取得了超过统计机器翻译模型的效果,并被广泛应用于商用翻译系统中.虽然商用翻译系统的实际应用效果直观表明了神经 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02KGDB:统一模型和语言的知识图谱数据库管理系统
摘要:知识图谱是人工智能的重要基石,其目前主要有RDF图和属性图两种数据模型,在这两种数据模型之上有数种查询语言.RDF图上的查询语言为SPARQL,属性图上的查询语言主要为Cypher.10年来,各个社区开发了分别针对RDF图和属性图的不同数据管理方法,不统一的数据模型和查询语言限制了知识图谱的更 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02PandaDB:一种异构数据智能融合管理系统
摘要:随着大数据应用的不断深入,对大规模结构化/非结构化数据进行融合管理和分析的需求日益凸显.然而,结构化/非结构化数据在存储管理方式、信息获取方式、检索方式方面的差异给融合管理和分析带来了技术挑战.提出了适用于异构数据融合管理和语义计算的属性图扩展模型,并定义了相关属性操作符和查询语法.接着,基于 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于事件社会网络推荐系统综述
摘要:基于事件社会网络(event-basedsocialnetwork,简称EBSN)是一种结合了线上网络和线下网络的新型社会网络,近年来得到了越来越多的关注,已有许多国内外重要研究机构的研究者对其进行研究并取得了许多研究成果.在EBSN推荐系统中,一个重要的任务就是设计出更好、更合理的推荐算法以 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02