基于图的可扩展移动应用安全评估模型

2018-05-30 01:39李尼格戴造建
计算机工程 2018年5期
关键词:安全漏洞攻击者威胁

陈 璐,刘 行,陈 牧,李尼格,戴造建

(1.全球能源互联网研究院有限公司 信息网络安全国网重点实验室,南京 210003; 2.南京南瑞信息通信科技有限公司,南京 210003)

0 概述

移动通信和移动互联网技术的飞速发展使移动智能设备在社会各领域被广泛应用。GSMA报告显示2014年底全球共有36亿移动用户,其中智能手机用户达到了26亿,我国的智能手机用户则在2014年6月底超过了5.27亿[1],智能手机已超越个人电脑成为主流网络工具。而根据中国互联网协会、国家互联网应急中心联合发布的《中国移动互联网发展状况及其安全报告(2016)》资料显示,2015年中国境内活跃的手机网民数量达7.8亿人,活跃的智能手机联网终端达11.3亿部[2]。与此同时,移动智能设备所具有的功能扩展性和平台开放性带来了数以百万计的移动应用程序,这些移动应用给人们提供了诸如MP4、网络相机、电子书等多样化的服务。

然而,上述移动应用在给人们带来便利的同时,也带来了各种安全问题,病毒、木马与恶意软件等攻击技术和威胁方式给移动智能设备应用程序与用户信息安全造成重大威胁[3]。由于移动应用开放的应用市场中存在层次不齐的应用商店以及相对宽松的应用审核机制,导致恶意软件泛滥,安全威胁与日俱增。同时,通过正规渠道下载的移动应用也存在二次打包、漏洞利用、恶意行为等不安全因素,这些不安全的移动应用会对移动终端用户造成巨大的安全风险和资产损失[4-6]。根据安天发布的《2016移动安全年报》显示,移动互联网在2016年仍面临恶意应用的持续威胁,新增威胁继续涌现,威胁手段持续进化,攻击者加强仿冒、社工欺诈、勒索手段、权限冒用、开源组件恶意利用等攻击手段的使用。同时存量威胁依然泛滥,电信诈骗拦截马、扣费、流氓、色情等威胁仍在持续演化和进化,整个移动威胁面临全面迁徙和规模化增长以及爆发。因此,针对移动应用进行分析和安全保护具有重要意义[7]。

目前,研究人员提出了一些面向移动应用的安全评估方法[8-9],但其中多数集中在对漏洞收集、恶意样本行为等的关联挖掘研究,面对快速增大的移动应用规模安全评估能力较差[10]。针对该问题,本文构建一种基于图的可扩展移动应用安全评估模型,以期提高评估准确性。

1 相关研究

文献[11]针对移动应用的安全评估模型构建问题,分析了风险评估的3个要素:威胁行为,资产,脆弱性,同时建立一种新的智能终端系统安全风险评估模型。该模型基于AHP算法和安全评估的各要素,将整个移动应用系统分为不同的风险等级。

文献[12]针对智能终端的风险评估提出了一种需要裁剪的方法。该方法步骤如下:1)明确终端资产和威胁;2)通过分析危害程度确定威胁值;3)采用具体算法计算出风险评估值。

文献[13]通过对计算机网络攻击效果指标体系的研究,将其应用到移动终端评估中,建立层次化的移动终端攻击效果评估的指标体系,采用模糊层次分析法和多专家决策得出恶意软件的整体攻击效果评价。

文献[14]提出了一种基于图的移动终端系统安全评估方法。该方法借鉴攻击图方法,通过威胁图节点来构建安全威胁模型,其中节点分为威胁节点和缺陷或漏洞节点两类。该方法通过量化节点来对待测终端进行评估。

上述模型和方法在进行移动应用的安全评估时,只是针对特定的或者较小规模的移动应用进行安全威胁建模或评估[15]。然而,现有的移动应用通常是大规模存在的,针对移动应用的安全模型应该具有很好的扩展性[16]。同时移动智能系统存在的一些漏洞、安全机制具有一定的关联性,只有考虑到这些关联性,移动应用的安全评估才能更准确。

本文在借鉴上述研究成果的基础上,构建一种安全评估模型。该模型以安全漏洞和攻击威胁为节点,并以各个节点间的关联性相互连接,同时也考虑对漏洞风险值的量化和它们之间的关联性。

2 基于图的移动应用安全评估模型

2.1 移动应用安全评估模型分析

当前针对移动应用的攻击主要利用系统存在的安全漏洞获取用户权限。在该过程中,攻击者通过系统存在的漏洞,不断地利用恶意代码、病毒等实现权限的提升,获取用户的特定资源。

