亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向安全性分析的嵌入式軟件測(cè)試方法研究

        2016-04-12 00:00:00林永峰陳亮
        現(xiàn)代電子技術(shù) 2016年13期

        摘 要: 在軟件開(kāi)發(fā)的整個(gè)周期內(nèi),軟件測(cè)試對(duì)項(xiàng)目的正常運(yùn)行起著關(guān)鍵作用,計(jì)算機(jī)軟件安全性測(cè)試是軟件測(cè)試的一部分,但又有其特別的測(cè)試技術(shù)和測(cè)試方法。嵌入式軟件的安全性測(cè)試可以分為功能性安全測(cè)試和漏洞性安全測(cè)試,功能性安全測(cè)試通常與普通的功能性測(cè)試一起進(jìn)行,其測(cè)試技術(shù)和測(cè)試方法也基本相同。在此重點(diǎn)挖掘一些嵌入式軟件安全測(cè)試的共性部分,主要研究安全測(cè)試在軟件開(kāi)發(fā)周期中的各種方法策略和技術(shù)。并借鑒一般應(yīng)用軟件安全測(cè)試的管理規(guī)范,結(jié)合嵌入式軟件的具體特點(diǎn)分析改進(jìn),試圖形成針對(duì)嵌入式軟件較為通用的、工程化的安全測(cè)試解決方案。

        關(guān)鍵詞: 嵌入式軟件測(cè)試; 漏洞挖掘; 安全性測(cè)試; 測(cè)試策略

        中圖分類號(hào): TN919?34; TM417 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)13?0080?04

        Abstract: Software testing in the whole period of software development plays an important role to ensure the normal operation of the project. The computer software security testing is a part of software testing, but has special testing technology and tes?ting method. The security testing of the embedded software is composed of functional security testing and vulnerability security testing. The functional security testing is often carried on with normal functional testing, and its testing techniques and testing methods are basic the same. The common part of the embedded software security testing is mined emphatically. Various strategies and techniques of security testing in software development period are mainly studied. Referring to the management practices of the general application software security testing, and in combination with the specific characteristics of the embedded software, the universal and engineering security testing solution for the embedded software attempts to form through the analysis and improvement.

        Keywords: embedded software testing; vulnerability mining; security testing; test strategy

        0 引 言

        計(jì)算機(jī)軟件安全性測(cè)試是嵌入式軟件測(cè)試的重要組成部分,它的作用是至關(guān)重要的。嵌入式軟件安全性測(cè)試不僅要對(duì)安全需求中的功能性安全需求進(jìn)行驗(yàn)證,還要從嵌入式軟件的設(shè)計(jì)和實(shí)現(xiàn)代碼中挖掘未知的漏洞,并對(duì)這些未知的安全缺陷進(jìn)行管理。通過(guò)嵌入式軟件安全測(cè)試,可以挖掘程序自身存在的安全隱患,并能夠檢查在遭遇攻擊時(shí)的防范能力,根據(jù)不同的安全需求其安全測(cè)試策略會(huì)相應(yīng)的不同[1]。通常情景下,安全性測(cè)試都是基于風(fēng)險(xiǎn)分析,即首先需要在測(cè)試前進(jìn)行嵌入式軟件的風(fēng)險(xiǎn)分析,然后再通過(guò)具體的安全測(cè)試進(jìn)行驗(yàn)證[2]。

        通過(guò)有效的嵌入式軟件安全測(cè)試可以發(fā)現(xiàn)大部分的安全缺陷,在此基礎(chǔ)上對(duì)安全漏洞進(jìn)行修補(bǔ)可以避免災(zāi)難性的安全性問(wèn)題的發(fā)生,這使得人們對(duì)安全測(cè)試的重視程度越來(lái)越高。軟件安全測(cè)試優(yōu)于其他軟件安全過(guò)程(諸如安全編碼或設(shè)計(jì)審計(jì)等)之處在于,計(jì)算機(jī)安全測(cè)試可以展示出真實(shí)的攻擊狀態(tài),因此展示出客觀的、可量化的結(jié)果,得出真實(shí)的漏洞利用情況[3]。在軟件開(kāi)發(fā)周期后期對(duì)軟件進(jìn)行改動(dòng)以消除漏洞,不僅存在很大的安全風(fēng)險(xiǎn),而且伴隨著高昂的開(kāi)銷。對(duì)漏洞被利用帶來(lái)的損失進(jìn)行評(píng)估,可以幫助決定是立刻修復(fù)一個(gè)安全問(wèn)題,還是在下一輪的軟件開(kāi)發(fā)中進(jìn)行修復(fù)[4]。

        1 嵌入式軟件測(cè)試技術(shù)與策略的研究

        1.1 嵌入式軟件交叉測(cè)試平臺(tái)

        嵌入式軟件交叉測(cè)試的步驟:首先在宿主機(jī)環(huán)境中進(jìn)行測(cè)試用例的編寫,然后將生成的測(cè)試腳本編譯成測(cè)試命令后下載到被測(cè)目標(biāo)機(jī)上,接著通過(guò)測(cè)試代理使這些測(cè)試命令在被測(cè)目標(biāo)機(jī)上得以執(zhí)行[5]。因?yàn)槟繕?biāo)機(jī)具有資源匱乏的特點(diǎn),測(cè)試工具一般運(yùn)行在宿主機(jī)上,而測(cè)試執(zhí)行后所采集的測(cè)試數(shù)據(jù)也不會(huì)在目標(biāo)機(jī)上進(jìn)行分析,這就需要目標(biāo)機(jī)端的測(cè)試代理把測(cè)試數(shù)據(jù)回傳到宿主機(jī)端,再使用其中的測(cè)試結(jié)果分析工具進(jìn)行測(cè)試數(shù)據(jù)的分析[6]。

        在接收到測(cè)試命令后,測(cè)試代理將按照測(cè)試命令驅(qū)動(dòng)被測(cè)嵌入式應(yīng)用軟件進(jìn)行相應(yīng)的測(cè)試,被測(cè)應(yīng)用軟件將生成的測(cè)試數(shù)據(jù)發(fā)送到測(cè)試代理中,再由其發(fā)送到宿主機(jī)方[7]。嵌入式軟件測(cè)試基本結(jié)構(gòu)如圖2所示。

        1.2 軟件測(cè)試策略

        軟件測(cè)試通過(guò)結(jié)構(gòu)化的組織方法,能夠以有效而合理的測(cè)試步驟完成測(cè)試要求。嵌入式軟件的結(jié)構(gòu)化測(cè)試方法,即TEmb方法由兩部分組成:一是在任何嵌入式軟件測(cè)試項(xiàng)目中的測(cè)試方法的基礎(chǔ)(通用元素),通用元素主要包括生命周期、基礎(chǔ)設(shè)施、基本技術(shù)和組織;二是一組相關(guān)的特定方法,特定方法主要針對(duì)特定的嵌入式軟件系統(tǒng)和特定的測(cè)試方式而采取的特定方法策略。通用元素和特定方法的有機(jī)結(jié)合,能夠產(chǎn)生適合特定的嵌入式系統(tǒng)軟件的測(cè)試方法和測(cè)試方案[8]。

        2 安全測(cè)試的組織方式和環(huán)境搭建

        嵌入式軟件的安全測(cè)試在軟件的開(kāi)發(fā)生命周期的測(cè)試階段的子過(guò)程一般采取下面的測(cè)試策略:軟件的單元測(cè)試通過(guò)對(duì)軟件的基本單位(單個(gè)類)的檢測(cè)以保證輸入的有效性,利用軟件內(nèi)部邏輯的縱深防御策略,防止惡意行為和不安全操作對(duì)軟件安全造成危害;在集成測(cè)試的過(guò)程中,軟件的整體安全屬性變化的可見(jiàn)和可測(cè)試,對(duì)平臺(tái)環(huán)境和應(yīng)用軟件的風(fēng)險(xiǎn)分析可作為集成測(cè)試的指南。集成測(cè)試階段通常進(jìn)行缺陷驗(yàn)證;系統(tǒng)測(cè)試和驗(yàn)收測(cè)試需要在真實(shí)的或模擬的目標(biāo)機(jī)環(huán)境中進(jìn)行,然后根據(jù)漏洞的入侵點(diǎn),將發(fā)現(xiàn)的可疑漏洞納入入侵點(diǎn)矩陣后,經(jīng)過(guò)典型的滲透活動(dòng)從而對(duì)識(shí)別的安全缺陷進(jìn)行驗(yàn)證。

        在嵌入式軟件進(jìn)行漏洞性安全測(cè)試時(shí),由于其測(cè)試技術(shù)和測(cè)試手段的復(fù)雜性等原因,采取在宿主機(jī)上進(jìn)行對(duì)目標(biāo)機(jī)環(huán)境的仿真和模擬。為了更好地在Android系統(tǒng)平臺(tái)上進(jìn)行安全測(cè)試,將在PC機(jī)上進(jìn)行Android模擬器的安裝。由于Android模擬器需要運(yùn)行在Java環(huán)境中,首先需要進(jìn)行Java環(huán)境的安裝,然后進(jìn)行AndroidSDK包的解壓和環(huán)境變量的配置。

        在安裝配置好Android模擬器的基礎(chǔ)上,有兩種方式進(jìn)行Android模擬器的啟動(dòng):一是在AndroidSDK的解壓包中直接雙擊SDKSetup.exe,然后將Android平臺(tái)的應(yīng)用軟件apk通過(guò)CMD命令窗口導(dǎo)入到Android模擬器中;二是在Eclipse等集成開(kāi)發(fā)環(huán)境下,導(dǎo)入要測(cè)試的應(yīng)用軟件對(duì)應(yīng)的工程IReader,直接在Eclipse的導(dǎo)航界面上進(jìn)行Android模擬器的啟動(dòng),在Android手機(jī)系統(tǒng)的啟動(dòng)界面上,看到將要測(cè)試的IReader閱讀器軟件,如圖3所示。

        在cmd窗口由AndroidShell命令行輸入想要閱讀的電子書(shū),該IReader閱讀器支持常見(jiàn)的格式,比如txt,html,PDF等格式。

        3 基于分類的應(yīng)用軟件安全測(cè)試

        3.1 軟件的功能性安全測(cè)試

        系統(tǒng)功能性安全測(cè)試是在軟件安全需求的分析與驗(yàn)證的基礎(chǔ)上進(jìn)行的。在軟件設(shè)計(jì)過(guò)程中,設(shè)計(jì)者為了保障嵌入式軟件自身安全,往往會(huì)根據(jù)安全需求增加系統(tǒng)安全防護(hù)方法,例如權(quán)限管理、傳輸加密、數(shù)據(jù)加密、數(shù)據(jù)備份和恢復(fù)等模塊。同時(shí),進(jìn)行測(cè)試用例的設(shè)計(jì),然后采用與嵌入式軟件其他功能測(cè)試相似的方法進(jìn)行驗(yàn)證,黑盒測(cè)試方法是用到最多的驗(yàn)證方法。

        3.2 嵌入式軟件的漏洞性安全測(cè)試

        嵌入式軟件的漏洞性安全測(cè)試要求測(cè)試人員以攻擊者的思維方式進(jìn)行嵌入式軟件的安全測(cè)試。因此,找到嵌入式軟件盡可能多的漏洞就成為漏洞性安全測(cè)試的首要目標(biāo),其測(cè)試流程如圖4所示。

        軟件漏洞的起因是多種多樣的,因此解決漏洞所需要的工作量也是千差萬(wàn)別的。使用DREAR模型是對(duì)漏洞相關(guān)風(fēng)險(xiǎn)進(jìn)行分級(jí)的一種有效技術(shù)。在對(duì)漏洞的修補(bǔ)進(jìn)行優(yōu)先級(jí)排序的過(guò)程中,漏洞的可利用性是最重要的參考因素之一。判定漏洞的可利用性通常包含對(duì)以下五個(gè)因素的權(quán)衡:

        攻擊者企圖探測(cè)并利用這個(gè)漏洞所需的訪問(wèn)權(quán)限和定位技術(shù);成功利用此漏洞能獲得的訪問(wèn)級(jí)別或權(quán)限;探測(cè)并利用此漏洞的時(shí)間和工作量因素;探測(cè)和利用的潛在可靠性;探測(cè)和利用的可靠性,探測(cè)和利用嘗試行為的可重復(fù)性。

        在對(duì)漏洞進(jìn)行分級(jí)的基礎(chǔ)上,按照漏洞的優(yōu)先級(jí)設(shè)計(jì)入侵矩陣和對(duì)應(yīng)的設(shè)計(jì)用例,繼而對(duì)漏洞進(jìn)行故障注入,從而驗(yàn)證漏洞攻擊給軟件帶來(lái)的危害。

        4 安全測(cè)試的執(zhí)行與分析

        4.1 安全測(cè)試前的安全性分析

        (1) 程序?qū)崿F(xiàn)語(yǔ)言的安全性分析

        除了Android平臺(tái)的安全機(jī)制,通過(guò)對(duì)將要測(cè)試的應(yīng)用軟件IReader進(jìn)行分析研究,該軟件復(fù)用了大量的由C++編寫的代碼。C,C++之類的本機(jī)代碼都是被編譯為機(jī)器碼并直接由處理器來(lái)執(zhí)行的。當(dāng)測(cè)試一個(gè)用托管代碼編寫的程序時(shí),注意力應(yīng)該集中在其中被復(fù)用的本機(jī)代碼上,由于本機(jī)代碼是在虛擬機(jī)之外執(zhí)行的,所以被復(fù)用的本機(jī)代碼永遠(yuǎn)是托管代碼風(fēng)險(xiǎn)最高的領(lǐng)域。

        (2) 應(yīng)用軟件的威脅建模與風(fēng)險(xiǎn)分析

        嵌入式應(yīng)用軟件IReader作為多種文件格式的閱讀器,可以通過(guò)AndroidShell導(dǎo)入需要的文件。利用FileFuzz工具可以很好的進(jìn)行此安全測(cè)試。

        4.2 安全測(cè)試的執(zhí)行與分析

        軟件漏洞作為軟件系統(tǒng)中存在缺陷和不足的地方,因此發(fā)現(xiàn)軟件的漏洞是攻擊者進(jìn)行入侵的首要工作。根據(jù)以上對(duì)應(yīng)用軟件和其操作系統(tǒng)的了解,應(yīng)該重點(diǎn)對(duì)嵌入式應(yīng)用軟件中被復(fù)用的C++代碼進(jìn)行漏洞挖掘;另外,還將對(duì)主體的Java代碼部分進(jìn)行漏洞查詢。在漏洞挖掘過(guò)程中,靜態(tài)分析方法是目前社會(huì)最實(shí)用、最有效的安全漏洞檢測(cè)方法,盡管仍存在可能產(chǎn)生漏報(bào)(1negatives)、誤報(bào)(1positives)的情況,特別是在擁有程序源代碼的情況下。因此,這部分的漏洞挖掘工作主要通過(guò)利用現(xiàn)有的靜態(tài)分析工具進(jìn)行。使用cppcheck對(duì)復(fù)用的C++代碼進(jìn)行靜態(tài)掃描,并沒(méi)有查詢出代碼的安全缺陷,只是存在一些不規(guī)范的編程方式。

        將工程導(dǎo)入到FindBugs靜態(tài)分析工具中,如圖5所示。FindBugs不僅能夠按照已有的安全規(guī)則進(jìn)行漏洞分類挖掘和準(zhǔn)確定位漏洞位置,還能夠?qū)β┒丛庥隹赡艿墓暨M(jìn)行分析,這對(duì)漏洞的管理和修補(bǔ)是極其有利的。就軟件安全的嚴(yán)重程度,首先對(duì)Maliciouscodevulnerability(惡意代碼漏洞)進(jìn)行分析和整理,如表1所示。

        將工程導(dǎo)入到FindBugs靜態(tài)分析工具中,如圖6所示。由圖6可以看出,程序源碼中出現(xiàn)的Mutable static field類型的漏洞被劃分為3大類:

        (1) Field沒(méi)有被定義為final類型,因而不能受到保護(hù)而免遭惡意代碼的入侵。一個(gè)不穩(wěn)定的靜態(tài)域是可以被惡意代碼或另外的包不經(jīng)意改變的。但是,這種域的使用方法是不容易解決的。

        (2) Field作為一個(gè)不穩(wěn)定的數(shù)組。一個(gè)final靜態(tài)域引用一個(gè)數(shù)組時(shí),可以被惡意代碼或從另一包訪問(wèn)。此代碼可以自由修改數(shù)組的內(nèi)容。

        (3) Field應(yīng)該受到包的保護(hù)。一個(gè)不穩(wěn)定的靜態(tài)域可以被惡意代碼或意外改變。該域應(yīng)該受到包的保護(hù)而避免這種缺陷。

        所有掃描出的漏洞可以在導(dǎo)出的XML文件中得到查詢,如圖7所示。

        從導(dǎo)出的XML文件中,可以清晰地了解漏洞缺陷的類型和安全優(yōu)先級(jí)以及漏洞的準(zhǔn)確定位。根據(jù)安全漏洞的優(yōu)先級(jí)順序和詳細(xì)介紹,可以建立入侵矩陣,以便進(jìn)行安全漏洞的驗(yàn)證工作。

        5 結(jié) 論

        隨著嵌入式系統(tǒng)在國(guó)民經(jīng)濟(jì)各行業(yè)的廣泛使用,嵌入式應(yīng)用軟件開(kāi)發(fā)成為計(jì)算機(jī)軟件領(lǐng)域的一個(gè)熱點(diǎn)。人們對(duì)智能化的需求使得嵌入式軟件的開(kāi)發(fā)日益復(fù)雜,并且嵌入式軟件的應(yīng)用領(lǐng)域?qū)Π踩砸笤絹?lái)越高。為了提高嵌入式軟件的安全性,人們提出安全編程的概念期望從根本上改變軟件質(zhì)量,但由于開(kāi)發(fā)成本及開(kāi)發(fā)效率等原因使得其效果十分有限。而嵌入式軟件的安全測(cè)試由于其成本較低,測(cè)試方法靈活,測(cè)試工具眾多等特點(diǎn),使其成為了一個(gè)很有價(jià)值的研究課題。

        嵌入式軟件安全測(cè)試的重點(diǎn)是由軟件中存在的安全漏洞進(jìn)行挖掘和管理的過(guò)程。本文首先對(duì)嵌入式軟件的安全性進(jìn)行闡述,在此基礎(chǔ)上對(duì)軟件安全漏洞是如何產(chǎn)生的以及主要的防御手段進(jìn)行了總結(jié)。通過(guò)對(duì)各種嵌入式安全測(cè)試技術(shù)的研究,總結(jié)其優(yōu)缺點(diǎn)和實(shí)用性。在對(duì)嵌入式軟件的安全性和安全測(cè)試技術(shù)的共性進(jìn)行分析研究的基礎(chǔ)上,本文結(jié)合實(shí)際的Android平臺(tái)的應(yīng)用軟件IReader,提出針對(duì)嵌入式軟件安全測(cè)試的測(cè)試方案。該方案對(duì)嵌入式軟件測(cè)試的組織方式,測(cè)試環(huán)境的搭建和具體的測(cè)試流程進(jìn)行研究,并結(jié)合實(shí)例進(jìn)行了驗(yàn)證說(shuō)明。

        參考文獻(xiàn)

        [1] 楊晨娜.基于單片機(jī)的井徑測(cè)量系統(tǒng)軟件設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(18):53?56.

        [2] 呂金河.嵌入式軟件測(cè)試[J].軟件導(dǎo)刊,2010(9):11?12.

        [3] 李偉,程朝輝.嵌入式軟件測(cè)試策略研究[J].北京化工大學(xué)學(xué)報(bào),2007(z1):23?24.

        [4] 王妍,徐葉茂.嵌入式計(jì)算機(jī)系統(tǒng)中的故障注入技術(shù)[J].艦船電子工程,2005(5):45?46.

        [5] 王軼辰,劉斌,鐘德明.基于虛擬機(jī)的嵌入式軟件測(cè)試環(huán)境[J].計(jì)算機(jī)應(yīng)用,2005(12):55?56.

        [6] 劉利枚,汪文勇,唐科.嵌入式軟件測(cè)試方法與技術(shù)[J].計(jì)算機(jī)與現(xiàn)代化,2007(4):66?67.

        [7] 杜延,劉從越.嵌入式實(shí)時(shí)系統(tǒng)軟件測(cè)試實(shí)踐[J].微計(jì)算機(jī)信息,2006,22(26):31?33.

        [8] LABROSSE J J.嵌入式實(shí)時(shí)操作系統(tǒng)[M].邵貝貝,譯.北京:北京航空航天大學(xué)出版社,2003:66?68.

        黑丝国产精品一区二区| 日韩色久悠悠婷婷综合| 久久99精品国产99久久6男男 | 亚洲av无码专区在线亚| 野外少妇愉情中文字幕| 国产av无码专区亚洲av麻豆| 一区二区三区成人av| 国产人成亚洲第一网站在线播放| 午夜福利啪啪片| 久久久亚洲免费视频网| 92精品国产自产在线观看48页| 国产69精品久久久久9999| 日本高清视频wwww色| 偷拍综合在线视频二区日韩| 久久午夜伦鲁鲁片免费| 日韩AV无码一区二区三区不卡毛片| 午夜性无码专区| 日韩在线永久免费播放| 一区二区高清视频免费在线观看 | 豆国产96在线 | 亚洲| 青青青爽在线视频免费播放| 国产精品性一区二区三区| caoporen国产91在线| 洗澡被公强奷30分钟视频| 日韩国产精品无码一区二区三区| 国产一区亚洲二区三区极品| 午夜国产在线精彩自拍视频| 99久久精品一区二区三区蜜臀| 五月天精品视频在线观看| 久久无码av中文出轨人妻| 92午夜少妇极品福利无码电影| 国产精品一区av在线| 一本之道加勒比在线观看| 被暴雨淋湿爆乳少妇正在播放| 中文字幕天堂网| 国产精品国产三级国产av′| 老太脱裤子让老头玩xxxxx| 久久久亚洲欧洲日产国码二区| 久久女人精品天堂av影院麻| 亚洲一区久久蜜臀av| 亚洲中文字幕不卡一区二区三区|