?

基于信任網絡的軟件可信評價方法①

2017-01-10 06:27張建標
高技術通訊 2016年7期
關鍵詞:可信性終端設備票據

閻 林 張建標 張 艾

(*北京工業大學計算機學院 北京 100124)(**可信計算北京市重點實驗室 北京 100124)(*** 信息安全等級保護關鍵技術國家工程實驗室 北京 100124)(****北京工業大學-都柏林國際學院 北京 100124)

?

基于信任網絡的軟件可信評價方法①

閻 林②******張建標③******張 艾****

(*北京工業大學計算機學院 北京 100124)
(**可信計算北京市重點實驗室 北京 100124)
(***信息安全等級保護關鍵技術國家工程實驗室 北京 100124)
(****北京工業大學-都柏林國際學院 北京 100124)

研究了可信計算領域中的軟件可信評價問題,提出了一種基于信任網絡的軟件可信度量方法,該方法通過信任網絡模型將用戶劃分成不同的用戶域,采用可信度量票據的方法保障設備的可信性;在設備可信的基礎上建立可信風險樹模型,分別從可信和風險兩方面對軟件進行可信度量,計算異常行為的風險概率;采用多臺設備協同工作的方式,通過滑動窗口模型從用戶域范圍和管理域范圍對軟件進行可信評價。最后通過實驗驗證了該方法的正確性和可信性。

可信計算, 可信度量, 信任網絡, 信任域, 可信軟件

0 引 言

隨著計算機與網絡技術的發展,軟件在信息社會中發揮著日益重要的作用[1,2]。隨著軟件在金融、軍事及經濟等敏感領域應用的不斷深化,對軟件可信性需求也愈加急迫[3,4]。然而目前可信軟件構造技術、可信性度量與評價方法嚴重缺乏,使得軟件產品在推出時就含有已知或未知的缺陷,對軟件的安全運行構成了不同程度的威脅[5-7]。如何在軟件開發和運行中保證軟件的高可信性,已成為軟件理論和技術研究的重要方向[8,9]。

可信計算組織(Trusted Computing Group,TCG)從實體行為角度對可信進行了定義:“如果一個實體的行為,總是以預期的方式,達到預期的目標,則稱其為可信的[10]”。一個可信的軟件應該是在任何運行環境中,軟件的行為及結果可以預期,運行時的行為狀態可以監控[11-13]。由于運行環境的差異,單一的運行環境不能為軟件的可信性給予充分的評價,只有多種運行環境共同對軟件進行可信評價,才能充分發現軟件的威脅[14,15]。本文基于信任網絡理論和可信連接架構(trusted connection architecture,TCA),結合靜態可信度量和動態可信度量技術,提出了基于信任網絡的軟件可信評價方法。

1 基于票據的信任網絡模型

將信任網絡模型作為網絡管理模型,將可信連接架構(TCA)作為設備之間通信的可信性保障,基于信任網絡的軟件可信評價模型如圖1所示。

管理框架分為三層:管理域管理者,用戶域管理者和終端設備。其中,管理域管理者是全局信任關系的可信根,負責維護信任網絡的可信性。當管理域管理者和用戶域管理者進行通信時,結合管理域可信第三方建立TCA模型,并通過用戶域票據選擇可信用戶域;用戶域管理者是局部信任關系的可信根,負責維護當前用戶域的可信性。當用戶域管理者和終端設備進行通信時,結合用戶域可信第三方建立TCA模型,并通過用戶身份票據和平臺配置票據選擇可信終端;終端設備是用戶的操作平臺,也是軟件運行的終端環境。用戶域管理者采集軟件在可信終端上運行的可信度量值,從用戶域角度對軟件進行局部可信評價。管理域管理者采集可信用戶域的局部可信評價,從管理域角度對軟件進行全局可信評價。

圖1 基于信任網絡的軟件可信評價模型的邏輯結構

(1)