造成移动应用安全威胁的要素包括系统遭受的恶意代码、病毒等网络攻击,以及移动应用和系统固有的安全机制脆弱性、安全漏洞、策略漏洞等,本文称这两种要素为攻击威胁和安全漏洞。攻击者利用安全漏洞或者发动网络攻击获取用户权限。

攻击手段的发展,使得现有的攻击方法已经不局限于单一的攻击手段,而是采用多种攻击手段的组合攻击。因此,不同的网络攻击和安全漏洞之间存在一定的关联性。

根据上述分析,移动应用安全评估模型应是一个以安全漏洞和攻击威胁为节点的模型,其中各个节点之间存在特定的关联性,且模型各个节点通过这种关联性相互连接,具有可扩展性。

2.2 移动应用安全评估模型

根据2.1节的分析构建移动应用安全评估模型。该模型定义如下:

定义1模型G=(V,E,P,β,R)为具有一个或者多个AND-OR节点的有向无圈图。

V={Vi|i=1,2,…,Ni}为威胁节点集合,包括攻击威胁和安全漏洞2种要素,它是一个非空有限的AND-OR节点集合。

E={Ei∪Ej}为关联各类节点的有向边集合。以eij=表示从节点Vi指向其子节点Vj的一条有向边,攻击者通过安全漏洞Vi获取权限后,沿着边eij向Vj发动攻击。一般地,记Pre(Vi)为节点Vi的父节点集合,Con(Vi)为节点Vi的子节点集合。

P={P1∪P2}。P1为安全漏洞的先验概率,即节点之间实现单步攻击的概率;P2为节点Vi在其父节点满足条件下的条件概率。由于只有Vi的父节点Pre(Vi)满足条件时Vj才能发生,因此P2=(Vi|Pre(Vi))满足条件:

{P2:Pre(Vi),Vi}→[0,1]

(1)

β为模型各节点的联合概率分布集合,表示攻击者成功利用该漏洞的难易程度。对任意节点变量Vi:

β(Vi)≥0

(2)

R={AND,OR}为节点之间关联关系的集合。AND节点指的是节点Vi的所有父节点Pre(Vi)之间是AND关系,即Pre(Vi)集合中的所有节点同时满足条件时,才能引发节点Vi。图1是父节点Pre(Vi)之间是AND关系的示意图,只有Vj和Vk同时满足条件时才能引发节点Vi。OR节点指的是节点Vi的所有父节点Pre(Vi)是OR关系,即Pre(Vi)集合中的任一节点满足条件时,就能引发节点Vi。图2是父节点Pre(Vi)之间是OR关系的示意图,只要Vj或者Vk任一节点满足条件就能引发节点Vi。

图1 AND关系节点 图2 OR关系节点

定义2对于一个模型G,如果到达某个威胁节点所经历的所有节点和边组成的一组有序节点序列l={V0,e01,V1,e12,…,Vi,eij,Vj,…,Vn},使得对节点序列中任意2个相邻节点总有∈E,(0

3 移动应用安全威胁评估

3.1 威胁节点评估标准的量化

移动应用面临的攻击方法和安全漏洞是多样的,如何对这些攻击方法和安全漏洞进行量化,是准确评估安全威胁的前提和保障。文献[11-12]、移动终端信息安全技术要求(YD/T 1699-2007)等对移动应用的安全漏洞和攻击威胁进行量化,具体见表1和表2。

表1 安全漏洞的量化

表2 攻击威胁的量化

考虑到安全漏洞之间的关联性,攻击者通过安全漏洞获取权限的可能性不仅和安全漏洞自身有关,也和攻击者利用该漏洞时所拥有的权限有关。因此,表1中安全漏洞的概率仅作为威胁节点的先验概率,即P1。

3.2 威胁节点概率的计算

攻击者通过安全漏洞获取权限的可能性和安全漏洞自身以及攻击者利用该漏洞时所拥有的权限有关。因此,威胁节点概率,即模型各节点的联合概率分布β取决于先验概率P1和条件概率P2。本文对其给出如下定义:

定义3对模型G中的任意节点Vi,其有s个父节点,即Pre(Vi)={V1,V2,…,Vs},则:

β(Vi)=P(Vi,V1,V2,…,Vs)=

P1(Vi)·P2(Vi|V1,V2,…,Vs)

(3)

定义4在模型G中,对于任意节点Vi,其有s个父节点,即Pre(Vi)={V1,V2,…,Vs},则节点Vi发生的条件概率P2(Vi|V1,V2,…,Vs)为:

1)如果Vi为起始节点,定义为V0,则:

P2(Vi|V1,V2,…,Vs)=1.0

(4)

2)如果Pre(Vi)中节点关系R=AND,则:

(5)

3)如果Pre(Vi)中节点关系R=OR,则:

P2(Vi|V1,V2,…,Vs)=max{β(Vj)|j=1,2,…,s}

(6)

4)如果Pre(Vi)中节点关系既非R=OR,又非R=AND,则:

P2(Vi|V1,V2,…,Vs)=

P2(Vi|Pre(Vi))=β(Pre(Vi))

(7)

定义5分析考虑威胁节点关联关系条件下威胁节点条件概率的数学模型。初始状态下,攻击者已经获取了利用初始威胁节点的权限。因此,初始的威胁节点条件概率为1.0。对于初始威胁节点以外的节点,当节点Vi的父节点间关系为AND时,表示攻击者必须成功地利用节点Vi得所有父节点漏洞才能获取节点Vi的权限。因此,所有到达节点Vi的父节点的概率是相同的。当节点Vi的父节点间关系为OR时,表示攻击者只需成功地利用节点Vi的具有最大威胁概率的父节点代表的漏洞,就能获取节点Vi的权限。此时,父节点中威胁概率的最大节点就会是攻击者所选择的威胁节点。当节点vi的父节点间关系为非AND节点和非OR节点,实际上表示Vi的父节点只有一个,因此,父节点的威胁节点概率就是节点Vi的条件概率。

3.3 安全威胁评估算法

本文设计移动应用的安全威胁评估算法STNPA,依据移动应用安全评估模型G和各节点先验概率P1计算安全威胁节点概率β。在任何一个时刻该评估算法都能评估那些未被利用的安全漏洞,并检测该时刻最可能的攻击路径(攻击者会选择那些具有最大节点概率的威胁节点作为下一个攻击目标),最后返回沿该路径欲到达的下一个攻击目标的威胁节点概率β,其对应的安全风险量化值就是当前时刻的安全风险级别。β计算方法见定义4。STNPA算法具体描述如下:

算法安全威胁节点概率算法STNPA

输入模型G,节点先验概率P1

输出安全威胁节点概率β

IF 节点v是初始节点 THEN {P2(v)=1.0}

RETURN β(v)=P1(v)·P2(v)//初始节点安全//威胁节点概率

END IF

IF 节点v的父节点Pre(v)中节点关系R=AND THEN

END IF

IF 节点v的父节点Pre(v)中节点关系为OR THEN

v发生的条件概率为P2(Vi|V1,V2,…,Vs)=max{β(Vj)|j=1,2,…,s}

RETURN β(v)=P1(v)·max{β(Vj)|j=1,2,…,s}

END IF

ELSE 节点v的父节点Pre(v)中节点关系既非R=OR,又非R=AND,THEN v发生的条件概率为P2(Vi|V1,V2,…,Vs)=β(Pre(Vi))

RETURN β(v)=P1(v)·β(Pre(vi))

4 实验与结果分析

为验证本文评估模型的有效性,实验选取Android系统存在的9个相关安全机制和安全漏洞作为节点,具体信息如表3所示。根据对待测终端和这些节点的分析,建立的安全评估模型G,并为每个节点进行先验概率赋值,如图3所示。

表3 选取的安全威胁节点

图3 安全威胁评估模型构建示意图

依据表3、图3以及STNPA算法所得到的各安全威胁节点评估值如图4所示。其中,β1表示未考虑各节点间关联关系情况下的安全威胁节点评估值,β2表示考虑各节点间关联关系情况下的安全威胁节点评估值。

图4 安全威胁节点评估值对比

对比β1和β2曲线可知,从节点V4开始,β2曲线上的各个节点的评估值均低于β1曲线各对应节点的值,其原因是攻击者通过多种路径获取目标节点权限时,考虑到成本、获取更多的节点权限等因素,其攻击难度会增大。以节点V4和V5为例,攻击者需要同时获取这两个节点的权限才能到达目标节点,从而降低了成功获取节点权限的可能性。考虑到实际的攻击,攻击者往往通过多种攻击途径获取目标权限,因此,本文构建的评估模型能够更准确地评估移动应用的安全威胁。

此外,节点间关联关系也影响移动应用安全威胁评估攻击路径的预判,具体分析如图5所示。

图5 攻击路径预判示意图

