从斯柯达和大众汽车安全漏洞事件剖析谈软件安全设计

在这里插入图片描述

一、事件概述

2022年,斯柯达和大众汽车被曝出存在一系列安全漏洞,这一事件引起了广泛关注。据估算,这些漏洞可能涉及超过 140 万辆汽车,涵盖斯柯达速派 III(Skoda Superb III)、斯柯达柯珞克(Skoda Karoq)、斯柯达柯迪亚克(Skoda Kodiaq)、大众 Arteon、大众途观(VW Tiguan)、大众帕萨特(VW Passat)、大众 T - Roc、大众 T - Cross、大众 Polo、大众高尔夫(VW Golf)等众多车型。

二、漏洞详情与技术分析

(一)信息娱乐单元漏洞

  1. SWD调试接口问题
    • 在信息娱乐单元的 IVI PCB 上的电源控制器芯片(PWC)中存在 SWD 调试接口。该接口虽有写保护措施,但攻击者可通过擦除内存内容后重新编程的方式突破限制,获取调试权限。例如,若写保护是基于简单的软件加密算法,攻击者可能通过逆向工程分析出算法漏洞,发送特定指令擦除存储写保护密钥的内存区域,进而重新编写该区域内容,使写保护失效。此漏洞最早在 2022 年生产的斯柯达速派 III(3V3) - 2.0 TDI 车型检测中被发现端倪。
  2. 硬编码密码漏洞
    • PWC 芯片的 UART 接口存在硬编码密码,这使得攻击者能够解锁调试控制台,从而访问 PWC 固件更新功能,可随意读取和修改内存内容。这就如同为攻击者提供了一把“万能钥匙”,使其能够深入系统核心区域,可能获取车辆的各种配置参数、用户隐私数据等敏感信息,如修改车辆速度限制参数或窃取车主的联系人信息、导航记录等。在后续深入研究中,逐步明确了该硬编码密码漏洞的存在及潜在危害范围。
  3. UDS服务密码问题
    • UDS 认证环节存在弱编码密码和硬编码密码问题。攻击者可通过 OBD 端口获取密码,成功通过认证后就能发送诊断命令。这意味着攻击者可以对车辆的一些关键系统进行操控,严重威胁车辆的安全与正常运行。相关研究在发现 SWD 调试接口问题后,进一步挖掘出了 UDS 服务密码方面的隐患,时间大约在 2022 年下半年到 2023 年初。
  4. 拒绝服务漏洞
    • 苹果 CarPlay 服务和 ECU 重置服务存在漏洞,可被利用导致信息娱乐单元拒绝服务。攻击者可通过向 CarPlay 连接时发送特定请求,或者向 OBD 端口发送广播 UDS 消息使车辆组件重置,甚至导致发动机熄火,系统离线。这不仅影响用户的正常使用,还可能在车辆行驶过程中引发危险状况。在 2023 年对车辆整体漏洞梳理过程中,该拒绝服务漏洞被详细分析和记录。

(二)后端漏洞

  • 云后端存在两个安全问题,攻击者可凭借车辆 VIN 号获取用户昵称(CVE - 2023 - 28900)和行程数据(CVE - 2023 - 28901),包括里程、行程时长、平均和最大速度等信息。这对用户隐私构成了严重侵犯,也可能被不法分子用于其他恶意目的,如精准的车辆盗窃或诈骗活动。此漏洞在 2022 年开始被关注,到 2023 年确定了具体的 CVE 编号并被广泛知晓。
    在这里插入图片描述

三、大众和斯柯达的反应

大众集团在 2023 年通过网络安全披露计划得知漏洞后,积极采取措施修补了相关漏洞。斯柯达发言人 Tom Drechsler 表示,公司在 2022 年漏洞被报告后,便开始通过“持续改进管理”解决这些问题,并强调任何时候都不会对客户安全或车辆构成危险。斯柯达称信息娱乐系统中报告的漏洞已经并正在通过对产品生命周期的持续改进管理加以解决和消除,同时坚称客户或车辆的安全从未受到任何威胁。尽管两家公司都有应对举措,但此次事件仍暴露出在汽车软件安全防护方面的不足。

四、软件系统设计应注意的问题及启示

