APP下载

移动应用的恶意和风险性判定准则及流程研究

2015-11-02蒋永成化存卿

信息安全与通信保密 2015年7期
关键词:流程软件内容

蒋永成, 化存卿

(上海交通大学信息安全学院,上海200122)

0 引言

近年来,随着“棱镜门”事件到中国国家域名系统被攻击,信息安全问题已经成为国家关注的问题。从国家安全委员会与中央网络安全和信息化领导小组的成立,可以看出,信息安全在国家层面得到了极大的提升。同时,随着我国的移动互联网事业的蓬勃发展,个人、企业用户对其的依赖性日益增强。与之相伴的,就是移动互联网的安全问题愈加严重,信息安全问题呈现出了多样化的趋势,因此十分有必要对其进行管理和防范。

1 移动应用的安全现状

现今,移动互联网产业发展突飞猛进,基于安卓和IOS两种操作系统的智能终端已在手机市场中普及,智能操作系统本身提供的功能和服务越来越丰富,支持这两种操作系统的终端形式多种多样,硬件性能也越来越强大。各种移动应用也随之呈现出了爆炸式的增长,深入至人们日常生活的各方面,改变着人们的生活方式。

随着这一行业的繁荣,从事移动应用开发的公司、个人稳步增长,其推出的应用绝大部分应用都是免费的。因而,有部分开发者出经济利益考虑,创造出了一些的恶意、风险应用。据360公司报告《2014年中国手机安全状况报告》[1]统计,2014年全年,该公司累计截获Android平台恶意样本326.0万个,较2012年,2013年分别增长了25.3倍和3.86倍。平均每天捕获恶意样本近8 932个。应用的安全形势虽较前一年有所缓和,但仍然十分严峻。

另外一方面,人们获取移动应用的主要来源是应用商店。在国外,应用发布渠道相对集中:安卓应用的主要发布渠道为GooglePlay,绝大部分IOS应用发布的主要渠道为APP Store,这两家公司均提供了相对完善的安全保护措施。但在我国国内,情况则大为不同,应用发布的渠道极其的多样化,为用户提供应用下载服务的应用商城十分繁多。各应用商城出于某方面因素的考虑,如,保证应用的全面性、广告的推广等等,往往对于上架的应用把关不严,从而国内应用市场上出现了各式各样的恶意应用。

如何检测移动应用的安全性,保障广大用户的使用安全,已经成为了当前安全领域的一个研究热点。从目前现有的安全检测的产品以及流程上看,最为明确的是对与含有已知的恶意代码的应用检测,这一商业模式已经十分的成熟和普遍,即,将移动应用简单的区分为恶意和安全。但是,对于含有于未知恶意代码以及含有一定风险的应用,却未能作出全面的、系统化的判定。因此,本文将从用户使用、国家监管、系统运行、网络危害等方面,系统化、体系化的分析移动应用的安全性,提出一种全新的移动应用安全性判定体系。

2 移动应用的恶意和风险的判定模型

2.1 判定模型的原则

移动应用,其最终的服务对象是广大的用户,为用户提供各种各样的便利服务。如果有某些恶意或者风险功能干扰了正常服务,损害了用户的利益,那么就违背了移动应用开发的根本初衷。即使有些移动应用开发者一开始就是为了一些不正当目的,但其还是伪装成为服务用户形式推出。因此,移动应用风险的根本性的判定原则,是使用者的对其的反馈,而非软件开发者、应用检测者、市场监管者的判定。因此,用户的利益是否被侵害、用户是否应有充分的知情权,是判定应用是否为恶意应用、风险应用的根本原则。

政策法规方面,监管者出于规范市场的目的,对行业总体情况进行监管,因此,有关部门发布的通知、标准具有参考意义。工信部及其下属的标准化组织CCSA推出的政策通知文件主要有:《工业和信息化部关于加强移动智能终端进网管理的通知》与《移动智能终端应用软件安全技术要求》[2]两份。《通知》中针对新入网终端的内置应用,从保护用户隐私、资费获取、终端使用、网络使用、内容使用几个方面做出了原则性的规定。CCSA标准中,《要求》中规定了移动智能终端应用软件的安全技术要求,其中详细阐明了恶意软件、风险软件等的明确定义,是一份值得参考的标准。

