上一篇,我们介绍了汽车网络信息安全分析(SAAN)的框架,并且对分析流程的三个主要步骤进行了详细的解释。
在本篇中,我们描述了SAAN背后的方法和概念。可采用概率模型检查来分析架构信息安全。具体来说,我们概述了从架构中合成马尔科夫模型所需的步骤(01),对模型的边缘进行加权的组件评估(02),以及分析模型的属性定义(03)。
当从架构中转换一个模型时,我们是通过现有的漏洞数量来建模ECU和接口的。我们规定发现新的漏洞(例如,由安全研究人员发现)的比率为,漏洞被修补(例如,通过空中更新(OTA))的比率为。在组件评估中确定这些值。我们认为网络和总线是被动的,取决于所有连接的ECU的最不安全状态。信息则根据保密性、完整性和可用性的安全原则进行建模。
保密性是指保护信息不被未经授权的实体读取
完整性描述了对报文的创建和修改的保护
可用性是指保护信息不被中断或删除
根据对信息的保护(无、哈希加密、加密)和传输所采用的通信网络,我们分别对每个原则进行了分析。
—示例
为了说明这个过程,我们搭建了一个最小的架构,在这个架构中,有一个远程信息处理ECU(图1.1中的3G)连接到CAN总线上。CAN总线用于传输报文,该报文既不被远程信息处理ECU发送也不被该ECU接收。将这个架构转化为马尔科夫模型后,我们得到图1.2所示的模型。这是一个非常简化的综合模型,只考虑了远程信息处理ECU、总线和的保密性。此外,在建模过程中,我们只考虑每个模块有一个漏洞的情况。
图1.1
图1.2
分析这个模型后发现,从安全状态开始,我们就在远程信息处理单元中发现了一个漏洞,其速率为。一旦有发现漏洞后,则CAN总线立即会被视为是可利用的。远程信息处理单元可以以 的速率进行修补。如果未进行修补,并且发现了保护报文m的漏洞(远程ECU没有密钥)(速率 ),我们就会进入状态,报文就会被利用。从这一刻开始,报文的内容不再视为保密,因为攻击者可读取和更改报文内容了。为了补救这种情况,应该修补报文保护和远程信息处理单元。在我们的示例模型中,报文保护和远程信息处理单元分别以和的速率发生。另外,也可以通过给远程信息处理单元打补丁来拒绝攻击者访问。
这是一个简化的例子,只需要建模技术的一个小子集即可。在下文中,我们将全面解释综合规则以及组件的评估,并会分析概率特性的模型。
01模型转换
为了能通过概率方法分析通信架构,我们需要将汽车通信架构转化为马尔科夫模型。转换的过程考虑了所有的通信参与者(即ECU)和互连(如总线系统和网络)情况。然后,我们进一步将ECU分离成每个通信系统的接口,以便分析不同通信系统的影响。此外,我们还分析了系统中传输的报文。
—术语
为了建立安全分析的架构模型,我们规定了所有ECUs 和所有总线的集合,我们还规定了每个ECU 的所有接口 的集合,接口 连接一个ECU 与总线或外部网络 。因此,我们将ECU定义为,将总线定义为,其中 是总线 上的ECU的集合。为了分析报文,需要发送ECU 、接收ECU 的集合以及消息传输的总线 的集合。包括完全预定的报文集等数据可从架构中得到。在任何时间点上,每个模块的最大利用次数定义为。该关系说明了状态到的变化,速率为。
—ECU与接口
为了建模架构,需要将每个ECU拆分成若干个接口。如果总线可利用,根据概率可利用率增加可利用次数,对于每个接口,分别分析可利用性 。
如果,且,则
由此得到的可利用值说明ECU中存在并行利用数量 、接口中的 或报文的。我们使用来限制漏洞的最大数量,降低模型复杂性。基于补丁率,这种关系的逆确定了接口 中信息安全漏洞的补丁。
如果 , 且,则
每个ECU 的可利用性是基于这个ECU的所有接口的可利用性而来。
—总线与网络
同样,CAN总线 的可利用性 也取决于每个连接ECU的可利用性。
一旦FlexRay总线被使用,则在ECU 能够在总线上自由传输之前,需要利用总线保护器。
直接连接到互联网的3G等网络或总线,因为攻击者可以持续访问这些网络或总线,因此,将这些网络或总线视为随时可被利用。我们设定一个恒定的可利用值1来模拟这一特性。
—报文
报文的可利用性又可细分为影响类别的可用性、的完整性和的保密性。可用性高度依赖于所采用的通信系统,而完整性和保密性则基于对报文的保护情况。具体来说,散列加密和加密技术可以解决这些类别中所面临的问题。当使用CAN总线时,如果用于报文传输的任何一条总线被利用,则不能保证可用性。
如果发送或接收的ECU被利用,即使加密了报文,也不能保证报文的保密性和完整性。为了保证实时性能,我们假设采用对称加密,这样报文加密的密钥同时存储在发送和接收的ECU上了。这里不分析安全密钥存储,但可以作为一个子模块集成到ECU模块中。保密性 和完整性的行为类似,但取决于用于各自报文的保护机制。在本节的其他部分,我们描述了保密性的转换。将公式中的 替换为 ,这些规则同样适用于报文完整性。
如果发送者或接收者可可借以获益,则违反了报文的保密性。
此外,任何用于传输的总线上的ECU都可以攻击保密性。攻击的概率取决于所采用的加密算法及其实现的强度。为了描述这种行为,我们利用保护方法的利用率,并定义以下关系:
如果所有传输网络上的ECU都不能被利用,那么,报文相应地也不能被利用。
上述操作的逆描述了修补消息加密的缺陷操作,该描述为:
逆描述了修补消息加密的缺陷操作,该描述为:
据此可推断出架构转化为马尔科夫模型状态的概念。
02组件评估
为了分析上一节中生成的马尔科夫模型,我们需要给边缘分配权重。这些速率说明随着时间的推移,设备被利用的概率以及设备可以被修补的速率。
—可利用率
在SAAN中,我们通过修订版的 CVSS 来确定比率。CVSS是为评估软件系统漏洞的开放标准而开发的,由美国国家标准与技术研究所(NIST)负责更新维护。CVSS能根据对多个子项和类别中的单元的评估生成一个组件的安全得分。开发子分数中使用的标准与汽车领域的接口所需的标准类似。我们采用可利用子分数(见表1.1),进一步调整以适应汽车领域。根据子类别的得分,我们计算出可利用性的得分为:
根据可利用性得分,我们计算出率:
我们将可利用率规范为1年。
表1.1
为了说明其评估情况,我们以远程信息处理ECU的3G接口为例。由于该设备与互联网相连,接入矢量跨多个网络 。由于其开放的表面,我们假设该设备的制造商已经加固了攻击,因此想要访问该网络的复杂层度很高。为了访问设备,我们进一步假设需要多个认证步骤。由公式(3.11)可知,我们设定=3.15。根据公式(3.12),可利用率可以确定为=1.85。这说明通过该设备的可利用率,我们可以推断该设备一年会被攻击1.85次。
在后续更新的文章的其余部分,我们将这些基于CVSS的评估用于所有ECU的接口。
—补丁率
许多因素决定了向车辆提供补丁的数量和速度。首先,补丁的开发时间是补丁率的上限。此外,如果为了实现安全补丁而需要改变与安全相关的功能,那么所需的测试量会很大。因此,我们根据要修补的功能的 ASIL 级别来分配修补率。表 1.2 中显示了与 ASIL 相关的修补率。虽然与安全相关的设备(如网关(GW))只能以相对较长的时间间隔进行修补,但与安全无关的功能(如远程信息处理单元(3G)),因为需要的测试较少,可以以较短的时间间隔进行修补。
在马尔科夫模型中使用上述转换率,使我们能够以时间为基础对其进行分析,从而形成连续时间马尔科夫链(CTMC)。
表1.2
03属性定义
从架构中创建CTMC模型并按照上一小节所论述情况分配过渡率后,我们需要确定我们分析的目标,即模型的属性。稳态分析是对CTMC模型进行评估的一个常见属性。在这里,可以用传统的矩阵运算来计算在任何采样时间点处的每个状态的概率。查看图 1.2 中的例子。在速率 = = 52(每周)和 = = 2(每年两次)的情况下,得到了转移率矩阵:
请注意,矩阵对角线上的值是该行速率的负和。
稳态解 = 0,得平稳分布:
由此可知,在任何给定的时间点,处于可被利用的状态的概率为0.0699%。然而,这种静止信息对于实际的安全问题来说并不是决定性的。让我们感到好奇的是模型在一年内至少达到状态一次的概率。为了表达这一点,对于CTMC,我们需要定义一个基于奖励的属性,对状态的每次出现进行计数。在本例中,我们定义。汽车领域的属性将在下一期的文章中详细介绍。