(一)调试接口安全

  1. 访问控制严格化
    • 在软件系统设计初期,对于 SWD 调试接口等内部接口,应构建多层次的访问控制体系。不能仅仅依赖单一的写保护手段,而应结合身份验证、授权和加密访问通道等多种方式。例如,采用生物识别技术与密码认证相结合的身份验证方式,只有经过授权且通过双重认证的人员或设备才能访问调试接口,并且在访问过程中,数据传输应通过加密通道,防止信息被窃取或篡改。
  2. 接口隐藏与防护
    • 尽可能将调试接口隐藏在不易被发现的位置或环境中。若在开发和维护过程中必须使用调试接口,可设置专门的安全模式,如在特定的硬件连接或软件指令序列下才能开启调试接口,且使用完毕后立即自动关闭,减少被攻击的风险窗口。

(二)密码管理

  1. 避免硬编码密码
    • 软件系统设计时,严禁使用硬编码密码。无论是在芯片的 UART 接口还是 UDS 认证环节,密码应采用安全的存储方式,如利用硬件安全模块(HSM)进行加密存储,并在运行时通过安全的密钥管理系统进行解密和验证。同时,定期更新密码策略,采用复杂的密码生成算法,增加密码的强度和破解难度。
  2. 密码强度提升
    • 对于认证密码,应遵循严格的强度标准。采用多因素认证方式,如结合密码、指纹、动态验证码等,降低因单一密码泄露导致的安全风险。并且,定期对密码进行评估和更新,及时发现和修复可能存在的弱密码问题。

(三)服务安全设计

  1. UDS服务安全增强
    • 在设计 UDS 服务时,应采用强大的认证机制。摒弃简单易破的认证方式,采用基于公钥基础设施(PKI)的认证体系,为每个设备和用户颁发数字证书,通过证书验证来确保只有授权的设备和用户能够访问和发送诊断命令。同时,对 UDS 服务的输入数据进行严格的格式、范围和合法性验证,防止恶意构造的输入导致系统异常或安全漏洞。
  2. 服务输入验证
    • 对于所有接受外部输入的服务接口,尤其是通过 OBD 端口接收命令的服务,必须进行全面的输入验证。建立完善的输入过滤机制,对输入数据进行深度检测,包括数据的类型、长度、取值范围等,确保输入数据符合预期的规范。例如,对于车速相关的指令输入,应限制在车辆设计的合理速度范围内,防止攻击者通过输入异常数据操控车辆。

(四)网络服务安全

  1. Wi - Fi服务安全加固
    • 针对车载 Wi - Fi 网络,应采用高强度的加密标准,如 WPA3 或更高级别的加密协议,防止外部攻击者通过网络连接获取系统访问权限。同时,部署入侵检测系统(IDS)和入侵防范系统(IPS),对网络流量进行实时监测和过滤,及时发现和阻止恶意攻击流量,如防止 DDoS 攻击导致车载网络瘫痪。
    • 入侵检测系统应具备深度包检测功能,能够对网络数据包的头部、内容等进行详细分析,识别出异常的数据包特征,例如畸形的数据包结构、异常的协议使用等。同时,要能够检测到常见的攻击模式,如端口扫描、恶意脚本注入等,并及时发出警报。
    • 入侵防范系统要能够根据入侵检测系统的警报,自动采取阻断措施,如切断可疑的网络连接、阻止特定 IP 地址的访问等,并且能够与车辆的其他安全系统协同工作,例如在检测到网络攻击时,通知车辆控制系统进入安全模式,限制一些非关键功能的使用,以保障车辆的基本行驶安全。
  2. 后端服务安全
    • 在设计与车辆连接的云后端服务时,应着重保障用户数据的安全。采用严格的用户认证和授权机制,如多因素身份验证、基于角色的访问控制(RBAC)等,确保只有合法用户能够访问特定的数据。对用户数据进行加密存储和传输,采用先进的加密算法,如 AES - 256 等,防止数据在存储和传输过程中被窃取或篡改。并且,定期进行安全审计,及时发现和修复可能存在的安全漏洞,保障用户数据的完整性和保密性。

