APP下载

基于角色访问控制的HSS数据库越权访问防护

2011-08-13季新生刘彩霞

电子技术应用 2011年4期
关键词:越权访问控制攻击者

杨 静,季新生,刘彩霞

(信息工程大学 国家数字交换系统工程技术研究中心,河南 郑州 450002)

3GPP在R5版本中提出了IP多媒体子系统IMS(IP Multimedia Subsystem)的概念。IMS作为一个实际运营的网络,充分考虑了身份认证,安全计费等能力,为基于全IP网络多媒体应用提供了一个通用的业务职能平台,也为网络发展过程中的网络融合提供了技术基础,是未来网络的发展方向之一。在IMS中,归属用户服务器HSS(Home Subscriber Server)作为用户签约业务数据库,存储着用户的安全数据和业务数据,I-CSCF(Interconnection-Call Session Control Function)与 S-CSCF(Serving-CSCF)通过Diameter协议与HSS进行信息交互[1]。由于HSS与I/S-CSCF之间缺乏身份认证机制,且攻击者是以合法身份接入网络,I/S-CSCF可以进行越权访问HSS,非法获取或修改用户的信息,因此需要建立新的HSS数据库的访问控制模型,对 I/S-CSCF的非法行为进行防护。由美国George Mason大学的Ravi Sandu教授提出的基于角色的访问控制模型RBAC(Role-Based Access Control)[2-4],提供了解决大量用户、数据客体和访问权限系统中的授权管理问题,是一种方便、安全、高效的访问控制机制,适用于HSS数据库访问控制。

本文在HSS数据库访问控制中应用基于角色访问控制策略,并添加其约束模块,建立I-CSCF—S-CSCF的关联表,最后给出越权访问行为防护的分析和仿真。

1 S-CSCF越权访问行为分析

HSS是IMS网络中存储用户信息的主要数据库。存储在HSS的IMS相关数据主要包括:IMS用户标识、号码和地址信息以及用户安全信息等。IMS网络中的呼叫会话控制服务器I/S-CSCF和应用服务器AS通过访问HSS,获取用户注册和业务逻辑执行所需的用户数据。

P-CSCF通过DNS域名解析获得I-CSCF的地址,ICSCF根据 UAA信息,选择合适的 S-CSCF[1],没有机制通知HSS该S-CSCF地址。由于攻击者是合法接入网络,I/S-CSCF与HSS之间可以通过相互认证,攻击者可以通过篡改数据包,实现越权访问。

由于I-CSCF数据库越权访问不涉及用户核心信息,攻击方式与S-CSCF相似,故本文重点分析S-CSCF越权访问行为。其越权访问流程如图1所示。

(1)在 HSS侧,攻击者截获 S-CSCF发送的 MAR(1)/SAR(1)请求,将 AVP Session id、AVP Origin Host等和攻击目标有关的字段改为自己的字段,将在数据包中SCSCF的路由信息删除,仅保留攻击者的地址,如:

图1 S-CSCF越权访问流程

攻击者将修改后的MAR(2)/SAR(2)命令发送到HSS,由于攻击者是合法 S-CSCF,所以可以通过HSS的认证,使HSS认为是攻击者发出的合法的请求MAR(2)/SAR(2),发送响应 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)的字段。将修改好的数据包MAA(1)/SAA(1)发送到S-CSCF。由于数据包中所有的信息均已修改,而S-CSCF并不溯源数据包的来源,所以会认为是HSS发送的响应消息。

通过以上两个步骤,攻击者可以越权访问到S-CSCF存储在HSS上的数据信息,从而实现了HSS数据库的越权访问。

2 基于角色的访问控制模型

基于角色的访问控制模型RBAC引入了角色的概念,目的是为了隔离主体与权限,其模型如图2所示。RBAC模型的基本概念:

用户(User):可以独立访问计算机系统中的数据或其他系统资源的主体。用户可以是人,也可以扩展为机器、设备、进程等,在此为 I/S-CSCF。

