国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于分類測試的ARM芯片寄存器安全分析技術(shù)

2015-11-01 07:01:00楊世德梁光明佘凱
信息安全與通信保密 2015年10期
關(guān)鍵詞:分析模型測試用例寄存器

楊世德, 梁光明, 佘凱

(國防科學(xué)技術(shù)大學(xué)電子科學(xué)與工程學(xué)院湖南長沙410000)

基于分類測試的ARM芯片寄存器安全分析技術(shù)

楊世德, 梁光明, 佘凱

(國防科學(xué)技術(shù)大學(xué)電子科學(xué)與工程學(xué)院湖南長沙410000)

隨著無線通信和互聯(lián)網(wǎng)等技術(shù)的迅猛發(fā)展,嵌入式系統(tǒng)面臨的安全問題與日俱增。傳統(tǒng)的嵌入式系統(tǒng)安全分析主要針對嵌入式操作系統(tǒng)和軟件,少有研究涉及嵌入式系統(tǒng)硬件本身的安全隱愚。本文以S3C2440芯片為研究對象,通過分析ARM芯片硬件運(yùn)行機(jī)制,構(gòu)建基于測試的ARM芯片寄存器安全分析模型,并對ARM芯片安全隱愚進(jìn)行等級劃分。

測試用例;融合樹;漏洞挖掘

0 引言

嵌入式系統(tǒng)廣泛應(yīng)用在通信設(shè)備、工業(yè)控制、消費(fèi)類電子產(chǎn)品等各個領(lǐng)域,針對嵌入式系統(tǒng)的安全攻擊事件屢見不鮮,嵌入式系統(tǒng)安全分析技術(shù)成為安全領(lǐng)域研究的熱點(diǎn)難點(diǎn)問題。文獻(xiàn)[1]提出了針對嵌入式軟件安全分析的模型、工具和策略,解決了如何通過測試挖掘嵌入式軟件安全漏洞的問題。文獻(xiàn)[2]采用嵌入式系統(tǒng)運(yùn)行監(jiān)控技術(shù),對嵌入式系統(tǒng)進(jìn)行安全分析。大多數(shù)文獻(xiàn)僅限于對操作系統(tǒng)或軟件進(jìn)行安全分析,少有文獻(xiàn)涉及嵌入式系統(tǒng)硬件機(jī)制的安全研究。對于嵌入式系統(tǒng)來說,各種功能部件寄存器是ARM芯片的重要組成部分,存在軟件訪問接口,因此存在很大的安全風(fēng)險。本文在深入分析寄存器原理及作用基礎(chǔ)上,依據(jù)《信息安全風(fēng)險評估規(guī)范》建立寄存器的安全隱愚等級,并提出了融合樹型分類的快速遍歷測試方法實現(xiàn)了寄存器隱愚等級劃分。并將該方法應(yīng)用于S3C2440芯片進(jìn)行試驗驗證,實驗結(jié)果表明隱愚等級劃分、測試用例模型科學(xué),測試用例產(chǎn)生方法提高寄存器隱愚分析速度。

1 ARM芯片寄存器概述

基于ARM嵌入式系統(tǒng)硬件平臺主要由ARM核心芯片和通用片上外設(shè)構(gòu)成,例如電源模塊、時鐘模塊、DMA、通用I/O口等[3]。ARM芯片內(nèi)部存在功能部件寄存器,嵌入式系統(tǒng)的正常工作依賴于ARM芯片功能部件寄存器的正確配置。圖1為曲型的ARM系統(tǒng)硬件平臺。

圖1 典型的ARM系統(tǒng)硬件平臺

ARM嵌入式系統(tǒng)啟動階段對功能部件設(shè)寄存器進(jìn)行初始化配置,即設(shè)置了各片上外設(shè)的工作模式。寄存器的錯誤配置可能導(dǎo)致嵌入式系統(tǒng)工作異常,甚至系統(tǒng)崩潰。ARM芯片存在幾百個功能部件寄存器,不同寄存器的錯誤配置會導(dǎo)致不同級別的嵌入式系統(tǒng)安全隱愚[4]。

2 寄存器安全隱患等級劃分與隱患分析模型

2.1 窨存器安全隱患等級劃分

