移动信息系统

PDF
移动信息系统/2020年/文章

研究文章|开放获取

体积 2020年 |文章的ID 3407437 | https://doi.org/10.1155/2020/3407437

李港沈,回族,王Yihuan (Wang, Multifeature-Based特权升级攻击行为检测方法为Android应用程序”,移动信息系统, 卷。2020年, 文章的ID3407437, 16 页面, 2020年 https://doi.org/10.1155/2020/3407437

Multifeature-Based特权升级攻击行为检测方法为Android应用程序

学术编辑器:萨尔瓦多的法令
收到了 2019年10月05
修改后的 2020年3月19日
接受 2020年5月15
发表 05年6月2020年

文摘

本研究提出了一个应用程序基于multifeature检测方法和检测特权升级进程代数攻击在Android应用程序。应用程序构成了袭击的五个特性测定通过特权升级攻击的分析模型。的基础上提取的多个特性,过程代数是用于构建应用程序行为模型和攻击模型。强等价关系被用来验证应用程序行为。最后,数据流路径检测中进行应用程序可以构成特权升级攻击来确定这些应用程序构成了一种特权升级攻击。该方法的准确性和有效性验证使用DroidBench基准测试的测试集,包括55 apk 22类型。

1。介绍

随着移动互联网的发展和智能手机的普及,下载的应用程序的数量也显著增加(1]。Android系统与开源应用程序已成为流行的智能设备制造商和开发商之一。广泛用于金融、政府、交通、教育、军事、汽车、房子,能量,和其他重要的领域,它有一个庞大的用户群(2,3]。据Strategy Analytics统计数据获得,Android占全球智能手机市场88%的份额在2016年第三季度4]。Android系统是广泛应用于工业物联网(IIoT) [5]。虽然有经典解决方案的认可记录网络的访问控制物联网(物联网)6- - - - - -9],android操作系统的安全是一个关注的话题,特别是在移动互联网隐私泄露问题。诺基亚的威胁情报报告- 2019显示,2018年,移动网络的平均感染率为0.31%,Android设备被观察到的恶意软件感染的47.15%负责(10]。根据收集到的数据在Android生态环境安全的研究在2018年,2018年中国移动安全Eco-Research报告,和Android恶意软件年度特别报道,360年网络安全中心截获了大约434.2万个新样本的恶意软件在移动终端,和已知的安全漏洞被发现在去年99.3%的Android应用程序,其中89.6%有高危安全漏洞。应用程序权限的跨国行为显示了一个积分增加的趋势。此外,98.8%的应用程序申请隐私权限滥用权限写通话记录(11- - - - - -13]。通常,权限申请应用程序涉及到用户的隐私,甚至威胁到用户的信息安全。因此,获取用户隐私信息通过共谋攻击的特权升级已成为一个研究热点。

目前,基于行为的检测主要是用来检测特权升级攻击在Android应用程序。其中包括一些特性提取的静态,例如,许可,组件,和其他行为特征的检测和动态信息的收集和检测系统操作流程应用程序行为。然而,存在两个缺陷的检测multiapplication特权扩大的共谋攻击:(1)检测到一个应用程序,和之间的数据流路径multiapplications未被检测到,所以multiapplication勾结的检测效果不好。(2)目前的检测方法是基于1 - 3功能,但不考虑超过4的联合检测功能,和不知道隐藏的危险因素,构成了特权升级攻击。

隐蔽性很强的严重威胁和共谋攻击,而不是单个应用程序的检测效果好,我们提出了一个基于multifeature检测方法和过程代数建模。该方法描述如下:(1)提取特征的攻击行为:基于攻击模型的分析,五种特征提取,包括应用危险的许可,意图过滤器,敏感的API调用,敏感数据流对,意图和组件通信。(2)应用程序行为和攻击行为建模:进程代数用于构建应用程序的行为和攻击行为模型。强等价被用来验证。然后,它可以确定应用程序是否能构成一个特权升级攻击。(3)攻击应用程序之间的数据流的路径检测。道路检测算法被用来检测应用程序之间的数据流的路径可以构成特权升级攻击。因此,应用程序之间的应用程序路径构成了特权升级攻击。

本文的主要贡献如下:(1)五个特征提取的攻击行为。使用静态特征提取方法提取危险允许应用程序中,数据流对敏感,敏感的API调用,组件沟通意图,意图过滤器,弥补单个特性可以被探测到的限制不能高度恢复但攻击行为。(2)行为建模和应用程序之间的路径检测:过程代数用于模型应用程序行为和攻击行为,和强大的等价是用来确认之间的等价关系的行为模型和攻击模型应用。路径检测弥补了传统方法的局限性只能检测到一个应用程序但不考虑应用程序之间的共谋行为。(3)隐藏的因素解释的特权升级攻击:基于实验的情况下,基准,集和测试集,该方法的准确性和有效性得到证实,和隐藏的因素构成了特权升级攻击。

智能手机和移动互联网的广泛使用导致了恶意Android应用程序的数量每年都在增加,从而使检测恶意程序的一个研究热点。这个课题研究价值由于特权升级的特殊性与multiapplication共谋攻击。以下将从恶意软件检测和特权升级检测方法。

2.1。恶意软件检测方法

Android恶意软件检测方法已经改变了从基于签名的方法,基于应用程序的行为特性的方法然后特征分类和检测基于机器学习和数据挖掘理论。Androguard [14),一个著名的Android恶意代码早期检测工具,使用一个基于签名的方法来检测恶意代码;然而,它不能检测未知恶意应用程序。