图2 RBAC 模型

角色(Role):角色指一个组织或任务中的工作或位置,它代表一种资格、权利和责任。

权限(Permission):权限描述一个角色对一个访问对象可以执行某种操作的能力,它反映的是授权的结果。如查询角色对资源B只有读的权限,I-CSCF赋予查询角色时,对资源B只能进行读取。

用户角色分配(User-Role Assignment):建立用户与角色的多对多关系。

角色权限分配(Permission-Role Assignment):建立角色与访问权限的多对多关系。

会话(Session):会话对应于一个用户和一组激活的角色,表示用户进行角色激活的过程。如I-CSCF发送UAR命令查询用户注册状态的流程[2-4]。

3 HSS数据库访问控制模型

IMS通信流程中,I/S-CSCF与HSS之间通过Diameter协议进行信息交互。当前IMS网络缺乏在信令处理过程中对网络实体的身份、权限的判断,导致某些被非法利用的网络实体针对用户位置,状态等重要信息发起各种攻击行为。在IMS网络中,网络实体通过信令消息触发消息处理机制来实现对用户数据的访问和操作,网络实体担任的角色及角色与权限的映射关系随信令流程的改变而动态变化。所以需要对基于角色的呼叫控制模型进行一定的改进。模型设计的核心思想就是在通信过程中,通过约束模块,对角色、权限分配过程进行控制,控制模型如图3所示。

图3 基于角色的HSS访问控制模型图

基于角色的HSS访问控制模型定义如下:

主体(User):可以访问 HSS数据库的网络实体,即I/S-CSCF;

客体(Objects):存储在 HSS数据库中的数据,如 SCSCF能力集,用户认证消息等;

角色(Roles):I/S-CSCF所承担的职责;

权限(Permissions):可以对客体信息进行的操作,如查询,修改;

约束(Constrain):在角色划分,权限分配中需要满足的限定性条件;

会话(Session):用户进行激活的过程,如 I-CSCF发送UAR信令到HSS。

访问过程中形成的映射关系:

UA⊆U×R×OB表示模型中从主体到角色的授权关系集,如果(u,r,ob)∈UA,含义是将主体 u分配给角色 r,此时主体访问的客体是ob。在模型中,当客体确定时,在符合相应约束条件的前提下,一个主体只能分配一种角色,一种角色可以对应一个主体或多个主体。

PA⊆P×R×S表示模型中从角色到权限的授权关系集,如果(p,r,s)∈PA,含义是在会话 Session的作用下,将权限p分配给角色r。角色与权限是多对多的关系。

I(U,OB,S,R,P)表示角色分配后的信息集,如果i(u,ob,s,r,p)∈I,含义是当主体u访问客体ob时,在会话Session的作用下,权限p分配给了角色r[5-7]。

3.1 约束模块设计

在约束模块添加关联表,通过修改关联表,对模型中的分配起到限制作用。在IMS网络中,存在多个I-CSCF与S-CSCF,,它们之间是一对多映射的关系,如图4所示。在HSS中建立I-CSCF—S-CSCF关联表,如图5所示。

3.1.1 约束模块操作流程

在初始时,HSS将关联表中I-CSCF能够选择的SCSCF的属性值全部置为1。

图4 I-CSCF与S-CSCF映射图

图5 I/S-CSCF关联表

(1)当 I-CSCF选定一个 S-CSCF后,向 HSS数据库发送一个消息,将此信令消息命名为IER(I-CSCFElect-Require),告知 HSS其选定的 S-CSCF。

(2)HSS收到IER消息后,提取Session-id,User-Name,Server-Name字段,发送响应消息IEA(I-CSCFElect-Answer)消息给 I-CSCF。

(3)HSS修改关联表,将对应的I/S-CSCF值设为Session-id,其他的值设为0,实现绑定约束,在后续为 SCSCF分配角色等操作时,只有被绑定的S-CSCF才能进行相应的用户数据下载、更新等操作。

