【车联网安全】车端网络攻击及检测的框架/模型
参考标准:
- 《汽车数据安全管理若干规定(试行)》
- ISO/SAE 21434《道路车辆 网络安全工程》
- 威胁分析和风险评估(TARA)
- ISO/DIS 24089
- R155法规的国标转换:《汽车整车信息安全技术要求》(UN R155)
一、TARA威胁分析和风险评估模型
1、TARA分析内容:
①资产识别;②威胁场景识别;③冲击等级(威胁将导致多大的危害);④攻击路径分析;⑤攻击可行性等级;⑥风险值的确定;⑦风险治疗决定
2、TARA目标:
①确定资产、其网络安全属性和其损害情况;②确定威胁情况;③确定损害场景的影响等级;④确定实现威胁情景的攻击路径;⑤确定攻击路径被利用的难易程度;⑥确定威胁情景的风险值;⑦为威胁情况选择适当的风险处理方案
3、影响评级(冲击等级):
①应根据安全、财务、运营和隐私(S、F、O、P)等影响类别中对道路使用者的潜在不利后果分别评估损害情景。 <财务、运营和隐私方面的影响可以根据附件F的表格进行打分,与安全有关的影响等级来自于ISO 26262-3:2018,6.4.3>
②损害情景的影响等级应按每个影响类别确定为:严重的、主要的、中等的、可以忽略不计的
4、攻击路径
①攻击路径分析可以基于一下2点:1)自上而下的方法,通过分析威胁情景的不同实现方式来推断攻击路径,例如攻击树、攻击图;2)自下而上的方法,从确定的漏洞中建议攻击路径
5、风险值的确定
①输入:威胁情况、影响评级及相关的影响类别、攻击可行性评级
②风险值应在1-5之间,其中1代表最小风险
③确定风险值的方法:风险矩阵、风险公式
6、风险处理
①输入:资产识别、威胁情况、风险值
②处理措施:避开风险、减少风险、分担风险、保留风险
二、车辆信息安全风险分析和风险管理技术要求
1、车辆信息安全保护对象
①软件系统:车控系统、应用系统、包含操作系统、软件开发代码、业务应用、智能座舱
②电子电气硬件:ECU(MCU)、车控芯片
③车内数据
④车外通信
2、车辆信息安全威胁:
①身份盗用、欺诈和滥用;
②计算机病毒植入;
③车辆内部信息受外部攻击的风险;
④远程非法控制汽车;
⑤敏感数据泄露和窃取;
⑥车辆破坏和盗窃;
⑦拒绝服务攻击;
⑧OTA升级安全;
3、车辆信息安全技术风险:
a)车辆可能存在的整体信息安全风险:
①攻击者通过OBD、SGW、OTA、TBOX等接口接入车辆内部总线对整体车机网络进行监听、逆向破解和重放攻击;
②攻击者利用软硬件安全漏洞进行安全攻击;
③攻击者利用架构设计漏洞缺陷进行安全攻击;
④攻击者利用证书伪造或者密钥泄露进行安全攻击;
b)车辆可能存在通信外连风险:
①车辆物理接口连接风险;
②短距安全通信风险;
③远距安全通信风险;
三、轩辕实验室丨SAE J3061汽车信息安全标准解读
来自 <轩辕实验室丨SAE J3061汽车信息安全标准解读轩辕实验室51fusa功能安全社区>
四、系统安全架构之车辆网络安全架构
来自 <系统安全架构之车辆网络安全架构 - FreeBuf网络安全行业门户>
1、车辆网络安全的威胁和挑战
1)物理攻击:包括物理损害和破坏、拆解分析等。攻击者可以通过物理手段进入车辆,直接攻击车辆系统,破坏车辆网络的安全性;
2)网络攻击:包括黑客攻击、拒绝服务攻击(DDoS)、中间人攻击等。攻击者通过网络入侵车辆系统,窃取车辆数据、操控车辆操作等,对车辆网络进行攻击和破坏;
3)恶意软件:包括病毒、木马、蠕虫等。攻击者通过植入恶意软件,进入车辆系统,控制车辆、窃取车辆数据等;
4)社交工程:攻击者通过诈骗、欺骗、伪装等手段,诱导车主或其他人员揭示车辆网络的安全信息,从而获取非法利益;
5)无线电攻击:攻击者可以使用无线电设备对车辆网络进行干扰或攻击,包括射频干扰、射频攻击、信号干扰等;
6)物联网攻击:车辆网络往往与其他物联网设备(如智能家居)相连,攻击者可以通过攻击其他物联网设备进入车辆网络,对车辆网络进行攻击和破坏。
2、边缘设备安全
边缘设备是指分布在网络边缘的计算设备,其主要作用是在本地处理数据和执行应用程序,而不是将数据传输到云端进行处理。
3、网络通信安全
在车联网中,网络通信安全是非常重要的,因为车辆需要通过无线网络或有线网络与其他设备或服务器进行通信,传输车辆数据和控制指令。以下是车联网中网络通信安全的一些重要方面:
1)加密传输:车辆数据和控制指令需要通过网络传输,这就需要对传输数据进行加密,确保传输的数据不会被未经授权的第三方读取和篡改;
2)认证和授权:车联网中的所有通信应该经过认证和授权,确保只有授权的设备和用户才能访问车辆和车辆数据。这有助于防止未经授权的访问,提高车辆网络的安全性;
3)防止拒绝服务攻击:拒绝服务攻击是一种针对网络服务的攻击,攻击者通过发送大量的请求来占用网络带宽和服务器资源,导致服务无法正常运行。为了防止拒绝服务攻击,车联网需要使用防火墙、负载均衡器和其他网络安全设备,确保网络服务的可用性和稳定性;
4)安全升级和更新:车联网系统中的所有软件和硬件组件都需要定期升级和更新,以修复已知漏洞和添加新的安全功能。车联网的供应商和制造商需要定期发布软件和硬件更新,以确保车联网的安全性;
5)交通安全和隐私保护:车联网需要确保交通安全和隐私保护。例如,车辆应该能够实时获取路况和交通信息,以提高驾驶者的安全性。同时,车联网也需要保护车主和乘客的隐私,防止车辆数据被滥用或泄露。
4、数据存储安全
车联网中的数据存储安全是指保护车辆和用户数据的机密性、完整性和可用性,防止恶意访问、篡改和破坏。车联网的数据存储通常分为本地存储和云存储两种方式,具有以下挑战和解决方案:
1)挑战:
①数据隐私泄露:车辆和用户的个人数据被盗取或泄露,可能导致身份盗窃、财产损失等。
②数据完整性受损:数据被篡改、删除或损坏,影响车辆的正常运行和用户体验。
③数据丢失:本地存储的数据可能会因为车辆故障或其他原因而丢失,云存储的数据可能会因为云服务提供商故障或攻击而丢失。
2)解决方案:
①数据加密:使用加密技术对车辆和用户数据进行加密保护,防止恶意访问和泄露。对于本地存储的数据,可以使用硬件加密模块等技术提高安全性;对于云存储的数据,可以使用端到端加密等技术保证数据传输和存储的安全性;
②数据备份和恢复:对本地存储的数据进行定期备份和恢复,防止因车辆故障或其他原因造成的数据丢失。对于云存储的数据,可以选择多个云服务提供商进行备份,以减少单点故障的风险;
③访问控制和身份验证:对车辆和用户的数据进行访问控制和身份验证,只允许授权的用户和设备访问数据,防止未经授权的访问和篡改。可以使用密码、生物识别技术等方式进行身份验证;
④安全审计和监测:建立安全审计和监测机制,对数据的访问、修改和删除等操作进行记录和监测,及时发现安全事件并进行响应和处理。可以使用日志分析、入侵检测等技术进行安全监测和事件响应。
5、用户身份认证和权限管理
在车联网中,用户身份认证和权限管理是非常重要的安全措施,可以确保只有授权的用户才能访问车辆和车辆相关的数据。
1)用户身份认证的方式包括以下几种:
①密码认证:用户输入用户名和密码,系统验证后允许访问。这是最常见的身份认证方式;
②生物特征识别:使用生物特征(如指纹、面部识别、声音识别等)来验证用户身份;
③智能卡认证:用户需要插入智能卡,系统读取智能卡上的信息来验证身份。
2)权限管理的方式包括以下几种:
①角色授权:用户被分配到不同的角色,每个角色有不同的权限,用户只能访问其被授权的数据和功能;
②细粒度访问控制(RBAC):将权限控制粒度细化到每个用户或每个资源,可以根据需要进行授权;
③属性访问控制(ABAC):根据用户属性(如用户所在部门、工作职责等)进行访问控制;
④车联网中,用户身份认证和权限管理可以应用于访问车辆系统、控制车辆操作、访问车辆数据等方面,保护车辆和车主的安全和隐私。
相关文章:

【车联网安全】车端网络攻击及检测的框架/模型
参考标准: 《汽车数据安全管理若干规定(试行)》ISO/SAE 21434《道路车辆 网络安全工程》威胁分析和风险评估(TARA)ISO/DIS 24089R155法规的国标转换:《汽车整车信息安全技术要求》(UN R155&…...

58.【C语言】内存函数(memcpy函数)
目录 1.memcpy *简单使用 翻译: *模拟实现 注意事项: *例题 1.memcpy *简单使用 memcpy:memory copy cplusplus的介绍 点我跳转 翻译: 函数 memcpy void * memcpy ( void * destination, const void * source, size_t num ); 复制内存块 直接从source指向的位置复制num…...

rust一些通用编程的概念
rust一些通用编程的概念 官网文档数据类型 - Rust 程序设计语言 中文版 (rustwiki.org) 变量,数据类型,条件判断,循环 变量 rust中变量的可变性是值得注意的 例如: fn main(){let number 1;number 2;println!("the number is {}&quo…...

SpringBoot基础知识
谈一谈你对SpringBoot的理解,它有哪些特性(优点)? SpringBoot用来快速开发Spring应用的一个脚手架,其目的是用来简化新Spring应用的初始搭建以及开发过程。 优点: 简化配置:提供了很多内置的…...

ubuntu配置libtorch CPU版本
配置环境:Ubuntu 20.04Date:2024 / 08 1、下载最新版本的libtorch wget https://download.pytorch.org/libtorch/nightly/cpu/libtorch-shared-with-deps-latest.zip unzip libtorch-shared-with-deps-latest.zip2、创建一个C工程文件夹,目…...

Docker MySql 数据备份、恢复
docker-compose.yaml实例 version: 3.8 services:db:image: mysql:9.0.1environment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: dataMYSQL_USER: dataMYSQL_PASSWORD: 123456MYSQL_ROOT_HOST: % 1、备份 docker exec -it <容器名称> /usr/bin/mysqldump -u root -p12…...

django项目添加测试数据的三种方式
文章目录 自定义终端命令Faker添加模拟数据基于终端脚本来完成数据的添加编写python脚本编写shell脚本执行脚本需要权限使用shell命令来完成测试数据的添加 添加测试数据在工作中一共有三种方式: 可以根据django的manage.py指令进行[自定义终端命令]可以采用第三方…...

用Python提取PDF表格到Excel文件
在对PDF中的表格进行再利用时,除了直接将PDF文档转换为Excel文件,我们还可以提取PDF文档中的表格数据并写入Excel工作表。这样做可以避免一些不必要的文本和格式带来的干扰,获得更易于分析和处理的表格数据,并方便进行更多的格式设…...

Java基础|多线程:多线程分页拉取
前言: 通常我们都会遇到分页拉取的需求,比如与第三方系统同步数据,定时拉取全量数据做缓存,下面我们简单介绍下多线程分页写法 需求: 全量同步第三方系统数据,并在全部数据同步完后,统一做缓存…...

Android RecyclerView 实现 GridView ,并实现点击效果及方向位置的显示
效果图 一、引入 implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30 二、使用步骤 1.Adapter public class UnAdapter extends BaseQuickAdapter<UnBean.ResultBean, BaseViewHolder> {private int selectedPosition RecyclerView.NO_POSITIO…...

Centos中dnf和yum区别对比
dnf和yum是两种不同的包管理工具,它们各自具有独特的特点和优势,主要用于在Linux系统上安装、更新和卸载软件包。以下是dnf和yum之间的主要区别: 1. 依赖关系解决 dnf:dnf在处理依赖关系方面表现出更强的能力。它能够更高效地解…...

CVPT: Cross-Attention help Visual Prompt Tuning adapt visual task
论文汇总 当前的问题 图1:在VTAB-1k基准测试上,使用预训练的ViT-B/16模型,VPT和我们的CVPT之间的性能和Flops比较。我们将提示的数量分别设置为1、10、20、50,100,150,200。 如图1所示,当给出大量提示时,VPT显示了性能的显著下降…...

基于双向 LSTM 和 CRF 的序列标注模型
基于双向 LSTM 和 CRF 的序列标注模型 在自然语言处理中,序列标注是一项重要的任务,例如命名实体识别、词性标注等。本文将介绍如何使用 Keras 构建一个基于双向 LSTM 和 CRF 的序列标注模型。 一、引言 序列标注任务要求为输入序列中的每个元素分配一个标签。传统的方法可…...

为何美国与加拿大边界看似那么随意?
我们在《日本移民巴西超200万,会成第二个“巴勒斯坦”吗?》一文中探讨了日本移民巴西的历史,以及移民对巴西的风险与挑战。 今天我们来探讨美国与加拿大边界为什么那么随意,并整理了加拿大和美国的国界、省界、市界行政边界数据分享给大家&a…...

什么是触发器(Trigger)?触发器何时会被触发?
在数据库管理系统中,触发器是一种特殊的存储过程,它会在特定的表上执行插入、更新或删除操作时自动触发。 触发器的主要用途是维护数据的一致性和完整性,以及实现一些复杂的业务逻辑。 触发器何时会被触发? 触发器可以在以下几…...

一步一步优化一套生成式语言模型系统
以下是这套生成式语言模型解决任务的流程图概述: #mermaid-svg-keXg8yGoCyObKDtu {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-keXg8yGoCyObKDtu .error-icon{fill:#552222;}#mermaid-svg-keXg8yGoCyO…...

Q必达任务脚本
文章目录 1.购买服务器地址2.部署教程3. 代码如下4. 如何联系我 1.购买服务器地址 服务器购买地址 https://t.aliyun.com/U/rUHk58 若失效,可用地址 https://www.aliyun.com/activity/wuying/dj?source5176.29345612&userCode49hts92d 2.部署教程 2024年最…...

问请问请问2312123213123
📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…...

Vue3:快速生成模板代码
目录 一.模板代码 1.提供基础结构 2.定义组件名称 3.初始化数据和方法 4.应用样式 5.提高开发效率 二.操作 1.点击右下角设置按钮选择代码片段 2.输入vue.json,打开vue.json文件 3.构造模板 4.模板代码 5.使用 6.效果 一.模板代码 Vue3快速生成模板代…...

文件上传-php
查找方式 ***(1) 黑盒 查找(upload) 扫描 (2) 应用型 窗口 上传中心或者后台中心 上传 Ps:后台是后台 权限是权限 (3) 会员中心 (4) 白盒 基本函数定义 写前端的 Enctype 上传类型Method 提交方式Onsubmit 鼠标的时间Action"放在指定文件"Php 接受表单数据 isset(…...

C++设计模式(更新中)
文章目录 1、创建型模式1.1 简单工厂(Simple Factory)(1)示例(2)总结 1.2 工厂方法(Factory Method)(1)示例(2)总结 1.3 抽象工厂&…...

Kali crunsh字典工具
查看自带密码字典 vim /usr/share/wordlists 使用 crunch 字典工具 随机组成6位纯数字密码 crunch 6 6 0123456789 -o test1.txt 由 Abc1234 随机组成的 6~8 位密码 crunch 6 8 Abc1234 -o test2.txt 以A开头后面跟3位数字组成的4位密码 crunch 4 4 -t A%%% -o test3.txt...

Redis系列---Redission分布式锁
文章目录 类型原理使用看门狗与setNx比较 类型 使用Redission,lock的机制其实是使用了ttl,一直等ttl为0再get。无论是redission还是redis的setNx,只要是锁,都必须有加锁和释放锁两个动作,二者缺一不可,并且…...

算法打卡:第十一章 图论part05
今日收获:并查集理论基础,寻找存在的路径 1. 并查集理论基础(from代码随想录) (1)应用场景:判断两个元素是否在同一个集合中 (2)原理讲解:通过一个一维数组…...

3.《DevOps》系列K8S部署CICD流水线之部署MetalLB负载均衡器和Helm部署Ingress-Nginx
架构 服务器IP服务名称硬件配置192.168.1.100k8s-master8核、16G、120G192.168.1.101k8s-node18核、16G、120G192.168.1.102k8s-node28核、16G、120G192.168.1.103nfs2核、4G、500G操作系统:Rocky9.3 后续通过K8S部署GitLab、Harbor、Jenkins 为什么使用MetalLB 当使用云平…...

MySQL:表的约束
目录 1 空属性 2 默认值 3 列描述 4 zerofill 5 主键 6 自增长 7 唯一键 8 外键 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有…...

38.重复的子字符串
方法1: class Solution {public boolean repeatedSubstringPattern(String s) {if (s.equals("")) return false;String s2(ss).substring(1,(ss).length()-1);//去掉首尾字符return s2.contains(s);//判断是否包含s} } class Solution(object):def rep…...

Linux服务部署指南
在现代的IT基础设施中,Linux操作系统因其稳定性、安全性和灵活性而广泛用于服务部署。本文将提供一个全面的指南,介绍如何在Linux环境下部署服务,包括准备工作、部署流程、以及监控和维护。 1. 准备工作 在开始部署服务之前,确保…...

Unity中,如果你想让多个数字人轮流显示和隐藏
在Unity中,如果你想让多个数字人轮流显示和隐藏,可以通过控制它们的GameObject的激活状态 (SetActive()) 来实现。你可以创建一个简单的脚本来控制这些数字人的显示和隐藏,使用协程或者定时器来处理轮流的效果。 下面是一个基本的实现思路&a…...

【LeetCode】动态规划—删除并获得点数(附完整Python/C++代码)
动态规划—#740. 删除并获得点数 前言题目描述基本思路1. 问题定义:2. 理解问题和递推关系:3. 解决方法:4. 进一步优化:5. 小总结: 代码实现Python3代码实现Python 代码解释C代码实现C 代码解释 总结: 前言 给你一个整数数组 n u m s nums nums ,你可以对它进行一…...