因此,许多研究人员专注于基于程序行为特征检测方法。在[15- - - - - -20.),研究人员发现Android恶意软件的行为分析、提取、和比较等应用程序许可的行为特性,控制流、数据流和敏感的API调用。此外,框架提出了概率信心值(20.可以有效地降低检测成本。尽管检测方法基于行为特征的应用取得了良好的效果,它还可以加强中提取,结合行为的特性。

此外,由于成熟的机器学习和数据挖掘理论,研究人员目前正在向他们介绍恶意程序检测方法。在[21- - - - - -26),研究人员利用机器学习和数据挖掘理论提取、分类、评估、和检测恶意特性,为进一步的研究提供了一个方向在许可和检测恶意应用程序的API。DroidCat [27]和SafeDroid v2.0 [28)导致查询策略,主动学习,简化恶意功能,而DroidDeep [29日)导致静态特性收集和选择。Androdect [30.]构造组件的数据集,关键的函数调用,和基于组件的特征提取系统调用,函数调用,系统调用;此外,这三层混合合奏算法用于检测。系统表现良好,检测精度和执行效率,但只考虑三种类型的特性。与以往的研究不同的是,阿明et al。31日)提出了一个基于自定义的防病毒系统学习模型,检测端到端Android恶意软件的深入学习系统通过提取操作代码从应用程序的字节码;然而,系统集中在使用不同深度学习模型来提高检出率。

2.2。特权升级检测方法

因为特权升级攻击的复杂性,上述检测方法在检测恶意软件相对较弱的特权升级攻击。一些研究人员因此特权升级攻击进行了更深入的研究。在[32,33),跟踪污染信息和监控权限信息被用来保护和检测内核级特权升级攻击。两种类型的攻击应用程序层感到困惑副攻击和共谋攻击。

研究人员已经提出了一些良好的解决方案副混淆攻击的检测和预防。Bugiel et al。34)提出了扩展Android中间件和部署一个强制访问控制的安全框架内核,从而旨在检测和防止应用程序级困惑粘合剂IPC副攻击和关注,网络套接字,内核和文件系统。李等人。35]提出保护安卓免受特权升级攻击通过监视应用程序进程的重要系统调用。该方法可以检测和防止新的未知的恶意软件;然而,它只考虑系统调用的功能。徐et al。36,37)提出了一个灵活、高效的安全扩展方案为Android中间件。该安全框架用于防止第三方应用程序许可的扩张导致漏洞通过混淆副攻击。在这个框架中,主要考虑的是如何限制风险需要沟通。

共谋攻击的研究,研究人员从数据信息和行为特性做了深入的探索。只要et al。(38)提出了一个方法来防止特权升级攻击通过验证请求服务协议的有效性,评估的适用性要求服务,传输信息系统,用户和沟通风险。然而,主要的考虑是元数据和上下文管理器的元数据。DroidAuditor [39)是一个解决方案的应用程序行为分析使用图形交互行为;它可以检测到应用程序层特权升级攻击如困惑副和共谋攻击。此外,它主要使用Android安全模块(ASM)访问控制架构来分析应用程序的行为。王等人。40)提出了一个基于组件检测特权升级攻击方法,应用程序层和包管理的缺陷。基于组件的检测方法,研究者认为三个特点:许可,导出属性,意图过滤器。application-layer-based检测方法,组件和权限信息。在系统中更新或包管理检测方法,研究者认为三个特点:许可,UID分享和受污染的数据。总而言之,这项研究提供了一个很好的研究共谋攻击检测;然而,在每个方法使用的特征数量仍然可以加强。

因此,应用程序层的共谋攻击,使用上述的检测方法来检测单个应用程序,检测结果不能很好。然而,对于现有的检测方法,只有1 - 3被认为是类型的行为特性,在应用程序之间和危险信息的检测路径是不够的。与此同时,班达里et al。41)还提议interapp通信检测的重要性。事实上,除了考虑多个特性,有必要检测到危险的道路应用程序有效地检测到多个应用程序之间勾结特权升级攻击在应用程序层。

3所示。提取的行为特征

应用程序可以被表达的行为的特性(30.]。采用静态方法提取行为特征的基础上,分析进攻行为特性。

3.1。的进攻行为特征分析

Android应用程序是由活动、服务、广播接收器,和内容提供商通过意图进行通信(2,42]。安卓系统的安全体系结构允许应用程序较少(或没有)的权限访问应用程序组件与更多的权限(2]。因此,恶意程序没有任何权限获取所需的权限通过第三方程序,构成multiapplication勾结特权升级攻击,如图1(43- - - - - -45]。

从图可以看出1,(1)三个应用程序(A、B和C)独立运行,不相互干扰。应用程序组件昏迷1和昏迷2也没有权限。应用程序B P许可1和组件的梳子1和梳子2。数控应用C没有权限,但是组件1已经许可P1和数控2已经许可P2(2)昏迷1未经许可就可以访问梳子1和P1;梳子1可以访问数控1和P1这是申请组件数控1但不能访问数控2和P2(3)昏迷1有P1没有申请P1。三个应用程序(A、B和C)可以构成一种特权升级攻击基于P1

根据攻击原理,应用程序构成的攻击必须有下列行为特征:(1)应用危险的许可:特权升级攻击发生的过程中不断完善权限;危险的权限是特权升级的一个重要因素。(2)组件意图交流:Android应用程序是基于组件的,构成了攻击包括组件之间传送信息。(3)敏感数据流对:特权升级攻击可以获取用户隐私数据,和一个隐藏的危险因素的敏感组件之间的数据流对存在。(4)敏感的API调用:通过跟踪敏感的API调用,我们可以知道这个应用程序的危险行为。(5)意图过滤器保护:意图过滤器可以帮助实现相同的应用程序组件和应用程序之间的通信。

此外,有必要检测需要路径可以构成了特权攻击的应用程序。Android平台的许可机制有一个功能,一旦被授予许可,这将是永久的保护许可(42),它可以实现组件间的调用应用程序,这是最好的伪装特权升级攻击。

3.2。特权升级攻击情况下

特权升级攻击的情况下,通常由三个独立的应用程序(App1, App2 App3)基于SEND_SMS的许可。三个应用程序的关键代码如表所示1


App1 App2 App3