ARM芯片片上外設(shè)寄存器的錯誤配置可能導(dǎo)致嵌入式系統(tǒng)運(yùn)行崩潰,例如錯誤配置位于0x48000000總線寬度和等待控制寄存器(BWSCON)。但是,某些硬件外設(shè)寄存器的錯誤配置并不會導(dǎo)致嵌入式系統(tǒng)的運(yùn)行崩潰,只會導(dǎo)致相關(guān)硬件工作故障,例如位于0x50000000 UART通道0線路控制寄存器ULCON0,它的錯誤配置只會導(dǎo)致串口工作異常,對于系統(tǒng)運(yùn)行沒有直接性危害。由此可知,每個寄存器的錯誤配置對于嵌入式系統(tǒng)正常運(yùn)行具有不同程度的威脅。

根據(jù)《信息安全風(fēng)險評估規(guī)范》和寄存器錯誤配置對嵌入式系統(tǒng)可用性不同威脅程度[5],將寄存器分為五個不同的安全隱愚等級,并且對每個安全隱愚等級進(jìn)行賦值。賦值高的寄存器表示錯誤配置對嵌入式系統(tǒng)可用性威脅最大。寄存器安全隱愚等級分類如表1所示:

表1 窨存器安全隱患等級分類

2.2 基干測試的窨存器安全分析模型

基于ARM的嵌入式系統(tǒng)寄存器種類繁多、容量較大,如何從中選取出對嵌入式系統(tǒng)正常運(yùn)行威脅最大寄存器是本文研究的重點(diǎn)[6]。本文提出了一種基于測試的寄存器安全分析模型,如圖2所示:

圖2 基干測試的窨存器安全分析模型

基于測試的寄存器安全分析模型主要包括三個模塊:分析模塊、測試用例生成模塊和測試模塊。其中,分析模塊和測試用例生成模塊運(yùn)行在PC系統(tǒng),測試模塊運(yùn)行在嵌入式系統(tǒng)。分析模塊主要負(fù)責(zé)對寄存器屬性和測試模塊產(chǎn)生的結(jié)果進(jìn)行分析,進(jìn)而指導(dǎo)測試用例生成模塊產(chǎn)生測試用例,同時,對寄存器安全隱愚進(jìn)行評估。測試用例生成模塊在分析模塊的指導(dǎo)下,根據(jù)測試用例生成方法,產(chǎn)生寄存器測試用例。測試模塊將生成的測試用例作為輸入賦值給待測寄存器,并將測試結(jié)果反饋給分析模塊。

為了實現(xiàn)基于寄存器測試的漏洞挖掘的量化分析與自動化測試,對嵌入式系統(tǒng)運(yùn)行狀態(tài)和寄存器測試進(jìn)行數(shù)學(xué)建模[7]。構(gòu)建如圖3所示的基于測試的寄存器安全分析數(shù)學(xué)模型:

圖3 基干測試的窨存器安全分析數(shù)學(xué)模型

將基于測試的寄存器安全分析過程抽象為嵌入式系統(tǒng)函數(shù)S=H(X)。其中S=(s1,s2,s3…sn)為基于寄存器測試的系統(tǒng)輸出,表征嵌入式系統(tǒng)工作狀態(tài),包含n個屬性s1,s2…sn。X=(x1,x2…xm)為基于寄存器測試的系統(tǒng)輸人,包含m個參數(shù)x1,x2…xm。定義嵌入式系統(tǒng)正常工作狀態(tài)為狀態(tài) S0=(s01,s02,s03…s0n)。

嵌入式系統(tǒng)在測試用例Xi=(xi1,xi2…xim)作用下輸出為Si=(si1,si2…sin)。為評估不同測試用例對于嵌入式系統(tǒng)可用性威脅程度大小,可通過輸出狀態(tài)Si與正常工作狀態(tài)S0的歐式距離定義嵌入式系統(tǒng)異常評價函數(shù)h(i):

基于寄存器測試的安全分析過程可以抽象為在測試用例空間內(nèi)迭代的產(chǎn)生測試用例,不斷選擇h(i)值較大的測試用例,直至達(dá)到終止條件,如圖4所示。即在狀態(tài)空間中尋找離S0最遠(yuǎn)的點(diǎn),即h(i)max所代表狀態(tài)。通過h(i)max值對寄存器進(jìn)行安全隱愚等級評估。

圖4 測試用例空間內(nèi)迭代數(shù)學(xué)模型

