当前位置: 首页 > news >正文

AUTOSAR图解==>AUTOSAR_SWS_IntrusionDetectionSystemManager

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

AUTOSAR安全框架的核心组件

1. 概述

AUTOSAR 入侵检测系统管理器(Intrusion Detection System Manager, IdsM)是AUTOSAR标准中安全防护框架的关键组成部分,专门负责处理车载安全事件。IdsM模块提供了一套完整的机制,用于收集、处理、过滤和转发在车辆运行过程中检测到的安全事件。

IdsM的主要功能包括:

  • 接收来自基础软件模块(BSW)和应用软件组件(SW-C)的安全事件报告
  • 根据配置规则对安全事件进行过滤和合格化
  • 为安全事件添加时间戳等元数据
  • 将合格安全事件转发到配置的接收器(IdsRDem/Sem
  • 提供多种过滤器以优化事件处理和存储
  • 支持安全事件的本地存储和远程转发

作为AUTOSAR分布式入侵检测系统的核心组件,IdsM通过标准化接口接收、处理和转发安全事件,有效地支持了车辆安全运行和事件监控。


2. 系统架构

2.1 IdsM架构概览

以下架构图展示了IdsM在AUTOSAR系统中的位置以及与其他模块的关系:

在这里插入图片描述

2.1.1 架构组成部分

IdsM架构主要由以下几个层次组成:

  1. 应用层:包含安全传感器软件组件和智能传感器,负责检测安全事件并报告给IdsM。

    • 常规传感器组件通过标准API报告基本安全事件
    • 智能传感器能够提供带有时间戳和计数的高级安全事件信息
  2. 系统服务层:包含核心系统服务模块,其中IdsM是处理安全事件的中心组件

    • IdsM:负责接收、处理和转发安全事件
    • IdsR:入侵检测系统报告器,将合格安全事件传输到后端安全运行中心
    • StbM:同步时基管理器,提供系统时间戳
    • NvM:非易失性存储管理器,保存报告级别配置
    • Csm:密码服务管理器,用于事件签名生成
    • Det:默认错误追踪器,处理开发错误报告
    • PduR:PDU路由器,负责安全事件数据的传输
  3. 安全服务层:提供安全和诊断相关服务

    • Dem:诊断事件管理器,用于存储安全事件
    • Sem:安全事件内存,本地持久化存储安全事件
    • Dcm:诊断通信管理器,允许修改事件报告级别
  4. 后端系统

    • SOC:安全运行中心,接收和分析合格安全事件
2.1.2 数据流向

架构图中的箭头表示数据流向:

  1. 安全事件的检测与报告:

    • 应用层安全传感器 → IdsM:报告安全事件(SEv)
    • 智能传感器 → IdsM:报告带有时间戳和计数的安全事件
  2. 事件处理与存储:

    • IdsM → Dem/Sem:存储合格安全事件
    • IdsM → Csm:生成事件签名
    • IdsM → NvM:保存报告级别配置
  3. 事件转发:

    • IdsM → IdsR:转发合格安全事件(QSEv)
    • IdsR → SOC:将事件传输到安全运行中心
  4. 配置与时间同步:

    • Dcm → IdsM:修改事件报告级别
    • StbM → IdsM:提供时间戳

2.2 IdsM内部结构

以下图表展示了IdsM的内部组件结构和数据流:

在这里插入图片描述

2.2.1 核心组件
  1. 事件接收接口

    • 提供多种API接口接收来自不同类型传感器的安全事件
    • 支持带/不带上下文数据、计数和时间戳的事件接收
  2. 缓冲区管理

    • 事件缓冲区:临时存储接收到的安全事件
    • 上下文数据缓冲区:存储与安全事件相关的附加信息
  3. 过滤链:IdsM的核心处理机制,包含多种类型的过滤器:

    • 阻止型过滤器

      • 报告模式过滤器:根据配置的报告模式决定是否处理事件
      • 状态阻止过滤器:根据系统状态决定是否处理事件
    • 采样过滤器

      • 每N个转发过滤器:只转发第N个事件,减少事件数量
    • 聚合过滤器

      • 事件聚合过滤器:将多个相似事件合并为单个事件
      • 事件阈值过滤器:只有当事件计数达到阈值时才处理
    • 速率限制过滤器

      • 事件速率限制:限制特定事件类型的处理频率
      • 流量限制:限制总体事件处理量
  4. 时间戳管理

    • 支持多种时间戳来源:StbM、自定义时间戳、传感器提供的时间戳
  5. 签名生成

    • 为安全事件生成加密签名,确保事件真实性
  6. 事件输出

    • IdsR接口:将事件转发到IdsR模块
    • Dem/Sem接口:将事件存储到本地存储
  7. 配置管理

    • 管理各过滤器的配置参数
    • 支持通过诊断接口更新配置
  8. 主函数

    • 周期性执行,处理缓冲区中的事件
2.2.2 数据处理流程

IdsM内部数据处理遵循以下流程:

  1. 安全事件通过事件接收接口进入系统
  2. 事件被缓存在事件缓冲区中,上下文数据存储在上下文数据缓冲区
  3. 主函数从缓冲区读取事件并启动过滤链处理
  4. 事件依次通过各类过滤器,不符合条件的事件被丢弃
  5. 通过过滤的事件被添加时间戳,必要时生成签名
  6. 最终合格的安全事件被转发到配置的目标接收器

3. 安全事件处理流程

以下活动图详细展示了IdsM处理安全事件的完整流程:

在这里插入图片描述

3.1 事件接收与初始处理

  1. 事件检测与报告

    • 安全传感器检测到潜在安全威胁
    • 传感器通过IdsM提供的API调用报告安全事件
  2. 事件缓存

    • IdsM接收安全事件并存储在事件缓冲区
    • 如果事件包含上下文数据,则存储在上下文数据缓冲区
    • 如配置了上下文数据修改器,则调用此函数处理上下文数据
  3. 主函数处理

    • IdsM主函数(IdsM_MainFunction)周期性执行
    • 从缓冲区读取待处理事件并启动过滤链处理

3.2 过滤链处理

安全事件依次通过多个过滤器,每个过滤器都可能导致事件被丢弃或修改:

  1. 报告模式过滤器

    • 检查事件的报告模式配置
    • 如报告模式不允许,则丢弃事件
  2. 状态阻止过滤器

    • 根据当前系统状态决定是否处理事件
    • 某些事件可能只在特定系统状态下才处理
  3. 采样过滤器

    • 每N个转发过滤器只允许第N个事件通过
    • 用于减少重复事件数量
  4. 聚合过滤器

    • 事件聚合过滤器将多个相似事件合并为一个
    • 事件阈值过滤器要求事件计数达到阈值才处理
  5. 速率限制过滤器

    • 事件速率限制防止特定类型事件过于频繁报告
    • 流量限制控制总体事件处理量,避免系统过载

3.3 时间戳与转发

通过全部过滤链的事件成为合格安全事件(QSEv),然后进行以下处理:

  1. 添加时间戳

    • 根据配置使用StbM、自定义时间戳或保留传感器提供的时间戳
  2. 计算签名

    • 如配置了签名生成,则计算事件签名以确保真实性
  3. 事件转发

    • 如配置了IdsR接收器,则将事件转发到IdsR,由IdsR传输到SOC
    • 如配置了Dem/Sem接收器,则将事件存储在本地内存中

4. API接口与数据类型

IdsM提供丰富的API接口用于报告、处理和转发安全事件:

4.1 模块管理API

  1. IdsM_Init

    • 功能:初始化IdsM模块
    • 参数:IdsM_ConfigType类型配置指针
    • 说明:在使用其他函数前必须先调用此函数
  2. IdsM_GetVersionInfo

    • 功能:获取模块版本信息
    • 参数:Std_VersionInfoType类型版本信息指针
    • 说明:提供模块的版本信息,用于兼容性检查
  3. IdsM_MainFunction

    • 功能:处理报告的安全事件的主函数
    • 说明:由调度器周期性调用,处理缓冲区中的事件

4.2 安全事件报告API

4.2.1 标准API
  1. IdsM_SetSecurityEvent

    • 功能:报告基本安全事件
    • 参数:安全事件ID
    • 说明:最简单的事件上报函数,仅包含事件ID
  2. IdsM_SetSecurityEventWithContextData

    • 功能:报告带有上下文数据的安全事件
    • 参数:安全事件ID,上下文数据指针
    • 说明:带有附加信息的事件上报
4.2.2 计数API
  1. IdsM_SetSecurityEventWithCount

    • 功能:报告带有计数的安全事件
    • 参数:安全事件ID,计数值
    • 说明:用于上报已聚合的事件
  2. IdsM_SetSecurityEventWithCountContextData

    • 功能:报告带有计数和上下文数据的安全事件
    • 参数:安全事件ID,计数值,上下文数据指针
    • 说明:综合计数与上下文数据的事件上报
4.2.3 智能传感器API
  1. IdsM_SetSecurityEventWithTimestampCount

    • 功能:报告带有时间戳和计数的安全事件
    • 参数:安全事件ID,时间戳,计数值
    • 说明:用于智能传感器直接提供时间和计数信息
  2. IdsM_SetSecurityEventWithTimestampCountContextData

    • 功能:报告带有时间戳、计数和上下文数据的安全事件
    • 参数:安全事件ID,时间戳,计数值,上下文数据指针
    • 说明:最完整的事件上报函数,包含所有可能信息

4.3 回调通知与诊断接口

  1. 回调通知

    • IdsM_BswM_StateChanged:通知BswM模块状态变化
    • IdsM_TpTxConfirmation:TP传输安全事件确认回调
    • IdsM_TxConfirmation:传输安全事件确认回调
  2. 诊断接口

    • IdsM_Dcm_GetReportingMode_RequestResults:获取安全事件报告模式结果
    • IdsM_Dcm_GetReportingMode_Start:启动获取安全事件报告模式
    • IdsM_Dcm_SetReportingMode_Start:启动设置安全事件报告模式

4.4 服务接口

  1. IdsM_IdsMService:标准服务接口,提供事件报告功能
  2. IdsM_SmartSensorService:智能传感器服务接口,支持时间戳和计数
  3. IdsM_CustomTimestamp:自定义时间戳提供接口

4.5 关键数据类型

  1. IdsM_SecurityEventIdType:安全事件ID类型
  2. IdsM_ContextDataType:上下文数据类型,包含数据指针和长度
  3. IdsM_TimestampType:时间戳类型,包含秒和纳秒部分
  4. IdsM_ConfigType:模块配置类型
  5. IdsM_Filters_BlockStateType:阻止状态过滤器状态类型
  6. IdsM_Filters_ReportingModeType:报告模式类型

5. 时间戳处理机制

IdsM支持多种时间戳来源,以满足不同应用场景的需求:

在这里插入图片描述

5.1 时间戳获取场景

5.1.1 使用StbM时间戳

当配置IdsM使用StbM作为时间戳源时:

  1. 安全传感器报告基本安全事件(不含时间戳)
  2. IdsM缓存并过滤事件
  3. 对通过过滤的事件,IdsM调用StbM_GetCurrentTime获取同步时间戳
  4. 将获取的时间戳添加到事件中
  5. 转发带有时间戳的合格事件
5.1.2 使用自定义时间戳

当配置IdsM使用自定义时间戳时:

  1. 安全传感器报告基本安全事件(不含时间戳)
  2. IdsM缓存并过滤事件
  3. 对通过过滤的事件,IdsM调用Rte_Call_CustomTimestamp_Get获取自定义时间戳
  4. 将获取的时间戳添加到事件中
  5. 转发带有时间戳的合格事件
5.1.3 智能传感器提供时间戳

当智能传感器直接提供时间戳时:

  1. 智能传感器通过带时间戳的API报告安全事件
  2. IdsM缓存带有时间戳的事件
  3. 事件经过过滤链处理
  4. IdsM不需要再添加时间戳(因已由传感器提供)
  5. 直接转发事件

5.2 时间戳的意义

时间戳在安全事件处理中具有重要意义:

  1. 提供事件发生的准确时间,帮助分析安全事件的时序关系
  2. 支持后端SOC进行事件关联和模式识别
  3. 提供事件发生的历史记录,用于安全审计
  4. 可能作为事件签名生成的输入,增强事件真实性验证

6. 总结

AUTOSAR入侵检测系统管理器(IdsM)作为车载安全框架的核心组件,提供了完整的安全事件处理流程和丰富的API接口,支持事件接收、过滤、处理和转发。IdsM的灵活架构确保了:

  1. 标准化:提供统一接口接收来自不同来源的安全事件
  2. 可配置性:通过多种过滤器实现灵活的事件处理策略
  3. 可扩展性:支持不同类型的事件接收器和时间戳来源
  4. 可靠性:通过事件签名和完整的时间戳支持确保事件的真实性
  5. 资源优化:通过过滤和聚合机制减少处理和存储负载

IdsM与其他AUTOSAR安全模块(如IdsR、Csm等)协同工作,构建了完整的车载入侵检测系统,为车辆安全提供了强有力的保障。通过合理配置和使用IdsM,开发者可以实现高效、安全的车载安全监控系统。

http://www.xdnf.cn/news/34219.html

相关文章:

  • 652SJBH动漫网站Cosplay
  • 嵌入式芯片中的 低功耗模式 内容细讲
  • 【NLP 66、实践 ⑰ 基于Agent + Prompt Engineering文章阅读】
  • linux socket编程之udp(实现客户端和服务端消息的发送和接收)
  • Springboot+vue3开发项目——热点事件
  • [特殊字符] 高质量 Java 综合题 × 10(附应用场景 + 多知识点考核)
  • Spring Boot常用注解全解析:从入门到实战
  • 洛谷P1120 小木棍
  • 《AI大模型应知应会100篇》第26篇:Chain-of-Thought:引导大模型进行步骤推理
  • 94. 二叉树的中序遍历
  • Simulink中建立交流单项永磁同步电机模型教程
  • python——列表和元组
  • 深入剖析 HashMap:内部结构与性能优化
  • Linux——进程概念
  • 网络开发基础(游戏)之 Socket API
  • [Java EE] Spring 配置 和 日志
  • 代码随想录训练营第35天 || 01背包问题 416. 分割等和子集
  • Vue基础(6)_键盘事件
  • 玛哈特整平机:工业制造中的关键设备
  • Java 动态代理实现
  • Python scikit-learn 机器学习算法实践
  • 【每天一个知识点】模式识别
  • MySQL进阶-存储过程-变量语法结构
  • C++用于保留浮点数的两位小数,使用宏定义方法(可兼容低版本Visual Studio)
  • JZ8P1533 充电型数字可编程控制器
  • 200+短剧出海平台:谁能成为“海外红果”?
  • 电脑端移植至手机平板:攻克难题,仙盟架构显神通——仙盟创梦IDE
  • 2025.04.19-阿里淘天春招算法岗笔试-第二题
  • 在RK3588上使用SRS流媒体服务器
  • kafka集群认证