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

车载软件架构 —— 车载软件入侵检测系统

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕的就是把别人的眼光当成自己生活的唯一标准。到最后,既没有活成别人喜欢的样子,也没有活成自己想要的样子。
我们只有接纳真实的自己,不自卑、不自傲,才能拥有更强大的内心;只有找到自己的核心价值,才能活出自己的精彩人生。

本文主要讲述如下内容,接着上一篇的介绍内容,继续聊AUTOSAR 安全启动相关内容:

-> 1、入侵检测概述

-> 2、入侵检测分类

-> 3、入侵检测适用范围

-> 4、入侵检测实施过程

一、入侵检测概述

入侵检测系统(intrusion detection system,简称 “IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便在于,IDS是一种积极主动的安全防护技术。

IDS依照一定的安全策略,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果、以保证网络系统资源的机密性、完整性和可用性。入侵检测技术是当前车辆环境下用来发现攻击的主要方法,可发现系统已经发生的或潜在的安全威胁,通过对系统的活动、用户行为等进行监控,检测非法的外部入侵、越权访问、以及内部用户的非法活动,并且记录与上报所检测发现的入侵事件至云端的车辆安全运营中心,进行安全预警、分析与响应。

二、入侵检测分类

依据手段主要分为两类:

1、基于主机的入侵检测系统

作为主机系统的监视器和分析器,它并不作用于外部接口,而是专注于系统内部,监视系统全部或部分的动态的行为以及整个计算机系统的状态。通过监视与分析主机的审计记录和日志文件来检测入侵,日志中包含发生在系统上的不寻常活动的证据,这些证据可以指出有人正在入侵或者已经成功入侵了系统,通过查看日志文件,能够发现成功的入侵或入侵企图,并启动相应的应急措施。

2、基于网络的入侵检测系统

主要用于实时监控网络等外部接口,采集数据并加以分析现象,对收集漏洞信息、造成拒绝访问及获取超出合法范围的系统控制权等危害系统安全的行为,给出响应对策。

三、入侵检测适用范围

(1)、入侵检测系统从攻击来源角度可适用于检测以下攻击来源:

1、车辆外部接口攻击来源:控制通道、配置通道、数据通道;4G/5G 网络、WIFI、蓝牙、USB、摄像头等;

2、车辆内部接口攻击来源:以太网、CAN;

(2)、从攻击行为角度可适用于检测以下攻击行为:

1、重放:攻击者重复发送网络中其他设备正常传输的报文,根据不同场合可以达到不同效果。当重放报文是控制指令时,可以令设备运行异常,当重放报文是认证指令时,可以使得重放来源获取认证,导致攻击者权限提升;

2、 DoS 攻击(Denial of Service):拒绝服务攻击,造成 DoS 的攻击行为被称为 DoS 攻击,其目的是使计算机或网络无法提供正常的服务;

3、篡改:攻击者在正常报文的传输过程中,对报文进行修改;或对文件进行替换、修改。

四、入侵检测实施过程

1、事件采集:各个 ECU 获取被监控系统或网络的信息,作为原始数据,用以进行入侵检测和分析。数据来源通常包括网络流程信息和各种日志数据。

2、事件分析:通过采集的事件数据,对入侵直接进行分析。针对不同环境的需求,对事件进行不同程度的分析。例如,异常行为的区分,入侵行为的认定,攻击原因和趋势分析,以及攻击场景构建等。

常见的入侵行为定义包括以下行为

-> CAN 报文如检测到周期异常,则可能是攻击者接入到车内网络进行报文重放,导致周期异常;

-> CAN 报文如检测到校验(CRC8、CRC16)错误,则可能是攻击者对报文进行采集,并进行篡改后发送到车内网络,导致出现检验错误;

-> ETH 包异常,如短期时间内收到数量极多的特性功能报文(TCP SYNC 包、ARP 包、ICMP 包等等),则可能是攻击者进行 DoS(拒绝服务)攻击;

-> 文件如检测到完整性校验不通过,则可能是攻击者对文件进行了篡改。

事件上报:各个 ECU 统一将事件信息发给 TBOX,由 TBOX 统一上报给车辆安全运营平台;

事件响应:车辆安全运营平台针对事件分析的结果,对异常、威胁及入侵进行响应。可以通过定义事件的响应级别来决定采取的措施,针对不同程度的威胁,采取不同程度的响应,例如中断服务、改变权限、报警等。安全响应的措施(或指令)并可以通过远程软件刷写平台,即 OTA,下发到车端 IDS,启动相应的安全防护.

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!

相关文章:

车载软件架构 —— 车载软件入侵检测系统

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人…...

“深入解析JVM内部机制:理解Java虚拟机的工作原理“

标题:深入解析JVM内部机制:理解Java虚拟机的工作原理 摘要:本文将深入探讨Java虚拟机(JVM)的内部机制,解释其工作原理。我们将讨论JVM的组成部分、类加载过程、运行时数据区域以及垃圾回收机制。此外&…...

FPGA初步学习之串口发送模块【单字节和字符串的发送】

串口相关简介 UART 在发送或接收过程中的一帧数据由4部分组成,起始位、数据位、奇偶校验位和停止位,如图所示。其中,起始位标志着一帧数据的开始,停止位标志着一帧数据的结束,数据位是一帧数据中的有效数据。 通常用…...

Kotlin重点理解安全性

目录 一 Kotlin安全性1.1 可空类型1.2 安全调用运算符1.3 Elvis 运算符1.4 非空断言运算符1.5 安全类型转换1.6 延迟初始化 一 Kotlin安全性 Kotlin 在设计时采用了一系列策略,旨在尽可能地减少空指针异常(NullPointerException)的出现。空指…...

基于Java+SpringBoot+SpringCloud+Vue的智慧养老平台设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…...

Spring中的全局异常处理

在项目中通常会定义各种异常,比如断言异常、业务异常,甚至调用外部接口报的异常需要转成自己系统中的异常类型,这时就需要将各种异常类型进行统一的处理,返回统一的数据结构。在spring中提供了这样全局统一处理异常的注解Controll…...

【安全测试】Web应用安全之XSS跨站脚本攻击漏洞

目录 前言 XSS概念及分类 反射型XSS(非持久性XSS) 存储型XSS(持久型XSS) 如何测试XSS漏洞 方法一: 方法二: XSS漏洞修复 原则:不相信客户输入的数据 处理建议 资料获取方法 前言 以前都只是在各类文档中见到过XSS,也进…...

LeNet卷积神经网络-笔记

LeNet卷积神经网络-笔记 手写分析LeNet网三卷积运算和两池化加两全连接层计算分析 修正上图中H,W的计算公式为下面格式 基于paddle飞桨框架构建测试代码 #输出结果为: #[validation] accuracy/loss: 0.9530/0.1516 #这里准确率为95.3% #通过运行结果可以看出&am…...

使用XMLHttpRequest实现文件异步下载

1、问题描述 我想通过异步的方式实现下载文化&#xff0c;请求为post请求。一开始我打算用ajax。 $.ajax({type:post,contentType:application/json,url:http://xxx/downloadExcel,data:{data:JSON.stringify(<%oJsonResponse.JSONoutput()%>)},}).success(function(dat…...

Lombok 的安装与使用

文章目录 一、什么是 Lombok1.1 Lombok 的概念1.2 为什么使用 Lombok1.3 Lombok 的相关注解 二、Lombok 的安装2.1 引入依赖2.2 安装插件 三、Lombok 的使用案例四、Lombok 的原理 一、什么是 Lombok 1.1 Lombok 的概念 Lombok&#xff08;“Project Lombok”&#xff09;是一…...

springBean生命周期解析

本文基于Spring5.3.7 参考&#xff1a; kykangyuky Spring中bean的生命周期 阿斌Java之路 SpringBean的生命周期&#xff0c; 杨开振 JavaEE互联网轻量级框架整合开发 黑马程序员 JavaEE企业级应用开发教程 马士兵 Spring源码讲解 一. SpringBean生命周期流程图 二. 示例代码 …...

人工智能轨道交通行业周刊-第54期(2023.7.31-8.6)

本期关键词&#xff1a;BIM智能运维、铁水联运、编组站美容、鸿蒙4.0、LK-99完全悬浮 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道世界…...

Docker Compose 使用方法

目录 前言 安装 Docker Compose Ubuntu 安装与更新 Red Hat 安装与更新 验证是否安装 Docker Compose 创建 docker-compose.yml 文件 创建一个MySQL 与 tomcat 示例 使用Docker Compose启动服务 前言 Docker Compose 是一个工具&#xff0c;旨在帮助定义和 共享多容器…...

HTML 初

前言 HTML的基本骨架 HTML基本骨架是构建网页的最基本的结果。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…...

IPv6地址分类,EUI-64转换规则

1、可聚合的单全球单播地址Global Unique Address&#xff1a; Aggregate global unicast address&#xff0c;前3位是001&#xff0c;即2000::/3&#xff0c;目前IANA已经将一部分可聚合全球单播进行了专门使用&#xff0c;如&#xff1a;2001::/16用于IPV6互联网&#xff0c;…...

Nginx安装部署

什么是Nginx? Nginx&#xff08;发音同engine x&#xff09;是一款由俄罗斯程序员Igor Sysoev所开发轻量级的网页服务器、反向代 理服务器以及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。 Nginx 因具有高并发&#xff08;特別是静态资源&#xff09;、 占用系统资…...

物联网|按键实验---学习I/O的输入及中断的编程|读取I/O的输入信号|中断的编程方法|轮询实现按键捕获实验-学习笔记(13)

文章目录 实验目的了解擒键的工作原理及电原理图 STM32F407中如何读取I/O的输入信号STM32F407对中断的编程方法通过轮询实现按键捕获实验如何利用已有内工程创建新工程通过轮询实现按键捕获代码实现及分析1 代码的流程分析2 代码的实现 Tips:下载错误的解决 实验目的 了解擒键…...

Hadoop-HDFS的Namenode及Datanode(参考Hadoop官网)

HDFS有什么特点&#xff0c;被设计做什么 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。有一下几个特点&#xff1a; HDFS是一个高度容错性的系统&#xff0c;具有高容错、高可靠性、高扩展性的特点&#xff0c;适合部…...

C:通过alarm发送信号

可以通过alarm定时发送SIGALRM信号&#xff1a; #include <unistd.h> unsigned int alarm(unsigned int seconds); alarm()函数用来在seconds秒之后安排发送一个SIGALRM信号&#xff0c;如果seconds为0&#xff0c;将取消所有已设置的闹钟请求。alarm()函数的返回值是以前…...

如何将 dubbo filter 拦截器原理运用到日志拦截器中?

业务背景 我们希望可以在使用日志拦截器时&#xff0c;定义属于自己的拦截器方法。 实现的方式有很多种&#xff0c;我们分别来看一下。 拓展阅读 java 注解结合 spring aop 实现自动输出日志 java 注解结合 spring aop 实现日志traceId唯一标识 java 注解结合 spring ao…...

【java】【maven】【基础】MAVEN安装配置介绍

目录 1 下载 2 安装-windows为例 3 配置环境变量 3.1 JAVA_HOME 3.2 MAVEN_HOME 3.3 PATH 3.4 验证 4 MAVEN基础概念 4.1 仓库概念 4.2 坐标概念 4.2.1 打开网址 4.2.2 输入搜索内容junit 4.2.3 找到对应API名称点击 4.2.4 点击对应版本 4.2.5 复制MAVEN坐标 4.3 配置…...

【C语言进阶】指针的高级应用(下)

文章目录 一、指针数组与数组指针1.1 指针数组与数组指针的表达式 二、函数指针2.1 函数指针的书写方式 三、二重指针与一重指针3.1 二重指针的本质3.2 二重指针的用法3.3 二重指针与数组指针 总结 一、指针数组与数组指针 (1)指针数组的实质是一个数组&#xff0c;这个数组中存…...

【uniapp APP隐藏顶部的电量,无线,时间状态栏与导航栏】

uniapp APP隐藏顶部的电量&#xff0c;无线&#xff0c;时间状态栏 如下代码配置&#xff08;在一个页面设置这个段代码&#xff0c;所有页面都会消失&#xff09; onShow() {// #ifdef APP-PLUS// 隐藏顶部电池,时间等信息 plus.navigator.setFullscreen(true);//隐藏虚拟按…...

微信小程序前后页面传值

微信小程序前后页面传值 从前一个页面跳转到下一个页面&#xff0c;如何传递参数&#xff1f;从后一个页面返回前一个页面&#xff0c;如何回调参数&#xff1f; 向后传值 从前一个页面跳转到下一个页面并传值。 前页面&#xff1a;在跳转链接中添加参数并传递 wx.navigat…...

没有jodatime,rust里怎么比较两个日期(时间)的大小呢?

关注我&#xff0c;学习Rust不迷路&#xff01;&#xff01; 在 Rust 中&#xff0c;比较两个日期的大小有多种方法。以下是列举的四种常见方法&#xff1a; 1. 使用 PartialOrd trait&#xff1a; use chrono::prelude::*;fn main() {let date1 NaiveDate::from_ymd(2022,…...

【雕爷学编程】Arduino动手做(186)---WeMos ESP32开发板18

37款传感器与模块的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&#x…...

C语言假期作业 DAY 14

一、选择题 1、有以下函数&#xff0c;该函数的功能是&#xff08; &#xff09; int fun(char *s) {char *t s;while(*t);return(t-s); } A: 比较两个字符的大小 B: 计算s所指字符串占用内存字节的个数 C: 计算s所指字符串的长度 D: 将s所指字符串复制到字符串t中 答案解析 …...

Maven-生命周期及命令

关于本文 ✍写作原因 之前在学校学习的时候&#xff0c;编写代码使用的项目都是单体架构&#xff0c;导入开源框架依赖时只需要在pom.xml里面添加依赖&#xff0c;点一下reload按钮即可解决大部分需求&#xff1b;但是在公司使用了dubbo微服务架构之后发现只知道使用reload不足…...

常温超导:AI在研发中的潜力

目录 引言&#xff1a;1. 常温超导的挑战&#xff1a;2. AI在材料研究中的作用&#xff1a;3. AI在理论模型中的作用&#xff1a;4. AI与实验室合作的潜力&#xff1a;结论&#xff1a; 引言&#xff1a; 常温超导一直被认为是科学界的“圣杯”&#xff0c;可以在室温条件下实…...

【C++】开源:Eigen3矩阵与线性代数库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Eigen3矩阵与线性代数库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&…...