申请危险的许可 - - - - - - 应用:< uses-permission android: name = " android.permission.SEND_SMS " / > 数控:< android:许可= " android.permission.SEND_SMS >
意图过滤器 - - - - - - 梳子:<行动android: name = " IntentKeyOne " / > 数控:<行动android: name = " IntentKeyTwo " / >
组件意图变换 昏迷:意图intentA = new意图(“IntentKeyOne”);bundleA。.toString putString (“userBankCode txtBankCode.getText () ()); 梳子:意图intentB = new意图(“IntentKeyTwo”); - - - - - -
敏感的API调用 - - - - - - - - - - - - 空白enforceReceiveAndSend(以)
敏感数据流对 < TextView android: id =“@ + id / txtBankCode”……/ > 获得:strBankCode = budle.getString (“userBankCode”);发送:bundleB。putString (“strBankCodeKey”, strBankCode); 获得:sendBankCode = bundleC.getString (“strBankCodeKey”);通过短信发送:smsManager。sendBankCode sendTextMessage (phoneNo空,空,空);

关键代码如下:(1)App1可以与组件的组件昏迷的梳子App2未经许可的保护。(2)App2 SEND_SMS申请许可,其组件梳子SEND_SMS许可。(3)数控的App3申请SEND_SMS许可。梳子App2数控一样的许可,所以梳子与数控。(4)SEND_SMS中的三个应用程序是完善和增强的一步一步。三个合谋应用程序构成了特权升级攻击。他们使用短信发送银行代码指定的电话号码。

2显示了一个图的构成特权升级攻击。

3.3。应用程序行为特征提取

特征提取进行了构建应用程序功能树(尾)。尾部是一个树,有三个深度。根节点代表应用程序的名称,每个子树的根节点代表应用程序的组件,和子树的叶子节点代表相应的组件的特性。功能包括危险的权限,组件意图沟通、敏感数据流对,意图过滤器,敏感的API调用。

3.3.1。组件和危险组件允许提取

从一个AndroidManifest许可和组件信息提取。XML文件。危险的权限的列表是基于谷歌的官方文件,如图3

3.3.2。危险的应用程序允许提取

根据Android系统的权限机制,每个组件都是保护应用程序的权限,如图4

一些随机的apk被用来提取权限和组件。统计数据如表所示2


应用程序包名 许可/危险 重复许可 活动 服务 接收机 提供者 没用的组件

jjszjgsgl.kaoshi.namespace 7/2 1 41 0 0 0 1
Protect.eye 24/4 0 50 6 5 2 12
com.example.healthmonitor 76/16 36 118年 6 5 0 11
com.mtscrm.pahd2 9/4 0 2 1 0 0 0

3.3.3。组件意图沟通提取

基于APK文件Smali文件的转换,它是结合在AndroidManifest组件的意图标签。XML进行分析,然后应用程序组件的信息提取,如图5

在攻击的情况下3.2App2提取,梳子,其意图沟通信息如表所示3


应用程序的名字 组件的名称 许可 接收 发送

App2 梳子 Android.permission.SEND_SMS .getExtras getIntent () / putExtra putString ()

3.3.4。敏感的API调用提取

非盟et al。46)之间的对应关系研究多个版本的Android系统的权限和API的信件。的帮助下他们的发现,敏感的API调用都是通过使用strace工具提取系统调用序列,如图6

3.3.5。敏感数据流对萃取

FlowDroid [47)是用于提取敏感数据流对,也就是说,<源,水槽>。源是获取敏感信息的来源,水槽是敏感信息传输的源头。提取的敏感数据流对被添加到尾部。

在攻击的情况下3.2的组件数控App3提取,其敏感的数据流对如表所示4


应用程序 组件 水槽 (来源、水槽)

ExampleC 数控 Bundle.getString () / sendActivity.onCreate () 日志/ sendActivity.sendSMSMessage (Bundle.getString () / sendActivity.onCreate()、日志/ sendMessage.sendSMSMessage)

3.3.6。意图过滤器提取

<意图过滤器>保护和意图的动作名称是用来跟踪信息流的传播,如图7

4所示。应用程序行为建模基于过程代数

4.1。语法和语义的过程代数

进程代数可用于准确地描述两个系统之间的交互和确定的等价行为48]。进程代数,系统使用操作定义的行为或事件,它可以执行。行动代表抽象的活动或行为。因此,进程代数是用来定义基于行为之间的相互作用过程。它描述了一个系统的行为方式组合。Android应用程序是建立在组件。行动组的所有组件构成的整体行为应用(49]。进程代数可以用来有效地描述消息通信的安卓系统体系结构和特点。因此,我们建议过程必须使用代数模型的行为和攻击行为的语法和语义规范应用。过程代数给出如下:

的公式,(1) ,代表每个过程P有一个独特的进程标识符,在哪里 代表了自由的名字P(2) ;这是一个总结,任何有限的索引设置。如果吗=∅,那么 是空的总和,写成0,表明这个过程是成功地终止。 是保护 因为 必须开始活动后所代表的行动 发生。(3) 代表P1P2并发运行。(4) ,在哪里 表示消息发送的行动; 表示消息接收的行动。(5) ,的范围 随后的过程是有限的P,在那里 是一个合格的标识符。(6)!P表示过程复制,它定义了一个递归的过程。(7)0代表一个空的过程。

4.2。应用程序行为模型

我们使用过程代数基于尾部创建一个应用程序行为模型。给出定义的语法和语义规范如下。

