基于电路连接拓扑的硬件系统脆弱性评估算法

2014-10-17 18:13敖宇梁光明
现代电子技术 2014年19期

敖宇 梁光明

摘 要:脆弱性评估是硬件系统脆弱性检测的首要问题。以一款具体的DSP系统为研究对象,建立了电路连接拓扑,并且在此基础上算出了边的脆弱性权值,进而确定出了系统中脆弱性较高的重要脆弱性源,为脆弱性检测提供了指导。

关键词: 脆弱性评估; DSP; 电路连接拓扑; 脆弱性权值

中图分类号: TN702?34 文献标识码: A 文章编号: 1004?373X(2014)19?0095?04

Circuit connection topology based vulnerability assessment

algorithm for hardware systems

AO Yu, LIANG Guang?ming

(School of Electronic Science and Engineering, University of National Defense Technology, Changsha 410073, China)

Abstract: Vulnerability assessment is the primary means of hardware system vulnerability detection. Taking a specific DSP system as the research object, the circuit connection topology was established, and based on which the edges vulnerability weights were computed. The fatal vulnerability sources of the system were determined. A guidance for vulnerability detection is provided in this paper.

Keywords: vulnerability assessment; DSP; circuit connection topology; vulnerability weight

0 引 言

信息安全漏洞一直以来都是信息安全的巨大威胁。信息安全漏洞包括软件漏洞和硬件脆弱性。目前,人们对软件漏洞的防御措施已非常成熟,这些措施包括漏洞检测、漏洞特性分析、漏洞定位、漏洞利用、漏洞消控等,这些研究的开展在软件层面上大大促进了信息安全[1]。

与人们对软件漏洞研究的广泛性和深入性相比,对硬件脆弱性的研究仍然相对有限。传统观念普遍认为硬件是绝对安全可靠的,这导致了人们对硬件脆弱性的认识和重视相对不足。事实上,在硬件设备的设计、制造和使用过程中,电路、固件、芯片三个层次都可能存在缺陷,这些缺陷可以使脆弱性利用者在未授权的情况下进入硬件系统,从而执行非法操作甚至破坏系统。例如,设计数字电路系统所依赖的CAD(Computer Aided Design)工具中可能存在木马病毒,从而影响硬件电路;硬件系统的固件如果被恶意篡改,将会造成各种不可预期的后果;在硬件系统的设计过程中广泛采用的第三方IP(Intellectual Property)核中可能存在恶意逻辑,如果被植入芯片将会改变系统的正确输出,影响电路时序[2]。

由此可知,同软件脆弱性检测一样,对硬件系统进行脆弱性检测具有十分重要的意义,其目的是尽量找出硬件系统中潜在的脆弱性。一个复杂的硬件系统可能由几十种甚至上百种芯片和元器件以及包括连接这些元器件的电路和系统运行所需的固件构成。评估系统各组成部分的脆弱性,确定系统的脆弱性源,有助于人们更有针对性地对硬件脆弱性展开研究、利用或修复。因此,对硬件系统各组成部分进行脆弱性评估是脆弱性检测的首要问题。

本文以TI(Texas Instruments)公司的TMDSEVM6678L开发板为研究对象,提出了一种基于电路连接拓扑的硬件系统脆弱性评估算法。

1 目标硬件系统简介

采用TMDSEVM6678L开发板作为脆弱性检测的研究对象。该款开发板是TI公司近期推出的一款高性价比模块化开发平台。板上具有丰富的接口和器件,并且搭载了一枚TI公司先进的TMS320C6678八核DSP芯片,用户可利用它来开发各种应用。开发板上的关键部件包括[3]:多核DSP——TMS320C6678;512 Mb DDR3?1333存储器;64 Mb NAND FLASH存储器;16 Mb SPI NOR FLASH存储器;两个GB级以太网端口;Hyperlink高性能连接器;170针AMC接口;128 Kb EEPROM;两只用户LED、5组拨码开关和4只程控LED;RS 232串行接口;60针JTAG端板;80针扩展端板上的EMIF,Timer,SPI,UART接口等。