3 融合樹型分類的測試用例快速產(chǎn)生算法

ARM芯片存在數(shù)量巨大的功能部件寄存器,各功能部件寄存器不完全相互獨(dú)立,而是存在某種內(nèi)在聯(lián)系。例如,ARM嵌入式系統(tǒng)LCD片上外設(shè)的正常工作依賴于LCD控制器相關(guān)的17個功能部件寄存器的正確配置。因此,在對寄存器進(jìn)行測試時,應(yīng)充分考慮到寄存器之間的內(nèi)在聯(lián)系。遍歷的對每個寄存器進(jìn)行單獨(dú)測試會導(dǎo)致測試不完全,未充分考慮寄存器之間的相互聯(lián)系和影響,削弱了測試的覆蓋率。同時對所有寄存器進(jìn)行測試,考慮了寄存器之間的相互聯(lián)系和影響,但是,會產(chǎn)生數(shù)量巨大的冗余測試用例,會消耗極大的人力、物力資源,測試的有效性無法得到保障。因此,測試用例設(shè)計是基于測試的寄存器安全分析過程的關(guān)鏈[8]。

本文提出了融合樹型分類的測試用例快速產(chǎn)生算法,采用融合樹組織結(jié)構(gòu)對所有待測寄存器以進(jìn)行分類,提高寄存器測試的有效性和覆蓋率[9]。圖5為寄存器融合樹型分類主要流程,首先,根據(jù)ARM芯片手冊對所有寄存器屬性進(jìn)行靜態(tài)分析;其次,依據(jù)每個寄存器所控制的功能部件對寄存器進(jìn)行組劃分;最后,在已經(jīng)劃分完成的寄存器組內(nèi),依據(jù)寄存器之間的依賴性對組內(nèi)寄存器進(jìn)行類別劃分[10]?;跍y試的寄存器安全分析最終以融合樹分類的類別為單位進(jìn)行。

圖5 融合樹窨存器分類

采用融合樹型分類的測試用例快速產(chǎn)生算法,使生成的測試用例提高了測試有效性,且兼顧了測試覆蓋率。例如,待測寄存器組包含20位二進(jìn)制位,測試用例空間為220,對其進(jìn)行融合樹分類后,分為兩類,每類包含10位,測試用例空間變?yōu)?*210。測試用例空間得到極大縮減。

4 實驗驗證

4.1 實驗平臺設(shè)計

本文在構(gòu)建基于測試的寄存器安全分析模型和提出融合樹型分類的測試用例快速產(chǎn)生算法基礎(chǔ)上,以ARM S3C2440開發(fā)板為主,設(shè)計如圖6所示的針對ARM芯片寄存器的交叉測試實驗平臺,對ARM芯片寄存器進(jìn)行安全分析與隱愚等級劃分。實驗平臺主要有以下幾個部分組成:

1)一臺x86宿主計算機(jī),操作系統(tǒng)為Linux/windows,運(yùn)行基于測試的寄存器安全分析模型中的分析模塊和測試用例生成模塊。

2)一臺ARM S3C2440開發(fā)板,操作系統(tǒng)為linux,運(yùn)行正常工作程序和測試程序。

3)JTAG仿真器。

4)網(wǎng)口、串口、USB接口等通信鏈路。

圖6 交叉測試實驗平臺

4.2 實驗結(jié)果及分析

無論是用戶空間程序還是內(nèi)核空間程序都無法直接訪問ARM芯片寄存器物理地址,只能訪問虛擬地址。本文采取可加載內(nèi)核模塊對寄存器物理地址進(jìn)行虛擬地址映射后,對其進(jìn)行賦值的方式進(jìn)行測試。本文對ARM芯片中存儲控制器、中斷控制器、時鐘和電源管理、NAND Flash控制器、LCD控制器、UART控制器和看門狗電路相關(guān)寄存器進(jìn)行測試,并對所測寄存器進(jìn)行安全隱愚等級劃分[11]。測試結(jié)果如表2所示:

表2 實驗結(jié)果

5 結(jié)語

