热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浅谈汽车网络安全(CyberSecurity)MCU

为何要引入汽车网络安全随着汽车新四化的发展,尤其是网联化及自动驾驶的推进,汽车网络信息安全显得越来越重要。一方面,汽车在使用过程中会产

为何要引入汽车网络安全

随着汽车新四化的发展,尤其是网联化及自动驾驶的推进,汽车网络信息安全显得越来越重要。

一方面,汽车在使用过程中会产生大量用户数据,比如你什么时间去了什么地方,以及日常车辆行驶路线规律等信息,这些数据都是用户的隐私。假如你每个月的某一天都会驾车去一个固定的酒店(此处省略一万字),而你的车辆行驶信息被人窃取会带来什么样的后果。

另一方面,随着高级驾驶辅助(ADAS)及自动驾驶的推出,车辆动力及制动控制需要部分或全部授权给智能驾驶系统,而车辆又暴露在互联网当中,此时如果智能驾驶系统被黑客攻破,后果将不堪设想。

看过《升级》这部电影的朋友应该会对一个情景记忆犹新,男主Grey和女友Asha乘坐的自动驾驶汽车突然失控,车辆脱离预定驾驶路线,驶向一处暴民聚集的贫民窟。在那里,两人遭到了袭击,Asha不幸丧生,而Grey身受重伤下半身瘫痪。

这样的情景不只是发生在影视剧里,早在2015年黑客就能通过攻破车辆的通信系统从而控制汽车。

在以70英里/小时的速度行驶过程中,一辆吉普车的空调系统突然被打开,开始吹冷风;然后车的无线电开关自动开启,雨刮器也突然动了起来,雨刷液喷射到挡风玻璃上;最后车自动驶离了原来的路线。甚至可以远程控制车辆的制动系统,导致车毁人亡。

上述车辆奇怪的行为是IOActive的研究员Charlie Miller 和Chris Valasek 利用Jeep车Uconnect信息娱乐系统中的0-day漏洞,远程攻击车辆导致的后果。

今天来介绍一下MCU上有哪些网络安全相关的技术手段,虽然车载MCU一般不会直接通过网络与互联网连接,但是黑客一旦攻破车载无线通信系统(WIFI, 蓝牙等),之后就可以通过CAN网络访问MCU。因此在MCU上使用网络安全措施也是非常有必要的。


安全启动 - 检查Bootloader的完整性和可靠性

下图展示了如何检测和防止bootloader被篡改。
在这里插入图片描述

1)MCU上电之后,CSE模块(Cryptographic Services Engine - 加密服务引擎)会从Code Flash读取bootloader。

2)CSE模块使用boot key通过AES-128加密算法为bootloader计算出一个MAC值(Message Authentication Code)。

3)CSE模块比较第2步计算出来的MAC与存储在CSE寄存器中的MAC(该MAC值是刷写bootloader时写入的)是否相同。如果相同,则安全启动认证成功 -> 表示安全启动成功的数据位会被置位并解锁。

4)黑色箭头处,开始执行bootloader程序。


安全通信

下图展示了如何防止非法的消息发送。左侧是主ECU,右侧是传感器ECU,二者通过CAN网络进行通信。
在这里插入图片描述

1)主ECU的CSE模块会生成一个随机数并把它发送给传感器ECU。
2)传感器ECU读取传感器的值,把传感器的值、从主ECU收到的随机数和key #x输入给AES-128加密算法进行加密。
3)传感器ECU发送加密后的消息给主ECU。
4)主ECU的CSE模块使用key #x对收到的消息进行解密。
5)主ECU把解密出来的随机数和自己发送给传感器ECU的随机数进行对比,如果一致则认为该消息是合法的,否则丢弃该消息。


部件保护

ECU的替换或篡改会改变它唯一的ID或key。下面的例子将会展示这二者的改变是如何被检测的。
在这里插入图片描述

1)主ECU生成一个随机数并把它发送给ECU。
2)ECU把它自己特有的ID和收到的随机数进行加密(使用key #x),并把加密后的消息发送给主ECU。
3)主ECU使用key #x对收到的消息进行解密。
4)主ECU检查解密出来的随机数是否和自己发出去的相一致,解密出来的ID是否和本地存储的ECU的ID相一致。如果二者都一致,则认为ECU 正常,否则认为ECU被非法替换或者篡改了。

上面简单介绍了MCU上使用到的几个常用的Cyber security的手段,以后有机会再介绍更多相关技术。


