type
Page
status
Invisible
date
Nov 6, 2025
slug
summary
第2篇精读论文
tags
车联网
机器学习
category
icon
password
Revisiting Automotive Attack Surfaces: a Practitioners’ Perspective 原文链接:https://ieeexplore.ieee.org/document/10646688
发表会议:2024 IEEE Symposium on Security and Privacy (SP) 核心方向:从汽车网络安全从业者视角,揭示现有法规局限,提出改进的威胁数据库与自动化工具,解决现代车辆攻击面复杂、TARA(威胁分析与风险评估)低效问题。

一、研究背景与核心问题

  1. 现代车辆的安全挑战:攻击面与 IVN 拓扑双重复杂化 随着车辆智能化、网联化发展,传统 “封闭硬件” 模式被打破,安全风险呈指数级增长,具体体现在两方面:
      • 外部攻击面扩展:车企为车辆新增远程控制(如远程开门、预热)、OTA 更新、车载浏览器等功能,导致攻击入口从传统的 OBD-II 端口,扩展到 Wi-Fi、蓝牙、官方 APP、后端服务器等,且这些新入口缺乏成熟的安全防护标准
      • 内部 IVN 拓扑复杂化:为支撑 ADAS(高级辅助驾驶)、IVI(车载信息娱乐)等功能,ECU(电子控制单元)数量激增,IVN 拓扑从 “两总线” 升级为 “网关分段架构”(如 infoCAN、bdCAN 等域总线通过网关隔离),甚至未来的 “区域架构”,传统攻击路径(如直接 CAN 注入)因网关防护失效,新的跨域攻击路径难以识别
  1. 现有法规存在缺陷 当前汽车网络安全核心法规(WP29 R155e、ISO 21434、GB/T 40861-2021)虽试图建立行业基准,但通过专家访谈发现,其在实操中存在两大致命缺陷:
      • 缺陷 1:威胁案例质量差,缺乏汽车专属属性 现有法规的威胁多复制自 IT 领域(如通用网络攻击),未覆盖汽车高频、专属威胁(如 IVI 浏览器漏洞、远程控车 APP 密钥泄露);且威胁描述仅包含 “攻击现象”,缺少攻击路径(AD)、根本原因(RC)、安全测试方法(STA)、缓解措施(MG) 等关键维度,专家对 WP29 R155e 和 GB/T 的威胁质量评分仅 2.77 分、2.72 分(满分 5 分),其中 STA 维度评分最低(分别为 1.38 分、1.76 分)
      • 缺陷 2:TARA 流程低效,缺乏自动化与客观标准 ISO 21434 仅提供 TARA 的 “高层方法论”(如 “识别资产→分析威胁→评估风险”),但未定义具体执行标准:
        • 资产识别难:依赖车企提供的文档,常因信息不全需反复沟通,占 TARA 总耗时 50% 以上(如专家 P14 反馈 “资产识别耗时超 TARA 一半”);
        • 结果一致性差:风险评估依赖主观经验,同一产品的整车厂与供应商 TARA 结果差异显著(如专家 P12 提到 “我们与供应商的 TARA 结果完全不同”);
        • 自动化程度低:攻击路径分析、风险计算全靠人工,无工具支持(15 位专家均反馈 “TARA 依赖个人经验,无法自动化”)。
因此采用以下方式来填补上述不足: 3. 改进的汽车威胁数据库 4. 一种TARA自动化工具

二、研究方法

第一步:专家访谈研究(核心数据来源)

为精准捕捉行业痛点,研究团队设计了半结构化访谈,覆盖 “安全实践→法规评估→改进建议” 全维度:
  • 访谈对象:15 位汽车网络安全专家,来自 9 家企业(8 家整车厂、9 家第三方供应商,含 2 家兼具双重角色的企业),平均安全领域经验 6 年,含 2 位超 10 年资深专家(P1:10 年,P14:20 年),角色涵盖 TARA、安全测试、项目管理、法规研究,确保视角全面;
    • image.png
  • 访谈流程
      1. 协议设计:基于 3 大目标(识别行业挑战、评估法规有效性、收集改进建议),先从现有法规(ISO 21434、WP29 R155e 等)提取 38 个初始威胁,设计访谈提纲,经 10 轮预访谈优化后定稿;
      1. 实施过程:2022 年 11 月 - 2023 年 3 月,通过线上会议开展,记录屏幕与音频,访谈时长 38 分钟 - 2 小时 52 分钟,会后将初步整理的威胁数据库反馈专家确认;
      1. 数据分析:采用 “迭代开放编码法”—— 全体作者制定初始编码本,2 位作者独立编码,解决冲突后更新编码本,直至无新代码出现,最终提炼 20 条关键见解;
  • 伦理考量:访谈前明确数据用途与匿名化规则,获专家及企业授权,转录文本剔除敏感信息(如企业名称、车型),数据存储符合 GDPR 规范。
  • 流程:半结构化访谈(2022.11-2023.3)→ 转录文本→ 迭代编码→ 验证威胁数据库。
    • image.png

