999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

模糊測試技術(shù)在可信執(zhí)行環(huán)境安全評測中的應(yīng)用

2017-12-26 09:53:10詹鵬翼路曄綿詹維驍國煒余泉
移動通信 2017年21期
關(guān)鍵詞:環(huán)境

詹鵬翼,路曄綿,詹維驍,國煒,余泉

(中國信息通信研究院,北京 100191)

模糊測試技術(shù)在可信執(zhí)行環(huán)境安全評測中的應(yīng)用

詹鵬翼,路曄綿,詹維驍,國煒,余泉

(中國信息通信研究院,北京 100191)

隨著移動互聯(lián)網(wǎng)的迅猛發(fā)展,TEE在移動終端上的應(yīng)用也越發(fā)廣泛,然而各種關(guān)于TEE的漏洞層出不窮,為可信應(yīng)用的安全性埋下了隱患,因此從模糊測試技術(shù)的簡要原理出發(fā),介紹模糊測試技術(shù)應(yīng)用在TEE安全測評中的可行性思路與實現(xiàn)。在實際的安全評測中,使用模糊測試技術(shù)在TEE安全評測中發(fā)現(xiàn)了不少潛在的問題,API模糊測試已成為TEE安全測評過程中必不可少的重要組成部分。

模糊測試 可信執(zhí)行環(huán)境 系統(tǒng)安全評測 API安全性

1 引言

模糊(Fuzzing)測試是一種自動或半自動化地提供非預(yù)期的輸入,并通過監(jiān)視異常結(jié)果來發(fā)現(xiàn)實際軟件實現(xiàn)漏洞的測試方法。模糊測試的概念最早是由University of Wisconsin Madison的Professor Barton Miller和他的學(xué)生提出的,Professor Barton Miller在高級操作系統(tǒng)課程上,實現(xiàn)了一個簡單原始的模糊器(Fuzzer)來測試UNIX系統(tǒng)的健壯性[1]。2006年開始,模糊測試技術(shù)在軟件檢測領(lǐng)域得到了長足的發(fā)展,2007年,Team509安全團(tuán)隊的wushi通過模糊測試技術(shù)發(fā)現(xiàn)了QQ的一個溢出漏洞,Wushi本著“負(fù)責(zé)任的漏洞披露過程”將漏洞細(xì)節(jié)告知了騰訊安全團(tuán)隊[2]。為此,騰訊還專門發(fā)布了一個安全公告。2008年,Godefroid等人利用Fuzzing工具SAGE發(fā)現(xiàn)大型Windows應(yīng)用程序中二十多個未知漏洞[3]。

此后一些開源的模糊器和模糊測試框架漸漸走向成熟,例如American fuzzy lop、Peach及Sulley等,在發(fā)現(xiàn)軟件漏洞這一領(lǐng)域均取得了不俗的成果,模糊測試顯然已經(jīng)成為發(fā)現(xiàn)軟件漏洞的重要手段與測試方式之一。

TEE(Trusted Execution Environment,可信執(zhí)行環(huán)境)是一個與移動智能終端設(shè)備上REE(Rich Execution Environment,富執(zhí)行環(huán)境)并存的操作系統(tǒng),它提供了一個與Rich OS(通常是Android)隔離的運(yùn)行環(huán)境,為移動支付、數(shù)字版權(quán)保護(hù)、身份驗證和敏感信息存儲等保駕護(hù)航。然而當(dāng)TEE系統(tǒng)被攻破時,其提供的一切安全服務(wù)不再有任何可信度,所以TEE自身的安全性就顯得尤為重要。近幾年隨著TEE技術(shù)的快速發(fā)展與實際應(yīng)用(指紋解鎖、手機(jī)轉(zhuǎn)賬等),針對TEE報出的漏洞也是層出不窮,例如QSEE的提權(quán)漏洞(CVE-2015-6639),可以利用該漏洞來提取密鑰等重要敏感信息。2017年8月17日,iOS的Secure Enclave[4](Apple的TEE系統(tǒng))固件的密鑰被公布[5],與此同時,曾在San Bernardino槍擊案中幫助FBI解鎖嫌疑人iPhone 5c的安全公司Cellebrite,也宣稱已經(jīng)成功破解了iPhone 6的Secure Enclave[6]。