网络运营商方面,出于对自身网络安全的考虑,需要移动应用保证不能够影响其网络正常、稳定的运行。如今的移动应用大多采用自定义的私有协议,其设计的交互过程、携带字段往往会对网络造成潜在的风险,例如,在一些IM类应用刚刚推出之际,如,微信、QQ等,会使网络中的RNC处理负荷急剧上升,对网络处理能力产生较大影响。因此,在移动应用检测过程中,需要考虑其对网络的影响。

在移动应用的业务运营方面,需要保证移动应用的合规性,这对其业务拓展较为相关。如,应用商城的运营方要把握其应用是否提供了其所申明的服务,是否有额外的不相关功能,内容是否积极向上等等。因此,移动应用检测过程中,还要考虑其运营需求。

2.2 判定模型的设计

根据以上所提出的原则、标准,结合从实际的应用商城运营方的调研,提出了移动应用安全级别判定模型,该模型分别从移动应用的通信行为、资源调用行为、资费扣取、内容使用以及其他行为几个方面,将移动应用分为恶意软件、风险软件、安全软件三类,其中风险软件中,又将其分为“低风险”和“高风险”两类,其模型如下:

图1 移动应用风险判定模型

(1)恶意、风险应用判定依据说明

在该风险模型中,区分恶意软件与风险软件的最主要判定依据是看用户利益是否遭到了实质性的损害。包括:是否对手机的操作系统、其他应用服务以及手机硬件造成损害;是否对用户自身拥有资源造成损失,如用户文件、资金、私隐等。另外,应用中是否携带了国家违禁内容、用户是否拥有知情权也将作为重要判定依据。

某些应用不能说其是恶意软件,也不能说其是安全软件,它是介于二者之间的灰色软件,所以称之为风险软件。高风险与低风险同属于风险软件类别,其界定的方法较为模糊,其界定的主要依据就是看对用户产生损害的风险程度,需视具体情况而定。此外,高风险软件中判定依据包括:运营商网络是否受到影响;是否符合移动应用商城运营方利益。低风险软件中判定依据包括:是否引起用户体验的不适、业务流程不流畅、功能不符合逻辑等。

安全软件即对用户的利益无损,用户充分了解自己的使用行为,并且软件不对网络、运营方造成任何影响。安全软件也可以使用排除法来判定,即经过以上的判定准则匹配过后,既不是恶意软件也不是风险软件的,即为安全软件。

(2)恶意应用及风险应用的危害类型划分

目前,在文献[2]中,已经将主要的恶意软件、风险软件中各类型的恶意行为、风险行为明确描述,主要包括:远程控制、恶意传播、隐私获取、系统破坏、恶意扣费、资费消耗、“三涉”内容、诱骗欺诈、流氓行为、自动联网、非规范化提示等等,这里不再一一叙述。同时,本判定模型中又多加了一些额外的危害类型,其定义如下:

1)主F流厂商认定的恶意代码:主要是指市场上一些主要安全厂商认定的新发现的恶意代码,包含该恶意代码的应用即为恶意应用。

2)信令风暴:智能手机上的某些应用,如,即时通讯、网页浏览会产生小数据包的传输。小流量数据业务有在单位时间内流量小、持续在线时间长、较高的数据实时传输性特点。当用户使用这些业务时,小数据包会频繁交换,对业务信道资源使用效率和信令信道的负荷产生很大影响[3]。

3)无限制联网:是指在一段时间内网络连接请求失败,重复发起连接请求,试图无限制的连接网络。

4)诱骗行为:区别于恶意应用中的“诱骗欺诈”,该行为不存在欺诈行为,该行为明确表明具有收费项目,但是因语言描述含糊等原因,使用户使用过程中有扣费风险。

5)漏洞、软件BUG:由于操作系统漏洞、应用程序以及应用协议存在漏洞,或软件自身有大BUG,让外界的威胁可以乘虚而入,造成对用户使用存在利益上的损害。

6)恶搞行为:做出一些惊吓、迷惑等等的以捉弄他人为目的行为,其有损于用户体验,但是未造成实质性的利益损失。

7)敏感内容:未涉及“三涉”内容,但是违背了国家的其它一些规章制度,或者政府临时性的政令等。如:国家要求封禁的网络中的政治热点事件。