其中,ΦMTTP(x)表示管理域可信第三方提供的票據生成函數。首先通過所有的用戶身份屬性和平臺配置屬性生成用戶域票據,之后管理域可信第三方的私鑰SKMTTP對該票據進行數字簽名,生成的ticketUDi為最終的用戶域票據。注意,票據與證書的區別是:票據中不存在公鑰。例如,兩組相同的數據會生成兩個相同的票據,但不會生成兩個相同的證書。

Uticketj=sigUTTPi(SKUTTPi,ΦUTTPi(ticketUDi,Ui, j))

(2)

其中,ΦUTTPi(x)表示索引號為i的用戶域可信第三方提供的票據生成函數;sigUTTPi(x)表示索引號為i的用戶域可信第三方提供的數字簽名函數;SKUTTPi表示索引號為i的用戶域可信第三方進行數字簽名操作的私鑰;Uticketj表示索引號為j的終端設備得到的用戶身份票據。

Pticketj=sigUTTPi(SKUTTPi,ΦUTTPi(ticketUDi,Pi, j))

(3)

定義4可信終端:如果終端設備使用者用戶身份票據和終端設備的平臺配置票據同預期的結果相同,則稱該終端設備為可信終端。

定義5可信用戶域:如果用戶域管理者的用戶域票據同預期的結果相同,則稱該用戶域為可信用戶域。

2 軟件可信度量方法

2.1 基于票據的靜態可信度量

通過可信第三方對軟件和用戶域票據進行數字簽名,使數字簽名在具有不可否認性的同時具備標識用戶域來源的功能。將數字簽名附加在軟件的指定位置得到發行的軟件。具體方式為

(4)

其中appraw代表軟件的原始二進制文件,apprel表示發行的軟件,sUTTPi表示索引號為i的用戶域對軟件的數字簽名。當軟件在運行過程中出現問題時,可通過sUTTPi發現該軟件的來源。當軟件的完整性被破壞時,可直接標識為不可信,阻止軟件的運行;反之,只能表示軟件未被篡改,允許軟件運行,但不能確保其可信性。

2.2 基于可信風險樹的動態可信度量

為了保障軟件運行行為的可信性,需要對軟件的行為進行實時監控,定位軟件的漏洞等安全隱患。在軟件運行時通過建立可信風險樹模型實施動態可信度量,從可信性和風險性兩個方面進行可信度量??尚棚L險樹模型如圖2所示,可信風險樹的構造如圖3所示。

圖2 可信風險樹模型

圖3 可信風險樹的構造

從圖中可以看出,可信風險樹由可信樹和風險樹構成??尚艠涿枋鲕浖念A期行為,風險樹描述軟件的異常行為。ω和υ分別表示可信風險樹的信任權重和風險權重,始終滿足

ω+υ≡1

(5)

初始狀態為軟件可信,即ω=1, υ=0,此時建立可信樹,風險樹為空集。隨著可信度量的進行,當遇見異常行為時更新ω和υ的權重值。當技術資料完善時,可直接得出軟件的預期行為和依賴資源;如果缺乏相關資料,可通過逆向工程技術分析出軟件的預期行為和依賴資源。通過對預期行為和依賴資源的分析,排除軟件內部的調用序列,篩選出軟件對操作系統的調用序列,通過系統調用序列和依賴資源建立分層的可信樹。分層的原則為:當遇見過程轉移指令時,則進入下一層。

定義6設預期行為集合為B={b1,b2,…,bi,…,bn},每一個元素bi是一個四元組:

bi=〈bid, bcount, rcount, bscore〉

其中bid表示行為的標識符,bcount表示該行為的子行為數量,rcount表示該行為直接調用資源的數量,bscore為該行為節點實際得到的分數。

定義7設資源集合為R={r1,r2,…,rj,…},每一個元素rj是一個三元組:

rj=〈rid, rtype, rcontent〉

其中,rid表示資源的標識符;rtype表示資源的類型,包括文件、圖片和音頻等;rcontent表示資源的內容。

