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

【车联网安全】车端知识调研

一、CAN总线:

 1、定义:

  CAN 总线相当于汽车的神经网络,连接车内各控制系统,其通信采用广播机制,各连接部件均可收发控制消息,通信效率高,可确保通信实时性。当前市场上的汽车至少拥有一个CAN网络,作为嵌入式系统之间互联的主干网进行车内信息的交互和共享。

 2、安全风险点:

  ①通信缺乏加密和访问控制机制,可被攻击者逆向总线通信协议,分析出汽车控制指令,用于攻击指令伪造;

  通信缺乏认证及消息校验机制,不能对攻击者伪造、篡改的异常消息进行识别和预警。

  鉴于CAN 总线的特性,攻击者可通过物理侵入或远程侵入的方式实施消息伪造、拒绝服务、重放等攻击,需要通过安全隔离来确保智能网联汽车内部 CAN 网络不被非法入侵。

二、主要攻击手段:

1、物理攻击

 1)恶意的OBD设备

   通过强制的OBD-II端口很容易和车内CAN总线进行交互。事实上大部分的汽车OBD-II  端口充当着一个直接进入车内总线的接口,并且提供12V的直流电源输出,为连接设备提供电力源,放任的处于方向盘下面。几秒钟内,一个恶意的攻击者可以在车内安装一个可操作的设备。真实的世界的场景中,这种事情是可能发生的,比如,代客停车、汽车租赁、车辆借用等。

  常见情况:车主自己在他的车上插入一个后装市场的OBD-II的设备,他相信设备是安全的,其实设备已经被篡改或者是假冒产品。比如,某公司或某店免费赠送的设备,市场上销售的没有经过安全认证的设备。

 2)直接攻击CAN节点

  物理访问攻击不限于诊断端口。攻击者可以在某一状态下,把一个精心制作的设备附加到车内网络,比如车被拆卸,为了测试或者修理。另一个条件下也会发生攻击,通过安装一个篡改过的或者假冒的替换零件。比如,后装市场的娱乐信息系统,停车传感器模块或者防盗系统等。

2、远程攻击

  尽管受到限制,但是可能存在一个漏洞被黑客利用去远程重刷微控制器固件和修改程序,为了执行攻击载荷,执行DoS攻击不需要任何的物理连接目标车辆。

 

 

三、攻击面

1攻击面扩展则体现在直接攻击、便携设备攻击以及无线攻击三个部分,在直接攻击中,需要考虑如何防护针对传动系统、安全控制件、仪表等的攻击;在便携设备中,需要考虑车载APP、OBD接口、导航及议题中提到的娱乐信息设施等;在无线攻击中,智能钥匙、TPMS系统均将挑战自动驾驶等的安全。

2、2018年,绿盟公司初步形成了对车端、云端两侧解决方案的设计。在车端包含入侵行为检测、异常行为分析、安全域划分、ECU安全机制、射频监控、接入策略等维度,覆盖了会议议题提到的几大维度的安全应对模型。在云端以绿盟科技威胁态势感知为依托,除将传统网络攻击能力移植至车载探针外,还搭建自有的FOTA模块,满足固件签名认证保护、加密解密、升级认证等不同业务需求。

四、智能网联汽车面临的信息安全威胁和挑战

1、智能网联汽车的4层威胁+12大风险:

2、终端节点层安全威胁

2.1、T-BOX安全威胁

 1)T-BOX定义:

    T-BOX(Telematics BOX)在汽车内部扮演“Modem”角色,实现车内网和车际网之间的通信,负责将数据发送到云服务器。

3、车内网络传输情况:

 3.1、网络传输存在三大安全风险:

  1)认证风险:没有验证发送者的身份信息、伪造身份、动态劫持等;

  2)传输风险:车辆信息没有加密或者强度不够、密钥信息暴露、所有车型使用相同的对称密钥;

  3)协议风险:通信流程伪装,把一种协议伪装成另一种协议。

4、云平台安全威胁

 4.1、 智能网联汽车协同互联云平台安全架构

5、智能网联汽车风险一览

相关文章:

  • git commit -am 仅提交已修改文件
  • 手机实时提取SIM卡打电话的信令声音-新的篇章(二、USB音频线初步探索)
  • 如何用Python监控本股市的方法
  • 网络安全入门
  • [Day 80] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • java项目实现钉钉异常告警实时监控
  • Hadoop 性能优化高频面试题及答案
  • 软件设计之SSM(2)
  • 云原生周刊:Argo CD v2.13 发布候选版本丨2024.9.30
  • 超声波扫描仪存储芯片S3A1604V0M
  • 被Karpathy誉为“蕴藏着类似ChatGPT的机会的AI产品Notebook LM”,它到底做对了什么?
  • 二叉树相关oj题(Java)
  • 基于大数据的高校新生数据可视化分析系统
  • 供应SGM3204YN6G/TR圣邦微芯片
  • HTTP状态码全解
  • CSS相对定位
  • ERLANG 网工修炼笔记 ---- UDP
  • k8s如何管理Pod
  • MySQL的数据类型
  • nodejs调试方法
  • rc-form之最单纯情况
  • Redis的resp协议
  • uni-app项目数字滚动
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 基于Android乐音识别(2)
  • 基于axios的vue插件,让http请求更简单
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 一些关于Rust在2019年的思考
  • 硬币翻转问题,区间操作
  • 正则学习笔记
  • Python 之网络式编程
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #window11设置系统变量#
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (回溯) LeetCode 78. 子集
  • (七)Java对象在Hibernate持久化层的状态
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (转)visual stdio 书签功能介绍
  • (转载)Google Chrome调试JS
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET建议使用的大小写命名原则
  • .net开发时的诡异问题,button的onclick事件无效
  • :not(:first-child)和:not(:last-child)的用法
  • @SpringBootConfiguration重复加载报错
  • [ linux ] linux 命令英文全称及解释
  • [2010-8-30]
  • [20180224]expdp query 写法问题.txt
  • [android] 天气app布局练习
  • [autojs]逍遥模拟器和vscode对接
  • [C++]: std::move