攻击路径是移动应用安全威胁评估的一个重要组成部分。在选择攻击路径时,攻击者倾向于选择最易获取节点权限的路径到达目标节点。攻击路径用l表示,其中Vi表示第i个节点,eij表示节点Vi到节点Vj的有向路径。图5中,在不考虑节点间关联关系情况下,路径l1={V1,e14,V4,e47,V7,e79,V9}为攻击者最可能选择的攻击路径。实际上,攻击者除了倾向于选择最易获取节点权限的路径,还会综合考虑成本、到达目标可行性等多种因素。在实际攻击中,由于攻击者必须同时成功的利用节点V4和V5才能到达节点V7,因此在不考虑节点间管理关系时,l1将成为理论上可达而实际上不可能到达目标节点V9的路径,降低了路径预判的正确率。在图5中,将AND和OR等节点间关联关系作为影响因素评估移动应用安全时,由于攻击者通过节点V7到达目标节点V9需要同时成功利用节点V4和V5,会降低成功的可能性,而且在对比V4和V6节点时,节点V4具有更高的成功可能性,因而最终会放弃路径l2={V1,e16,V6,e68,V8,e89,V9}(图5中虚线路径),而选择路径l3={V1,e14,V4,e48,V8,e89,V9}(图5中点线路径)到达目标节点,从而达到消除类似于l1的路径,提高预判准确性的目的。

5 结束语

在评估移动应用安全时,对现有移动应用安全漏洞风险值的量化限于衡量漏洞自身被利用的难易程度,不能用作评估移动应用安全威胁的唯一要素。同时,攻击者利用安全漏洞发动攻击时,不同安全漏洞存在一定的关联性,这种关联性影响着对移动应用安全的评估。因此,本文在构建移动应用安全评估模型时充分考虑了上述2个问题,从而提高了评估的准确性,而且模型基于节点间关系,能够用于大规模移动应用模型的构建,具有良好的可扩展性。

虽然本文移动安全评估模型考虑了安全漏洞、攻击威胁以及相互之间的关联性,但仍存在一定程度误报。因此,下一步将在攻击路径预判的基础上进行有针对性的渗透测试,从而提高评估的准确性。

[1] 中国互联网络信息中心.第34次中国互联网络发展状况统计报告[EB/OL].(2014-07-21)[2017-01-12].http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/hlwtjbg/201407/P020140721507223212132.pdf.

[2] 中国互联网协会,国家互联网应急中心.中国移动互联网发展状况及其安全报告(2016)[Z].2016.

[3] 张玉清,王 凯,杨 欢,等.Android安全综述[J].计算机研究与发展,2014,51(7):1385-1396.

[4] CHAN P P F,HUI L C K,YIU S M.Droidchecker:analyzing Android applications for capability leak[C]//Proceedings of the 5th ACM Conference on Security and Privacy in Wireless and Mobile Networks.New York,USA:ACM Press,2012:125-136.

[5] 王菲飞.基于Android平台的手机恶意代码检测与防护技术研究[D].北京:北京交通大学,2012.

[6] SHABTAI A,FLEDEL Y,ELOVICI Y.Securing Android-powered mobile devices using SELinux[J].IEEE Security and Privacy,2010,8(3):36-44.

[7] 岳 倩.移动互联网APP应用安全评估模型[J].沈阳航空航天大学学报,2016,33(5):68-73.

[8] 陈建民.面向移动应用安全评估的多属性专家决策模型及应用研究[D].北京:北京工业大学,2014.

[9] 张 健,舒 心,杜振华,等.一种评估恶意代码危害性方法的研究[J].信息网络安全,2009,39(10):7-9.

[10] 李向东,夏 冰,郑秋生.Android应用软件安全测评方法研究[J].信息安全与通信保密,2014(9):133-135.

[11] 唐 杰,逯全芳,文 红,等.基于AHP移动终端系统的安全风险评估[J].信息安全与技术,2013,4(3):13-16.

[12] THEOHARIDOU M,MYLONAS A,GRITZALIS D.A risk assessment method for smartphones[J].IFIP Advances in Information and Communication Technology,2012,376:443-456.

[13] 李 佳,郑康锋,崔 旭.一种基于模糊层次分析的智能手机攻击效果评估方法[C]//第十三届中国科学技术协会年会-中国智慧城市论坛论文集.北京:中国科学技术协会,2011:103-107.

[14] 唐 杰,逯全芳,文 红.基于图的移动终端系统安全评估[J].信息安全与通信保密,2013(5):72-75.

[15] CHIN E,FELT A P,GREENWOOD K,et al.Analyzing inter-application communication in Android[C]//Proceedings of the 9th International Conference on Mobile Systems,Applications,and Services.New York,USA:ACM Press,2011:239-250.

[16] 李铮山,林 干,范文浩,等.Android的应用程序安全评估系统设计[J].软件,2013,33(12):287-291.

猜你喜欢
安全漏洞攻击者威胁
机动能力受限的目标-攻击-防御定性微分对策
基于模糊测试技术的软件安全漏洞挖掘方法研究
人类的威胁
智能设备安全漏洞知多少
受到威胁的生命
安全漏洞太大亚马逊、沃尔玛和Target紧急下架这种玩具
正面迎接批判
安全漏洞检测技术在计算机软件中的应用
有限次重复博弈下的网络攻击行为研究
搞笑图片