楊宏宇,于巾博,謝麗霞
(中國民航大學 計算機科學與技術學院,天津 300300)
XML作為數據表示和信息交換的通用標準格式,在Web服務協議棧(SOAP、WSDL、UDDI等)及其他通信協議中廣泛應用,這類協議使用約定結構的XML數據文件完成通信雙方的信息交換,具有易擴展、跨平臺、異構通信等特性。由于基于XML的通信協議在網絡通信中的基礎作用十分突出,一旦協議中的漏洞被利用,將直接影響Web服務應用的安全性。因此,研究XML通信協議的安全評估方法已成為信息安全研究領域的一個熱點問題。
目前,國內外已陸續開展針對XML通信協議的安全性評估研究。文獻[1]設計了一種威脅模型STRIDE(spoofing, tampering, repudiation, information disclosure elevation),從詐騙、篡改、否認、信息泄露、拒絕服務和權限提升6個方面獲取Web協議消息的安全風險值,為查找Web服務安全漏洞提供了有價值的參考依據,但該方法不能評估由于組件的交互作用而導致的關聯性威脅,也缺少對協議整體的綜合評估。文獻[2]提出了一種面向服務的簡單對象訪問協議(SOAP, simple object access procotol)消息交互的安全機制,從加密、簽名、服務時間等角度對SOAP協議進行安全評估。該方法可實現SOAP協議消息的完整性和機密性,但該機制評估對象單一,不適用于其他的XML通信協議。文獻[3]針對 Web服務協議消息安全措施選擇問題,從用戶非對稱密鑰、安全證書、安全令牌等7項技術進行實驗評估,為Web服務安全措施的選擇提供依據。但該方法未建立完整的安全指標評估體系,缺乏對Web服務協議的定性分析。文獻[4]使用SOAP擴展對Web服務進行壓縮和記錄日志,并將XML簽名和加密技術規范融入到SOAP協議中,優化了Web服務的傳輸效率,但研究重點僅從完整性、不可否認性和身份驗證角度對SOAP協議進行安全擴展。文獻[5]主要針對XML通信協議中的UDDI協議存在的安全問題提供身份認證、訪問控制、XML簽名等多項安全保障措施和負載,該方法僅提高了UDDI注冊庫及數據的訪問和傳輸的安全性能,缺乏有效的安全評估,不能對協議漏洞引起的威脅進行主動防御。文獻[6]依據現有PKI的XML安全技術和驗證機制,對SAML協議的機密性和完整性進行評估,但評估的指標和性能較低。
從上述研究可以看出,在目前針對XML通信協議的安全性研究中,大多局限于協議某一層面的安全評估,主要關注XML通信協議的安全實現機制,并未從綜合評估角度研究基于XML通信協議的安全性。本文針對XML通信協議的安全性評估問題,提出了一種基于三維球體模型的安全評估方法,設計了XML通信協議的安全評估指標三維坐標系,采用球體各坐標投影面積作為評估指標的權值和安全分量指標取值的度量標準,有效地解決了指標重合問題,彌補了國內外在XML通信協議的相關評估指標體系和評估方法上的不足。
前蘇聯數學家馬庫雪維奇把人腦儲存的信息分為核與殼2類,提出信息構建的球體模式[7],本文將該思想引入到協議安全性評估的應用之中,提出XML通信協議的三維球體模型。在該球體模型中,根據協議評估價值和發展成熟度,可將球體劃分為一定邏輯關系組成的層次化結構。從內向外依次為網絡接口層、網絡層、傳輸層及應用層協議(如圖1所示)。

圖1 三維球體模型層次結構
XML通信協議隸屬應用層,因此本文借助球體模型的外殼層構建XML通信協議的安全評估指標體系。首先,設計了針對XML通信協議安全性評估的一、二級評估指標——三維坐標系,設定一、二級評估指標的坐落面(如圖 2所示)。該三維坐標系由xOy、xOz和yOz 3個平面劃分為8個象限,設 XML通信協議的安全性總目標為 A,而后從XML協議內容、通信載荷、安全隱患3個面確定一級評估指標Bi、二級評估指標Cij及其坐落面。
1) XML協議內容的安全性B1。評估指標B1位于第1、2、3、4象限,按XML內容要素劃分為機密性C11、完整性C12、不可否認性C13和可用性C14。
2) 通信載荷的安全性B2。評估指標B2位于第1、4、5、8象限,按語義三要素劃分為可用性C21、完備性C22和可控性C23。
3) 安全隱患的安全性B3。評估指標B3位于第6、7象限,按4種基本攻擊類型劃分為截獲C31、篡改C32、偽造C33和中斷C34。
需要說明的是,為加強對某方面的重點調查和評價,有時評估指標之間會出現一定程度的重合[8]。三維球體模型與一般評估模型的區別在于解決評估指標的重復問題,去除冗余值,從而保障了評估結果的合理性。

