楊 靜,季新生,劉彩霞
(信息工程大學(xué) 國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州 450002)
3GPP在R5版本中提出了IP多媒體子系統(tǒng)IMS(IP Multimedia Subsystem)的概念。IMS作為一個實際運營的網(wǎng)絡(luò),充分考慮了身份認證,安全計費等能力,為基于全IP網(wǎng)絡(luò)多媒體應(yīng)用提供了一個通用的業(yè)務(wù)職能平臺,也為網(wǎng)絡(luò)發(fā)展過程中的網(wǎng)絡(luò)融合提供了技術(shù)基礎(chǔ),是未來網(wǎng)絡(luò)的發(fā)展方向之一。在IMS中,歸屬用戶服務(wù)器HSS(Home Subscriber Server)作為用戶簽約業(yè)務(wù)數(shù)據(jù)庫,存儲著用戶的安全數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),I-CSCF(Interconnection-Call Session Control Function)與 S-CSCF(Serving-CSCF)通過Diameter協(xié)議與HSS進行信息交互[1]。由于HSS與I/S-CSCF之間缺乏身份認證機制,且攻擊者是以合法身份接入網(wǎng)絡(luò),I/S-CSCF可以進行越權(quán)訪問HSS,非法獲取或修改用戶的信息,因此需要建立新的HSS數(shù)據(jù)庫的訪問控制模型,對 I/S-CSCF的非法行為進行防護。由美國George Mason大學(xué)的Ravi Sandu教授提出的基于角色的訪問控制模型RBAC(Role-Based Access Control)[2-4],提供了解決大量用戶、數(shù)據(jù)客體和訪問權(quán)限系統(tǒng)中的授權(quán)管理問題,是一種方便、安全、高效的訪問控制機制,適用于HSS數(shù)據(jù)庫訪問控制。
本文在HSS數(shù)據(jù)庫訪問控制中應(yīng)用基于角色訪問控制策略,并添加其約束模塊,建立I-CSCF—S-CSCF的關(guān)聯(lián)表,最后給出越權(quán)訪問行為防護的分析和仿真。
HSS是IMS網(wǎng)絡(luò)中存儲用戶信息的主要數(shù)據(jù)庫。存儲在HSS的IMS相關(guān)數(shù)據(jù)主要包括:IMS用戶標識、號碼和地址信息以及用戶安全信息等。IMS網(wǎng)絡(luò)中的呼叫會話控制服務(wù)器I/S-CSCF和應(yīng)用服務(wù)器AS通過訪問HSS,獲取用戶注冊和業(yè)務(wù)邏輯執(zhí)行所需的用戶數(shù)據(jù)。
P-CSCF通過DNS域名解析獲得I-CSCF的地址,ICSCF根據(jù) UAA信息,選擇合適的 S-CSCF[1],沒有機制通知HSS該S-CSCF地址。由于攻擊者是合法接入網(wǎng)絡(luò),I/S-CSCF與HSS之間可以通過相互認證,攻擊者可以通過篡改數(shù)據(jù)包,實現(xiàn)越權(quán)訪問。
由于I-CSCF數(shù)據(jù)庫越權(quán)訪問不涉及用戶核心信息,攻擊方式與S-CSCF相似,故本文重點分析S-CSCF越權(quán)訪問行為。其越權(quán)訪問流程如圖1所示。
(1)在 HSS側(cè),攻擊者截獲 S-CSCF發(fā)送的 MAR(1)/SAR(1)請求,將 AVP Session id、AVP Origin Host等和攻擊目標有關(guān)的字段改為自己的字段,將在數(shù)據(jù)包中SCSCF的路由信息刪除,僅保留攻擊者的地址,如:
圖1 S-CSCF越權(quán)訪問流程
攻擊者將修改后的MAR(2)/SAR(2)命令發(fā)送到HSS,由于攻擊者是合法 S-CSCF,所以可以通過HSS的認證,使HSS認為是攻擊者發(fā)出的合法的請求MAR(2)/SAR(2),發(fā)送響應(yīng) MAA(2)/SAA(2)給攻擊者。
(2)攻擊者收到 MAA(2)/SAA(2)后,由于 S-CSCF知道HSS的地址,所以目的域地址仍置為HSS的地址,將AVP SessionId與AVP OriginHost等字段在MAR(2)/SAR(2)中修改過的字段改為原MAR(1)/SAR(1)的字段。將修改好的數(shù)據(jù)包MAA(1)/SAA(1)發(fā)送到S-CSCF。由于數(shù)據(jù)包中所有的信息均已修改,而S-CSCF并不溯源數(shù)據(jù)包的來源,所以會認為是HSS發(fā)送的響應(yīng)消息。
通過以上兩個步驟,攻擊者可以越權(quán)訪問到S-CSCF存儲在HSS上的數(shù)據(jù)信息,從而實現(xiàn)了HSS數(shù)據(jù)庫的越權(quán)訪問。
基于角色的訪問控制模型RBAC引入了角色的概念,目的是為了隔離主體與權(quán)限,其模型如圖2所示。RBAC模型的基本概念:
用戶(User):可以獨立訪問計算機系統(tǒng)中的數(shù)據(jù)或其他系統(tǒng)資源的主體。用戶可以是人,也可以擴展為機器、設(shè)備、進程等,在此為 I/S-CSCF。
圖2 RBAC 模型
角色(Role):角色指一個組織或任務(wù)中的工作或位置,它代表一種資格、權(quán)利和責任。
權(quán)限(Permission):權(quán)限描述一個角色對一個訪問對象可以執(zhí)行某種操作的能力,它反映的是授權(quán)的結(jié)果。如查詢角色對資源B只有讀的權(quán)限,I-CSCF賦予查詢角色時,對資源B只能進行讀取。
用戶角色分配(User-Role Assignment):建立用戶與角色的多對多關(guān)系。
角色權(quán)限分配(Permission-Role Assignment):建立角色與訪問權(quán)限的多對多關(guān)系。
會話(Session):會話對應(yīng)于一個用戶和一組激活的角色,表示用戶進行角色激活的過程。如I-CSCF發(fā)送UAR命令查詢用戶注冊狀態(tài)的流程[2-4]。
IMS通信流程中,I/S-CSCF與HSS之間通過Diameter協(xié)議進行信息交互。當前IMS網(wǎng)絡(luò)缺乏在信令處理過程中對網(wǎng)絡(luò)實體的身份、權(quán)限的判斷,導(dǎo)致某些被非法利用的網(wǎng)絡(luò)實體針對用戶位置,狀態(tài)等重要信息發(fā)起各種攻擊行為。在IMS網(wǎng)絡(luò)中,網(wǎng)絡(luò)實體通過信令消息觸發(fā)消息處理機制來實現(xiàn)對用戶數(shù)據(jù)的訪問和操作,網(wǎng)絡(luò)實體擔任的角色及角色與權(quán)限的映射關(guān)系隨信令流程的改變而動態(tài)變化。所以需要對基于角色的呼叫控制模型進行一定的改進。模型設(shè)計的核心思想就是在通信過程中,通過約束模塊,對角色、權(quán)限分配過程進行控制,控制模型如圖3所示。
圖3 基于角色的HSS訪問控制模型圖
基于角色的HSS訪問控制模型定義如下:
主體(User):可以訪問 HSS數(shù)據(jù)庫的網(wǎng)絡(luò)實體,即I/S-CSCF;
客體(Objects):存儲在 HSS數(shù)據(jù)庫中的數(shù)據(jù),如 SCSCF能力集,用戶認證消息等;
角色(Roles):I/S-CSCF所承擔的職責;
權(quán)限(Permissions):可以對客體信息進行的操作,如查詢,修改;
約束(Constrain):在角色劃分,權(quán)限分配中需要滿足的限定性條件;
會話(Session):用戶進行激活的過程,如 I-CSCF發(fā)送UAR信令到HSS。
訪問過程中形成的映射關(guān)系:
UA?U×R×OB表示模型中從主體到角色的授權(quán)關(guān)系集,如果(u,r,ob)∈UA,含義是將主體 u分配給角色 r,此時主體訪問的客體是ob。在模型中,當客體確定時,在符合相應(yīng)約束條件的前提下,一個主體只能分配一種角色,一種角色可以對應(yīng)一個主體或多個主體。
PA?P×R×S表示模型中從角色到權(quán)限的授權(quán)關(guān)系集,如果(p,r,s)∈PA,含義是在會話 Session的作用下,將權(quán)限p分配給角色r。角色與權(quán)限是多對多的關(guān)系。
I(U,OB,S,R,P)表示角色分配后的信息集,如果i(u,ob,s,r,p)∈I,含義是當主體u訪問客體ob時,在會話Session的作用下,權(quán)限p分配給了角色r[5-7]。
在約束模塊添加關(guān)聯(lián)表,通過修改關(guān)聯(lián)表,對模型中的分配起到限制作用。在IMS網(wǎng)絡(luò)中,存在多個I-CSCF與S-CSCF,,它們之間是一對多映射的關(guān)系,如圖4所示。在HSS中建立I-CSCF—S-CSCF關(guān)聯(lián)表,如圖5所示。
3.1.1 約束模塊操作流程
在初始時,HSS將關(guān)聯(lián)表中I-CSCF能夠選擇的SCSCF的屬性值全部置為1。
圖4 I-CSCF與S-CSCF映射圖
圖5 I/S-CSCF關(guān)聯(lián)表
(1)當 I-CSCF選定一個 S-CSCF后,向 HSS數(shù)據(jù)庫發(fā)送一個消息,將此信令消息命名為IER(I-CSCFElect-Require),告知 HSS其選定的 S-CSCF。
(2)HSS收到IER消息后,提取Session-id,User-Name,Server-Name字段,發(fā)送響應(yīng)消息IEA(I-CSCFElect-Answer)消息給 I-CSCF。
(3)HSS修改關(guān)聯(lián)表,將對應(yīng)的I/S-CSCF值設(shè)為Session-id,其他的值設(shè)為0,實現(xiàn)綁定約束,在后續(xù)為 SCSCF分配角色等操作時,只有被綁定的S-CSCF才能進行相應(yīng)的用戶數(shù)據(jù)下載、更新等操作。
(4)當會話結(jié)束后,將關(guān)聯(lián)表信息改為初始值,釋放各資源。
3.1.2 訪問控制模型應(yīng)用流程
(1)HSS根據(jù)I/S-CSCF的能力,建立用戶表;根據(jù)I/SCSCF進行的操作,進行角色分類,建立角色表;根據(jù)I/SCSCF的能力,在特定會話的條件下進行的操作,為I/SCSCF分配角色,更新用戶-角色表;根據(jù)存儲在數(shù)據(jù)庫中的信息的性質(zhì),及對其進行的操作,建立權(quán)限表;根據(jù)角色在特定會話條件下對客體進行的操作,建立角色-權(quán)限表;建立I-CSCF—S-CSCF關(guān)聯(lián)表。
(2)當I/S-CSCF發(fā)起會話時,HSS首先查找用戶表,判斷用戶身份是否合法。
(3)根據(jù)會話發(fā)起的信令,查找對應(yīng)的角色表,確定此次會話中主體所擔任的角色。
(4)根據(jù)主體及角色,為用戶分配角色,更新用戶-角色表。
(5)根據(jù)會話信令,查找角色-權(quán)限表,確定此次會話I/S-CSCF所能訪問的數(shù)據(jù)資源及其進行的操作。
(6)當會話建立時,啟動約束模塊,HSS修改關(guān)聯(lián)表,綁定此次會話,只有發(fā)起會話的主體才能對數(shù)據(jù)庫進行訪問。
根據(jù)整個流程,HSS數(shù)據(jù)庫訪問控制系統(tǒng)被分為不同的功能模塊,主體分為不同的權(quán)限訪問不同的客體。根據(jù)模型設(shè)計方法,用戶及權(quán)限信息均被保存在HSS數(shù)據(jù)庫中,建立用戶表、角色表、權(quán)限表、約束表、用戶與角色表、角色與權(quán)限表的6個表格,各表詳細設(shè)計及關(guān)系如圖6所示。
圖6 HSS數(shù)據(jù)庫中相關(guān)表的設(shè)計
在HSS訪問控制方式及數(shù)據(jù)庫的設(shè)計中,約束模塊對用戶角色表、角色權(quán)限表都有著制約作用,從而能夠比較有效地進行數(shù)據(jù)庫訪問控制。效果分析如圖7所示。
圖7 HSS訪問控制效果圖
I-CSCF選定S-CSCF后,與HSS進行 IER/IEA信令交互后,啟動約束模塊,HSS數(shù)據(jù)庫修改關(guān)聯(lián)表,進行綁定操作。當攻擊者篡改MAR/SAR消息時,HSS查找關(guān)聯(lián)表,由于 I-CSCF—S-CSCF關(guān)聯(lián)表中,攻擊者的屬性值本不存在或被置為0,HSS拒絕攻擊者的請求,從而實現(xiàn)了HSS數(shù)據(jù)庫越權(quán)訪問的防護。
Open SAR由C語言實現(xiàn),是一個成熟且靈活的開源SIP服務(wù)器棧軟件??梢杂米髯苑?wù)器、位置服務(wù)器、代理服務(wù)器等多種SIP服務(wù)器。通過對Open SAR進行設(shè)置,可以實現(xiàn)IMS中各個CSCF的功能。依據(jù)課題的研究內(nèi)容,要求SIP終端具有可配置性。因此,選取SIP攻擊軟件SiVus用于SIP終端功能的實現(xiàn)。在仿真過程中將HSS數(shù)據(jù)庫設(shè)置為一般的數(shù)據(jù)庫,攻擊者截獲數(shù)據(jù)包并偽裝就可以立刻下載用戶的認證信息。而在使用本文方法后,能夠有效地防護HSS數(shù)據(jù)庫越權(quán)訪問行為。
HSS數(shù)據(jù)庫防護在基于角色的訪問控制模型的基礎(chǔ)上添加了約束模塊,在其中設(shè)置了I-CSCF—S-CSCF關(guān)聯(lián)表。通過理論分析和仿真結(jié)果驗證,該模型能夠較好地對HSS數(shù)據(jù)庫越權(quán)訪問行為進行防護,同時該模型也可直接在系統(tǒng)中添加相應(yīng)模塊,實現(xiàn)簡單、通用性強。
[1]POIKSELKA M,MAYER G,KHARTABII H,et al.移動領(lǐng)域的IP多媒體概念和服務(wù)[M].北京:機械工業(yè)出版社,2005.
[2]RAVIS E J,COYNE K.Role-based access control models[J].IEEE Computer,1996,29(2):38-47.
[3]FERRAIOLO D F.Proposed NIST standard for role-based access control[J].ACM Transactions on Information and System Security,1001,4(3):224-225.
[4]SANDHU R S.COYNE E J,FEINSTEIN H L,et al.Rolebased access control models[J].IEEE Computer,1996,29(3):38-39.
[5]周穎杰.移動通信網(wǎng)位置信息安全防護關(guān)鍵技術(shù)研究[D].河南:解放軍信息工程大學(xué),2008:45-54.
[6]LINA B R.The application of security policy to rolebased access control and common data security architecture[J].Computer Communications,2000,23(17):1584-1593.
[7]邢漢發(fā).基于角色和用戶組的擴展訪問控制模型[J].計算機應(yīng)用研究,2009,26(3):1098-1100.