开发板的功能模块图如图1所示。

一块DSP开发板就可以看作是一个嵌入式硬件系统。作为一个硬件系统,它具有潜在的脆弱性。评估板上各部件的脆弱性,寻找到存在最高安全隐患的脆弱性源,对于脆弱性检测具有重要价值。

2 算法原理

DSP开发板上的众多芯片和器件都是通过电路在物理上相连的,两个器件之间的物理电路可称为链路。一块芯片有多个引脚,可以通过这些引脚引出电路来与其他器件相连。一般地,重要性越高的器件,它就会有更多的链路与其他器件相连;而对于两个器件来说,连接它们的链路所包含的物理电路数目越多,潜在脆弱性也就越高。为了评估开发板上不同器件的脆弱性,将着眼于不同器件之间的链路,首先评估两个器件间链路的脆弱性,脆弱性越高的链路两端所连接的器件也具有越高的脆弱性,这样就最终得到了不同器件的脆弱性高低。

为了便于展开研究,将借助“图”的数据结构建立起开发板电路的抽象连接拓扑,然后基于电路连接拓扑来评估系统各部分的脆弱性。

2.1 电路连接拓扑的建立

图是一种常用的数据结构,可以用图来表示若干节点之间相互的连接关系。在图形结构中,节点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关[4]。图[G(Graph)]由集合[V(Vertex)]和[E(Edge)]组成。其中[V]是顶点的有限集合[V=v1,v2,…,vn,][E]是连接[V]中两个不同顶点的边的有限集合[E=e1,e2,…,en。]图可记为[G=(V,E)。]对于图[G=(V,E),]如果边[v,v∈E,]则称顶点[v]和[v]互为邻接点,即[v]和[v]相邻接。边[(v,v)]依附于顶点[v]和[v,]或者说[v,v]和顶点[v]和[v]相关联。顶点[v]的度是和[v]相关联的边的数目,记为TD(V)。对于每一条边[ei,]可以在边上赋予权值[pi,]用以表征边的某种性质或代价。边的集合[E]和权的集合[P=p1,p2,…,pn]是一一对应的。

由以上论述可知,TMDSEVM6678L开发板可以被抽象成一个图的结构。板上的各重要器件可以抽象为图的顶点。如果器件之间存在物理链路,那么就可在相应的两个节点之间附上一条边。节点的度就是与某一节点相邻接的其他节点的数目,而边的权值可定义为链路所包含的物理电路数目。通过查阅开发板技术手册[5],分析开发板电路连线,可以抽象出如图2所示的开发板电路连接拓扑。

图中各部件的节点代号如表1所示。

值得一提的是,开发板上实际上拥有4块DDR3存储器,并且每一块存储器与DSP芯片的连线数都是10。为了分析的简便起见,用一个节点[V4]来代替。

表1中列出了每个节点的度[TDVi,]这一参数表征了与每一器件相关联的其他器件的个数。一般来说,TD越高的节点,其所代表的器件重要性就越高。显然,从表中可见,DSP芯片作为整个开发板的核心,节点[V1]具有最高的度14,即DSP芯片与多达14个器件在物理上是相连的。

2.2 边的脆弱性权值

在图2中,每一条边上都附有权值,代表的是链路所包含的物理线路数目。这个权值可称之为初始权值[pij]。例如[p12]=14,意味着DSP芯片与NAND FLASH外部存储器之间通过14条电路相连接。初始权值表征了边的重要性。[pij]越高的边,其重要性就越高。所以,边的重要性与初始权值之间的关系可表示为:

[sij=apij] (1)

式中:[sij]为边的重要性;[a]为系数。