圖2 一、二級評估指標坐落面設定
依據所構建的安全評估指標體系,首先采用層次分析法[9]對一、二級評估指標的權值進行計算,根據球體模型的特點,以球體xOz坐標平面的投影面積分配評估指標的權值。利用球體半徑以及扇面的開合角度對一、二級評估指標權重進行直觀表示,保證了安全評估的全面性。評估指標的權值計算過程設計如下。
步驟1 一、二級評估指標權值計算
1) 構造一級評估指標Bi的判斷矩陣P0,以及隸屬于XML內容安全性、通信載荷安全性和隱患安全性的二級評估指標 Cij的判斷矩陣,分別記為P1、P2、P3。


2) 采用方根法計算權向量,設一級評估指標權向量 W0=(W1,W2,W3)T,二級評估指標權向量 W1=(W21,W22,W13,W14)T、W2= (W21,W22,W23)T、W3= (W31,W32,W33,W34)T,計算公式為

其中,mi為判斷矩陣各行元素乘積的n次方根,經一致檢驗,各矩陣的相對一致性指標均小于0.10,故判斷結果合理。
3) 評估指標的權值分配
采用坐標xOz平面上的投影面積作為評估指標的權值,設三維球體模型初始半徑r0為1,總面積S0為π。一、二級評估指標的權值集合即投影面積集合為

步驟2 重合指標的處理
在實際評估中,評估指標需要從不同角度相互彌補和驗證,因此不可避免地會發生重合。為保障評估的合理性,依據基本不等式原理,以縮減的方式去除重合指標C14和C21的冗余值。
步驟3 計算半徑數據
重合指標處理前,球體半徑ri可通過下式計算。

重合指標處理后,對指標坐落區域進行重新劃分。其中,B1的非重合指標C11、C12、C13置于第2、3象限, B1與B2的重合指標C14、C21置于第1、4象限, B2的非重合指標C22、C23置于第5、8象限,潛在隱患安全性B3仍位于第6、7象限,重新計算半徑數據R’,公式如下。

半徑數據直觀地反映了一級評估指標權重,從所繪制的XML協議的三維球體模型Y軸正方向視圖及更新視圖(如圖3所示)可以看出,球體評估模型所帶來的優勢之一就是能有效地解決評估指標重復的問題。

圖3 y軸正方向半徑數據示意
步驟4 計算上下開合角度
開合角度是指在三維坐標系中以球心為原點發出的射線沿 xOz平面的上下開合角,根據α= S扇S圓× 3 60°,可求得各二級評估指標開合角度,并據此繪制球體模型y軸正方向上下開合角度示意(如圖 4所示)。可以看出,開合角度能夠直觀地反映二級評估指標的權重。

圖4 y軸正方向上下開合角示意
在XML協議的三維球體模型中,基于xOz坐標平面的投影用于評估指標的權值度量,其他各坐標平面中的投影用于評估指標取值度量。在此基礎上,本文提出了一種XML通信協議的安全性分量評估方法,通過對第二、三級評估指標的定量計算和分析獲得安全評估量化值。
首先,建立安全評估指標集B1(C11,C12,C13,C14)的XML內容三級安全分量評估指標,如表1所示。

表1 面向XML協議內容的安全分量評估指標
根據三級評估指標各自的特點,自底向上設計二級評估指標評估函數。4個內容安全分量的二級評估指標計算式為

在式(5)中,機密性 V11反映加密強度 D111與信息重要度D112的博弈度量,其中,

通過密鑰位數 key_bits、密鑰重復利用次數key_times以及密鑰保密性tsafe3方面數據獲取;V112按信息泄露的危害程度劃分為一般(0~0.3)、嚴重(0.3~0.8)和特別嚴重(0.8~1)。
在式(5)中,完整性V12采用以公鑰算法為基礎的數字簽名技術,其中,P12P21表示完整性發生時通信鏈路轉換的概率;取值V121按設施保護等級劃分為一級(0~0.2)、二級(0.2~0.4)、三級(0.4~0.6)、四級(0.6~0.8)和五級(0.8~1);V122依據實際防護手段劃分為強(0.8~1),中(0.4~0.8)和弱(0~0.4)。
在式(5)中,不可否認性V13以是否使用某項技術Tech作為V131、V132的取值依據,其中,

