第1章,确保web地址正确应该怎么解决

正确 7
第1章理解威胁模型
2 汽车黑客大曝光 如果你来自软件渗透测试行业,可能已对“攻击面(attacksurface)”的概念了如指掌;而对于尚不了解它的其他人而言,该术语是指攻击一个目标可以采用的所有方式,范围涵盖从单个部件的脆弱性到影响整车的脆弱性。
在讨论“攻击面”时,本书并不考虑具体如何攻陷目标,而只关注攻击的切入点。
可将其想象为物体的表面积和体积的对应关系,两个物体可能体积相同但表面积差异极大。
而表面积越大,则意味着它暴露在风险中的概率越大。
如果用物体的体积比喻其价值,则加强安全性的目标是获得更低的风险/价值比。
1.1寻找攻击面 在评估一辆车的攻击面时,可将自己想象为一名试图对车干坏事的间谍。
为了找到车的安全缺陷,需要评估车的周界,并记录车所处的环境。
在评估过程中,务必考虑数据进入车辆的所有方式,即找到车辆与外界通信的一切途径。
在检查车辆的外部时,需要考虑如下问题:●该车接收哪些信号?无线电波?遥控钥匙?距离传感器?●有无物理键盘访问?●有无触控或运动传感器?●如果该车是电动的,它用什么方式充电?在检查车辆内部时,可考虑如下问题:●车载音响如何接受音频输入?是CD、USB还是蓝牙?●有没有诊断接口?●仪表盘有何功能?是否有GPS、蓝牙或连接?综上可见,数据能从多种途径进入车辆。
如果其中有畸形或恶意构造的数据,会有什么事情发生呢?此时就轮到威胁建模这种方法大显身手了。
1.2威胁建模 关于威胁建模已有多部大部头专著,不过本书在此只打算让你快速了解它,以便能够建立自己的威胁模型(如果还有一些进一步的问题或是对本节内容感兴趣,可深入阅读其他书籍)。
在对汽车进行威胁建模时,需要首先收集目标的架构信息,并绘制其部件的通信关系框图。
然后使用关系框图识别出高风险的输入,并创建和维护安全审计检查表;这样做有助于将可能带来最大回报的攻击入口点列为优先处理对象。
威胁模型通常创建于产品的开发和设计阶段。
如果某种产品的生产商有着良好的开发生命周期,它会在产品开发伊始就建立威胁模型,并随着产品开发生命周期的推进,持续更新模型。
威胁模型是“活”的文档,随着建模对象发生变化以及建模者对建模对象认识的不断深入,威胁模型会随之改变,因此应当经常更新威胁模型。
第1章理解威胁模型
3 威胁模型可以包含多个层级。
如果模型中的某个过程过于复杂,应当考虑通过在模型框图中增加层级,将该过程进一步分解。
但是,在建模初始阶段,你往往只能分解到Level2级。
下面将从Level0级开始介绍各个不同的层级。
1.2.1Level0级:鸟瞰视图 进行本级建模时,需要参考在分析攻击面时建立的检查表。
分析数据通过何种方式进入车辆。
将车辆绘制在中心,并标注出内部空间和外部空间。
Level0框图的范例如图1-1所示。
蜂窝移动(手机)通信 蓝牙 车外 车辆 车内 信息娱乐/导航控制台 OBD-II连接器CAN总线接续器 图1-1Level0级输入 在图1-1中,矩形框表示输入,中心的圆形代表整辆汽车,在输入到达车的过程中穿过的两条点虚线则分别表示外部和内部威胁的边界。
车辆周围的圆形并不表示某个输入,而表示一个复杂过程——也就是一系列可进一步分解的任务。
所有过程都有编号,如图1-1所示,图1-1中的过程被编号为1.0。
如果在威胁模型中有多个复杂过程,则将编号顺延。
例如,第二个过程编号为2.0,第三个则是3.0,以此类推。
随着对汽车功能了解的逐步深入,对模型框图作相应的更新。
如果对框图中的某些缩写感到生疏,不必担心,稍后很快就会介绍。
1.2.2Level1级:接收端 要继续进行Level1级框图建模,需要选择一个过程进行分析。
由于图1-1中只有一个“车辆”过程,因此本节将深入该过程内部,聚焦于各个输入与哪些对象交互。
图1-2中的Level1级映射图与Level0级中的几乎相同,唯一的区别是在Level1级映射图中标识出了一些接收Level0级输入的车辆数据连接。
在本级中暂时不对接收端作
4 汽车黑客大曝光 深入分析,而只关注与输入交互的各个基本设备或区域。
蜂窝移动(手机)通信远距离车外 蓝牙近距离车外 近距离车外CAN总线接续器 车内车辆内部网络 信息娱乐/导航控制台 OBD-II连接器 防盗系统 TPMS接收器 图1-2Level1输入与车辆数据连接的映射关系图 请注意,在图1-2中对每一个接收端进行了编号。
第一位数字代表Level0级框图(见图1-1)中的过程编号,第二位数字则代表该接收端的编号。
由于信息娱乐单元既是一个复杂的过程,也是数据输入源,因此这里用一个圆形过程符号表示它。
另外还有其他3个过程:防盗系统、ECU(ElectronicControlUnit,电子控制单元)和TPMS(TirePressureMonitoringSystem,胎压监测系统)接收器。
Level1级框图中的点虚线表示信任域的边界。
框图顶部的输入是最不被信任的,而框图底部的信任级别最高。
通信信道穿过的信任边界数量越多,意味着它的风险程度越高。
1.2.3Level2级:接收端分解 在Level2级,对车辆内部的通信进行分析。
示例框图(见图1-3)关注了某个基于Linux的信息娱乐控制台,即图1-2中的接收端1.1。
它是接收端中较为复杂的之
一,且往往直 第1章理解威胁模型
5 接连接到车辆内部网络。
在图1-3中,使用代表信任边界的虚线框对通信信道进行分组。
现在,信息控制台 内部新增了一条称为内核空间的信任边界。
能直接与内核交互的外部系统的风险级别高于与系统应用程序交互的外部系统,因为前者可能绕过信息娱乐单元上的访问控制机制。
例如,蜂窝移动(手机)通信信道的风险级别比WiFi信道高,因为蜂窝移动(手机)信道穿过了一条信任边界直达内核空间。
另一方面,WiFi信道则与用户空间中的WPA客户端进程通信。
远距离车外 蜂窝移动(手机)通信 近距离车外蓝牙 WPA客户端 内核 空间 图1-3信息娱乐控制台的Level2级映射图 该系统是一个基于Linux的IVI(In-Vehicle-Infotainment,车载信息娱乐)系统,它使用与Linux环境通用的部件。
在内核空间中,可以看到对udev、HSI和Kvaser这3个接收本威胁模型输入的内核模块的引用。
其中,udev加载USB设备,HSI是处理蜂窝通信的串口驱动程序,而Kvaser则用于驱动车辆的内部网络。
Level2级威胁模型的编号形式为x.x.x,继续沿用如前所述的标识系统。
在Level0级框图中,将整辆汽车的信息处理过程标识为1.0,在对该过程进行更深入分析的Level1级框图中,将其中的过程分别标识为1.1、1.2等,依次顺延。
由于在Level2级框图中选择了信息娱乐控制台过程1.1并对其进行了进一步分解,因此在Level2级框图中将复杂
6 汽车黑客大曝光 过程标识为1.1.1、1.1.2等,依次顺延(在深入分析过程时,可以继续使用该编号方案。
该编号方案旨在满足文档编制需求,通过它可以准确引用合适层次的某个过程)。
注意:理想情况下,本阶段应能标注出哪个过程处理哪个输入的对应关系,但目前还只能依赖猜测。
在现实条件下,往往需要对信息娱乐系统进行逆向工程以获取这一信息。
在建造或设计汽车系统的过程中,应当对尽可能多的复杂过程进行持续“下钻”式分析。
邀请开发团队参与工作,讨论每个应用程序所用的库和方法,以将这些库和方法纳入该应用程序自身的威胁框图。
在进行应用程序级的建模分析时,往往会发现信任边界通常处于应用程序和内核之间、应用程序和库之间、应用程序相互之间,甚至是应用程序内部的函数与函数之间。
在分析这些连接时,标出那些具有更高权限或处理更敏感信息的方法。
1.3威胁识别 现在已经介绍了威胁建模映射中的两个层级,可以开始进行潜在威胁的识别工作了。
和一群人一起围着白板进行威胁识别往往会更有趣,不过也可以把它当成一种思维练习独自完成。
下面一起进行这项练习。
从Level0级“鸟瞰视图”开始,结合输入、接收端和威胁边界分析潜在的高层安全问题。
本书现在将使用上述威胁模型列出所有的潜在威胁。
1.3.1Level0级:鸟瞰视图 在判定Level0级潜在威胁时,需要站在更高层次进行思考。
尽管某些威胁似乎由于已知的额外障碍或防御措施而显得不现实,但至关重要的是将所有可能威胁都记录到威胁列表中,即使其中某些威胁已得到处理。
本级威胁识别的要点在于通过头脑风暴找出各个过程和输入的所有风险。
Level0级的高级威胁是指攻击者可能:●远程接管车辆●使车辆停车●偷窥车上乘员●解锁车辆●偷窃车辆●跟踪车辆●破坏安全防护系统●在车上安装恶意软件在这个阶段刚开始时,可能难以设想出很多攻击场景。
邀请非工程师人员参与本阶段的工作往往会有很多益处,因为开发者和工程师常常过度关注内部细节,从而自然、无意识地忽略了某些思路。
第1章理解威胁模型
7 为充实攻击场景,需要发挥创造力,想象一下最经典的“007电影反派”式攻击。
此外,还可以运用联想思维,分析其他攻击场景是否可以应用于汽车攻击。
例如,勒索软件(一种可以加密或锁定电脑或手机,直到受害者向远程控制该软件的攻击者支付赎金的恶意软件)能用于攻击汽车吗?答案是肯定的,那么就把勒索软件记入威胁列表。
1.3.2Level1:接收端 相对于可能直接与某个输入相连的连接,Level1级威胁的识别更关注各个接收端上的连接。
列入本层级的脆弱性与某些其他脆弱性相关,这些其他脆弱性能够影响连接到车内设备的装置。
按照相关连接方式,可将此层级的脆弱性分为蜂窝、WiFi、遥控钥匙(KES)、胎压监测系统、信息娱乐控制台、USB、蓝牙和CAN总线连接共8个威胁分组。
从下面的列表可见,侵入汽车的可能途径多种多样、五花八门。