(五)系统健壮性设计

  1. 防止拒绝服务攻击
    • 在软件系统设计过程中,应充分考虑系统的健壮性,特别是针对可能的拒绝服务攻击。对于像 CarPlay 服务和 ECU 重置服务等功能,应设置输入流量限制,如限制单位时间内的连接请求数量;进行异常请求检测,通过机器学习算法或规则库识别异常的请求模式;并建立服务熔断机制,当检测到异常攻击时,自动切断相关服务,防止恶意请求导致系统瘫痪,同时保障系统其他关键功能的正常运行。
  2. 组件通信安全
    • 车辆内部各个组件之间的通信应采用安全的通信协议,如基于 SSL/TLS 的通信协议,对通信数据进行加密和完整性验证,防止中间人攻击或恶意篡改。建立通信监控机制,实时监测组件之间的通信状态,及时发现和处理通信故障或安全事件,确保系统的稳定运行。

此次斯柯达和大众汽车的安全漏洞事件为整个汽车行业敲响了警钟。在汽车软件系统日益复杂和智能化的今天,软件系统设计的安全性至关重要。汽车制造商和相关软件开发者必须从各个环节入手,加强安全防护措施,确保车辆软件系统的安全稳定运行,保护用户的生命财产安全和隐私权益。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/937782.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hyperledger Fabric 2.x 环境搭建

Hyperledger Fabric 是一个开源的企业级许可分布式账本技术(Distributed Ledger Technology,DLT)平台,专为在企业环境中使用而设计,与其他流行的分布式账本或区块链平台相比,它有一些主要的区别。 环境准备…

OpenIPC开源FPV之Adaptive-Link天空端代码解析

OpenIPC开源FPV之Adaptive-Link天空端代码解析 1. 源由2. 框架代码3. 报文处理3.1 special报文3.2 普通报文 4. 工作流程4.1 Profile 竞选4.2 Profile 研判4.3 Profile 应用 5. 总结6. 参考资料7. 补充资料7.1 RSSI 和 SNR 的物理含义7.2 信号质量加权的理论依据7.3 实际应用中…

metinfo的csrf漏洞复现

http://localhost/metinfo/install/index.php 管理员admin登录 抓修改信息包 进入点击受害链接 localhost/333.html 管理员被修改密码原来root错误被强制退出 输入密码123456登录正常

jclasslib Bytecode Viewer 安装

IDEA 2023.1.3 Settings->Plugins->Marketplace,搜索jclasslib Bytecode Viewer, install,apply 选中你所要分析的类,view->show bytecode with jclasslib gaoding

智能高效的IDE GoLand v2024.3全新发布——支持最新Go语言

GoLand 使 Go 代码的阅读、编写和更改变得非常容易。即时错误检测和修复建议,通过一步撤消快速安全重构,智能代码完成,死代码检测和文档提示帮助所有 Go 开发人员,从新手到经验丰富的专业人士,创建快速、高效、和可靠的…

Android学习路线图

‌Android系统的开发始于2003年,最初由安迪鲁宾在危险公司(Danger, Inc.)开发。2005年,Google收购了危险公司,并将其移动开发团队纳入旗下。2007年,Google正式发布了Android的第一个版本,并随后…

【含开题报告+文档+PPT+源码】基于微信小程序的旅游论坛系统的设计与实现

开题报告 近年来,随着互联网技术的迅猛发展,人们的生活方式、消费习惯以及信息交流方式都发生了深刻的变化。旅游业作为国民经济的重要组成部分,其信息化、网络化的发展趋势也日益明显。旅游论坛作为旅游信息交流和分享的重要平台&#xff0…

CTFshow-php特性(Web89-115)

CTFshow-php特性(Web89-115) Web89&#xff08;intval&#xff09; <?php include("flag.php"); highlight_file(__FILE__);if(isset($_GET[num])){$num $_GET[num];if(preg_match("/[0-9]/", $num)){die("no no no!");}if(intval($num))…

ip地址获取失败啥意思?ip地址获取失败怎么回事

在日常的网络使用中&#xff0c;我们时常依赖于稳定的IP地址来确保数据的顺畅传输和设备的正常识别。然而&#xff0c;有时我们会遇到“IP地址获取失败”的困扰&#xff0c;这不仅阻碍了我们的网络访问&#xff0c;还可能带来一系列的网络连接问题。那么&#xff0c;IP地址获取…

中国计算机学会计算机视觉专委会携手合合信息举办企业交流活动,为AI安全治理打开“新思路”

