欢迎光临第五届中国汽车网络信息安全峰会2020!

使用STRIDE对互联汽车进行威胁建模

发布日期:2020-07-29

GRCC IoVSecurity 今天 

手机阅读

点击上方蓝色字体,关注我们

“ 即使是话语,甚至是一个诗意的或神谕式的句子,也会伴随着产生类似事物的规则体系,从而形成一个方法论的大纲。” -雅克·德里达


背景


本文的目的是分解一种有条不紊的方法,以便将Microsoft STRIDE威胁建模框架以高保真度应用到主机(HU)或网络物理车辆(CPV)的信息娱乐系统。我们将通过研究数据流程图(DFD),考虑到缺乏安全控制措施以及在通信的关键入口点(例如WiFi)中如何存在漏洞来研究HUs固有的不同类型的威胁和漏洞。或GSM,可能会影响整个系统的安全完整性。威胁建模的目的是考虑不同的风险处理选项,以减轻HU设计阶段在威胁建模过程中发现的威胁和漏洞。


威胁建模过程是针对系统识别,枚举潜在威胁和漏洞并对其进行优先级排序的行为,以便对系统中可能的攻击者的个人资料,可能的攻击媒介和高价值目标进行系统的分析。


对互联汽车的单个系统(例如HU或TCU)执行威胁模型,可以回答以下三个基本问题:


  1. 目标系统中有哪些资产?

  2. 系统中的漏洞在哪里?

  3. 有哪些最相关的威胁和可能利用的漏洞?


联网汽车中的主机(HU),也称为信息娱乐系统,是车载娱乐系统和汽车特性和功能的行政控制(例如控制车门后视镜自动旋转)的神经中枢。汽车已关闭或启用/禁用了蓝牙等功能。因此,HU现在不仅对于提供娱乐功能,不仅要像以前的旧接收器或仪表板立体声系统一样重要,而且现在还使驾驶员能够管理汽车的功能。配置车载网络,例如WiFi;并查看车载警告数据,使其立即成为辅助仪表盘。尽管许多主机根据汽车的品牌和型号(包括成本)提供不同的功能,但它们之间却因技术堆栈的独特差异而分开,从操作系统到运行在其上的应用程序,包括AndroidOS到其他嵌入式操作系统,例如Nvidia Linux。


“ Joe Public”不为人知,主机实际上并不是由汽车制造商自己制造的。取而代之的是,汽车制造商将在大街上发布RFP(征求建议书),供HU的不同制造商竞标并最终建造,然后将其安装到生产线的汽车中。存在不同的HU制造商,例如现在由三星拥有的HARMAN。大陆集团,Aptiv PLC和电装等仅举几例。


在过去5到10年中,汽车制造商的许多RFP现在包含OEM的工作范围中要求的部分,以执行渗透测试以及HU的风险评估,以及渗透测试公司在发布时的报告。具有已修复的严重漏洞的交付。这是业界对许多关键漏洞的回应,这些漏洞已导致通过与HU相连的汽车的远程信息处理控制单元(TCU)破坏和远程控制CPV。三年前,吉普车中的一个漏洞使研究人员可以完全控制CPV,从移动方向盘到控制刹车和加速。


STRIDE


STRIDE由Microsoft的Prarit Garg和Loren Kohnfelder于1999年4月在题为“对我们产品的威胁”的论文中开发,它是针对所审查系统的各种类型漏洞的助记符:欺骗,篡改,可重复性,信息披露, 拒绝服务和特权提升。Garg和Kohnfelder提出STRIDE框架的原动力是为了识别软件的威胁和漏洞,但正如我将在本文中演示的那样,它可以轻松地应用于对HUV和TCU等CPV系统进行威胁建模。


在博客文章的限制范围内,我将尝试使用STRIDE框架尽可能深入地研究威胁建模过程,但是,如果您想进行更深入的研究,我将在我的下一本书中以更大的忠诚度进行介绍, 可以在Amazon或Barnes&Noble上进行预购,以破解联网汽车,战术技术和程序。官方书籍网站位于我的主页上,网址为www.alissaknight.com。


STRIDE应用


我们最初的“从臀部冒出来”的反应是,首先开始尝试查找系统中的漏洞,然后迅速着手解决问题,并尝试购买安全措施来处理这些风险。但是您无法保护自己不知道的东西。


“您无法保护自己不知道的东西。”


在本文中,我们将针对HU进行威胁建模。



创建资产登记册。在了解HU中的威胁和漏洞之前,您需要首先了解HU中的资产。此过程是系统分解为逻辑和结构组件的过程。资产应包括在系统内部进行内部通信的系统过程/元素,或与外部元素进行通信或与内部元素进行通信的资产。资产寄存器还应包含进入OS(操作系统)上运行的系统进程,数据存储,数据流和信任边界的入口点。实际上,您正在做的是绘制所有元素及其与之通信的内容。