在式(5)中,可用性評估V14以XML部分抵御拒絕服務攻擊作為主要考量因素。根據文獻[10]對XML拒絕服務攻擊的描述,將XML攻擊類型劃分為直接XML解析器攻擊、XML驗證攻擊和XML文件引用攻擊,由此可設計評估指標 D141、D142的評分表,分別按 XML部分抵御拒絕服務攻擊能力和災難恢復能力劃分為強(0.8~1)、較強(0.6~0.8)、中等(0.4~0.6)、較弱(0.2~0.4)和弱(0~0.2) 5類評估值。
首先,在安全評估指標集 B2(C21,C22,C23)的基礎上建立通信載荷安全三級安全評估指標,如表2所示。
根據協議三要素語義、語法和時序的特點,建立通信載荷安全分量的二級評估指標函數。3個通信載荷的安全分量評估指標公式為

在式(9)中,可用性V21函數以通信載荷部分的抵御拒絕服務攻擊能力為主要考量因素,其中,

其中,x表示關聯度值,field_num為協議首部字段的個數,vul_numi為協議首部第i字段已發現相關漏洞的個數;取值V212復用D142設定的評分規則。
在式(9)中,完備性V22面臨的安全威脅主要是對定界字符的惡意利用,其中,

式(11)和式(12)中,參數 2代表均分操作,deletion_num為去除相應定界字符后對通信造成危害性影響的首部字段數目,injection_num為注入相應定界字符后對通信造成危害性影響的首部字段數目。
在式(9)中,可控性V23評估以數據庫事務的弱化屬性集為參照,其中,

式(13)中的 sequece_num為完成交互事件所需交互次數,并且

其中,coefficient代表標識生成的隨機度,具體取值為優(0.8~1)、良(0.5~0.8)或一般(0~0.5)。可知,V232由協議數據標識字段的位數identifier_bits決定。
首先,建立安全評估指標集B3(C31,C32,C33,C34)的安全隱患三級安全評估指標(如表3所示)。
表 3中的二級指標截獲 C31、篡改 C32、偽造C33和中斷C34具有相同的三級評估指標集。

表3 面向安全隱患的安全分量評估指標
本文采用模糊論評估方法[11],對XML通信協議的各安全分量進行評估,所設計的評估過程如下。
1) 設定評估指標因素集 U=[u1,u2,u3]=[可發現性,可重現性,可利用性];
2) 設定評語集 L=[l1,l2,l3,l4,l5] =[低,較低,一般,較高,高];
3) 確定評估指標權重,構造三級評估指標判斷矩陣為

由此計算權重向量A=[a1,a2, a3]。
4) 根據各個元素在評語集中的隸屬關系,建立隸屬函數,確定模糊評價向量R及模糊綜合評估向量B。

5) 根據加權平均法,計算得出最終的安全分量綜合評價結果。
基于以上內容,結合三維球體模型在xOz平面上的投影面積(作為評估指標的權值)和以三級評估指標為基礎計算得到的分量評估值(作為評估指標的取值)計算安全性綜合評估結果。一、二級安全評估指標的安全分量評估結果如表4所示。

表4 綜合評估結果計算
其中,一級評估指標 Ci的取值用 Vi表示,二級評估指標Cij取值用Vij表示,且Vij由所屬評估函數計算所得,并且規定Vij∈[0,1],可知評估結果Q的取值區間為 Q∈[0, π]。
最后,將最終評估結果Q的取值范圍劃分為7個區間,定義各區間的安全性評價,如表5所示。

表5 綜合評估結果評價
為了對基于三維球體模型評估方法的適用性和有效性進行驗證和比較,本文設計了2組實驗,采用基于三維球體模型的評估方法分別對SOAP協議和SAML協議進行安全性評估。
4.1.1 基于XML的SOAP協議安全性評估
本實驗的評估對象為安全電子銀行仿真系統[12]。該系統由 apache jakarta tomcat、apache axis、apache XML security等組件構成并部署在真實網絡環境中,能完成電子銀行的余額查詢、資金轉賬等主要功能。系統Web架構如圖5所示。