由此可見,隨著TEE系統(tǒng)在移動終端上越來越廣泛的應(yīng)用,如何保證TEE自身的安全性就顯得尤為重要,TEE系統(tǒng)的安全評測工作也隨之受到產(chǎn)業(yè)需求方以及行業(yè)監(jiān)管方的關(guān)注。本文就模糊測試技術(shù)進(jìn)行簡要的介紹,并對其在TEE系統(tǒng)安全測評中的應(yīng)用提供一些可行性的思路和實踐經(jīng)驗。

2 模糊器架構(gòu)

一個完善的模糊測試流程應(yīng)具備以下幾個階段,如圖1所示:

圖1 模糊測試的階段

(1)識別目標(biāo)

首先要確定模糊測試的對象,尤其是被多個應(yīng)用程序所共享的第三方庫,這類型第三方庫的用戶群體較大,出現(xiàn)安全問題的風(fēng)險較高。要對其出現(xiàn)過的漏洞進(jìn)行一定考察分析,并在模糊測試中重點(diǎn)關(guān)注,確定測試對象后再選擇與其相匹配的模糊測試技術(shù)。

(2)識別輸入

可被利用的漏洞很大一部分都是由于特殊的輸入導(dǎo)致的,所以任何發(fā)往目標(biāo)程序的輸入都是輸入向量。

(3)生成模糊測試數(shù)據(jù)

如何生成的值、如何變異已有的數(shù)據(jù)或動態(tài)生成數(shù)據(jù),這些決策取決于目標(biāo)應(yīng)用程序及其數(shù)據(jù)格式。模糊測試的數(shù)據(jù)不僅僅是相關(guān)的邊界值、非法值,也同樣要包括半隨機(jī)的生成測試數(shù)據(jù),即在重要的參數(shù)中大部分生成合法且有效的數(shù)據(jù),于此同時,其余部分生成非法或不滿足其數(shù)據(jù)格式的參數(shù)數(shù)據(jù),進(jìn)行不斷地排列組合。

(4)執(zhí)行模糊測試數(shù)據(jù)

自動化地將生成的模糊測試數(shù)據(jù)發(fā)送給目標(biāo)程序。由于目標(biāo)程序未必考慮到所有可能的非法數(shù)據(jù)的過濾,模糊數(shù)據(jù)可能會導(dǎo)致異常,并觸發(fā)相關(guān)的漏洞。

(5)監(jiān)視異常

對目標(biāo)程序故障或異常的監(jiān)控是模糊器至關(guān)重要的一步,不但要監(jiān)測并記錄導(dǎo)致故障或異常出現(xiàn)的模糊測試數(shù)據(jù),更要記錄下異常出現(xiàn)的上下文信息以及代碼報錯的詳細(xì)信息,以便復(fù)現(xiàn)這個異常的出現(xiàn),此外還要能保證其他的測試輸入不受引發(fā)異常的測試數(shù)據(jù)的影響,持續(xù)地正常運(yùn)行。所以一個完善的模糊器架構(gòu)中如圖2所示。監(jiān)控器模塊要與其他模塊進(jìn)行解耦合,準(zhǔn)確地定位問題的出現(xiàn)并高效地發(fā)揮其作用。

圖2 模糊器的架構(gòu)示例

(6)確定可利用性

得到這個結(jié)果后,通過對模糊器的輸出信息進(jìn)行分析,以確定導(dǎo)致異常的模糊測試數(shù)據(jù)。必要的時候開發(fā)相關(guān)的測試?yán)瑢δ繕?biāo)程序進(jìn)行相關(guān)的滲透測試,以確定該異常引發(fā)的漏洞的可利用性。

3 模糊技術(shù)在TEE安全測試實例