8)内容不合规:发布的内容有悖于运营方的需要,如,肆意宣传竞争对手内容,与该软件主题明显不相关内容等。

3 基于移动应用行为通用判定流程设计

上一节提出的移动应用风险模型中,其各种行为的分类均为理想意义上的定义,其作用是为实际的应用安全检测提供指导和为各种应用行为的提供定性依据,并不可以直接将其应用到实际的安全检测中。因此,需要考虑移动应用逻辑上的使用过程,提出一套切实可行的通用性的流程,以便将风险模型应用于实际的检测操作。

本节计划从通信行为判定、资费扣取行为判定、资源调用行为判定、内容使用行为的判定四个方面,判定移动应用的风险程度。提出的判定的流程如下:

3.1 通信行为所属类别判定

通信行为的检测分为静默、提示与确认、网络行为三个检测阶段,然后利用可以搜集到的日志记录、网络抓包等结果,进行联合分析,进而判定应用的通信行为风险度。在静默阶段,将待测试应用安装在安卓虚拟机或者真机运行环境中,不打开网络且不进行任何操作,静置一段时间(如:半天或者一天)后,观察其行为[4]。提示与确认阶段,需要人工进行操作,由人为主观判断提示是否符合相关规范以及意义是否明确。在网络行为分析阶段,需要利用网络分析工具,提取应用在一段时间内的连接请求数、连接的IP地址等,综合分析应用对网络的威胁以及自身网络行为的安全性。通信行为风险性判定的具体判定流程与其中所关注的内容详见表1。

表1 通行行为所属类别判定流程

3.2 资费扣取行为所属类别判定

资费扣取行为由于直接涉及用户的经济利益,因而其判定流程比较细致。资费扣取行为分为静默、订购提示、订购确认与取消、短信通知、退订几个阶段。静默阶段,用户将应用安装于一个通信网络连接正常的安卓系统中,静置若干时间,然后通过运营商账单、支付工具的账户存取记录(如个人支付宝的帐户记录)等来判定待检测应用是否有恶意扣费行为。订购确认与取消、短信通知、退订阶段,由检测人员操作待检测应用的订购流程,主观判断其提示的相关信息是否明确、价格是否明示、业务流程是否流畅等。资费扣取行为风险性判定的具体判定流程与其中所关注的内容详见表2。

表2 资费扣取类行为判定流程

3.3 资源使用行为所属类别判定

资源使用行为判定分为APK包规范性测试、APK的安装与卸载测试、APK更新测试、软件运行测试几个阶段。APK包规范性测试阶段,检测人员可以从应用商城的实际运营要求出发,根据应用开发者提交的上架申请材料描述,利用安卓的静态检测工具,将诸如包名、版本号、证书等信息进行提取,然后验证其有效性。APK的安装与卸载、更新、运行可以使用安卓的动态分析技术和静态分析技术,进行相关的组件分析、权限分析、API函数分析、状态检测、运行日志抓取等,然后综合判定其风险类别。资源使用行为风险性判定的具体判定流程与其中所关注的内容详见表3。

表3 资源使用行为所属类别判定流程

3.4 内容使用行为所属类别判定

内容使用行为判定需要从两个方面去检测,一个是软件自身含有的内容,另外一个方面是应用运行时产生的内容。文字内容检测的方法主要是依靠关键字匹配,找出敏感字段。音视频内容检测方面,鉴于现有市场上的检测系统的检测准确率均不理想,建议还是以人工审核为主。内容使用行为风险性判定的具体判定流程与其中所关注的内容详见表4。对于以上的四种判定流程,他们之间并不是相互孤立的,而是相互联系相辅相承的。一些移动应用软件通过复杂的行为及行为组合实现多样化的功能,这些行为有些与安全不相关,但与其他行为组合后有较高的敏感性[5],如:读取并判定网络状态,并发送用户信息等。因此,实际的应用检测过程中,可以将以上四种流程作为通用性质的判定流程,可以根据实际情况,进行灵活的组合和变更。

表4 内容使用行为所属类别判定流程

下面,我们将基于以上提出的通用判定流程,结合移动应用的判定的根本性原则,重点分析几种典型应用的风险程度判定。

3 典型移动应用的风险度辨析

