鉴源实验室丨汽车入侵检测系统介绍及测试

news2024/11/24 6:00:19

作者 | 张诏景 上海控安可信软件创新研究院工控网络安全组

来源 | 鉴源实验室

社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区”

01

入侵检测系统背景

智能网联汽车不再是一个孤立的嵌入式系统了,信息安全问题越来越被重视。国内外发布了多项标准法规,来规范汽车网络安全的发展。其中有不少法规对车辆网络安全检测提出要求,如表1。

表1 车辆网络安全监控法规要求

入侵检测系统(IDS)是按照一定的安全策略对网络、系统及其运行状态进行监控,并试图发现各种攻击企图、攻击行为或攻击结果,以保证网络系统的机密性、完整性和可用性。当存在恶意活动的软件或车载网络被篡改、注入时,汽车入侵检测系统可以通过分析车内流量或系统状态进行攻击识别,并发出安全警报。

在汽车上,根据检测的对象,可以将入侵检测系统分成两类,包括网络入侵检测系统和主机入侵检测系统。

网络入侵检测系统可以对包括CAN总线、车载以太网、WIFI、蓝牙数据等车载网络进行检测。目前已有很多基于规则的和基于AI方法的研究。如【1】设计了规则和AI混合的多层SOME/IP入侵检测方法,基于规则的模块用于检测SOME/IP报头、SOME/IP-SD消息、消息间隔和通信过程,利用AI检测SOME/IP的有效负载。考虑到实际部署成本,在车载控制器中往往部署基于规则的入侵检测系统,利用专家知识、车载网络数据库等建立规则库,进行检测。

基于主机的入侵检测系统则对控制器的操作系统进行安全监控。随着汽车智能网联化,车载控制器不再仅由MCU组成,Linux、Android、QNX频繁地在各类域控制器中出现。SOC在给汽车带来强大功能的同时,也成为对汽车的一条重要攻击路径。主机入侵检测系统可对操作系统进行资源监控、文件监控、病毒扫描等。

在检测识别到车内的异常攻击行为后,通过生成安全日志,并将安全日志上传到汽车安全运营平台(VSOC),是一种有效的攻击行为追溯,监控智能网联汽车安全状态手段。

02

AUTOSAR入侵检测系统架构

汽车开放系统架构(AUTomotive Open System Architecture)是一家致力于制定汽车电子软件标准的联盟。AUTOSAR是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。自2003年起,各伙伴公司携手合作,致力于为汽车工业开发一个开放的、标准化的软件架构。AUTOSAR这个架构有利于车辆电子系统软件的交换与更新,并为高效管理愈来愈复杂的车辆电子、软件系统提供了一个基础。此外,AUTOSAR在确保产品及服务质量的同时,提高了成本效率。

AUTOSAR对汽车入侵检测系统的架构,如图1。整个车载入侵检测系统主要包括了安全探针、管理模块(IdsM)、安全事件存储(Sem)、报告模块(IdsR)。

图1 分布式车载IDS架构【2】

(1)安全探针

安全探针是检测网络流量、系统事件中潜在网络威胁的模块。当检测到异常后向管理模块发送安全事件(Security Events,SEv)。常见安全探针包括CAN入侵检测系统、以太网入侵检测系统、主机入侵检测系统等。

(2)管理系统

当管理模块接收到SEv后,如图2,依次经过拦截过滤器(Blockers)、采样过滤器(Sampling)、聚合过滤器(Aggregation)以及速率限制过滤器(Rate Limitation),生成合格的安全事件(Qualified Security Events, QSEv)。管理模块将 QSEv 发送到入侵检测报告模块,并将其存储在安全事件存储器“SEM”中。

图2 管理模块过滤链【2】

拦截过滤器根据上传模式及当前状态对事件进行过滤;采样过滤器允许每个事件的第N条通过;聚合过滤器将配置时间内的所有SEv聚合成一个,并对聚合后的事件数量进行阈值过滤;速率限制过滤器根据配置时间间隔内的SEv数量及字节数进行过滤。