本文以O(shè)PTEE為安全測試對象,OPTEE是一個開源的基于ARM Trustzone技術(shù)的TEE操作系統(tǒng),其實現(xiàn)嚴(yán)格遵循了GlobalPlatform的TEE System Architecture Specification中的要求。并且OPTEE也在不斷地完善、改進(jìn)中,所以對其安全性的評測有著很重要的價值和意義。OPTEE框架的如圖3所示。

在OPTEE的架構(gòu)中,一個應(yīng)用程序分為兩部分,一部分運(yùn)行在REE中的CA(Client Application),一部分是在TEE中的TA(Trusted Application)。實際運(yùn)行時,CA首先調(diào)用TEE Client API,該API通過SYSCALL(系統(tǒng)調(diào)用),從用戶態(tài)進(jìn)入到內(nèi)核態(tài),根據(jù)相應(yīng)的參數(shù)尋找到相對的OPTEE driver,之后通過SMC操作將cortex切換到secure world狀態(tài),從而實現(xiàn)了進(jìn)入OPTEE Trusted OS。OPTEE Trusted OS會接管后續(xù)的操作,首先處理相應(yīng)的傳入?yún)?shù),通過解析UUID,加載或直接使用擁有該UUID的TA,該TA再根據(jù)command參數(shù)調(diào)用TEE internal API實現(xiàn)具體的操作。

OPTEE精巧的框架設(shè)計,應(yīng)用最小權(quán)限原則,實行嚴(yán)格的權(quán)限管理,盡量降低了CA、TA的權(quán)限,有效地降低了攻擊面,這就使得程序運(yùn)行時TEE internal API的安全性顯得尤為重要。本文針對自行研發(fā)的TEE API模糊測試工具在OPTEE上的移植、評估進(jìn)行簡要的介紹。

(1)識別測試對象

對OPTEE的源代碼進(jìn)行深入分析,在分析過程中發(fā)現(xiàn)加密解密模塊所用的是LibTomCrypt庫,對該庫曾出現(xiàn)過的漏洞進(jìn)行查閱,并對同類的問題進(jìn)行重點(diǎn)關(guān)注,這樣便于在編寫后續(xù)的測試?yán)龝r進(jìn)行重點(diǎn)檢測。例如LibTomCrypt庫中rsa_verify_hash.c文件的‘rsa_verify_hash_ex’函數(shù)曾存在過安全漏洞(CVECVE-2016-6129),攻擊者可利用其漏洞進(jìn)行RSA簽名偽造等[10]。

(2)生成模糊測試數(shù)據(jù)

本文針對TEE API模糊測試工具采用預(yù)生成樣本數(shù)據(jù)的方式,基于上一步分析出的可能導(dǎo)致異常的數(shù)據(jù),同樣加入到該模糊測試數(shù)據(jù)中。且測試工具所涵蓋的測試?yán)闅v了所有TEE API所支持的功能,包括Fuzz API(API的模糊測試)、Abuse API(濫用API測試)及Memory test(內(nèi)存壓力測試等)三大類測試。

圖3 OPTEE架構(gòu)示意圖

(3)測試工具移植

工具移植的主要思想是自行編寫CA和TA,并將其上傳到開發(fā)板運(yùn)行。CA調(diào)用相關(guān)的TA進(jìn)行測試,首先獲取到OPTEE的SDK,通過導(dǎo)入OPTEE的動態(tài)庫libteec.so與teec_client.h頭文件,編譯模糊器的CA。本模糊測試工具采用NDK-build(Native Development Kit)的方式來編譯,Android.mk代碼如圖4所示:

圖4 編譯CA的Android.mk文件示例

通過ADB(Android Debug Bridge)工具的adb push語句,將編譯好的CA導(dǎo)入到開發(fā)板中。同樣,通過使用SDK編譯模糊器的TA部分,編譯時注意使用UUID作為每個TA的唯一標(biāo)識,成功編譯后通過ADB push命令將TA導(dǎo)入到目標(biāo)開發(fā)板中的指定目錄中。