1.蜂窝 利用车辆的蜂窝连接,攻击者可以:●从任意位置访问车辆内部网络●利用处理来电的信息娱乐单元中的应用程序●通过信息娱乐单元访问SIM卡●使用蜂窝网络接入远程诊断系统(如OnStar)●监听蜂窝通信●干扰呼叫●跟踪车辆运动●建立GSM伪基站
2.Wi-Fi 利用WiFi连接,攻击者可以:●在300码(甚至更远)距离外远程访问车辆内部网络●找到Wi-Fi入站连接处理软件脆弱性的方法●向信息娱乐控制台植入恶意软件●破解Wi-Fi密码●设置虚假供应商接入点欺骗车辆,让其认为处于维修服务状态●拦截Wi-Fi网络通信●跟踪车辆
3.遥控钥匙 利用遥控钥匙连接,攻击者可以:●发送将防盗系统置于未知状态的畸形遥控钥匙请求(防盗系统应锁定车辆以防止 短路启动,需要确保防盗系统工作正常)
8 汽车黑客大曝光 ●持续向防盗系统发送探测信号,从而耗尽车载蓄电池的电量●锁定钥匙●捕获在防盗系统与遥控钥匙握手过程中泄露的加密信息●暴力破解钥匙加密算法●复制遥控钥匙●阻塞遥控钥匙信号●耗尽钥匙电源
4.胎压监测系统 利用TPMS连接,攻击者可以:●向ECU发送实际不可能出现的状态,导致其出现可利用的错误●欺骗ECU,令其对虚假路面状况做出过度补偿●将胎压监测系统或ECU置于不可恢复的异常状态,欺骗司机停车检查轮胎漏气 报警,甚至直接关闭发动机●通过胎压监测系统的唯一ID跟踪车辆●伪造胎压监测系统信号,触发内部告警
5.信息娱乐控制台 利用信息娱乐控制台连接,攻击者可以:●将控制台置于调试模式●更改诊断设置●寻找导致异常结果的输入bug●在控制台上安装恶意软件●使用恶意软件访问车内CAN总线网络●使用恶意软件监视乘员行为●使用恶意软件向用户显示虚假信息,例如车辆位置
6.USB 利用USB端口,攻击者可以:●在信息娱乐单元上安装恶意软件●利用信息娱乐单元的USB协议栈缺陷●连接恶意USB设备,其中包含为破坏信息娱乐单元上的数据导入软件而专门构 造的文件,例如地址簿或MP3解码器等●在车辆上安装篡改过(固件)的更新软件●短路USB端口,从而(物理)损坏信息娱乐系统
7.蓝牙 利用蓝牙连接,攻击者可以: 第1章理解威胁模型
9 ●在信息娱乐单元上执行代码●利用信息娱乐单元的蓝牙协议栈缺陷●上传可用于执行代码的畸形数据(如畸形地址簿)●近距离(300英寸以内)访问车辆●干扰蓝牙设备
8.CAN 利用CAN连接,攻击者可以:●安装恶意诊断设备,向CAN总线发送数据包●直接插入CAN总线以不用钥匙启动车辆●直接插入CAN总线,上传恶意软件●安装恶意诊断设备,跟踪车辆●安装恶意诊断设备,给CAN总线提供远程接入通道,令通常局限于内部的攻击 变为外部威胁 1.3.3Level2级:接收端分解 在Level2级,可以更多地讨论识别特定威胁。
在分析具体哪个应用程序处理何种连接时,可以开始基于可能的威胁进行验证。
本书在此将本级威胁分为5类:Bluez(蓝牙守护进程)、wpa_supplicant(Wi-Fi守护进程)、HSI(高速同步接口蜂窝内核模块)、udev(内核设备管理器)和Kvaser驱动(CAN收发器驱动程序)。
下面列举各个程序面临的威胁。
BluezBluez守护进程的旧版或未打补丁的版本可能:●被攻陷利用●无法处理被破坏的地址簿●未按确保正确加密的方式配置●未按处理安全握手的方式配置●使用了默认密钥 wpa_supplicant●旧版本可能被攻陷利用●可能未启用正确的WPA2方式进行无线加密●可能连接到恶意接入点●可能通过BSSID(网络接口)泄露驱动程序信息 HSI●旧版本可能被攻陷利用●可能易受串行通信注入攻击(攻击者在通信数据流中插入串行通信命令的中间人 攻击) 10汽车黑客大曝光 udev●旧版本可能易受攻击●可能没有及时维护的设备的白名单,从而允许攻击者加载未经测试的驱动或 USB设备●可能允许攻击者加载外部设备,例如用于访问信息娱乐系统的键盘 Kvaser驱动●未打补丁的旧版本可能被攻陷利用●可能允许攻击者向Kvaser设备上传恶意固件上述潜在威胁列表远不完备,但应该能让你对如何进行威胁识别的头脑风暴活动有个初步认识。
如果准备继续进行车辆的Level3级潜在威胁映射,选择其中某个过程,如HSI,然后通过分析其内核源码,识别易受攻击的敏感方法和依赖关系。
1.4威胁分级体系 记录了大量威胁后,即可采用风险等级对它们进行评价。
常用的威胁分级体系包括DREAD、ASIL(汽车安全完整性等级)和MIL-STD-882E等。
其中,DREAD常用于Web测试中,而汽车工业和政府部门则分别使用ISO26262ASIL和MIL-STD-882E进行威胁评级。
遗憾的是,ISO26262ASIL和MIL-STD-882E关注的是安全防护失效,不足以处理恶意威胁。
有关这些标准的详细介绍可访问/index.php/Policies_and_Guidelines。
1.4.1DREAD分级体系 DREAD是以下几个词的英文缩写:●危害程度(DamagePotential):该威胁造成的破坏有多大?●可复现性(Reproducibility):该威胁复现的难易程度如何?●可利用性(Exploitability):利用该威胁进行攻击的难易程度如何?●影响的用户(AffectedUser):有多少用户受到影响?●易发现性(Discoverability):找到脆弱性的难易程度如何? D(危害程度)R(可复现性)E(可利用性) 表1-1DREAD分级体系 高
(3)
(2) 可破坏安全系统,获取完可导致敏感信息泄露 全信任,彻底接管环境 总是可复现 只能在特定条件下或时间窗 口复现 攻击新手即可执行利用有经验的攻击者可创建可重 代码 复进行的攻击 低
(1)可导致不重要的信息泄露 即使提供了脆弱性的详细信息也非常难以复现只有具备深厚背景知识和经验的攻击者才能进行该攻击 第1章理解威胁模型11 A(影响的用户)D(易发现性) 高
(3)影响所有用户,包括默认用户和关键客户可在公开发布的攻击解释中找到 中
(2)某些用户或特定的配置受到影响影响某个很少使用的部分,意味着攻击者必须富于创造力才能发现恶意利用的方法 (续表)低
(1)只影响很小比例的用户,通常影响生僻的功能非常生僻,意味着攻击者不太可能发现利用方法 现在即可将表1-1中的各项DREAD指标应用到前面识别出的某个威胁,并对该威胁的此项指标由低到高(1至3)评分,以1.3.3节“Level2级:接收端分解”中讨论的Level2级HSI威胁为例,得到的威胁评分表如表1-2所示。
表1-2带DREAD评分的HSILevel2威胁表 HSI威胁
D R
E A
D 总计 旧版本可能被攻陷利用
3 3
2 3
3 14 可能易受串行通信注入攻击
2 2
2 3
3 12 接下来可按表1-2中的“总计”值一列对威胁程度进行总体评价,如表1-3所示。
总计值5至78至1112至15 表1-3DREAD风险评分表 风险级别低中高 在进行风险评估时,清晰地列出结果分值是一种好习惯,可使阅读结果的人员更好地理解风险。
对于HSI威胁而言,两项威胁均应赋予高风险评级,如表1-4所示。
表1-4HSI威胁老版本可能被攻陷可能易受串行通信注入攻击 应用风险评级的HSI二级威胁DREAD评分表
D R
E A
D 3
3 2
3 3
2 2
2 3
3 总计风险 14 高 12 高 尽管两项威胁均为高风险评级,但由表1-4中可以看出,“旧版本HSI模型”的风险略高于“串行通信注入攻击”威胁的风险,因此应该优先处理该风险。
同样可以看出,“串行通信注入攻击”风险级别更低的原因是其破坏力和可重现性都要低于“旧版本HIS模型”风险。
12汽车黑客大曝光 1.4.2CVSS:DREAD之外的另一选择 如果认为DREAD不够详细,可以考虑使用更为详尽的风险评估方法CVSS(CommonValnerabilityScoringSystem,通用脆弱性评分系统)。
CVSS提供了远多于DREAD的分类和细节,其指标项分为三组:基础、生命周期与环境。
每组指标又细分为多个子领域指标:6个基础指标项、3个生命周期指标项以及5个环境指标项,共有多达14个评分项(若要详细了解CVSS,请参阅/cvss/cvss-guide)。
注意:虽然也可使用ISO26262ASIL或MIL-STD-882E两种标准进行威胁分级,但它们采用的“风险=概率×严重性”简单算法难以满足对评价详细度的要求。
如果不得不使用这两种标准之一进行安全审查,建议使用美国国防部提出的MIL-STD-882E标准。
ASIL体系往往将风险低估为QM(质量管理)级别,该级别基本等同于“无关紧要”。
美国国防部的标准则通常倾向于给出更高的风险评级,可以认为该标准更重视生命的价值。
此外,MIL-STD-882E针对应用于包括废弃阶段在内的系统全生命周期设计,十分适合于安全开发生命周期(SDL)流程。
1.5应用威胁建模结果 到目前为止,已经得到了车辆潜在威胁的分布,并按风险等级对威胁进行了排序。
接下来的工作则取决于你所在的团队:借用军事术语描述,攻击方被称为“红队”,而防御方则被称为“蓝队”。
红队成员下一步应该开始攻击风险最高、成功概率最高的区域,而蓝队则需要回到风险表,对每项威胁采取适当的对抗措施。
举个例子,如果需要应对1.4.1节“DREAD分级体系”中讨论的两项风险,可在威胁模型文档中为这两项风险各增添一个对抗措施段落,对HSI代码执行风险的对抗措施见表1-
5,而对HSI拦截风险的对抗措施见表1-
6。
风险攻击手段对抗措施 威胁 表1-5HSI代码执行风险内核空间中的代码执行 高利用旧版本HSI脆弱性应将内核和内核模块升级到最新版本 风险攻击手段对抗措施 威胁 表1-6拦截HSI命令风险拦截来自蜂窝移动网络的通信并注入命令 高拦截HSI串行通信对通过蜂窝移动网络发送的全部命令进行加密签名 第1章理解威胁模型13 这样就得到了一份记录在案的带有解决方案的高风险脆弱性列表。
对于尚未实施的风险解决方案,可以根据不实施该方案的风险程度,决定实施的优先级。
1.6本章小结 在本章中,首先介绍了使用威胁模型识别并记录安全态势的重要性,以及召集技术人员和非技术人员共同通过头脑风暴法讨论各种类型场景的重要性。
然后对这些场景进行深入分析,识别出所有潜在威胁。
接着使用评分系统对各潜在风险进行分类和排序。
通过运用上述威胁评估方法,最终得到一份文档,该文档明确了当前产品的安全态势、已采取的对抗措施以及高优先级待处理项的任务列表。

标签: #镜像 #coursera #命令 #cad #坐标 #转换成 #怎么看 #换行