(3)报告模块

IdsR将QSEv发送给VSOC。IdsR与IdsM之间的安全事件报文如图3。它的最小长度为 8 个字节(对于事件帧),包括了协议版本、协议头、IdsM实例ID、探针实例ID、事件ID、事件数量、保留字段。此外,报文包括3个可选字段:时间戳、上下文数据及签名。

图3 安全事件报文【3】

03

入侵检测系统测试方法

对于入侵检测系统的测试,可分为两个阶段:

· 入侵检测系统功能测试,即根据需求对开发的软件进行功能测试,检验软件是否根据输入返回预期结果。

· 渗透测试,模拟常见的网络攻击,来验证入侵检测系统对网络攻击的检测能力。

在渗透测试阶段,让测试人员进行人工测试是困难的,首先渗透测试对测试人员的网络安全知识有着一定的门槛,其次渗透测试过程涉及的攻击数据生成、测试结果判断等步骤十分繁琐复杂。为了提高测试效率,在测试过程中需要利用渗透测试工具搭建自动化入侵检测系统测试环境,来提高入侵检测功能的测试。因此,针对网络入侵检测系统的渗透测试,设计测试流程,如图4:

(1)生成攻击报文。

(2)向入侵检测系统被测件发送攻击报文,并监听是否收到QSEv。

(3)入侵检测系统对攻击行为进行实时检测,若检测到异常,则向测试设备发送QSEv。

(4)若渗透测试工具收到了正确的QSEv,则测试通过,否则测试失败。

图4 入侵检测系统测试流程

在测试流程中,攻击数据包的生成是其中至关重要的部分。【4】中总结了一部分数据包生成工具,如图5,但是这些工具几乎没有汽车方面的支持,例如缺少SOME/IP,UDS,DoIP协议的测试功能,因此不能满足车载入侵检测系统的测试需求。

图5 数据包生成工具及能力【4】

BlitzFuzz(点击查看详情)作为一款专门针对工控网络协议的渗透模糊测试工具,支持CAN、CAN、UDS、SOME/IP、DoIP等汽车常用协议的报文仿真、解析功能,提供相关协议的渗透测试用例包、合规测试用例包以及模糊测试功能。同时提供了用户自定义编写测试用例,能够更加灵活地满足不同的渗透测试需求。为入侵检测系统功能的自动化测试提供了便利,如图6。

图6 BlitzFuzz渗透测试界面

如图7,利用BlitzFuzz对以太网入侵检测被测件进行测试。首先将将被测件通过网线连接BlitzFuzz工具。测试人员在BlitzFuzz前端界面编写入侵检测功能的自定义测试用例,包括调用工具提供的TCP端口扫描攻击API发送端口扫描报文,编写以太网接收回调函数,用于判断被测件发送的QSEv情况。编写完成后选择测试用例并运行,运行结束后即可在界面查看测试报告。

图7 BlitzFuzz入侵检测测试示意图

主要参考文献:

[1] Luo, F.; Yang, Z.; Zhang, Z.; Wang, Z.; Wang, B.; Wu, M. A Multi-Layer Intrusion Detection System for SOME/IP-Based In-Vehicle Network. Sensors 2023, 23, 4376.

https://doi.org/10.3390/s23094376

[2] Requirements on Intrusion Detection System AUTOSAR FO R23-11.

[3] Specification of Intrusion Detection System Protocol AUTOSAR FO R23-11.

[4] Corbett C, Basic T, Lukaseder T, et al. A testing framework architecture for automotive intrusion detection systems[J]. 2017.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1648515.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jmeter 命令行压测 生成 HTML 测试报告,你真的会?

通常 Jmeter 的 GUI 模式仅用于调试,在实际的压测项目中,为了让压测机有更好的性能,多用 Jmeter 命令行来进行压测。 同时,JMeter 也支持生成 HTML 测试报告, 以便从测试计划中获得图表和统计信息。 以上定义的文件路…