(4)工具運(yùn)行

使用ADB工具進(jìn)入開發(fā)板的shell,并執(zhí)行該模糊器。在模糊測試啟動后,模糊器將自動地將測試數(shù)據(jù)不斷導(dǎo)入到相關(guān)的測試?yán)小A將模糊測試數(shù)據(jù)不斷地排列組合,并申請調(diào)用相應(yīng)API,TA端通過接口接收該調(diào)用命令,通過TEE Internal API接口執(zhí)行實現(xiàn)具體操作。

上述過程完成了TEE API接口的模糊測試,在整個測試過程中,監(jiān)控器模塊可以實時地監(jiān)控該模糊器的運(yùn)行狀態(tài),并在故障、崩潰或異常情況時對所有運(yùn)行數(shù)據(jù)進(jìn)行記錄,并在運(yùn)行完成后對記錄的所有信息進(jìn)行分類匯總、輸出,并生成可讀的Excel文件。API模糊測試報告示例如圖5所示。

最后通過分析引發(fā)異常的模糊測試數(shù)據(jù),確定相應(yīng)的API是否有漏洞,編寫由該類數(shù)據(jù)為參數(shù)組成的測試?yán)M(jìn)行反復(fù)測試,進(jìn)而判斷該API引發(fā)的漏洞是否有被利用的可能性。

4 對數(shù)據(jù)的分析

通過對輸出結(jié)果的詳細(xì)分析,不僅可以分析出API的潛在問題,還可以以此為依據(jù)繼續(xù)編寫相應(yīng)的CA、TA,進(jìn)行后續(xù)的滲透測試,以便確定其漏洞的可利用性。例如,通過對測試結(jié)果的觀察,發(fā)現(xiàn)在某API測試?yán)亩啻蝔or循環(huán)中,出現(xiàn)了固定循環(huán)次數(shù)引發(fā)崩潰的現(xiàn)象。經(jīng)過進(jìn)一步的詳細(xì)分析,發(fā)現(xiàn)是由于不斷初始化某句柄,導(dǎo)致內(nèi)存溢出,進(jìn)而引發(fā)TEE系統(tǒng)崩潰。

5 結(jié)束語

圖5 API模糊測試報告示例

OPTEE是一個開源的、在不斷改進(jìn)中的TEE操作系統(tǒng),本文的測試以O(shè)P-TEE為例,對模糊技術(shù)在TEE安全評測的應(yīng)用做了簡要的介紹。在實驗室對市面上其他商用的TEE系統(tǒng)安全測試過程中,同樣利用該模糊技術(shù)發(fā)現(xiàn)了不少的API實現(xiàn)的具體問題,對這些存在風(fēng)險的API不恰當(dāng)?shù)氖褂茫赡軙斐上到y(tǒng)崩潰等異常現(xiàn)象,為可信應(yīng)用的正常執(zhí)行帶來了隱患,例如指紋識別、手機(jī)轉(zhuǎn)賬、數(shù)字版權(quán)保護(hù)等應(yīng)用都有被攻破的可能。在基于TEE安全技術(shù)的移動智能設(shè)備飛速增長的未來幾年里,TEE Internal API潛在的安全隱患不容忽視,因此對TEE系統(tǒng)開展行之有效的安全測試刻不容緩。

在安全測評的實際過程中,利用模糊測試技術(shù),不僅能全面地發(fā)現(xiàn)了API的潛在漏洞,也在測試的同時,根據(jù)測試的異常數(shù)據(jù)仔細(xì)分析,幫助TEE廠商不斷完善其代碼的實現(xiàn),盡可能地將由API引發(fā)漏洞的概率降到最低。在整個的TEE安全評測過程中,針對API的模糊測試只是第一步,它為后續(xù)測試提供了大量可分析的數(shù)據(jù),為后續(xù)的TEE已知漏洞檢測等打下了基礎(chǔ),所以它也是最至關(guān)重要的一部分。

