Mashup应用安全风险评估模型研究
2011-11-02陈艳春
陈艳春
(1.北京理工大学管理与经济学院,北京 100083;2.石家庄铁道大学经济管理学院,河北石家庄
050043)
Mashup应用安全风险评估模型研究
陈艳春1,2
(1.北京理工大学管理与经济学院,北京 100083;2.石家庄铁道大学经济管理学院,河北石家庄
050043)
Mashup应用作为企业情境应用程序,它利用从外部数据源检索到的内容来创建全新的服务。由于缺乏安全标准和核实鉴别的信任机制,随着更多的企业用户构建基于Mashup的应用,潜在的安全风险急剧增加。为了解决这个问题,以开发者的视角,通过解构Mashup应用的开发过程,
集静态和动态安全风险因素于一体,透视Mashup应用的组件和行为特征,提出Mashup应用的定量风险评估框架,定义风险评估模型,在满足假设条件基础上,应用 M arkov链予以定量评估,为开发安全的应用提供参考。
Mashup;应用;风险评估;评估模型
一种新型的基于 Web的数据集成应用程序正在 Internet上逐渐兴起。通常用术语Mashup表示,它们的流行萌芽于对交互式用户参与和集成第3方数据的类似于科学怪人方式的重视[1]。在互联网上,用户可以借用已有Mashup组件搭建自己的程序,这就是Mashup应用。随着更多的企业用户构建基于Mashup的应用,Mashup应用的安全问题日益受到关注,已有文献从多种视角进行探索。NAONE和来自OpenA jax联盟、微软研究院、信息安全公司的MAND IAN T,以及Mashup Maker公司的JACKBE等业界专家一起讨论并评估了Mashup安全的现状以及未来的关注点[2]。来自BEA的RHUBART和GARRISON从部署服务的视角探索安全性,认为应该设计更安全的服务框架。DAN IEL等从组件质量的角度研究安全问题[3],认为应该从组件的API质量、数据质量和性能提高安全性。笔者基于已有成果,采取动态和静态相结合的思想,通过对Mashup应用组件的质量、应用的体系结构和组件之间的访问联结来评估风险,为构建安全的Mashup应用提供参考。
1 解构Mashup应用
图1 Mashup应用开发模型Fig.1 Development model for Mashup app lications
Mashup应用是跨组织的系统集成,就像搭积木一样,可以把来自外部的内容嵌入到自己的网页,不同部件之间可以调用。Mashup应用从架构上来说由3部分组成,它们在逻辑上和物理上都是相互脱离的(可能由网络和组织边界分隔):API/内容提供者、Mashup站点和客户机的 Web浏览器[1]。对于开发者,混搭的安全存在于开发的每个部件和环节,图1从开发的角度描述了Mashup应用的开发过程。最顶层是Mashup应用,这是应用内外部的数据和组件搭建的Web程序,每个程序有一些混搭网页组成,网页被划分为若干区域,这些区域是组件所在地,组件通过API接口隐藏了内部复杂的实现细节。组件开发完成后在Mashup站点发布供开发者使用,开发者可以通过专有工具去构建应用。从图1可知:组件的功能和非功能因素如体系结构、数据格式、语言、协议等影响组件的性能,这也是评估组件质量的参数。
1.1 Mashup站点
Mashup站点是存放Mashup的地方。值得注意的是,它仅仅是Mashup逻辑所在的地方,而不是执行这些逻辑的地方。从一方面来说,Mashup可以直接使用服务器端动态内容生成技术(如Java servlets,CGI,PHP或ASP)实现类似传统的 Web应用程序。
1.2 Mashup应用
Mashup应用的页面被分割成几个长方形区域,每个区域用于显示1个部件。1个部件就是它隶属的服务器端的输入和输出窗口,可以与服务器端独立交互。微软将含有多个部件的网页叫部件页,含有外来部件的部件页叫混搭网页,或者混搭部件页。简单的混搭部件页中,各个部件独立工作。在复杂的混搭部件页中不同部件之间存在调用关系。含有混搭网页的网站叫Mashup网站,提供内容的网站叫Mashup供源。Mashup供源提供的服务分为 SaaS和DaaS。
1.3 API/内容提供者
内容提供者是正在进行融合的内容的提供者。比如在 ChicagoCrime.org Mashup的例子中,提供者是Google和芝加哥警察局[1]。为了方便数据的检索,提供者通常会将自己的内容通过 Web协议对外提供。然而,很多有趣的潜在数据源可能并没有方便地对外提供API。如从Wikipedia,TV Guide和所有政府及公共领域的Web站点上提取内容的Mashup都是通过一种称为屏幕抓取(screen scraping)的技术实现的。在这种情况中,屏幕抓取就意味着使用一种工具从内容提供者那里提取信息的过程。该工具可以对提供者的页面进行分析。
2 理论基础与评估框架
与安全风险评估相关的国际标准来自ISO/IEC,ISO 8402—86专注应用软件质量或对于一个给定的评估过程。标准ISO 8402-86定义质量的总体特征和特定的软件产品应满足规定或隐含需求,标准ISO/IEC 9126-1定义软件产品的质量特征组合,通过代表软件产品属性的6个特征来描述和评价软件产品。对每个参数,标准也提供了一系列子参数来评估质量。
基于ISO/IEC标准,国内外的学者面向传统的Web应用提出质量控制模型[4]。对Mashup应用的安全性从不同方面予以研究,如文献[5]从组件的内部和外部特征建立评估Mashup组件的质量模型;有的学者探讨Mashup软件的开发过程,以加强安全性,如文献[6]。上述做法可以归纳为从组件的特征来评估质量和风险,但是应用的运行不仅涉及组件本身,还涉及组件之间的联结,因此需要从动态和静态结合的角度来制定评估标准。
图2 安全风险评估模型Fig.2 Framework of security risk evaluation model
基于上述研究成果,依据ISO/IEC标准,抓住组件和组件之间调用的动态特征,构建Mashup应用的安全评估模型。框架如图2所示,该安全风险评估框架包括3层:第1层是安全风险评估的目标,根据国家标准 GB/T 20269-2006和GB/T 20273—2006,信息安全等级分为D类、C类、B类、A类和超A类,共5级,安全等级与评分结果的对应关系参见文献[6]。为了实现目标控制要求,从2个方面来评估:一是Mashup组件的质量,二是组件与组件之间联结。
3 Mashup应用的风险评估参考模型
安全风险评估依据风险评估模型。风险评估模型驱动风险评估:评估方法依靠良好的风险模型框架和可识别的维度划分,并且对维度能正确度量[3]。评估的整体思路为构建评价指标、指标的量化处理、进行综合评价等若干步骤[7]。
3.1 Mashup组件的风险评估
3.1.1 Mashup组件的风险评估指标
国际标准ISO/IEC 9126从功能性、可靠性、可用性、有效性、可维护性和可移植性来评估信息系统质量。Mashup组件的质量是由多种因素决定的,开发者更在乎的是API、数据质量和性能。基于国际标准,从开发者的角度出发,综合组件的内部和外部质量属性,按照传统应用MVC(表示层 —逻辑层 —数据层)架构分解,分析影响用户使用的性能指标。表1从API、数据质量和性能描述3个维度来衡量。针对每个给定指标给出具体的子参数,如API维度又可从互操作性、可靠性、安全性和可用性方面来评估[4]。
表1 Mashup组件风险评估指标Tab.1 Evaluation inder of Mashup component
由表1可以看出,指标体系为树状结构,即每个下级指标只与一个上级指标相关联;每个属性的边际价值是线性的,每2个属性都是相互价值独立的,很难判断哪个维度更重要。
3.1.2 Mashup组件风险指标量化
目前,缺乏组件的质量标准和规范,对 Mashup组件的质量评估数据来源于 http://www.p rogrammableweb.com网站。该网站发布的组件主要有2个特点:一是每一分类标签下的组件数目悬殊,如地图组件占27%,图书、插件、消息组件各占4%;二是每天均有大量新组件上传,新组件单独列表,用户还没有开始声誉评价。
为了定量评估,首先需要对每一个参数进行标准化和归一化处理,如安全性的变化范围限定到0和1,如果支持SSL协议是1,否则是0。总有一些属性无法或很难量化,这时就给不出决策矩阵,只能给出每个维度下各组件的优劣次序,采用基于估计相对位置的方案排队法给出每类组件的优先顺序,对开发者来说,也只能在上述网站中选择组件。但每天都有大量的新组件出现,对组件的评估实际是与已知的最好的比较给出的相对值,也就是说对组件的定量评估要实现动态调整其排名。
3.2 Mashup应用的行为模型
Mashup应用通常称为企业情境应用程序,是针对特定场景创建的,并且通常仅在该场景存在的时间段内使用。在对Mashup应用建模中,称系统的各个组成部分为组件,组件之间的通信链路为联结。Mashup应用不仅包括系统行为和界面等功能性的属性,还包括非功能性属性,因此有必要研究Mashup应用的行为模型。
图3是Mashup应用的行为模型,采用分层的思想:首先把应用分解成若干任务,直到成为不可分解的原子任务为止。为了完成该任务,需要至少1个组件来完成,笔者研究的组件数目大于等于2个。图3中,任务 X开始执行,首先调用组件Ci,Ci可以调用组件Cj或者Ck等完成任务X,“结束”是任务的中止点。pij代表组件Ci在运行后执行组件Cj的条件概率 。转移概率矩阵用 P表示。其中,pij=nij/ni,nij是在执行任务 Tx过程中i组件调用j组件的次数;ni= ∑ nij是任务 Tx执行过程中i组件调用其他组件的次数总和。
图3 Mashup应用的行为模型Fig.3 Behavior model fo r Mashup app lication
为了便于分析,提出3点假设。
假设1:假定不同任务之间的关系是单向的,系统执行有唯一的起点和终点。笔者先研究此种情形下的模型,然后依此类推,可以扩展到多维的情形。
假设2:假定系统不同组件执行的活动具有Markov特性,即在已知受控组件状态下,系统下一步活动仅与前一步活动有关,与所有其他过去活动无关。
假设3:假定系统中各个组件和联结具备风险独立性,即某个组件出现问题,都不会影响其他组件和联结本身的性能或安全性[8]。
3.3 基于Markov链的风险评估模型
基于上述假设,任务执行的状态只与当前受控组件有关,而与以前的组件状态无关,因此这是离散的M arkov链。设{Xn,n∈T}为M arkov链,其中(X1,X2,…,Xn)表示组件调用序列(或系统运行状态等),其状态空间为应用中所有组件调用的集合。假设给定应用共需要调用l个组件,则该M arkov链具有l+1过渡状态,1个吸收态,其值代表不同的安全风险状态。转移概率不仅包括组件还应包括组件之间的联结。首先,通过统计方法计算一步状态转移概率矩阵P,pij定义为组件Ci执行后成功执行Cj的概率,pij=nij/ni,其中ni表示组件Ci调用所有组件的次数,nij表示组件Ci调用组件 Cj的次数。设 ri为组件Ci发生安全事件风险概率,rij表示Ci与Cj之间的联结发生安全事件的风险概率,因此,转移概率修正成(1-ri)pij(1-rij),记为p′ij,表示当 Ci且Ci与Cj之间的联结没有发生安全事件的情况下 Ci到Cj的转移概率[8]。令 R是(l+1)×(l+1)阶矩阵,表示过渡态之间的转移概率,A为(l+1)×l向量,表示过渡态到吸收态转移矩阵,U为单位矩阵,则转移概率矩阵可写为
从过渡状态到达吸收状态的概率矩阵B可写成:
矩阵B是应用的风险指标,其取值的高低分别代表5个安全风险状态。
3.4 算例分析
图4 房源管理应用行为模型Fig.4 Behavio r model fo r housing info rmation management
例如,房地产交易网站,可以将该城市的地图影像与住宅小区的房源信息关联,购房者在地图中圈出期望的新家所在地,这个区域的房源信息就会立即显示出来。在Mashup应用主页面首先加载地图组件(记为C1)和数据显示组件(记为 C2),然后集成房源信息和安全状况数据(记为C3),该应用的行为模型见图4。房源信息是网站自己的数据,而地图组件可以选择的有 Google M aps,Yahoo Maps,M icrosoft Virtual Earth等5个组件,这些组件被评为四星级以上,公司的声誉很好,是目前地图组件的首选,组件风险取值为1。
4 结 语
以开发者的视角,通过解构Mashup应用的开发过程,从静态和动态相结合方法分析影响安全风险的因素,透视Mashup应用的组件和行为特征,定义风险评估模型,定量计算应用的风险指标,为开发者选择组件提供参考。
[1] M ERRILL D.Mashups:The New Breed of Web App[EB/OL].http://www.ibm.com/developerworks/xm l/library/x-Mashups.htm l,2006-10-16.
[2] ROBB INS S.服务和Mashup的安全性[EB/OL].http://www.kuqin.com/web/20080421/7233.htm l,2008-04-21.
[3] DANIEL F,MATERA M.Turning web applications into Mashup components:Issues,models,and solutions[A].International Conference[C].[S.l.]:[s.n.],2009.
[4] CAPPIELLOO C,DAN IEL F,MA TERA M.A quality model for Mashup components[A].International Conference[C].[S.l.]:[s.n.],2009.
[5] OLSINA L,SASSANO R,M ICH L.Specifying Quality Requirements for the Web 2.0 Applications[M].[S.l.]:IWWOST,2008.
[6] 韩利红.电网企业投资效益数学评价方法研究[J].河北科技大学学报(Journal of Hebei University of Science and Technology),2009,30(2):180-184.
[7] 毛建伟.广义模糊综合安全评价模型及其在铁路桥梁评价中的应用[J].河北科技大学学报(Journal of Hebei University of Science and Technology),2008,29(3):246-249.
[8] L IH T,L IU Y,HED Q.Security risk evaluation for IT systems based on the Markov chain[J].Journal of the China Railway Society,2007,29(2):50-53.
Security risk evaluation model for Mashup application
CHEN Yan-chun1,2
(1.School of Management and Economics,Beijing Institute of Technology,Beijing 100083,China;2.Economic and Management Institute,Shijiazhuang Railway University,Shijiazhuang Hebei 050043,China)
An exciting type of data-integrated app lication based on Web is sp routing up all across the Internet,w hich is called Mashup app lication.A t the same time,some new technologies and social challenges reveal themselves sequentially.This paper researches in Mashup app lication from a perspective of security,discusses how to assess the risks of Mashup app lication,and puts fo rward a risk evaluation model and some possible metrics for the actual assessment.
Mashup;app lication;risk assessment;evaluation model
TP393.08
A
1008-1542(2011)01-0052-05
2010-05-11;责任编辑:李 穆
河北省社会科学规划项目(HB10EYJ102)
陈艳春(1974-),女,河北玉田人,副教授,博士研究生,主要从事信息系统安全评估、知识管理等方面的研究。