當可信風險樹構造完成之后,通過父節點的權重與子節點數量的比值為可信樹中所有的行為節點分配權重:

ωi=ωParent(i)/∑Brother(i)

(6)

(7)

用戶域管理者每隔一段時間需要從終端設備中選擇出可信終端,采集可信終端對軟件的可信度量值,并從用戶域角度做局部可信評價。在局部可信評價的基礎上,由管理域通過每個可信用戶域的局部可信評價從管理域角度做全局可信評價。因此,首先需要定義可信終端向用戶域管理者發送的可信度量值的概念。

定義8可信度量值:設可信終端對軟件的可信度量值為四元組:

mv=〈tid, ts, ω, RTree〉

(8)

其中tid表示終端設備的標識符,ts表示時間戳,ω表示信任權重,風險樹表示為RTree。

3 基于信任網絡的可信評價方法

3.1 滑動窗口模型

當服務端長時間接收每個客戶端發送的item之后,可以通過這些數據對軟件進行可信評價。這里論述一種滑動窗口模型,保障可信評價是長時間數據的表現。利用滑動窗口大小來體現可信評價的時間和空間特性,可以保障數據的規模性和可擴展性,根據窗口的時間戳來保證近期數據的重要性和遠期數據的衰減性。同時,隨著窗口的移動與更新防止單次的分數過低或者過高的情況,滑動窗口模型如圖4所示。

圖4 滑動窗口模型

窗口的大小始終保持為N,當item數量很多時,只保留窗口內的N項評價記錄,這樣可以保證item的可擴展性。即使在較少item是高分數或低分數的情況下,由于總的可信評價是按照全部N次計算的,所以即使每個item獲得很高或很低的分數時,由于實際發送的次數遠比N小,所以并不能在用戶域的范圍內獲得很高或很低的評價值。隨著窗口內item的更新,很高或很低的item也會被移除滑動窗口??尚旁u價的基本思想是:當有新的item到來時,通過窗口的右移,把時間最長的左邊item移除,新的item移入窗口的最右邊,保證item的可擴展性。

3.2 可信評價方法

在可信評價時,通過滑動窗口模型對可信度量值的集合建模。圖4中,item對應mv;msgi對應信任權重ω??尚旁u價的思路是:越近期的可信度量值所占的比重越大,每項mv在總的評價中所占的比例與該條目的時間成正比,可信評價用下式計算:

(9)

其中tsnow表示當前的時間戳,eva表示在tsnow時刻對軟件的可信評價。通過RTree計算風險樹中每個節點風險概率,計算的方法是:單一異常行為節點的總數與所有異常節點總數的比值,通過下式計算:

(10)

通過上式可以得到軟件中異常行為出錯的風險概率,對每個節點的風險概率進行降序排列就能找到風險概率高的節點。

4 實驗與分析

4.1 軟件可信評價

為了說明本文方法的有效性,實驗以為某單位開發的一種移動辦公客戶端軟件為實驗對象做可信評價。信任網絡由一個管理域和兩個用戶域組成,兩個用戶域分別是開發用戶域和測試用戶域。開發用戶域負責軟件的設計和開發工作,包括10臺相同的終端設備,采用處理器為Intel Core i7-2670QM CPU 2.20GHz、內存為8GB的計算機,操作系統為Windows 7 x64,內核版本為NT 6.1;測試用戶域負責軟件的測試工作,包括50臺軟硬件不同的終端設備。信任網絡中服務器的處理器均采用Xeon E7-4809 v2,內存為32GB的計算機,操作系統為Red Hat Enterprise Linux。當模型對軟件進行10次局部可信評價時,得到的可信評價值如圖5所示。

從圖中可以看出,開發用戶域對軟件的可信評價全部是1,這是因為軟件是由開發用戶域設計,當所有異常情況解決完成后將軟件發布給測試用戶域;測試用戶域在可信評價時都出現異常情況,這是因為測試用戶域中終端設備運行環境的差異性造成的,軟件還不能兼容測試用戶域中所有的終端設備。