(4)当会话结束后,将关联表信息改为初始值,释放各资源。

3.1.2 访问控制模型应用流程

(1)HSS根据I/S-CSCF的能力,建立用户表;根据I/SCSCF进行的操作,进行角色分类,建立角色表;根据I/SCSCF的能力,在特定会话的条件下进行的操作,为I/SCSCF分配角色,更新用户-角色表;根据存储在数据库中的信息的性质,及对其进行的操作,建立权限表;根据角色在特定会话条件下对客体进行的操作,建立角色-权限表;建立I-CSCF—S-CSCF关联表。

(2)当I/S-CSCF发起会话时,HSS首先查找用户表,判断用户身份是否合法。

(3)根据会话发起的信令,查找对应的角色表,确定此次会话中主体所担任的角色。

(4)根据主体及角色,为用户分配角色,更新用户-角色表。

(5)根据会话信令,查找角色-权限表,确定此次会话I/S-CSCF所能访问的数据资源及其进行的操作。

(6)当会话建立时,启动约束模块,HSS修改关联表,绑定此次会话,只有发起会话的主体才能对数据库进行访问。

3.2 数据库设计

根据整个流程,HSS数据库访问控制系统被分为不同的功能模块,主体分为不同的权限访问不同的客体。根据模型设计方法,用户及权限信息均被保存在HSS数据库中,建立用户表、角色表、权限表、约束表、用户与角色表、角色与权限表的6个表格,各表详细设计及关系如图6所示。

图6 HSS数据库中相关表的设计

4 HSS数据库访问控制模型效果

在HSS访问控制方式及数据库的设计中,约束模块对用户角色表、角色权限表都有着制约作用,从而能够比较有效地进行数据库访问控制。效果分析如图7所示。

图7 HSS访问控制效果图

I-CSCF选定S-CSCF后,与HSS进行 IER/IEA信令交互后,启动约束模块,HSS数据库修改关联表,进行绑定操作。当攻击者篡改MAR/SAR消息时,HSS查找关联表,由于 I-CSCF—S-CSCF关联表中,攻击者的属性值本不存在或被置为0,HSS拒绝攻击者的请求,从而实现了HSS数据库越权访问的防护。

Open SAR由C语言实现,是一个成熟且灵活的开源SIP服务器栈软件。可以用作注册服务器、位置服务器、代理服务器等多种SIP服务器。通过对Open SAR进行设置,可以实现IMS中各个CSCF的功能。依据课题的研究内容,要求SIP终端具有可配置性。因此,选取SIP攻击软件SiVus用于SIP终端功能的实现。在仿真过程中将HSS数据库设置为一般的数据库,攻击者截获数据包并伪装就可以立刻下载用户的认证信息。而在使用本文方法后,能够有效地防护HSS数据库越权访问行为。

HSS数据库防护在基于角色的访问控制模型的基础上添加了约束模块,在其中设置了I-CSCF—S-CSCF关联表。通过理论分析和仿真结果验证,该模型能够较好地对HSS数据库越权访问行为进行防护,同时该模型也可直接在系统中添加相应模块,实现简单、通用性强。

[1]POIKSELKA M,MAYER G,KHARTABII H,et al.移动领域的IP多媒体概念和服务[M].北京:机械工业出版社,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]周颖杰.移动通信网位置信息安全防护关键技术研究[D].河南:解放军信息工程大学,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]邢汉发.基于角色和用户组的扩展访问控制模型[J].计算机应用研究,2009,26(3):1098-1100.

猜你喜欢

越权访问控制攻击者
企业组织内员工越权行为:概念、前因与后效
基于微分博弈的追逃问题最优策略设计
正面迎接批判
浅析法定代表人越权行为的处理
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
有限次重复博弈下的网络攻击行为研究
公司对外担保与公司章程的关系