节点的度[TDVi]和式(1)分别表征了节点与边的重要性。由于本文算法的原则是首先确定出脆弱性最高的边,再根据边的脆弱性来确定节点脆弱性,即脆弱性越高的边,其所依附的两个节点脆弱性就越高。为了体现这一思想,更精确地由边的脆弱性得到节点脆弱性,有必要在式(1)中把节点的度这一因素考虑进去。因此式(1)可修正为:

[sij=apij+TDVi+TDVj2] (2)

然而,在式(2)中,等式左边仍然是边的重要性[sij,]而非边的脆弱性[vij]。这是因为式(2)中等式右边的表达式仍然无法完整反映出边的脆弱性。事实上,关于硬件系统的脆弱性,还有两个极其重要的因素:一个是器件的程序相关性,另一个是网电接口。

首先,器件的程序相关性指的是运行程序的核心处理芯片以及与程序相关的各种器件,例如存储程序的各型存储器、把程序移植进硬件系统的各种接口等。需要指出的是,在嵌入式系统中,“程序”指的是固件;在计算机系统中,“程序”指的是软件。对于硬件系统来说,程序是脆弱性的根源,脆弱性利用者只有通过程序才能实现对硬件系统的非法进入和控制。因此,不具有程序相关性的器件,也就不存在脆弱性;相应地,在硬件系统的电路连接拓扑中,凡是依附于不具备程序相关性的节点的边(称之为程序不相关边),都应令其重要性权值的系数[a]=0,以使其脆弱性权值为0。

在图2中,以节点[V15]所代表的FPGA芯片为例,可见该节点具有较高的度。在TMDSEVM6678L开发板上,这片FPGA主要用于控制DSP芯片的重启机制并通过拨码开关来为DSP芯片提供boot模式和配置。尽管这片FPGA的重要性相当高,但由于它是不可编程的,不具备程序相关性,攻击者对于这片FPGA实际上是无能为力的。换句话说,它不具有脆弱性。事实上,图2中的节点[V16]~[V21]均是如此。对于依附于这些节点的边,如果要把式(2)中的[sij]定义为边的脆弱性,只需令:

[a=0] (3)

即凡是依附于这些节点的边,其脆弱性均为零。

其次,边的初始权值[pij]以及式(2)中定义的边的重要性权值均只是根据板上器件的内部关系定义的,它描述了硬件系统的内在脆弱性,但并未考虑到把硬件系统内在脆弱性触发为实际的系统漏洞的关键,即外部因素。一个孤立的硬件系统即使具有脆弱性,也不会存在安全隐患;只有连接在网络空间中的硬件系统才可能会受到攻击,而这都是通过外部网络接口实现的。因此,硬件系统的外部网络接口具有额外的脆弱性。

对于TMDSEVM6678L开发板来说,其外部网络接口就是mini?USB接口[(V11)]和RJ?45以太网接口[(V13)。]对于直接依附于这两个节点的边,应在式(2)中增加一个脆弱性修正值[w,]那么式(2)中边的重要性权值修正为:

[sij=apij+TDVi+TDVj2+w] (4)

此外,考虑到脆弱性通过外部网络接口向系统内部渗透,对于间接依附于外部网络接口节点的边(即依附于与[V11]和[V13]相邻接的节点其他边),其重要性权值修正为:

[sij=apij+TDVi+TDVj2+w2] (5)

综合式(2)~式(5),即可得到硬件系统电路连接拓扑中最终的边的脆弱性权值,即:

[vij=apij+TDVi+TDVj20 (程序不相关边)apij+TDVi+TDVj2+w (直接依附于网电接口)apij+TDVi+TDVj2+w2 (间接依附于网电接口)] (6)

依据式(6)得到边的脆弱性权值,可得到硬件系统脆弱性较高的脆弱性源,即:脆弱性权值越高的边,其所依附的节点脆弱性就越高。

2.3 算法在目标硬件系统上的应用