无人售货机是否是下个风口?

当前,众多大中城市正逐步转变为无人零售的新兴试验场,其广阔的发展前景与潜在价值日益受到瞩目。据统计数据显示,无人零售领域已吸引超过650亿元的投资注入。未来五年内,无人零售渠道在中国快消品市场有望迎来爆发性增长&#xff…

2024智能电网与能源系统国际学术会议(ICSGES2024)

2024智能电网与能源系统国际学术会议(ICSGES2024) 会议简介 我们诚挚邀请您参加将在南京隆重举行的2024年智能电网与能源系统国际学术会议(ICSGES2024)。南京,一座历史与现代交织的城市,将为这场盛会提供独特的学术…

10页面结构分析

我们打开一个网页&#xff0c;都会有一个清晰的结构和布局上图中的标签就是用来划分各个部分区域用的。其中比较常用重要的是header、footer和nav&#xff0c;需要重点掌握。 下面是部分代码及效果演示 <header> <h2>网页头部</h2> </header><sec…

安泰ATA-309C:功率放大器的分类及区别是什么

功率放大器是一种电子器件&#xff0c;用于将低功率信号放大到更高功率&#xff0c;以驱动负载或增强信号强度。功率放大器根据其工作原理、电路拓扑和应用领域的不同&#xff0c;可以分为多种类型。下面将介绍几种常见的功率放大器分类及其区别。 A类功率放大器&#xff1a;A类…

做好源代码防泄密的10条准则

#深度好文计划# 近年来&#xff0c;电脑以及互联网应用在中国的普及和发展&#xff0c;已经深入到社会每个角落&#xff0c; 政府&#xff0c;经济&#xff0c;军事&#xff0c;社会&#xff0c;文化和人们生活等各方面都越来越依赖于电脑和网络。企业需要花费大量的时间精力去…

搞定 TS 装饰器,让你写 Node 接口更轻松

前言 亲爱的小伙伴&#xff0c;你好&#xff01;我是 嘟老板。你是否用过 TypeScript 呢&#xff1f;对 装饰器 了解多少呢&#xff1f;有没有实践应用过呢&#xff1f;今天我们就来聊聊 装饰器 的那点事儿&#xff0c;看看它有哪些神奇的地方。 什么是装饰器 咱们先来看一段…

Spring中的Bean相关理解

在Spring框架中&#xff0c;Bean是一个由Spring IoC容器实例化、配置和管理的对象。Bean是一个被Spring框架管理并且被应用程序各个部分所使用的对象。Spring IoC容器负责Bean的创建、初始化、依赖注入以及销毁等生命周期管理。 注&#xff1a;喜欢的朋友可以关注公众号“JAVA学…

学习软考----数据库系统工程师25

关系规范化 1NF&#xff08;第一范式&#xff09; 2NF&#xff08;第二范式&#xff09; 3NF&#xff08;第三范式&#xff09; BCNF&#xff08;巴克斯范式&#xff09; 4NF&#xff08;第四范式&#xff09; 总结

茶多酚复合纳米纤维膜

茶多酚复合纳米纤维膜是一种结合了茶多酚与纳米纤维技术的创新材料。茶多酚作为茶叶中多酚类物质的总称&#xff0c;具有抗氧化、抗辐射、抗*等多种药理作用&#xff0c;是一种非常有益的天然物质。而纳米纤维膜则因其超细纤维结构、高比表面积和高孔隙率等特性&#xff0c;在过…

深度解读:Agent AI智能体如何重塑我们的现实和未来|TodayAI

​​​​​​​ 一、 引言 在当今时代&#xff0c;人工智能&#xff08;AI&#xff09;技术的快速发展正不断改变着我们的生活与工作方式。尤其是Agent AI智能体&#xff0c;作为AI技术中的一种重要形式&#xff0c;它们通过模拟人类智能行为来执行各种复杂任务&#xff0c;从…