定义1。(应用程序行为)。在Android系统架构中,组件组成的应用程序。Android的许可机制的基础上,组件行动是一组信息发送、接收、和执行操作权限保护。组件的敏感行为受到许可的保护。因此,应用程序的行为可以获得的所有组件的行为。应用程序行为的定义如下: 在哪里n代表的总数在应用程序和组件代表当前组件的操作的总数。任何组件的行为模型如下。
创建的应用程序行为模型使用过程代数基于船尾。每个组成部分的公式(1)是表示使用Android架构的关键特性。例如, 表示使用敏感数据。因此,任何组件的行为模式是由使用公式(1)和(2)如下: 的公式,(1) 代表ComAction有一个惟一的id,它可以省略。(2) ,在那里, 代表的数量特性在船尾, 代表的数量权限,P代表权限。 代表 是保护 和他们发生的顺序; 必须发生之前P可以开始活动。(3) 代表一个应用程序 功能在同一时间。(4) ,在哪里 代表消息发送的行动, 表示消息接收的行动。(5) 代表一个应用程序的行为受到许可的保护P(6) 代表 被复制。公式(3)描述的集合行为的任何组件的应用程序。这包括以下几点:任何一个组件可以有一个独特的身份、行为的组件可以根据权限保护,执行这些行动必须授予许可后执行;每个组件可以具有多个功能,这些组件可以发送和接收信息的能力,和任何的组件可以被重用。

定义2。(特权升级攻击模型)根据攻击原理的分析部分3.1,构成了特权升级的应用程序攻击(PEApp)必须有危险的权限,敏感的API调用,组件意图沟通,和流发送敏感信息。根据公式(2),攻击行为必须完成组件的应用程序,也就是说, ,和组件必须船尾。根据公式(1)和(3),特权升级攻击的模型如下: 在哪里(1) 代表所有的行为 (2) 代表危险当前组件的权限(3)y代表了该组件的敏感信息公式(4)是用于描述的原则,一个应用程序的一个组成部分,有一组的攻击行为。行为下的组件可以执行一系列危险权限保护。必须执行这些操作权限授予后,组件可以发送和接收信息后,任何特性的组件可以被重用。因此,通过使用公式(3)和(4),我们就可以完成程序的建模和攻击行为。

5。行为等价和需要路径检测

过程的强等价代数是用来确定之间的等价关系的行为和攻击模型应用。因此,根据标记的概念过渡系统,强大的模拟,和强大的进程代数等价,以下定义:behavior-labelled过渡系统,behavior-strong模拟,并根据尾behavior-strong等价。

5.1。相关行为等价的概念

定义3。(behavior-labelled转换系统(LTS))假设应用程序操作的保护下P许可;应用程序的操作集 是一对(,TLTS),在那里 是一组状态; 是一个三元关系称为过渡关系。如果 , , , ,我们写 因此,LTS为应用程序组件行为和攻击行为可以确定构造等价组件行为和攻击行为之间的关系。
基于公式(3)和(4),一个应用程序的攻击行为的组件必须包含在组件的整体行为;因此,模拟关系攻击行为的组件和组件的行为属于LTS相同。因此,基于强大的仿真过程代数的概念,给出behavior-strong仿真的概念。