把算法应用于本文的目标硬件系统TMDSEVM6678L开发板,在建立了如图2所示的连接拓扑后,只需把式(6)应用于图2。首先找出电路连接拓扑中的程序不相关边,即依附于节点[V15]~[V21]的边,令其权值为零;然后找到直接依附于网电接口的边,即[V11,V10]和[V13,V12],令[w]=10;再找到间接依附于网电接口的边,即[V1,V10],[V9,V10],[V1,V12]和[V5,V12],令[w]=5。经过计算权值,最终可得图3所示的边的脆弱性权值拓扑。

由图3可知,[V1,V2],[V1,V4],[V1,V12],[V12,V13],[V1,V10],[V10,V11]这些边的权值相对较大,表明DSP芯片、Flash存储器、DDR3存储器以及mini?USB接口、以太网接口等器件是开发板上脆弱性较高的器件,即重要脆弱性源。事实上,DSP芯片是整个TMDSEVM6678L嵌入式系统的核心;Flash存储器是存储DSP固件的区域,DDR3 SDRAM存储器是DSP运行时的重要程序和数据存储器;mini?USB接口和以太网接口是关系到DSP嵌入式系统固件更新以及仿真的重要网电接口。它们都是对DSP系统展开脆弱性检测所选择的首要对象。

3 结 语

通过本文提出的算法,结合硬件系统实际电路结构,即可实现对硬件系统脆弱性的评估,从而选择硬件系统脆弱性检测的对象。虽然算法是结合一款具体的DSP开发板提出的,但是算法的原理可以推广应用于普遍的硬件系统之中。

参考文献

[1] 吴世忠,郭涛,董国伟,等.软件漏洞分析技术进展[J].清华大学学报:自然科学版,2012,52(10):1309?1319.

[2] 唐正军.入侵检测技术导论[M].北京:机械工业出版社,2004.

[3] Texas Instruments.TMDSEVM6678L EVM technical reference manual version 2.01 [R]. USA:Texas Instruments, 2012.

[4] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.

[5] Texas Instruments. TI TMS320C6678 EVM board rev.3A [R]. USA: Texas Instruments, 2010.

[6] 胡燕京,张健,罗海宁,等.程序分析技术研究及其在补丁分析中的应用[J].现代电子技术,2007,30(17):113?115.

[sij=apij+TDVi+TDVj2+w2] (5)

综合式(2)~式(5),即可得到硬件系统电路连接拓扑中最终的边的脆弱性权值,即:

[vij=apij+TDVi+TDVj20 (程序不相关边)apij+TDVi+TDVj2+w (直接依附于网电接口)apij+TDVi+TDVj2+w2 (间接依附于网电接口)] (6)

依据式(6)得到边的脆弱性权值,可得到硬件系统脆弱性较高的脆弱性源,即:脆弱性权值越高的边,其所依附的节点脆弱性就越高。

2.3 算法在目标硬件系统上的应用

把算法应用于本文的目标硬件系统TMDSEVM6678L开发板,在建立了如图2所示的连接拓扑后,只需把式(6)应用于图2。首先找出电路连接拓扑中的程序不相关边,即依附于节点[V15]~[V21]的边,令其权值为零;然后找到直接依附于网电接口的边,即[V11,V10]和[V13,V12],令[w]=10;再找到间接依附于网电接口的边,即[V1,V10],[V9,V10],[V1,V12]和[V5,V12],令[w]=5。经过计算权值,最终可得图3所示的边的脆弱性权值拓扑。

由图3可知,[V1,V2],[V1,V4],[V1,V12],[V12,V13],[V1,V10],[V10,V11]这些边的权值相对较大,表明DSP芯片、Flash存储器、DDR3存储器以及mini?USB接口、以太网接口等器件是开发板上脆弱性较高的器件,即重要脆弱性源。事实上,DSP芯片是整个TMDSEVM6678L嵌入式系统的核心;Flash存储器是存储DSP固件的区域,DDR3 SDRAM存储器是DSP运行时的重要程序和数据存储器;mini?USB接口和以太网接口是关系到DSP嵌入式系统固件更新以及仿真的重要网电接口。它们都是对DSP系统展开脆弱性检测所选择的首要对象。