[1] M Sutton, A Greene, P Amini. Fuzzing: Brute Force Vulnerability Discovery[M]. USA: Addison-Wesley Professional, 2007.

[2] lake2[TSRC]. Fuzz漏洞挖掘漫談[EB/OL]. (2013-11-02)[2017-10-27]. https://security.tencent.com/index.php/blog/msg/28.

[3] QQ安全中心. QQ遠(yuǎn)程協(xié)助堆溢出漏洞處理報告(TX07092701)[EB/OL]. (2007-09-27)[2017-10-27].http://aq.qq.com/v2/notice/content_2.shtml.

[4] CVE. CVE-2015-6639[EB/OL]. (2016-01-01)[2017-10-27]. http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6639.

[5] Apple Inc. iOS Security[EB/OL]. [2017-10-27]. http://images.apple.com/euro/privacy/d/generic/docs/iOS_Security_Guide.pdf.

[6] Laginimaineb. QSEE privilege escalation vulnerability and exploit[EB/OL]. [2017-10-27]. http://bits-please.blogspot.jp/2016/05/qsee-privilege-escalationvulnerability.html.

[7] Michael Mimoso. Hacker Publishes iOS Secure Enclave Firmware Decryption Key[EB/OL]. (2017-08-16)[2017-10-27]. https://threatpost.com/hacker-publishes-iossecure-enclave-f i rmware-decryption-key/127524/.

[8] GlobalPlatform Device Technology. TEE Internal API Specification Version 1.0. Technical Report GPD_SPE_010, globalplatform.org[R]. 2011.

[9] GlobalPlatform Device Technology. TEE Internal Core API Specif i cation Version 1.1.1 Technical Report GPD_SPE_010, globalplatform.org[R]. 2016.

[10] 國家信息安全漏洞庫. Linaro OP-TEE安全漏洞[EB/OL]. (2017-02-15)[2017-10-27]. http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201702-466.

[11] 國煒. 移動終端可信環(huán)境技術(shù)要求第2部分:可信執(zhí)行環(huán)境[Z]. 2015.

[12] 國煒. 移動終端可信環(huán)境技術(shù)要求第4部分:安全操作系統(tǒng)[Z]. 2015. ★

Application of Fuzz Test Technology in Security Evaluation on Trusted Execution Environment

ZHAN Pengyi, LU Yemian, ZHAN Weixiao, GUO Wei, YU Quan
(China Academy of Information and Communications Technology, Beijing 100191, China)

With the rapid development of mobile Internet, the Trusted Execution Environment (TEE) has been widely applied in mobile terminal devices. However, security issues of TEE grow continually resulting in the potential risk to the trusted application. Based on the principle of fuzz test, the feasible idea and implementation of fuzz test technology in the TEE security evaluation were introduced. In the actual security test, the use of fuzz test technology fi nds out some potential problems in the TEE security evaluation. API fuzz test becomes the indispensable component in the process of TEE security evaluation.

fuzz test Trusted Execution Environment system security evaluation API security

編 者 按

互聯(lián)網(wǎng)在信息安全方面始終存在著極大的隱患,特別是在移動終端側(cè),個人信息泄露等問題頻繁發(fā)生,對此產(chǎn)業(yè)各方都采取了相應(yīng)的解決措施,其中TEE(可信執(zhí)行環(huán)境)和云安全防護(hù)是兩項應(yīng)用較廣的技術(shù),因此本期專題將主要展示業(yè)界對TEE和云安全防護(hù)技術(shù)的具體應(yīng)用、安全評測等方面的研究,期待業(yè)界同仁展開更進(jìn)一步的探討和解析。

10.3969/j.issn.1006-1010.2017.21.001

TN929.5

A

1006-1010(2017)21-0001-05

詹鵬翼,路曄綿,詹維驍,等. 模糊測試技術(shù)在可信執(zhí)行環(huán)境安全評測中的應(yīng)用[J]. 移動通信, 2017,41(21): 1-5.

2017-10-27

黃耿東 huanggengdong@mbcom.cn