定义4。(behavior-strong模拟)基于定义3,(,T)是一个LTS,让 问:那是一个二元关系,年代被称为一个强大的模拟/ (,T如果当 年代 ;如果 ,然后存在 这样 年代 它可以验证LTS组成攻击行为和组件行为是否具有较强的模拟年代年代包括攻击行为和组件行为的一部分。

定义5。(behavior-strong等价)基于定义34,一个二元关系年代据说是一个强大的bisimulation LTS (,T)如果两个年代及其逆模拟。我们说 强烈,写成 ,如果一个强大的bisimulation年代存在这样 年代 ,在哪里 , 定义5用于验证强大的仿真吗年代攻击行为和强相互模拟组件行为的一部分。有两种状态,即 , ,这是强等价。因此,定义可以验证应用程序组件之间的等价行为和攻击行为模型。

5.2。需要路径检测

定义6(危险的应用程序之间的信息流动路径(DIPA))。从应用程序层勾结特权升级攻击发生在多个应用程序之间,有必要检测危险的多个应用程序之间的数据流动。因此,的基础上申请危险权限,敏感信息传输路径之间存在多个应用程序,这是由“applicationName.componentName⟶applicationName.componentName⟶⋯⟶applicationName.componentName。”
基于定义6,我们构建一个需要危险信息流动路径的算法。

6。实验

6.1。应用特征提取

根据讨论部分3.3App1的特点,App2, App3得到如表所示5。文本在斜体表示特性的缩写,用粗体文本表示的存储功能(目的)值。


应用程序 App1 App2 App3

应用程序的组件 昏迷 梳子 数控
危险的许可 - - - - - - SEND_SMS SEND_SMS
组件的意图的沟通 Intent1:putString (data1) / putExtras()新意图(“IntentApp1”) Intent2:getInent () .getExtras / getString (" data1 ") putString (data2) / putExtras()新意图(“IntentApp2”) Intent3:getInent () .getExtras () getString (" data2”) / getExtras ()
敏感的API调用 - - - - - - APIApp2:空白enforceReceiveAndSend(以) APIApp3:空白enforceReceiveAndSend(以)
敏感数据流对 - - - - - - - - - - - - SFPApp3(Bundle.getString () / sendActivity.onCreate(),日志/ sendMessage.sendSMSMessage)
意图过滤器 - - - - - - FilterApp2:Intent.ActionName =IntentApp1; FilterApp3:Intent.ActionName = "IntentApp2”;

根据表5,尾部是昏迷构成,梳子,数控,如图8(一)-8分别(c)。

6.2。攻击行为模型

船尾的特权升级攻击案例中给出部分6.1,应用程序的攻击行为模型建模公式(4)。(1)App1模型如下公式所示: (2)App2模型如下公式所示: (3)App3模型如下公式所示:

6.3。应用行为模型

公式(3)用于模型的应用行为案例如下:(1)的行为模式AppModel1下列公式所示: (2)的行为模式AppModel2下列公式所示: (3)的行为模式AppModel3下列公式所示:

6.4。等价关系和路径检测验证

MWB(移动工作台)是一种用于操纵的工具,分析和验证移动过程中描述并发系统代数。根据定义5,MWB用于规范化软件行为模型和攻击模型。然后,验证它们之间的等价关系。表6是标准化的基本语法转换。


MWB 进程代数 语法

α 输入操作
代理 - - - - - - 定义标识符
情商 强等价
0 0 一个空的过程
T Τ 内部的行动
...... ...... ......

例如, 在公式(5)是根据MWB语法转换,转换的结果

公式(5)- (10)变成了MWB语言。App1和App2的攻击行为模型(表示在MWB App2)和软件行为模型AppModel1和AppModel2确认有强烈的等价关系,如图9

同样的,我们可以验证App3, AppModel3之间的强等价。根据算法1,我们可以看到这一点(1)App1, App2, App3可以构成一种特权升级攻击。(2)的攻击路径构成了特权升级攻击

输入:AppBechaver,尾,PEApp,P1
输出:DIPA
(1) 应用程序1= getStartPoint (AppBechaver)
(2) = 0−1
(3) 建设PEApp
(4) 如果应用程序 PEApp然后
(5) 插入PEAppString + " / /使用/分离应用程序构成了特权升级攻击
(6) 临时j=分裂(PEAppString“/”)
(7) j= 0 / / 代表的数量可以构成特权升级攻击的应用程序
(8) 建设尾j
(9) j= 0
(10) 森林建设等于off / /构造应用程序特性(等于off)的可疑应用程序基于尾部
(11) 意图k指出leaf-AFFk
(12) postorder-traversal另存为forestString
(13) n= forestString.length,=意图k长处
(14) 年代= 0n
(15) 如果意图k[1…]= = forestString (年代+ 1,年代+)和P1意图k= = forestString (年代−1年代)
(16) 保存rootNode.Com.Intentk对resultArray
(17) forestString [年代−2]曾经繁荣goto(12),直到年代= =n−1
(18) 打印resultArray作为DIPA

7所示。评估和有效性分析

7.1。实验评价

我们的检测方法的关键步骤是敏感数据流检测和危险的道路检测。在最坏的情况下,在网上搜索算法的时间复杂度O((n+ 1))。55 Android的APK样本测试,和两个APK失败了。时间和空间成本分析数据如表所示7


最低 最大 平均

时间成本(S) 94.947 380.497 131.51
空间成本(M) 857.118 917.932 888.35

7.2。基准测试和比较分析

这种方法被用来研究一些DroidBench基准的测试集(50和比较40]。提出的检测方法(40)是用于检测组件,危险的权限,组件通信,敏感的API调用,意图过滤器的基准测试。然而,这种方法并不检测敏感数据的流动。表8总结了获取数据的基准测试和比较结果。表达式如下:“这方法的测试结果/的测试结果40]。“测试结果表明,所表达的是一种威胁T没有威胁了NT,假警报被F表示,表达了错过了报警l安全调用(注册)被一个表达,不安全感被NA表达,和nondetection被N表示,如表所示8


测试集 组件 危险的权限 组件通信 敏感的API调用 敏感数据流对 意图过滤器

ActivityCommunication1 T / T T / T NT / NT T / N NT / N /一个
ActivityCommunication2 T / T T / T T / T T / N NT / N /一个
FieldSensitivity1 T / T T / T NT / NT L / N NT / N /一个
FieldSensitivity2 T / T T / T NT / NT T / N NT / N /一个
InactiveActivity T / T T / T NT / NT F / N NT / N /一个
LogNoLeak T / T NT / NT NT / NT NT / N NT / N /一个
ObjectSensitivity1 T / T T / T NT / NT T / N NT / N /一个
ObjectSensitivity2 T / T T / T NT / NT T / N NT / N /一个
PrivateDataLeak1 T / T T / T NT / NT T / N L / N /一个
PrivateDataLeak2 T / T T / T NT / NT T / N L / N /一个
PrivateDataLeak3 T / T T / T NT / NT T / N L / N /一个
ServiceCommunication1 T / T T / T L / NT NT / N NT / N /一个
StartActivityForResult1 T / T T / T T / NT T / N NT / N /一个

基准测试表明,该方法可以准确地检测特权升级攻击的安全风险等敏感信息和组件通信。相比之下,(40,两个点:我们提出的方法检测到敏感的API调用和敏感数据流对和考虑更全面的危险因素比40]两种方法在组件精度高,危险的权限,组件通信,意图过滤器

9显示了准确率,假阳性率,缺失率方法的基准测试。


组件(%) 危险的许可(%) 组件意图沟通(%) 敏感的API调用(%) 敏感数据流对(%) 意图过滤器(%)

准确率 One hundred. One hundred. 92.3 84.6 76.9 One hundred.
假阳性率 0 0 0 7.7 0 0
缺失率 0 0 7.7 7.7 23.1 0

7.3。实验的有效性
7.3.1。测试集的组成

52的apk选择从一个Android应用市场如谷歌,和三个apk是由我们的研究团队构建的测试样本集(51]。根据上年的分类主要应用市场,选择22类的APK样本提取、和1 - 3典型的APK被选为每个类型。apk的具体分类和数量如表所示10


类型 工作 日常生活 购物 家控制 医疗 金融 检查 浏览器 旅游 社交网络

数量 3 3 3 2 3 3 3 1 2 1 3
类型 图片浏览 阅读 系统工具 新闻 家庭老年护理 研究 锻炼 壁纸 插入单元 娱乐 研究小组
数量 3 1 3 3 3 3 3 1 3 2 3

对于Android用户来说,他们希望应用强大但较小;因此,选择一个典型的APK时应遵循两个规则:(1)应用这种应用程序的顶部;(2)应用程序占用更少的空间。然而,体积小的应用程序并不意味着更少的组件,这是发起攻击的最小单位。因此,统计图的应用规模和数量的组件图所示10

因为共谋攻击容易发生在同一家公司的多个应用程序的组合形式和相同的开发人员,测试集的选择考虑的情况相同的公司或开发人员。此外,有13个应用程序由四家公司和一个开发人员;细节如表所示11


相同的公司或相同的开发人员 不同的公司或不同的开发人员

数量 13 42
百分比(%) 23.6 76.4

7.3.2。分析实验的有效性

验证了该方法的有效性通过测试样本集。测试结果显示,5.5%的应用程序构成了特权升级攻击。一些应用程序是相当于攻击模型,它可以用作共谋攻击的一部分。没有检测到数据流路径与多个应用程序;因此,它被称为应用程序可以构成特权升级攻击,占32.7%。然而,APK加密或代码混淆阻碍了我们的检测方法。因此,3.6%的apk失败,96.4%的效率。提出的基于组件的检测方法(40)是用于检测测试集,测试组测试集的检测结果和比较如表所示12。表达方法是该方法的测试结果/的测试结果40]。