3 结 语

通过本文提出的算法,结合硬件系统实际电路结构,即可实现对硬件系统脆弱性的评估,从而选择硬件系统脆弱性检测的对象。虽然算法是结合一款具体的DSP开发板提出的,但是算法的原理可以推广应用于普遍的硬件系统之中。

参考文献

[1] 吴世忠,郭涛,董国伟,等.软件漏洞分析技术进展[J].清华大学学报:自然科学版,2012,52(10):1309?1319.

[2] 唐正军.入侵检测技术导论[M].北京:机械工业出版社,2004.

[3] Texas Instruments.TMDSEVM6678L EVM technical reference manual version 2.01 [R]. USA:Texas Instruments, 2012.

[4] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.

[5] Texas Instruments. TI TMS320C6678 EVM board rev.3A [R]. USA: Texas Instruments, 2010.

[6] 胡燕京,张健,罗海宁,等.程序分析技术研究及其在补丁分析中的应用[J].现代电子技术,2007,30(17):113?115.

[sij=apij+TDVi+TDVj2+w2] (5)

综合式(2)~式(5),即可得到硬件系统电路连接拓扑中最终的边的脆弱性权值,即:

[vij=apij+TDVi+TDVj20 (程序不相关边)apij+TDVi+TDVj2+w (直接依附于网电接口)apij+TDVi+TDVj2+w2 (间接依附于网电接口)] (6)

依据式(6)得到边的脆弱性权值,可得到硬件系统脆弱性较高的脆弱性源,即:脆弱性权值越高的边,其所依附的节点脆弱性就越高。

2.3 算法在目标硬件系统上的应用

把算法应用于本文的目标硬件系统TMDSEVM6678L开发板,在建立了如图2所示的连接拓扑后,只需把式(6)应用于图2。首先找出电路连接拓扑中的程序不相关边,即依附于节点[V15]~[V21]的边,令其权值为零;然后找到直接依附于网电接口的边,即[V11,V10]和[V13,V12],令[w]=10;再找到间接依附于网电接口的边,即[V1,V10],[V9,V10],[V1,V12]和[V5,V12],令[w]=5。经过计算权值,最终可得图3所示的边的脆弱性权值拓扑。

由图3可知,[V1,V2],[V1,V4],[V1,V12],[V12,V13],[V1,V10],[V10,V11]这些边的权值相对较大,表明DSP芯片、Flash存储器、DDR3存储器以及mini?USB接口、以太网接口等器件是开发板上脆弱性较高的器件,即重要脆弱性源。事实上,DSP芯片是整个TMDSEVM6678L嵌入式系统的核心;Flash存储器是存储DSP固件的区域,DDR3 SDRAM存储器是DSP运行时的重要程序和数据存储器;mini?USB接口和以太网接口是关系到DSP嵌入式系统固件更新以及仿真的重要网电接口。它们都是对DSP系统展开脆弱性检测所选择的首要对象。

3 结 语

通过本文提出的算法,结合硬件系统实际电路结构,即可实现对硬件系统脆弱性的评估,从而选择硬件系统脆弱性检测的对象。虽然算法是结合一款具体的DSP开发板提出的,但是算法的原理可以推广应用于普遍的硬件系统之中。

参考文献

[1] 吴世忠,郭涛,董国伟,等.软件漏洞分析技术进展[J].清华大学学报:自然科学版,2012,52(10):1309?1319.

[2] 唐正军.入侵检测技术导论[M].北京:机械工业出版社,2004.

[3] Texas Instruments.TMDSEVM6678L EVM technical reference manual version 2.01 [R]. USA:Texas Instruments, 2012.

[4] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.

[5] Texas Instruments. TI TMS320C6678 EVM board rev.3A [R]. USA: Texas Instruments, 2010.

[6] 胡燕京,张健,罗海宁,等.程序分析技术研究及其在补丁分析中的应用[J].现代电子技术,2007,30(17):113?115.