例:

  1. 无线电芯片组

  2. 音频放大器

  3. WiFi接口

  4. 蓝牙接口

  5. DDR内存

  6. 快闪记忆体

  7. 汽车应用处理器

  8. 系统MCU

  9. 相机输入

  10. USB接口

  11. SD卡驱动器

  12. 彩色TFT LCD


识别威胁。接下来,您将创建一个数据流程图(DFD);根据输入和输出说明系统如何处理,传输和存储数据。DFD具有标准形状,以表示数据流程图中的不同元素:


  1. EE:外部实体(例如,通信端点)

  2. P:处理(例如功能)

  3. DF:数据流(两个元素之间的数据传输)

  4. DS:数据存储(数据存储,包括数据库,日志,数据输出或文件-还包括信任边界)


下表将每种DFD元素类型与STRIDE框架对齐:


图1:DFD元素到STRIDE框架的映射(Khan,Rafiullah&Mclaughlin,Kieran&Laverty,David&Sezer,Sakir。,2017)


正如Larry Constantine和Ed Yourdon最初描述的那样,DFD在1970年代流行于软件开发中,它是在UML图概念出现之前为软件系统的可视化而创建的。具体地说,数据流程图说明了两个元素之间的数据传输,称为输入和输出。顾名思义,DFD映射了图中元素之间的数据传输,处理和存储。


在此步骤中,您将根据之前为每个组件定义的STRIDE威胁,识别对HU的威胁。但是在这样做之前,您首先需要决定如何完成。有两种执行STRIDE威胁建模的方法:


  1. 每个元素的步幅:这种威胁建模方法是针对每个单独的组件执行的,这使其更加耗时,详尽且费力。但是,在某些情况下,每个元素的模型很有意义。但是,它不能有效地识别由于组件之间的交互而产生的威胁。例如,仅当存在用于通信的无线网络和先前建立的无线会话时,TCU和HU之间已建立的无线连接之间的WiFi Evil Twin攻击才会作为威胁出现。


  2. 每次互动的步数:这种类型的模型通过考虑正在传输的数据的元组(来源,目的地,互动)来列举针对组件之间互动的威胁。这种类型的建模耗时少且详尽,因为它涉及较少的要建模的组件。这种类型的模型非常适合网络安全威胁,因为折衷方案通常涉及源和目标之间的通信。


识别漏洞。接下来,您将确定第一步中记录的单个资产中的漏洞。这将包括被动和主动漏洞分析。被动分析的一个示例是不向目标系统发送任何数据包,而是在线进行分析,例如研究供应商咨询和针对HU上运行的OS和应用程序的开源漏洞数据库。为了进行主动分析,您可以使用端口扫描程序(例如nmap),针对任何正在运行的服务的漏洞扫描程序,或用于OEM创建的自定义书面服务的协议模糊处理程序(非常常见)。


然后将根据STRIDE方法对漏洞进行分类


  1. 欺骗:攻击者试图成为某人或他/她不是的某人;

  2. 篡改:攻击者试图修改在系统组件或组件与用户之间交换的数据;

  3. 抵赖:攻击者使用不可归因的系统或组件执行操作;

  4. 信息披露:攻击者能够读取系统正在传输或存储的私人数据;和

  5. 拒绝服务:攻击者可以阻止乘客或系统组件相互访问,例如影响系统或车辆的可用性或正常运行。


用例


在本部分中,我将使用HU和TCU的STRIDE执行示例威胁模型,以便您可以看到此处介绍的实践原则。



图2:HU + TCU的DFD示例


图3:HU + TCU的DFD的STRIDE威胁模型示例


总结


尽管存在多种威胁建模框架,但本文涵盖了网络物理系统STRIDE中使用的通用框架。在本系列的下一篇文章中,我们将描述PASTA框架的独特特性,以及如何将其用于执行互联汽车的威胁建模。

尽管我在本文中确实尽职尽责,可以针对CPV执行您自己的STRIDE威胁建模练习,但我的下一本书《黑客破解互联汽车:战术,技巧和过程》以及示例模板中对此主题进行了详细介绍。可以从官方书籍的网站上下载。


作者:Alissa Knight,骇客 | 网络安全内容创建者| 影响者| 发表作者

原文链接(需fanqiang):https://medium.com/@alissaknight/threat-modeling-of-connected-cars-using-stride-e8184764eb0a



相关文章

智能网联汽车软件安全测试关键技术研究
AUTOSAR 基础软件的内在安全
将硬件安全模块引入嵌入式系统 .ppt




SELECTED EVENTS




 

长按二维码识别关注



我就知道你“在看”


  • 电话咨询
  • 15021948198
  • 021-22306692
None