第二步:核心解决方案设计(针对访谈痛点)

访谈发现的 “威胁库质量低”“TARA 自动化不足” 两大痛点

(1)改进的汽车威胁数据库:分层 + 知识图谱,填补行业空白

针对现有威胁库 “不具体、无关联” 的问题,基于 15 位专家的帮助,构建了 “主题(TT)- 代码(TC)- 描述(TD)” 三层架构威胁数据库 ,并通过知识图谱(TKG)体现威胁关联:
  • 分层架构细节
层级
定义
数量 / 示例
威胁主题(TT)
高层分类,基于 “威胁载体 / 场景” 划分
7 个,如 T2(车载组件)、T3(车外组件)、T4(通信协议)
威胁代码(TC)
中层分类,对应具体的汽车组件 / 功能
28 个,如 T2 下的 C6(IVI)、C10(ADAS),T3 下的 C14(官方 APP)、C15(后端服务器)
威胁描述(TD)
最小单元,包含 AD、RC、STA、MG 四维度详细信息
119 个,如 “IVI 浏览器远程代码执行:AD(通过恶意网页触发)、RC(浏览器沙箱失效)、STA(模糊测试)、MG(更新浏览器补丁)”
  • 威胁知识图谱(TKG):为解决 “威胁孤立无关联” 问题,用三元组(头实体,关系,尾实体)表示威胁间逻辑,如(C6.IVI,易受… 威胁,C6.USB)(IVI 的 USB 接口易引发 IVI 安全问题)、(C14. 官方 APP,依赖… 认证,C15. 后端服务器)(APP 需与服务器认证,服务器漏洞影响 APP 安全),共构建 109 个三元组,辅助 TARA 时的 “跨组件威胁分析”;
  • 数据库优势:较现有法规,数量上从 38 个威胁扩展到 119 个,质量上补充了汽车专属威胁与 STA/MG 细节,结构上通过 TKG 实现 “关联分析”,完整数据库可通过作者提供的链接获取。

(2)CarVal 工具:基于 Datalog 的 TARA 自动化工具

针对 TARA“无工具、低效率” 问题,研究团队提出首个基于 Datalog 的汽车攻击路径推理与风险评估工具,核心是 “将 IVN 拓扑与威胁规则转化为逻辑语句,自动生成攻击路径并计算风险”:

挑战

  1. 无 IVN 专属攻击推理规则:传统工具依赖 IT 网络人工制定的规则,缺乏适配 IVN 的推理逻辑。
  1. IVN 拓扑复杂(网关分段 + 总线广播)难以建模:企业网络中节点均视为 “统一规则主机”,而 IVN 由多配置 ECU、广播型总线(如 CAN)及网关组成,传统工具无法精准表征。
  1. 传统工具仅计算攻击可行性,忽略汽车场景攻击影响:现有方法仅评估攻击实施的可能性,未结合汽车安全标准(ISO 21434)要求的 “攻击影响”,输出结果不完整。

解决方案

  1. 基于 15 位汽车安全专家访谈构建的威胁数据库,提炼 IVN 专属推理规则(如 “ECU 代码执行→总线广播”、“网关转发漏洞→跨域攻击”),覆盖 ECU 交互、总线特性等车载场景特性。
  1. 提出 “总线广播模型 + 网关星型模型” 混合架构 —— 前者适配 CAN 总线 “一发多收” 的广播特性,后者描述网关对不同域总线(如 infoCAN、bdCAN)的隔离与转发逻辑,实现 IVN 拓扑的 Datalog 格式转化。
  1. 在风险评估模块中,同时计算 “攻击可行性(F)” 与 “攻击影响(I)”,并参考 ISO 21434 构建风险值(R)计算模型,覆盖汽车场景的安全需求。