圖5 兩個用戶域10次的可信評價

通過計算測試用戶域中異常行為的風險概率,選取測試用戶域中風險概率最高的3個異常行為作分析,如表1所示。

表1 異常行為的風險概率

分析:序號1中的manage-bde.exe是BitLocker的控制臺管理程序,該技術在Windows Vista以及之后的操作系統中被引入,如果終端設備的操作系統低于Vista版本,則無法找到該程序;序號2中的PsSetCreateProcessNotifyRoutineEx是內核層中用戶捕獲創建進程的行為,也是在Vista以及之后的操作系統中被引入;序號3中的CreateKey行為用戶注冊表操作沒有操作系統版本的限制,但由于64位操作系統使用WOW64(Windows-on-Windows 64-bit)技術來保障32位軟件的兼容性,注冊表的位置發生了變化,因此無法操作指定位置的注冊表項。由此可以看出,通過對異常行為的風險概率的分析,可以快速準確地定位異常行為的發生原因,測試用戶域將表1發送給開發用戶域,可使軟件的完善工作更具有針對性。

4.2 可信評價方法比較

將本文的方法與文獻[16]的基于支持向量機方法和文獻[17]的基于信任領域和評價可信度量的信任模型(trust model based on the trust area and evaluation credibility,TMEC)方法進行比較。在運行環境差異性方面,通過多臺軟硬件異構的終端設備共同評價軟件的可信性、兼容性和穩定性,盡可能多地發現軟件的漏洞和安全隱患;在運行環境的可信性保障方面,通過基于票據的可信選擇機制篩選出可信終端和可信用戶域,在此基礎上對軟件進行可信度量和可信評價;在網絡環境的可信性方面,通過引入可信第三方建立可信連接架構(TCA)模型,確保終端設備和用戶域管理者的通信以及用戶域和管理域通信的可信性;在軟件可信性方面,結合靜態可信度量和動態可信度量技術,通過基于票據的數字簽名機制確保軟件運行前的完整性,通過可信風險樹模型,監控軟件運行時的系統調用序列和資源的依賴關系。本文方法和其他方法的比較結果如表2所示。

表2 可信性評價方法的比較

注: “√”表示支持,“×”表示不支持。

5 結 論

本文提出了基于信任網絡的軟件可信評價方法。該方法首先通過基于票據的可信選擇,確保終端設備和用戶域的可信性,在此基礎上實現對軟件的可信度量和可信評價;然后通過基于票據的數字簽名和基于可信風險樹的可信度量,將靜態可信度量和動態可信度量相結合,確保軟件運行前完整性的同時,度量運行時的可信性和風險性;最后通過多臺軟硬件異構的終端設備共同對軟件進行可信度量和可信評價,及時準確地發現軟件的缺陷和安全隱患。

本文提出基于信任網絡的軟件可信評價方法尤其適用于評價自主研發專用軟件的場景,當軟件在小范圍可信評價通過之后,可將軟件向大范圍推廣。本文方法已經成功應用于為某單位開發的一種移動辦公客戶端軟件,在軟件的可信保障上取得了較好的效果。下一步的工作是對可信評價方法進一步規范化,擴大適用范圍,進而從開發、測試、完善等多角度建立一種可信軟件的通用設計開發方法。

[ 1] 沈昌祥,張煥國,馮登國等. 信息安全綜述. 中國科學E輯:信息科學,2007,37(2):129-150

[ 2] 沈昌祥,張煥國,王懷民等. 可信計算的研究與發展。中國科學:信息科學,2010,40(2):139-166

[ 3] 沈昌祥. 網絡空間安全戰略思考與啟示. 金融電子化,2014,(6):11-13

[ 4] 沈昌祥. 信息安全導論. 北京:電子工業出版社,2009. 163-165

[ 5] Knight J, Randell B. Fundamentals of dependable computing for software engineers. Leiden: CRC Press, 2012. 11-15