依据之前提出的判定模型和流程,在本节中,将选出几类风险度较高的应用进行分析,将通用的判定流程中较为关键的步骤,依据具体的实际情况,进行进一步细化说明,让判定流程更加具体化,增加其可执行性。

3.1 ROOT 类软件

ROOT类软件主要是指破解Android系统ROOT权限的软件,不包括申请ROOT权限的软件。目前,国内装机量较大的两款ROOT软件为:“百度一键ROOT”与“360一键ROOT”。该类型应用在市场有多款,风险程度十分高,给用户造成的威胁较大。该类应用主要有如下三方面的具体情况,需要在检测时考虑:

1)在资源使用行为判定环节,确定伴随破解ROOT,或取得ROOT后,有恶意行为的,定义为病毒。

2)如果只单独含有破解ROOT权限的行为的,定义为高险软件,因为该软件拥有破解手机系统ROOT权限的功能,需要按需使用。因为并不是所有用户均能准确判定与了解自己对于ROOT权限的分配和使用,从而较为容易造成系统破坏行为。

3)可以针对市场用户反映较好的,下载量较大的2-3款ROOT软件等设定为安全,建议用户下载。

3.2 监控类应用

监控类软件:即具有防盗或者监听功能的软件。该类型应用主要是政企应用市场居多,其功能与恶意应用极为相似,因此在判定的把握上较为困难。该类型应用与“隐私窃取”恶意应用的区分主要为:

1)在用户未知晓的情况下对本地的通话、录音、图片等等进行上传,或者能够实时监控用户在终端上的操作行为、动作或者通话等等。一些企业用户在要求员工使用该类软件时,建议出具书面说明该类应用的功能。

2)能够访问并获取个人的通讯录、短信、通话记录、邮件,并将这些数据进行转移的,如果用户能够明确知道其转移后的地方并可以进行修改、删除操作,则为高风险应用,如果没有,则为隐私窃取类应用。

3)以上提及的行为中,还会有几种行为组合出现的情况,建议在获取事实的基础上,根据具体应用的业务逻辑性进行进一步分析。

3.3 流氓及恶搞类应用

流氓及恶搞行为的软件,是指有些行为并没有损害用户的利益,但是使用过程中给用户带来了不良使用感受。流氓及恶搞的行为多种多样,即使在同一套标准下,不同的检测者可能也会有不同的判断结论。该类型应用判定为恶意应用的根本原则就是,损害到了用户的利益。其高风险与低风险的判断依据主要是:

1)携带有文献[2]中提及的流氓行为即为高风险应用,如:非功能要求常驻内存、开机自启动、安装后没有图标、不能卸载等等。

2)携带有惊吓、捉弄行为应用为低风险应用,如:广告弹窗故意遮挡用户屏幕且活动不易点击关闭;弹出吓人图片等等。

4 结语

综上所述,移动应用恶意和风险性既要考虑用户的使用,又要考虑相关政府的监管需求,同时还要满足网络及运营的标准,从整体上考虑其风险程度。同时,还需要不断对以上提及的几个安全方面进行持续的跟踪关注,及时获取最新的热点及用户反馈,不断优化其结构以及内容,从而很好的满足用户的安全需求。

[1] 任寰.2014年中国手机安全状况报告[EB/OL].北京:奇虎360科技有限公司,2015-01-01[2015-01-20].http://ad8n468m37.l7.yunpan.cn/lk/cyCT3CtHPnIJJ

[2] 潘娟,匡晓烜,落红卫.YD/T 2407-2013,移动智能终端安全能力技术要求[S].北京:人民邮电出版社,2013:1-9.

[3] 路玮,盛煜,王波等.移动无线通信网络信令风暴分析[C]//2012年度全国无线及移动通信学术大会(WMC’12).北京:人民邮电出版社,2012:256-260.

[4] 王艳红,杨丁宁,史德年.当前移动应用软件常用安全检测技术[J].现代电信科技,2012(9):10-14.

[5] 杨正军,落红卫.移动应用软件安全风险度量化研究[J].互联网天地,2014(3):34-37.

猜你喜欢

流程软件内容
内容回顾温故知新
禅宗软件
吃水果有套“清洗流程”
软件对对碰
违反流程 致命误判
四川省高考志愿填报流程简图
主要内容
析OGSA-DAI工作流程
即时通讯软件WhatsApp
丰富多彩的Android软件