圖5 安全電子銀行仿真系統Web服務架構
首先,利用 Soap Monitor分組抓捕工具截取SOAP協議數據分組[13,14],然后參照協議數據、設計文檔,采用第3節所描述的量化算法計算SOAP協議的安全性指標。仿真實驗數據及計算結果如表6所示。
根據安全評估指標和一、二級安全評估指標的安全分量評估結果(如表 4所示),可得到該電子銀行系統的綜合評估結果為Q=V·S'T= 0.712 1π,根據綜合評估結果的評價分區,如表 5所示,可得SOAP協議的安全性為“中上”。
從表6可知,在該仿真系統協議評估中,XML部分的不可否認性指標值點最低,可通過加入數字時間戳技術增強不可否認性指標的安全性。類似地,對于其他較低的安全指標點,可通過相關安全技術提高其安全性。

表6 評估指標取值結果匯總
4.1.2 基于XML的SAML協議安全性評估
由于SAML只提出了一個標準的、用于交換認證和授權信息的、基于XML的架構,并沒有提出如何確保這些信息安全的機制,所以SAML協議也面臨安全問題。
該實驗以一個經典的基于 SAML的單點登錄系統(SSSO, SAML-based single sign on)為評估對象。在該系統中,服務請求方(SP, service provider)通過向身份認證服務器(IDP, identity provider)發送SAML請求,由IDP返回SAML響應來獲得認證信息。其SAML協議斷言獲取流程如圖6所示。

圖6 SAML協議斷言獲取流程
首先,使用 apache group發布的小程序 TCP tunnel/ monitor截獲該系統運行過程中站點之間傳輸的SOAP消息,提取SAML請求數據后對其進行安全評估,仿真實驗數據及計算結果如表7所示。

表7 SAML評估指標取值結果匯總
通過式(16)計算,可得該單點登錄系統的評估結果為 Q=V·S'T= 0.604 6π,該系統所使用的SAML協議的安全性為“中下”。
從表7可知,在SSSO系統中,SAML協議的機密性和安全漏洞分量指標值較低,易被攻擊者截獲和篡改。可以通過采用符合WS-Security規范的XML數字簽名和XML加密技術來滿足數據機密性和對消息發送方驗證的需求,通過添加自定義的標識元素(時間戳、隨機數等)防止惡意用戶截獲等方法提高SAML協議的安全性。
由于在XML通信協議的安全性問題的研究中尚無統一的安全評估標準,因此邀請了十位業內專家依據經驗對SOAP協議、SAML協議進行綜合評判。評判結果如表8所示,通過比較可知,基于三維球體模型的安全性綜合評估方法所得出的評價結果與多數專家的評判結果是一致的。

表8 專家經驗評判結果
為了進一步驗證基于三維球體模型的評估方法的有效性,采用可靠性模型評估方法[15]、STRIDE模型評估方法[1]、信息熵評估方法[16]對SOAP協議和SAML協議進行安全性評估的對比實驗。
采用文獻[15]的可靠性模型評估,對4.1節的2個仿真系統的XML通信協議進行攻擊測試,通過計算每個攻擊的可能性權值、后果權值、抵御難度權值獲取各攻擊的危險度量,通過綜合計算得到協議內容層面的安全度量值,評估結果如表9所示。

表9 可靠性模型評估指標值
采用文獻[1]的STRIDE威脅模型,獲取4.1節2個仿真系統的 XML通信協議的抗假冒能力、抗篡改能力、抗否認能力、抗信息泄露能力、抗拒絕服務能力、抗提升特權能力6個屬性的風險值及協議漏洞層面的安全度,評估結果如表10所示。

表10 STRIDE模型評估指標值
采用文獻[16]的多屬性決策理論,將 4.1節 2個仿真系統的XML通信協議的安全屬性值組成決策矩陣,利用信息熵的方法計算各屬性的客觀權重,最后以風險值的形式給出其安全程度,評估結果如表11所示。