[ 6] Wang Q, Lu Y, Xu Z J, et al. Software reliability model for component interaction mode.JournalofElectronics(China), 2011,28(4):632-642

[ 7] Yang N H, Yu H Q, Qian Z L, et al. Modeling and quantitatively predicting software security based on stochastic Petri nets.MathematicalandComputerModeling, 2012, 55(1):102-112

[ 8] Tyagi K, Sharma A. An adaptive neuro fuzzy model for estimating the reliability of component-based software systems.AppliedComputingandInformatics, 2014, 10(s1):38-51

[ 9] Chen X H, Liu J, Liu Z M. Requirements monitoring for Internet-ware: an interaction based approach.ScienceChina:InformationScience, 2013, 56(8):1-15

[10] Trusted Computing Group. TPM main specification, version 1.2. 2003. http://www.trusted-computinggroup.org

[11] 丁衛濤,徐開勇. 基于軟件行為的可信評價研究. 計算機科學,2016,43(1):202-225

[12] 劉玉玲,杜瑞忠,馮建磊等. 基于軟件行為的檢查點風險評估信任模型.西安電子科技大學學報(自然科學版),2012,39(1):179-184

[13] 田俊峰,張亞姣. 基于馬爾可夫的檢查點可信評估方法. 通信學報,2015,36(1):230-236

[14] 韓強. 基于行為的軟件可信性度量理論與關鍵技術研究:[博士學位論文]. 北京:北京郵電大學計算機學院.2013. 18-20

[15] 吳昊,毋國慶. 程序的動態完整性:模型和方法. 計算機研究與發展. 2012, 49(9):1874-1882

[16] 丁衛濤,徐開勇. 基于軟件行為的可信評價研究. 計算機科學,2016, 43(1):202-225

[17] Shen G H, Huang Z Q, Xie B, et al. Survey on software trustworthiness evaluation:Standards, models and tools.JournalofSoftware, 2016,27(4):955-968

A scheme for software trustworthiness evaluation based on trusted networks

Yan Lin******, Zhang Jianbiao******, Zhang Ai****

(*College of Computer Science, Beijing University of Technology, Beijing 100124) (**Beijing Key Laboratory of Trusted Computing, Beijing 100124)(***National Engineering Laboratory for Critical Technologies of Information Security Classified Protection, Beijing 100124) (****Beijing-Dublin International College, Beijing University of Technology, Beijing 100124)

The software reliability evaluation in the field of trusted computing was studied, and a scheme for software trustworthiness evaluation based on trusted networks was presented. The scheme divides users into different user domains through the trusted network model, and then adopts the trusted selection mechanism based on tickets to protect the trustworthiness of devices, and builds the model of the trusted risk tree from trusted terminals. Two aspects of trustworthiness and riskiness are considered to measure software, and the risk probability is calculated from abnormal behaviors. Multiple terminals and the sliding window model are adopted to evaluate the software trustworthiness in the range of the user domain and management domain. The experiments proved the correctness and the credibility of the method.

trusted computing, trusted measurement, trusted network, trusted domain, trusted software

①北京市委組織部優秀人才培養計劃(Q0007016201501)資助項目。

②男,1986年生,博士生;研究方向:可信計算;E-mail: chriszt@126.com

③通訊作者,E-mail: zjb@bjut.edu.cn

2016-05-31)

10.3772/j.issn.1002-0470.2016.07.005

猜你喜歡
可信性終端設備票據
基于可信性的鍋爐安全質量綜合評價研究
基于MAC 認證的終端網絡準入控制系統方案*
在區間上取值的模糊變量的可信性分布
視頻監視系統新型終端設備接入方案
Five golden rules for meeting management
基于可信性理論的風電場電能質量模糊綜合評估
行車記錄儀通信連接方法、行車記錄儀及終端設備
2016年11月底中短期票據與央票收益率點差圖
2016年10月底中短期票據與央票收益率點差圖
2016年9月底中短期票據與央票收益率點差圖
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合