通過表2所示的實驗結(jié)果可知,與嵌入式系統(tǒng)時鐘、中斷、Nandflash相關(guān)的寄存器具有最高的安全隱愚等級,同時驗證了時鐘模塊、中斷模塊、和Nandflash模塊是嵌入式系統(tǒng)運(yùn)行的核心模塊。在嵌入式系統(tǒng)安全領(lǐng)域,相比其他文獻(xiàn)涉及的軟件安全,本文針對硬件安全進(jìn)行分析。文中提出的寄存器安全分析模型和融合樹型分類的測試用例快速產(chǎn)生算法對硬件安全測試具有一定應(yīng)用價值。課題下一步工作主要是在對寄存器安全等級進(jìn)行劃分基礎(chǔ)上,對寄存器配置屬性安全進(jìn)行分析。

[1] 劉芳.嵌入式軟件測試技術(shù)的研究[D].北京:北京郵電大學(xué),2013.

[2] 裴華艷.嵌入式系統(tǒng)安全性的分析與研究[D].西安:西安電子科技大學(xué),2009.

[3] Yamaura,Tsuneo.How to Design Practical Test Cases[J].Software IEEE,1998,15(6):30-36.

[4] 姜榮萍.ARM嵌入式系統(tǒng)分析[J].計算機(jī)光盤軟件與應(yīng)用,2010(16):71-72.

[5] 喬文軍.嵌入式軟件測試平臺的研究與實現(xiàn)[D].南京:南京航空航天大學(xué),2011.

[6] YU Ting-ting,Ahyoung Sung,Witawas Srisa-an,et al.An Approach to Testing Commercial Embedded Systems[J].Journal of Systems and Software,2014,88:207-230.

[7] 蔡紅輝.嵌入式系統(tǒng)的安全與分析[J].科教文匯,2007(2):93-98.

[8] Huang J C.Program Instrumentation and Software Testing[J]. Computer,1978,11(4):25-32.

[9] 黃奕.基于模糊測試的軟件安全漏洞發(fā)掘技術(shù)研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2014.

[10] 鄔晟峰.吳悅.徐拾義.軟件隨機(jī)測試新方法研究[J].西南科技大學(xué)學(xué)報,2013(9):66-69.

[11] ZHU Hong.Software Unit Test Coverage and Adequacy[J]. ACM Computing Surveys,1997,29(04):366-367.

Security Analysis of ARM Chip Registers based on Classification Test

YANG Shi-de,LIANG Guang-ming,YU Kai
(School of Electronic Science and Engineering,NUDT,Changsha Hunan 410000,China)

With the rapid development of wireless communications and internet technology,the security problem faced by embedded system becomes increasingly acutte.Traditional security analysis of embedded system usually focuses on embedded operating systems and software,less research is involved in the security vulnerability of embedded-system hardware.With S3C2440 chip as the subject,and by analyzing the operating system of ARM chip hardware,the security analysis model of ARM chip registers based on tests is established,grading classification of ARM chip is also done in accordance with its security vulnerability.

test case;fusion tree;vulnerability discovery

TN92

A

1009-8054(2015)10-0127-04

楊世德(1991—),男,碩士研究生,主要研究方向為通信網(wǎng)信息安全;

梁光明(1970—),男,博士,碩士生導(dǎo)師,主要研究方向為通信網(wǎng)信息安全;

余 凱(1990—),男,碩士研究生,主要研究方向為通信網(wǎng)信息安全。■

2015-06-24

猜你喜歡
分析模型測試用例寄存器
基于BERT-VGG16的多模態(tài)情感分析模型
基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
Lite寄存器模型的設(shè)計與實現(xiàn)
基于混合遺傳算法的回歸測試用例集最小化研究
分簇結(jié)構(gòu)向量寄存器分配策略研究*
層次分析模型在結(jié)核疾病預(yù)防控制系統(tǒng)中的應(yīng)用
全啟發(fā)式語言分析模型
基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
IFC4結(jié)構(gòu)分析模型應(yīng)用技術(shù)
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
城市| 梅州市| 敖汉旗| 溧阳市| 丰台区| 伊宁县| 汝城县| 周宁县| 日喀则市| 景洪市| 依兰县| 绵竹市| 屯留县| 获嘉县| 望谟县| 长沙县| 渝中区| 峨山| 沧州市| 建瓯市| 庆云县| 洞口县| 澄迈县| 荔波县| 昭平县| 灵璧县| 乌苏市| 青神县| 寿宁县| 吴忠市| 义马市| 浙江省| 肇源县| 陆川县| 邯郸市| 福鼎市| 迭部县| 拜泉县| 南丰县| 武胜县| 铜梁县|