推荐阅读
  • 内网渗透技术详解:PTH、PTT与PTK在域控环境中的应用及猫盘内网穿透配置
    本文深入探讨了内网渗透技术,特别是PTH、PTT与PTK在域控环境中的应用,并详细介绍了猫盘内网穿透的配置方法。通过这些技术,安全研究人员可以更有效地进行内网渗透测试,解决常见的渗透测试难题。此外,文章还提供了实用的配置示例和操作步骤,帮助读者更好地理解和应用这些技术。 ... [详细]
  • Kali Linux 渗透测试实战指南:第24章 客户端安全威胁分析与防御策略
    客户端安全威胁分析与防御策略主要探讨了终端设备(如计算机、平板电脑和移动设备)在使用互联网时可能面临的各种安全威胁。本章详细介绍了这些设备如何作为信息和服务的提供者或接收者,以及它们在与服务器等其他系统交互过程中可能遇到的安全风险,并提出了有效的防御措施。 ... [详细]
  • H3C防火墙自动构建安全隧道
    实验拓扑结构:两端采用静态IP地址配置。H3C防火墙能够自动构建IPSec安全隧道,确保数据传输的安全性。通过配置防火墙的非信任区域,实现自动化安全连接的建立与维护,有效提升网络防护能力。 ... [详细]
  • 第五章5.4安全设备防火墙防火墙是网络关联的重要设备,用于控制网络之间的语言。外部网络用户的访问必须先经过安全策略过滤,而内部网络用户对外部网络的访 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • 在Spring与Ibatis集成的环境中,通过Spring AOP配置事务管理至服务层。当在一个服务方法中引入自定义多线程时,发现事务管理功能失效。若不使用多线程,事务管理则能正常工作。本文深入分析了这一现象背后的潜在风险,并探讨了可能的解决方案,以确保事务一致性和线程安全。 ... [详细]
  • 比特币的成功为区块链技术构建了可信货币的基石,标志着区块链1.0时代的到来。以太坊通过引入智能合约,极大地推动了去中心化应用的开发和普及,开启了区块链2.0时代。本文深入探讨了侧链技术在提升区块链扩展性方面的潜力和应用,分析了其在提高交易速度、降低成本和增强安全性等方面的优势,并讨论了当前面临的技术挑战和未来的发展方向。 ... [详细]
  • Linux学习精华:程序管理、终端种类与命令帮助获取方法综述 ... [详细]
  • 在Linux系统中,MySQL的用户权限管理是运维人员必须掌握的关键技能之一。本文详细介绍了MySQL用户和权限管理的相关概念,包括MySQL用户的概念及其与VSFTPD虚拟用户的相似性,以及密码管理的重要性。此外,还深入探讨了如何通过命令行工具和配置文件进行用户权限的设置和调整,确保系统的安全性和稳定性。 ... [详细]
  • 面部识别技术面临关键转折点:伦理与应用的平衡挑战
    面部识别技术正面临一个关键的转折点,其伦理与应用之间的平衡问题日益凸显。近日,该技术再次遭遇重大事件。本周二,由90个倡议组织组成的联盟发布了一份联合声明,呼吁全球范围内暂停使用面部识别技术,直到制定出明确的监管框架。这一举措反映了社会各界对隐私保护和技术滥用的担忧,同时也引发了关于如何在保障公共安全和维护个人隐私之间找到合理平衡的广泛讨论。 ... [详细]
  • 微软发布紧急安全更新,所有Windows 10版本均面临影响!
    微软于周五紧急发布了两项安全更新,旨在解决Windows 10所有版本中Windows Codecs库和Visual Studio Code应用存在的安全隐患。此次更新是继本周初发布的月度例行安全补丁之外的额外措施,凸显了这些问题的紧迫性和重要性。这些漏洞可能被攻击者利用,导致系统权限提升或远程代码执行等严重后果。建议用户尽快安装更新,以确保系统的安全性。 ... [详细]
  • 利用Jenkins与SonarQube集成实现高效代码质量检测与优化
    本文探讨了通过在 Jenkins 多分支流水线中集成 SonarQube,实现高效且自动化的代码质量检测与优化方法。该方案不仅提高了开发团队的代码审查效率,还确保了软件项目的持续高质量交付。 ... [详细]
  • 编程技巧_安全编程的10个主要技巧
    编程技巧全世界的技术安全威胁正在逐渐增加。在以前,仅仅是个人信用卡号被盗之前,如今似乎几乎每天都有另一个严重违规的故事,其中披露了数百万条 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • 本文深入探讨了MD5与SHA1哈希算法在实际应用中的表现及其安全性。通过对这两种算法的详细分析,揭示了它们在数据完整性验证和密码存储等方面的优势与局限。文章不仅介绍了算法的基本原理,还讨论了近年来针对这些算法的安全性攻击,并提出了改进措施和替代方案。希望读者能够通过本文对哈希算法有更全面的理解。 ... [详细]
author-avatar
佳佳的梦Aas
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有