类别 数量 百分比(%)

构成的攻击 18/30 32.7/54.6
隐藏的危险的应用 18/0 32.7/0
特权升级攻击 3/0 5.5/0
Nondangerous应用 14/23 25.5/41.8
方法失败 2/2 3.6/3.6
方法效率 53/53 96.3/96.3

从表12,它可以观察到,基于组件的检测方法提出了(40)缺乏检测应用程序之间的数据流。勾结的检测结果是特权升级攻击是无效的。王等人的方法。40不区分应用程序可以构成了特权升级攻击和那些隐藏的危险。因此,54.6%的应用程序可以检测到特权升级攻击,但用我们的方法,有71.0%的人也能被探测到的特权升级攻击和隐藏的危险。自从王et al。(40]方法只检测活动和服务组件,有16.4%的缺失率。基于组件的检测方法相比(40),表的测试结果812表明本文提出的方法具有以下优点:(1)它检测到敏感的数据流,使得检测攻击行为特性更有效;(2)它检测到应用程序之间的数据流的路径,使该方法更有利于检测共谋攻击;(3)它可以区分一个应用程序,可以构成一种特权升级攻击和应用程序隐藏的危险,使检测结果更加准确;和(4)检测四个组件导致减少丢失的速度。

如图10、组件的基本单位检测,检测到1679个组件在这个研究。

在他们中间,有272个组件有意向沟通。应用程序的组件使用意图发送敏感数据;然而,没有组件接收敏感信息可以在应用程序中发现。在这种情况下,可能存在一个漏洞在传递敏感信息或编码,这称为一个危险的组件,由总数量88组件。在编码过程中,一些组件在AndroidManifest注册。XML文件,但是在应用程序,这些组件没有被使用。它被称为注册但未使用的组件,与53个组件。详细的统计结果如表所示13


数量 百分比(%)

组件有意图的沟通 272年 16.2
锥管组件 88年 5。2
组件注册但未使用 53 3.2
Nondangerous组件 1266年 75.4

例如,在com . example。APK包名称”healthmonitor”,它是发现,有12个组件注册,如“.Uploadimage, .Ecgdactivity。Ecgdatactivity,。年代hakeactivity,” but they are not used. In the APK with the package name of “com.yuntongxun.ecdemo1,” there is a dangerous component “.Main.index.” In this component, the sending action with Intent name of “SendTo” is detected, but the receiving component of the Intent data cannot be found in the APK.

按表11,有13个应用程序相同的公司或开发人员在测试集。其中,有三个应用程序构成特权升级攻击,两个应用程序可以构成特权升级攻击,和五个应用程序有隐患,如表所示14


数量 百分比(%) 相同比例的样本(%)

应用程序构成特权升级攻击 3 23.1 One hundred.
应用程序可能构成特权升级攻击 2 15.4 11.1
应用程序有隐患 5 38.4 27.8
安全应用 3 23.1 21.4

统计数据表14显示的比例相同的应用程序开发人员可以构成特权升级攻击和安全风险相对较高。这是因为(1)同一个开发者的思路和方法都是一样的,这使得它容易产生相同的软件漏洞和编码违规行为(2)相同的开发人员使用他们开发的应用程序的方便构成特权升级攻击

因此,联合检测的multiapp相同的发展尤为重要。

我们的测试结果表明,应用中的危险因素,构成了特权升级攻击包括危险权限滥用和不准确的使用组件的目的方法,如表所示15


因素 数量 百分比(%)

多次申请 20. 36.4
申请没有批准 10 18.2
申请危险的许可 38 69.1
但不使用注册组件 11 20.
危险的组件 29日 52.7

例如,在com . example。APK包名称”healthmonitor,”36检测组件,多次申请权限。其中,“android.permission。WRITE_EXTERNAL_STORAGE”是六次申请一个危险的许可,”android.permission。READ_PHONE_STATE“五次,和“android.permission。ACCESS_FINE_LOCATION”四次,更多的例子发生但未列出。

8。结论

特征提取的基础上的应用程序,我们的方法提出了应用程序的行为和攻击行为可以通过进程代数建模,结合强大的模拟检测单个应用程序,然后使用需要危险信息流动路径算法能够检测到需要电话,确定multiapps构成特权升级攻击。在我们的方法中,我们充分考虑在应用程序层multifeatures共谋攻击的不同的角色。该方法测试通过使用DroidBench基准;结果显示其良好的准确性。通过测试的检测组,32.7%的APK文件可以构成特权升级攻击,32.7%的APK文件有安全风险,和方法的效率是96.4%。基于本研究的测试结果,不当的使用许可,意图沟通,和故意设计相同的开发人员是最大的因素,导致应用程序层的共谋攻击。在未来的工作中,我们将继续研究特权升级攻击模型和动态特征提取技术完善攻击行为特性和改进攻击模型。

数据可用性

测量数据用于支持本研究的发现可以从相应的作者。

的利益冲突

作者宣称没有利益冲突。

确认

这项工作在一定程度上通过拨款资助中国国家自然科学基金(没有。61772450),河北省自然科学基金(没有。F2017203307),河北省科技项目(没有。17210701 d)。