三、复现

项目地址:https://github.com/VehicleCyberSec/CarVal

环境安装

安装必要依赖

安装XSB环境

最终安装路径:~/tools/XSB
因为 configure 会误引用 “xsb-5.0.0”,所以创建一个同名软链接指向当前目录:
编译与安装

添加环境变量

把以下内容写到.zshrc中
保存后使配置生效

安装mulval

测试安装是否成功
若在文件夹中生成AttackGraph.pdf则说明成功
image.png

CarVal使用

先按github项目介绍中替换复制相关文件到mulval,然后在mulval/utils/文件夹下执行
执行后出现报错如图
image.png
查看xsb_log.txt显示如下
排查后发现问题: carval_infer.sh硬编码了一个不存在的 XSB 路径:
/home/philjin/Downloads/XSB-5.0/XSB/bin/xsb
解决方法如下:
执行后再次执行
成功
原因:把它改成裸命令 xsb 之后,Shell 会按 PATH 去搜索并找到你在 WSL 里已经可执行的 xsb,所以就能跑通了。
image.png
执行如下命令,若提示缺少库则按提示安装
image.png
最后可以在目录下看到risk_access_output.png文件
notion image

Datalog

定义

Datalog 是一种用于逻辑推理(Logic Programming)**的语言,它是 Prolog 的一个子集,主要用于表示事实(facts)和规则(rules),并通过逻辑推理自动生成结论(inference)。
可以理解为:
  • SQL 是“关系数据库的查询语言”;
  • Datalog 是“关系数据库的逻辑推理语言”。
它广泛用于:
  • 网络安全推理(MulVAL、CarVal)
  • 静态程序分析
  • 访问控制策略分析
  • 语义网络 / 知识图谱推理
  • 数据流分析与逻辑约束求解

组成结构

Datalog 程序主要由三种语句组成:
类型
说明
举例
事实(Fact)
具体存在的已知条件(数据)
vulExists(webServer, cve2021).
规则(Rule)
条件逻辑,用于推理新事实
canAttack(X, Y) :- vulExists(Y, V), netAccess(X, Y).
查询(Query)
想要推理的问题
?- canAttack(attacker, database).
规则语法:
表示:如果 body1、body2、body3 都为真,则 head 为真。

一个简单示例

假设我们有如下 Datalog 程序:
执行推理后,我们可以得到新的事实:
解释为:主机 a 可以攻击主机 b,因为它们连接且 b 有漏洞。

Datalog 与 Prolog 的区别

特性
Datalog
Prolog
语法
无函数、仅有关系
支持函数、递归复杂结构
执行顺序
声明式(顺序无关)
过程式(顺序会影响)
用途
推理、约束、分析
通用逻辑编程
安全性框架应用
✅ MulVAL, CarVal
❌ 通常不用
在 CarVal 中,Datalog 是通过 XSB Prolog 引擎 运行的(也就是 xsb 命令),所以实际上是用 Prolog 的语法执行 Datalog 的逻辑。

代码文件梳理

文件名
类型
功能定位
主要作用
carval_infer.sh
Shell脚本(.sh
主运行脚本
整个分析流程的“入口文件”。负责调用 MulVAL 的推理引擎(XSB)、载入规则与输入文件、生成攻击图输出。最终产出 AttackGraph.dot 等文件。
input_IVN.P
Datalog输入文件(.P
系统/拓扑描述
定义系统资产、网络拓扑、漏洞、访问关系等事实(facts),是推理的输入数据。例如:主机、ECU、通信总线、漏洞描述等。
interaction_rules.P
Datalog规则文件(.P
推理逻辑规则
定义“如何从事实推出新事实”。即推理规则(rules),例如“若A能访问B且B存在漏洞→A可攻陷B”。类似 MulVAL 的知识库(knowledge base)。
risk_assessment.py
Python脚本
后处理与风险分析
从 MulVAL 推理生成的结果(如 .dot 攻击图)中读取信息,对节点进行风险评估与可视化。生成最终的 risk_assess_output.pdf/png

carval_infer.sh

carval_infer.sh 是 CarVal/MulVAL 的主驱动脚本:把规则与事实拼成 XSB(Prolog)运行脚本,调用 XSB 执行推理,随后把推理产物转换为攻击图并做后处理(CSV、可视化、XML、风险评估等)。
Loading...