基于51单片机的电子钟秒表LCD1602仿真设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机的电子钟秒表LCD1602仿真设计( proteus仿真程序设计报告原理图讲解视频&#xff09; 这里写目录标题 1. 主要功能&#xff1a;2. 讲解视频&#xff1a;3. 仿真4. 程序代码5. 设计报告6. 原理图7. 设计资料内容清单&&下载链接 仿真图proteus7.8及以上 程序…

pynq7020系列的资源有多少

pynq系列的资源有多少 对比 查找表107&#xff0c;273 39.14 140&#xff0c;537 51.28查找表随机存储器17&#xff0c;457 12.12 19&#xff0c;524 13.56触发器67&#xff0c;278 12.27 81&#xff0c;453 14.95 Block RAMs ( 36 KB ) 264.5 29.00 457 50.11 Table 1: Zynq-…

英语口语情景对话视频软件分享!

在当今全球化的时代&#xff0c;英语已成为一种通用的国际语言。为了提高英语口语能力&#xff0c;越来越多的人选择使用英语口语情景对话视频软件。本文将为您推荐几款备受欢迎的英语口语情景对话视频软件&#xff0c;帮助您轻松提高英语口语水平。 AI外语陪练 AI外语陪练软件…

计量校准使用测量不确定度具备什么意义?有哪些作用?

一些企业在收到校准报告/证书时&#xff0c;会看到证书之中有“测量不确定度”一栏&#xff0c;因此会有很多人咨询&#xff0c;什么是不确定度&#xff0c;它的作用是什么&#xff1f; 计量校准报告的不确定度 如果以书面形式理解的话&#xff0c;相信很多朋友都不明白不确定…

适合小白使用的编译器(c语言和Java编译器专属篇)

本节课主要讲如何安装适合编程小白的编译器 废话不多说&#xff0c;我们现在开始 c/c篇 首先&#xff0c;进入edge浏览器&#xff0c;在搜索框输入visual studio &#xff0c;找到带我画圈的图标&#xff0c;点击downloads 找到community版&#xff08;社区版&#xff09;的下…

什么是web3D?应用场景有哪些?如何实现web3D展示?

Web3D是一种将3D技术与网络技术完美结合的全新领域&#xff0c;它可以实现将数字化的3D模型直接在网络浏览器上运行&#xff0c;从而实现在线交互式的浏览和操作。 Web3D通过将多媒体技术、3D技术、信息网络技术、计算机技术等多种技术融合在一起&#xff0c;实现了它在网络上…

【JAVA |基础】运算符、程序逻辑控制以及方法的使用

目录 一、前言 二、操作符 1.算术运算符 2.赋值运算符 3.比较运算符 4.逻辑运算符 5.条件&#xff08;三目、三元&#xff09;运算符 6.位运算符(都是基于二进制来计算) 三、 程序逻辑控制 1.顺序结构 2.分支结构 if语句 Switch语句 3.循环结构 while语句 for循环…

【C++ 】二叉搜索树

文章目录 1. 二叉搜索树的概念2. 二叉搜索树的代码实现2.1 Find ( ) 查找的实现2.2 Insert () 插入的实现2.3 InOrder ( ) 中序遍历的实现2.4 Erase ( ) 删除的实现 3. 二叉搜索树的应用 1. 二叉搜索树的概念 &#x1f427;① 二叉搜索树(BST&#xff0c;Binary Search Tree)&a…

SQL注入基础-3

一、宽字节注入 1、宽字节&#xff1a;字符大小为两个及以上的字节&#xff0c;如GBK&#xff0c;GB2312编码 2、数据库使用GBK编码时&#xff0c;会将两个字符合并为一个汉字(宽字节)。特殊值字符如单引号都会被转义【--->\】&#xff0c;如sqli-lads第32关&#xff0c;输…