表11 信息熵評估指標值
通過評估對比實驗可以得出以下結論。
1) 基于三維球體模型的評估方法與 STRIDE威脅模型得到的評估結果一致,均符合多數專家的評判,因此,可以有效地評估XML通信協議。
2) 可靠性模型評估、STRIDE威脅模型雖然都能對協議的安全性進行建模與分析,但都局限于某個維度,而基于三維球體模型的評估方法的評估角度相對全面,并在分量評估的基礎上能進行安全性的綜合評判。
3) 信息熵評估方法中的各安全屬性都是簡單模糊化值,并沒用對安全屬性進行量化,而本文的綜合評估方法量化到三級指標,為XML通信協議評估提供了更準確的數據。
4) 基于三維球體模型的評估方法在指標體系建立、重合指標處理及評估結果的直觀反映等具有更大的優勢,使得其對XML通信協議的安全評估更具客觀性。
本文結合XML通信協議特點,提出了一種面向XML通信協議的三維球體模型,提出基于三維球體模型的協議安全性綜合評估方法。通過對SOAP協議、SAML協議的安全評估實驗和3種評估方法的評估對比實驗,驗證了本文提出的安全評估方法對XML通信協議的適用性和有效性。
未來研究工作的重點是進一步實現XML通信協議評估的自動化,包括協議數據的自動采集、評估指標數據的自動識別等內容。
[1] LI J, CHEN H, DENG F, et al. A security evaluation method based on threat classification for Web service[J]. Journal of Software, 2011, 6(4):595-603.
[2] 程睿. 基于SOA的SOAP消息交互安全機制的研究與實現[D]. 西安: 西安電子科技大學, 2008.CHENG R. Research and Implementation on Security Mechanism of SOAP Message Exchange Based on SOA[D]. Xian: Xidian University,2008.
[3] ALROUH B, GHINEA G. A performance evaluation of security mechanisms for Web services[A]. Proc of the 2009 Fifth International Conference on Information Assurance and Security[C]. Piscataway,USA, 2009. 715-718.
[4] 孫丁丁. 通過SOAP擴展優化Web服務性能的研究[D]. 烏魯木齊:新疆大學, 2007.SUN D D. Research on Optimizing Web Service via SOAP Extension[D]. Urumqi:Xinjiang University, 2007.
[5] 陳曉蘇, 周晴, 肖道舉. Web服務中UDDI安全機制研究[J].華中科技大學學報,2005,30(8):58-60.CHEN X S, ZHOU Q, XIAO D J. Study of security mechanisms of UDDI in Web service[J]. Journal of Huazhong University of Science and Technology(Nature Science),2005,30(8):58-60.
[6] 尹星. 基于 SAML的單點登錄模型及其安全的研究與實現[D]. 鎮江: 江蘇大學,2005.YIN X. Research and Implementation of SAML-Based SSO Model and it's Security [D]. Zhenjiang: Jiangsu University, 2005.
[7] 宓洽群.大學教學原理[M]. 上海: 上海交通大學出版社, 1989.97-100.MI Q Q. University Teaching Principles[M]. Shanghai: Shanghai Jiaotong University Press, 1989. 97-100.
[8] 徐耀玲, 唐五湘, 吳秉堅. 科技評估指標體系設計的原則及其應用研究[J]. 中國軟科學, 2010, 30(2):48-51.XU Y L, TANG W X, WU B J. Design principle and application of S&T evaluation index system[J]. China Soft Science, 2010, 30(2):48-51.
[9] 楊宏宇, 謝麗霞, 朱丹. 漏洞嚴重性的灰色層次分析評估模型[J].電子科技大學學報, 2010, 39(5):778-782.YANG H Y, XIE L X, ZHU D. A vulnerability severity grey hierarchy analytic evaluation model[J]. Journal of University of Electronic Science and Technology of China, 2010, 39(5):778-782.
[10] PANG J, PENG X. Trustworthy Web service security risk assessment research[A]. Proc of the 2009 International Forum on Information Technology and Applications[C]. Piscataway, USA, 2009. 417-420.
[11] 周曉潔.基于模糊綜合評價法的船舶熱源系統優選研究[D]. 上海:上海交通大學, 2010.ZHOU X J. Study on The Selection of Marine Heat Source System Based on Fuzzy Comprehensive Evaluation Method[D]. Shanghai:Shanghai Jiaotong University, 2010.
[12] 加爾布雷斯. Web服務安全性高級編程[M]. 北京: 清華大學出版社, 2003. 400-444.GALBRAITH B. Professional Web Services Security[M]. Beijing:Tsinghua University Press, 2003.400-444.
[13] FLY R. Detecting fraud on websites[J]. IEEE Security & Privacy, 2011,9(6):80-85.
[14] ANTUNES N, VIEIRA M. Defending against Web application vulnerabilities[J]. IEEE Computer, 2012, 45(2):66-72.
[15] 陳偉琳. 協議安全測試理倫和方法的研究[D]. 北京: 中國科學技術大學, 2008.CHEN W L. Research on Testing Theory and Methods of Protocol Security[D]. Beijing: University of Science and Technology of China,2008.
[16] 趙德明. 多維度 Web服務安全性評估[D]. 北京: 中國石油大學,2011.ZHAO D M. Multiple Dimension Security Assessment of Web Service[D]. Beijing: China University of Petroleum, 2011.