引用

  1. l·哈立德·l·穆罕默德,e·哈立德”将从iOS移动应用程序移植到Android:实践经验,“移动信息系统卷,2019篇文章ID 4324871, 29页,2019。视图:出版商的网站|谷歌学术搜索
  2. y . p .徐,z . f .妈,王z h . et al .,“Android智能终端的安全的调查,”杂志在通信37卷,第184 - 169页,2016年。视图:谷歌学术搜索
  3. h . y .问:张先生,k . Wang杨et al .,“Android操作系统安全的调查,”计算机研究与发展》杂志上37卷,第1396 - 1385页,2014年。视图:谷歌学术搜索
  4. l .隋”战略分析:android捕捉创纪录的88%在2016年第三季度全球智能手机出货量中所占的份额,”2019年,https://www.strategyanalytics.com/strategy analytics/news/strategy -分析-新闻- releases/strategy -分析-新闻- release/2016/11/02/strategy -分析- android -捕获-记录- 88% -分享- -全球智能手机出货量?slid=838714&spg=1————第三季度- 2016年视图:谷歌学术搜索
  5. c . y, j . Ren g . Wang, j .杨和y,”一个blockchain-based认可网络计算工业物联网服务方案,“IEEE工业信息,15卷,不。6,3632 - 3641年,2019页。视图:出版商的网站|谷歌学术搜索
  6. j·s·史和r·李”区块链的调查访问控制在物联网中,“软件学报,30卷,不。6,1632 - 1648年,2019页。视图:谷歌学术搜索
  7. y, j . Ren y, c, b .沈和y张”区块链授权可仲裁的数据审计方案网络存储作为服务,“IEEE服务计算,13卷,不。2。视图:出版商的网站|谷歌学术搜索
  8. 江x z . x l . Wang, y,“数据访问控制模型和共享基于区块链,”软件学报,30卷,不。6,1661 - 1669年,2019页。视图:谷歌学术搜索
  9. c . y,问:曾庆红,g . Wang, j .任和y,“privacy-enhanced属性的访问控制机制,”并发性和计算实践与经验,32卷,不。5。视图:出版商的网站|谷歌学术搜索
  10. 诺基亚智能实验室的威胁,“诺基亚威胁情报报告,”2019年,http://networks.nokia.com/solutions/threat-intelligence
  11. 360年网络安全中心,“Android系统安全生态环境研究报告2018年,“2019年,http://zt.360.cn/1101061855.php?dtid=1101061451&did=610082749
  12. 360年网络安全中心”,2018年中国手机安全生态学研究报告,”2019年,http://zt.360.cn/1101061855.php?dtid=1101061451&did=610107232
  13. 360年网络安全中心,“Android恶意软件特别报道2018年,“2019年,http://zt.360.cn/1101061855.php?dtid=1101061451&did=610100815
  14. ”“Androguard”, 2019年,https://github.com/androguard/androguard视图:谷歌学术搜索
  15. 苏x, m . Chuah g . Tan“智能手机双重防御保护框架:检测恶意的应用程序在Android市场,”学报》第八届国际会议上移动特别和传感器网络(MSN),页14 - 16,成都,中国,2012年12月。视图:出版商的网站|谷歌学术搜索
  16. s·李和d . y .榉”评估的恶意使用权限和增强的用户界面的应用程序在Android上,”学报》第11届IEEE国际会议情报与安全信息学(IEEE ISI)太平洋西北国家实验室,西雅图,佤邦,美国,2013年6月。视图:出版商的网站|谷歌学术搜索
  17. p . Zegzhda d . Zegzhda大肠Pavlenko et al .,“恶意行为检测Android应用程序基于控制流和数据流的分析,”学报第十届国际会议信息和网络安全(罪)印度,印度麦利普大学斋浦尔,斋普尔,2017年10月。视图:出版商的网站|谷歌学术搜索
  18. j . x, z l . c .琮、问:h .徐,“一个新的Android恶意应用程序检测方法使用功能重要性得分,”学报》2018年第2计算机科学与人工智能国际会议CSAI 182018年12月,中国深圳,。视图:出版商的网站|谷歌学术搜索
  19. x x j . Liu f .董,Lei,“Android恶意软件检测基于性质”《第八届国际通信和网络安全会议ICCNS 20182018年11月,青岛,中国,。视图:谷歌学术搜索
  20. t·g·金、b·j·康和e . g . Im“运行时为android恶意软件检测框架,”移动信息系统卷,2018篇文章ID 8094314, 15页,2018年。视图:出版商的网站|谷歌学术搜索
  21. 问:杰罗姆,k . Allix r状态et al .,“使用opcode-sequences检测恶意android应用程序,”IEEE国际会议通信学报》(ICC),页10 - 14,悉尼,澳大利亚,2014年6月。视图:出版商的网站|谷歌学术搜索
  22. d . Geneiatakis r . Satta i n . Fovino和r·奈塞河”功效的静态特性来检测恶意在Android应用程序,”信任、隐私和安全在数字业务施普林格,卷。9264年,可汗,瑞士,2015。视图:谷歌学术搜索
  23. 杨t·陈,毛问:y, y . m . et al .,“TinyDroid:一个轻量级的、高效的模型为Android恶意软件检测和分类,“移动信息系统卷,2018篇文章ID 4157156、9页,2018。视图:出版商的网站|谷歌学术搜索
  24. 美国Badhani和s . k . Muttoo CENDroid-a cluster-ensemble分类器检测恶意android应用程序,”电脑与安全卷。85年,批准,2019页。视图:出版商的网站|谷歌学术搜索
  25. m . Kakavand m·达巴格,a . Dehghantanha”应用机器学习算法为Android恶意软件检测,”2018年《人民共和国普吉岛,泰国,2018年11月。视图:出版商的网站|谷歌学术搜索
  26. a . Mehtab w·b·舍希德t Yaqoob et al .,“AdDroid:基于规则的机器学习框架为Android恶意软件分析,“移动网络和应用程序,25卷,不。1,第192 - 180页,2019。视图:出版商的网站|谷歌学术搜索
  27. b . Rashidi c . Fung)和e . Bertino“Android恶意应用程序使用支持向量机检测和主动学习,”学报》第13次国际会议上网络和服务管理(CNSM),页26 - 30日,东京,日本,2017年11月。视图:谷歌学术搜索
  28. m . Argyriou: Dragoni, a . Spognardi”SafeDroid v2.0的分析和评价,一个检测恶意Android应用程序框架,“安全性和通信网络卷,2018篇文章ID 4672072, 15页,2018年。视图:出版商的网站|谷歌学术搜索
  29. 苏x, w .史,x et al .,“DroidDeep:使用深层信念网络特征和Android恶意软件检测,”软计算,24卷,不。8,2020。视图:出版商的网站|谷歌学术搜索
  30. h·杨,y .问:张先生,y . p .胡锦涛et al。”一个android应用程序的恶意行为检测系统基于多层次特征,“中国电脑杂志37卷,2014。视图:谷歌学术搜索
  31. m·阿明·t·a . Tanveer m . Tehseen f·a·汗·a .汗和美国瓦尔,”静态恶意软件检测和归因在android通过端到端的深系统字节码,”未来一代计算机系统卷,102年,第126 - 112页,2020年。视图:出版商的网站|谷歌学术搜索
  32. w·m·周y .问:张先生,x f . Liu”海报:一个新的框架反对特权升级攻击Android,”学报2013年ACM SIGSAC计算机与通信安全会议上CCS的13,页1411 - 1413年,柏林,德国,2013年11月。视图:出版商的网站|谷歌学术搜索
  33. t . Yamauchi y Akao, r . Yoshitani et al .,“额外的内核观察者防止特权升级攻击通过专注于系统调用权限变化,”IEEE会议程序可靠和安全的计算(DSC),页10号至13号,高雄,台湾,2018年12月。视图:出版商的网站|谷歌学术搜索
  34. s . Bugiel l .大卫a Dmitrienko et al .,“海报:追求安全特权升级攻击在Android上,”学报18 ACM关于计算机和通信安全的会议加拿大多伦多,页741 - 744,,2011年10月。视图:谷歌学术搜索
  35. H.-T。李,d . Kim m .公园和S.-J。曹”,保护数据在android平台上对特权升级攻击,”国际计算机数学杂志》上,卷93,不。2、401 - 414年,2016页。视图:出版商的网站|谷歌学术搜索
  36. y, j . Ren x y Zhang et al .,“一种适应性Android安全扩展特权升级攻击,”学报》第十五届IEEE国际研讨会上并行计算和分布式处理与应用程序(当前)/ 16 IEEE国际会议上无处不在的计算和通信(IUCC)2017年12月,广州,中国,。视图:出版商的网站|谷歌学术搜索
  37. 任j . y, g . Wang, y,”一个适应性和可配置的保护框架对android特权升级威胁,”未来一代计算机系统卷,92年,第224 - 210页,2019年。视图:出版商的网站|谷歌学术搜索
  38. m . Youn-A c . Tae-Mu和人类。金”,研究安卓特权升级攻击粘合剂驱动元数据管理,“先进的科学的信件,23卷,不。10日,9926 - 9929年,2017页。视图:出版商的网站|谷歌学术搜索
  39. 美国休斯,m .黑人,p . k . Pendyala et al .,“DroidAuditor:法医分析应用程序层特权升级攻击Android,”金融加密和数据安全施普林格,页260 - 268年,柏林,德国,2017年。视图:谷歌学术搜索
  40. 张r . b . c . Wang, g . Li”技术检测特权升级攻击在android上,“传感器与微系统技术36卷,第148 - 146页,2017年。视图:谷歌学术搜索
  41. 班达里,w . b . Jaballah诉Jain et al .,“Android inter-app通信威胁和检测技术,电脑与安全,70卷,2017年。视图:出版商的网站|谷歌学术搜索
  42. a p, e .下巴,美国汉娜et al .,“Android许可启发”学报18 ACM关于计算机和通信安全的会议加拿大多伦多,页627 - 638,,2011年10月。视图:谷歌学术搜索
  43. l .大卫a . Dmitrienko a。r . Sadeghi et al .,“特权升级攻击在Android上,”信息Security-International会议施普林格,柏林,德国,2011年。视图:谷歌学术搜索
  44. s . h .清“Android安全研究进展,”软件学报卷。27日,45 - 71年,2016页。视图:谷歌学术搜索
  45. p .王研究攻击保护特权升级攻击为Android平台的方法、哈尔滨工程大学、哈尔滨,中国,2016。
  46. 周k . w . y . Au y . f . z黄et al .,“PScout:分析android规范许可,”学报2012年ACM关于计算机和通信安全的会议罗利,页217 - 228年,数控,美国,2012年10月。视图:谷歌学术搜索
  47. 美国医生,s . Rasthofer c . Fritz et al .,“FlowDroid:精确的背景下,流、字段object-sensitive和lifecycle-aware污点分析为Android应用程序,”35 ACM SIGPLAN会议程序编程语言设计和实现2014年6月,页259 - 269。视图:出版商的网站|谷歌学术搜索
  48. r·米尔纳并行计算和移动通信系统英国大学出版社,剑桥,英国,1999年。
  49. w z杨、c·h·黄和z y,“基于过程代数,软件可信性度量模型”自慰学报(信息与管理工程),33卷,不。6、2011。视图:谷歌学术搜索
  50. 帕德伯恩大学的安全软件工程和TU达姆施塔特,“DroidBench-benchmarks”, 2019年,https://blogs.uni-paderborn.de/sse/tools/droidbench/
  51. WT软件创新实验室,测试样本集,”2019年,https://pan.baidu.com/s/1Xg6viFPIza68GU89sYfnGg

版权©2020港沈等。这是一个开放分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。


更多相关文章

对本文没有相关内容可用。
PDF 下载引用 引用
下载其他格式更多的
订单打印副本订单
的观点458年
下载476年
引用

相关文章

对本文没有相关内容可用。

文章奖:2020年杰出的研究贡献,选择由我们的首席编辑。获奖的文章阅读