AUTOSAR中的入侵检测系统(IDS)

2023-08-28  

什么是汽车IDS?

ISO/SAE 21434(道路车辆-网络安全工程)是车辆安全标准,定义了当攻击发生时如图所示的5个步骤。汽车制造商必须对车辆中出现的安全漏洞做出响应。但是,只有在这些漏洞已知的情况下,才能执行此操作。汽车IDS由车载IDS和后端组成。[1]


IDS检测针对ECU和网络的外部攻击,将其收集后发送到汽车制造商的后端-安全运营中心(SOC)。汽车制造商对数据进行评估并决定如何应对。[1]

 

分布式车载IDS架构主要由四部分组成:[2]

安全传感器

入侵检测系统管理器(IdsM)

安全事件存储

入侵检测系统报告器(IdsR)

e18bf834-27ad-11ee-962d-dac502259ad0.jpg

安全传感器和安全事件

AUTOSAR的BSW,CDD和SWC模块都可以被指作为安全传感器,安全传感器将安全事件报告给IdsM。

AUTOSAR将可以由BSW报告的安全事件类型进行了标准化,可以在各BSW SWS文档中检索到,例如:

e1a77db6-27ad-11ee-962d-dac502259ad0.jpg

SWC和CDD也能报告这样的事件,不过它们的安全事件类型并未标准化,特定ECU报告的安全事件可以通过Security Extract定义,相关文档需要参考AUTOSAR_TPS_SecurityExtractTemplate。


入侵检测系统管理器

IdsM会将报告的安全事件缓存下来,然后将它们应用于一组连续的过滤条件,也称作为过滤链,如果某一安全事件通过了过滤链,那么此安全事件被视作为合格安全事件(QSEv)。


根据配置的不同,IdsM会将QSEv保存在安全事件存储这样的非易失性存储区域当中,或者同时将他们序列化之后发送给IdsR。

e1c0b5ec-27ad-11ee-962d-dac502259ad0.jpge1e02daa-27ad-11ee-962d-dac502259ad0.jpg

IdsM包含以下子模块:

事件接收

事件缓存

IdsM内部安全事件

合格事件

QSEv报告

事件存储

通过诊断接口进行事件的读和写

事件的报告提供两个api,IdsM_SetSecurityEvent和IdsM_SetSecurityEventWithContextData,后者额外包含事件发生时的上下文数据,此额外数据建议不超过1500字节,且IdsM不负责了解或者解析此数据。


对于一些“智能传感器”(Smart Sensors)来说,还可以在上报时附带时间戳和计数器信息,IdsM也需要有能力接收这些信息。


在IdsM模块中,每个安全事件都拥有IdsMExternalEventId,IdsMSensorInstanceId,IdsMInternalEventId,以及EventName.内部事件ID不需要手动计算,IdsM会内部做计算并作为内部使用。其他模块报告事件时不依赖于内部ID,仅需要使用事件对应的标识(SymbolicNameValue)。外部事件ID定义在SecXT中,某一类型的安全事件中ID唯一。由于可能多个模块报告同一个安全事件,所以有传感器ID识别是哪个模块。

e203ae06-27ad-11ee-962d-dac502259ad0.jpg

当接收到安全事件报告时,IdsM首先将事件保存在Event Buffer当中,后续处理以及过滤将异步地在主函数中执行。如果事件附带额外数据,那么这个数据会保存在大小最匹配的Context Data Buffer中。


过滤链定义在SecXT中,每个过滤链可能包含的过滤器有:

BlockState Filter

Forward Every nth Filter

Event Aggregation Filter

Event THreshold Filter

Event Rate Limitation

Traffic Limitation

过滤顺序自上方列表从上而下进行。

e21dbf44-27ad-11ee-962d-dac502259ad0.jpg

入侵检测系统报告器

IdsR从各个ECU的IdsM实例接收发送而来的QSEv,通信协议由IdsM协议规定。IdsR一般还会在接收到数据后添加地理位置等信息。


基于OEM的需求,数据可以发送到SOC,进行更详细的安全事故事件分析。

AUTOSAR不对IdsR进行规范制定。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。