詹鵬翼:工程師,碩士畢業(yè)于倫敦國王學(xué)院,現(xiàn)任職于中國信息通信研究院泰爾終端實驗室,主要研究方向為可信執(zhí)行環(huán)境安全評測、模糊測試。

路曄綿:工程師,博士畢業(yè)于中國科學(xué)院大學(xué),現(xiàn)任職于中國信息通信研究院泰爾終端實驗室,主要研究方向為移動互聯(lián)網(wǎng)安全、可信執(zhí)行環(huán)境安全。

詹維驍:助理工程師,畢業(yè)于北京信息科技大學(xué),現(xiàn)任職于中國信息通信研究院,主要從事移動智能終端安全性檢測及相關(guān)管理工作。

猜你喜歡
環(huán)境
長期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
孕期遠(yuǎn)離容易致畸的環(huán)境
不能改變環(huán)境,那就改變心境
環(huán)境與保護(hù)
環(huán)境
孕期遠(yuǎn)離容易致畸的環(huán)境
高等院校環(huán)境類公選課的實踐和探討
掌握“三個三” 兜底環(huán)境信訪百分百
我國環(huán)境會計初探
中國商論(2016年33期)2016-03-01 01:59:38
主站蜘蛛池模板: 日韩av电影一区二区三区四区| 久久国产精品嫖妓| 国产一区亚洲一区| 国产噜噜噜| 亚洲综合狠狠| 草逼视频国产| 欧美v在线| 国产精品99久久久| 亚洲国产一区在线观看| 久久伊伊香蕉综合精品| 亚洲欧美国产五月天综合| 无码专区国产精品第一页| 天天色天天综合| 丝袜无码一区二区三区| 毛片大全免费观看| 精品第一国产综合精品Aⅴ| 91福利免费| 日本三级欧美三级| 国产精品久久久久久久久kt| 在线观看免费黄色网址| 久久 午夜福利 张柏芝| 成人综合在线观看| 久草热视频在线| 国产欧美精品专区一区二区| 国产综合精品日本亚洲777| 欧美日韩精品一区二区在线线| 国产欧美日韩专区发布| 91在线精品麻豆欧美在线| www.亚洲天堂| 国产在线一区视频| 国产AV无码专区亚洲精品网站| 丰满人妻久久中文字幕| 国产成人高清亚洲一区久久| 蜜臀AV在线播放| 一区二区偷拍美女撒尿视频| 毛片手机在线看| 国产成人av大片在线播放| 中文字幕天无码久久精品视频免费 | 91国语视频| 国产精品视频公开费视频| 国产精品白浆无码流出在线看| 婷婷色在线视频| 久久国产拍爱| 国产av一码二码三码无码| 在线不卡免费视频| 国产精品亚洲欧美日韩久久| 在线综合亚洲欧美网站| 国产麻豆精品久久一二三| 无码一区二区波多野结衣播放搜索| 欧美性精品不卡在线观看| 国产幂在线无码精品| 99精品高清在线播放| 色窝窝免费一区二区三区| 国产一区二区福利| 欧美人在线一区二区三区| 在线免费a视频| 色婷婷电影网| 国产农村1级毛片| 久久精品亚洲热综合一区二区| 国模在线视频一区二区三区| 日韩无码黄色网站| 性做久久久久久久免费看| 亚洲第一黄片大全| 91成人精品视频| 色老头综合网| 久久精品国产电影| 又粗又大又爽又紧免费视频| 91精品日韩人妻无码久久| 亚洲无线视频| 亚洲精品视频免费看| 国产裸舞福利在线视频合集| 国产成人综合日韩精品无码首页 | 五月激情婷婷综合| 久久人人爽人人爽人人片aV东京热 | 亚洲女同一区二区| 亚洲精品卡2卡3卡4卡5卡区| 丝袜高跟美脚国产1区| 亚洲成人动漫在线| 一级一毛片a级毛片| 成人91在线| 毛片久久网站小视频| WWW丫丫国产成人精品|