近期&#xff0c;《咬文嚼字》杂志发布了2024年度十大流行语&#xff0c;“智能向善”位列其中&#xff0c;过去一年时间里&#xff0c;深度伪造、AI诈骗等话题屡次登上热搜&#xff0c;AI技术“野蛮生长”引发公众担忧。今年9月&#xff0c;全国网络安全标准化技术委员会发布了…

RK3588, FFmpeg 拉流 RTSP, mpp 硬解码转RGB

RK3588 ,基于FFmpeg, 拉取RTSP,使用 mpp 实现硬解码. ⚡️ 参考: Rk3588 FFmpeg 拉流 RTSP, mpp 硬解码转RGBUbuntu x64 架构, 交叉编译aarch64 FFmpeg mppCode RTSPint open_stream(

ubuntu监测硬盘状态

安装smartmontools smartctl -l error /dev/sdk smartctl -i /dev/sda lshw -class disk smartctl -H /dev/sd 结果1&#xff1a; 结果2&#xff1a;PASSED&#xff0c;这表示硬盘健康状态良好 smartctl -a /dev/sdb sdk lsblk blkid 测试写入速度 time dd if/dev/zero of…

Yolov8源码分析

1、目录介绍 主要目录ultralitics&#xff08;重点&#xff09; 1、assets目录 这个文件保存了YOLO历史上可以说是最经典的两张图片&#xff0c;供大家测试程序来使用的。 2、cfg 这个文件下面保存了我们的模型配置文件&#xff0c;cfg目录是项目配置的集中地&#xff0c;其…

【学习笔记总结】华为云:应用上云后的安全规划及设计

一、背景和问题 数字化时代&#xff0c;随着信息技术的飞速发展&#xff0c;企业和各类组织纷纷将自身的应用程序迁移至云端。云计算凭借其诸多优势&#xff0c;如成本效益、可扩展性、灵活性以及便捷的资源共享等&#xff0c;已然成为了现代业务运营的重要支撑。 今年&#xf…

Unity全局光照详解

之前就学过但是太久没用又忘了&#xff0c;因此用最简洁易懂的语言做个记录。 全局光照分为两个系统&#xff0c;分别是实时光照和混合光照。&#xff08;点击window/Rendering/Lighing打开此面板&#xff09; 其中全局光照对于我来说都是新技术了&#xff0c;上一次学…

ZNN零化神经网络及其在机器人上的应用

1.解等式约束问题 1.1等式QP问题描述 考虑如下等式约束的时变二次规划&#xff08;QP&#xff09;问题&#xff1a; 采用拉格朗日乘数法将其转换为无约束优化问题&#xff1a; 对未知量求偏导&#xff1a; 将上式整理成矩阵的形式&#xff1a; 1.2ZNN解等式约束问题 定义误差…

HICE-day6

二层交换 交换基础 所谓的二层交换机指的是针对数据的二层头部&#xff08;以太网帧头&#xff09;中的MAC地址进行寻址并转发数据的交换设备。二层交换机不具备路由功能&#xff0c;它工作在OSI七层模型的第二层&#xff0c;因此被称为二层交换机。 上图中&#xff0c;PC1、…

ret2text

上一篇博客是对栈溢出的基本学习&#xff0c;做了几个题练习了一下&#xff0c;师兄给的建议是多用gdb&#xff0c;更直观&#xff0c;动态也可以查看寄存器和栈的变化 一、如何使用gdb 1.peda插件的安装 为了方便查看堆栈和寄存器&#xff0c;最好是安装peda插件&#xff0…

Ubuntu安装Gitlab详细图文教程

1、环境准备 1.1、Ubuntu环境 Ubuntu24.04Sever版安装教程 1.2、更新系统 sudo apt update -y sudo apt-get update sudo apt-get upgrade 2、安装Nginx 2.1 安装nginx # 安装 apt install nginx -y 2.2 修改nginx配置⽂件 # 修改nginx配置 vim /etc/nginx/si…

计算机网络之王道考研读书笔记-1

第 1 章 计算机网络体系结构 1.1 计算机网络概述 1.1.1 计算机网络概念 internet(互连网)&#xff1a;泛指由多个计算机网络互连而成的计算机网络。这些网络之间可使用任意通信协议。 Internet(互联网或因特网)&#xff1a;指当前全球最大的、开放的、由众多网络和路由器互连…