没有合适的资源?快使用搜索试试~ 我知道了~
沙特国王大学学报iABC-AL:基于主动学习的iOS应用隐私泄露威胁检测Arpita Jadhav Bhatt,Chetna Gupta,Sangeeta Mittal印度诺伊达Jaypee信息技术学院计算机科学IT系阿提奇莱因福奥文章历史记录:收到2018年2018年5月18日修订2018年5月18日接受2018年5月23日在线发布保留字:iOS应用信息安全静态分析权限提取主动学习A B S T R A C TiOS应用程序会侵犯隐私吗?由于市场上有大量的iOS应用程序,大多数用户都没有意识到它们带来的安全风险。这包括在未经用户同意的情况下分享个人和敏感的智能手机数据,从而侵犯用户Apple遵循严格的代码签名程序,以确保应用程序是由受信任的企业开发的然而,过去对iOS设备的恶意软件攻击表明,缺乏对应用程序滥用权限的保护。虽然机器学习方法在检测Android操作系统的此类恶意应用程序方面提供了有希望的结果,但由于标记数据集的不可用,将其扩展到iOS平台的研究很少。在这项研究中,我们提出了iABC-AL(iOS应用程序分析器和行为分类器使用主动学习),一个框架来检测恶意的iOS应用程序。iABC-AL的目标是通过(i)最大化基于机器学习的分类模型的精度和(ii)最小化标记训练数据集的要求来保护许可引起的用户隐私风险。为了实现这一目标,iABC-AL框架结合了应用类别和主动学习方法。共评估了2325个iOS应用程序实验结果表明,该方法达到了91.5%的准确率和监督方法的精度提高了14.5%。©2018作者制作和主办:Elsevier B.V.代表沙特国王大学这是一CC BY-NC-ND许可下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍随着移动计算平台和用于移动通信的高速信道的增长,智能电话正变得越来越流行,从而增加了其用户数量。它们现在被用于存储和管理大量的个人数据,如消息,联系人,图像,视频,电子邮件,GPS位置(维基百科,https://en.wikipedia.org/wiki/Smartphone).智能手机成功的主要原因之一是通过安装第三方应用程序(App)实现功能扩展继Android之后,iOS是使用最广泛的智能手机操作系统,由苹果公司设计和销售。(Wikipedia,https://en.wikipedia.org/wiki/Apple_Inc).* 通 讯 作 者 : Department of Computer Science IT , Jaypee Institute ofInformation Technology , A-10 , Sector-62 , Noida , Uttar Pradesh 201309 ,India.电子邮件地址:arpita. jiit.ac.in(A. J. Bhatt),chetna. jiit.ac.in(C. Gupta),sangeeta. jiit.ac.in(S. 米塔尔)。沙特国王大学负责同行审查制作和主办:Elsevier用 户 可 以 通 过 从 在 线 门 户 网 站 App store ( Apple Inc. ,www.apple.com/in/ios/app-store/)。近年来,iOS用户数量的巨大增长导致第三方应用程序的下载数量增加(Statista Inc.,https://www.statista. com/statistics/263401/global-apple-iphone-sales-since-3rd-quarter-2007/)。因此,由于对用户隐私有潜在危害的应用程序而导致的风险也增加了(Kurtz等人,2014; Park等人,2014年)。隐私问题主要是关于来自应用程序(如电子邮件、文档)的数据泄漏以及上下文数据(如位置、音频和视频)的泄漏(Kurtz等人,2014年)。由于关键数据存储在智能手机上,因此这些信息引起了网络犯罪分子和广告行业的注意(Park等人, 2014年)。基于任务的资源访问是控制手机应用渗透的方法之一。在许可使用方面的变化被发现,无论是在授予资源访问,而用户只有在大量的人工分析之 后 才 能 发 现 这 种 隐 私 侵 犯 ( 赛 门 铁 克 公 司 , https ://www.symantecorporation.com)。symantec.com/about/newsroom/press-releases/2017/skycure_0718_01)。研究人员故意植入的一些恶意软件,如Jekyll应用程序,在安装后改变了它们的行为(Wang等人,2013年)。https://doi.org/10.1016/j.jksuci.2018.05.0081319-1578/©2018作者。制作和主办:Elsevier B.V.代表沙特国王大学这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.com770A.J. Bhatt等人 /Journal of King Saud University- Computer and Information Sciences 33(2021)769- 786第三方应用程序通过在安装过程中请求权限来访问手机数据和传感器(Chandramohan和Tan,2012)。许多应用程序都是由个人开发人员或小型企业公司实现的,所有这些人都可能不信任基于权限的使用行为的完整性(Agarwal和Hall,2012)。一些应用程序在运行时访问的电话资源可能比它们在安装期间寻求的权限更多(Szydlowski等人,2012年)。应用程序的这种恶意行为可能会导致手机用户的隐私泄露。在iOS中检测恶意应用的问题由于以下原因而变得更加严重:(i)iOS平台的闭源性质;(ii)iOS应用作为应用二进制文件的分发,因此 不 能 直 接 在 模 拟 器 或 Xcode 上 执 行 ( Apple Inc. , https ://developer.apwww.example.comple.com/xcode/ ) 。 另 一 方 面 ,Android是开源OS,因此用于检测恶意应用程序的大多数研究都集中在该平台上(Martin等人, 2016年)。由于底层分类器所需的大型标记数据集不可用,Android中提出的用于恶意意图检测的大多数除此之外,为Android记录的权限数量约为135,使其成为基于权限的恶意软件检测的丰富功能集(Wang等人,2014年)。苹果只记录了 iOS 应 用 程 序 的 13 种 权 限 ( Stackoverflow ,https://stackoverflow.com/questions/29894749/complete-list-of-ios-app-permissions)。这使得权限引起的隐私风险难以在iOS应用程序中处理为了解决上述问题,本文提出了一种新的框架iABC-AL,该框架使用主动学习方法来训练用于检测恶意iOS应用程序的模型。iABC-AL的主要目标是通过最大化分类模型的精度和最小化标记训练数据的需求来保护用户主动学习方法使用10%的训练数据集提供了非常好的精度,这大于或等于传统监督分类中使用90%的训练数据集时的精度 为了测试所提出的方法的有效性,总共2235个iOS应用程序(1470个来自Appstore(AppleInc.,https://www.apple.com/in/ios/app-store/)和vShare的885款应用(vShare:在iOS 10(iPhone& iPad)和Android上免费下载付费应用,无需越狱,http://www. vshare.com/)在20个不同的应用程 序 类 别 中 针 对 13 个 用 户 权 限 进 行 了 评 估 ( Stackoverflow ,https://stackoverflow.comwww.example.com/questions/29894749/complete-list-of-ios-app-permissions)。拟议工作的主要贡献如下:首次对iOS应用程序权限设计了一个新的框架,通过利用应用程序的类别信息和权限集来评估和分类iOS应用程序的开发了一个基于主动学习的隐私泄露威胁检测模型,以获得非常小的标记数据集的检测精度。使用不同数量的训练数据进行了几个实验。训练数据量在10%-90%之间变化,间隔为10%。实验结果表明,该方法在最佳情况下,仅利用10%的数据集进行训练,就可以获得91.3%的准确率、90.1%的TPR、90.1%的召回率和90.2%的F-测度。实验结果表明,该模型能够有效地检测恶意iOS应用程序,具有良好的可扩展性将我们提出的工作与现有工作进行比较,结果表明,准确率提高了88.5%-91.3%,而Pajouh等人的准确率为51-91%,2017)用于不同的主动学习场景和机器学习分类器。本文还讨论了以下研究问题:(i)iABC-AL在iOS应用程序中进行恶意软件检测的性能评估(ii)iABC-AL对用于训练的标记数据量的有效性(iii)iABC-AL在使用主动学习的不同迭代次数上的性能。本文的其余部分组织如下:第二节描述了相关的工作。第三节描述了主动学习。第IV节描述了使用主动学习的类别方式的iOS应用程序隐私泄露分析。第五节描述了实验装置。第六节描述了对所得结果的实证分析。本文在第七节中结束。2. 相关工作Android操作系统中的恶意应用程序检测已经做了大量的研究,而iOS系统由于其封闭源代码的特性而没有得到充分的在这项工作中,已经通过使用逆向工程工具(Dale Rapp,https://dalewi fiwww.example.com 1/24/how-to- fin d-reverse-engineering/)获得了关于iOS应用的代码和在线行为的信息sec.wordpress.com/2013/0此信息已被用于分类应用程序有恶意或良性。Kurtz等人使用动态分析对iOS应用进行自动隐私分析(Kurtz等人,2014年)。作者通过跟踪敏感的API调用和跟踪网络连接来评估1136个iOS应用程序然而,他们的方法要求每个应用程序在被检测为恶意之前都必须安装在设备中,这限制了它的实时实用性。代码检查和行为监控是检测恶意应用程序的两种主要方法在这项工作中,基于授予权限的使用行为检测已被用于检测恶意应用程序。对Android OS中恶意和合法应用程序的研究表明,良性和恶意应用程序中权限请求的性质存在差异(Rovelli和Vigfusson,2014年;Huang例如,2013年)。已经发现,超过三分之一的应用比它们从用户处寻求的权限具有更高的特权(Felt等人,2012年)。因此,不只是查看请求的权限集,通过应用程序,重要的是要保持对实际权限使用的标签Wang W等人使用基于T检验、相关系数和互信息的特征排名来探索Android应用程序的许可引起的风险(Wang等人, 2014年)。顺序前向选择(SFS)和主成分分析(PCA)也被用来识别风险权限及其子集,以使用各种机器学习分类器检测恶意应用程序。我们扩展了这种方法,通过跟踪代码中和运行时期间的敏感API使用情况,在iOS应用中捕获基于权限的隐私风险检测应用于应用程序的数据集及其基于权限的行为的监督机器学习方法已被用于将应用程序分类为恶意或良性。然而,iOS平台基于权限的恶意软件检测技术带来了一些Android应用程序中不存在的挑战。例如,需要用户批准的许可的数量仅为13个,并且也没有被Apple清楚地flow.com/ques鉴于这个小集合,很难根据每个任务的使用情况来正确地描述应用程序在这项工作中,通过将应用程序类别作为决定基于许可的风险的重要维度来处理这个问题。大多数关于android应用的研究都是在不平衡的数据集上进行的,这是因为没有大量的恶意应用样本(Nissim et al.,2017; Nissim等人,2014)和(Nissim et al.,2015年)。在我们对iOS的研究中,即使是良性●●●●●A.J. Bhatt等人 /沙特国王大学学报-计算机与信息科学33(2021)769-786771应用程序也不是很大,因为需要逆向Pajouh H et al.为iOS开发的杰出作品之一 通过开发用于OSX恶意软件的智能恶意软件威胁检测来解决该问题(Pajouh等人,2017年)。他们提出的模型是基于监督的方法,其中基于核的SVM和应用程序库调用的加权这项工作已被作为基准来比较我们提出的模型的性能。然而,在这项工作中,已经探索了基于监督学习模型的主动学习方 法 , 主 动 学 习 方法 基 于 对 数 据 集 的 选 择 性最 佳 样 本 的 学 习(Settles,2009)。在许多情况下,主动学习支持已用于恶意分类,其中标记的数据在不同格式和源代码的文本文件中不太相似(Settles,2009; Nissim等人,2017; Nissim等人,2014; Nissim等人, 2015年)。 除此之外,在Android应用程序中使用主动学习来建立恶意也被研究(Rashidi et al.,2017年; Zhao等人, 2012年)。Nissim等人旨在使用主动学习方法和结构特征提取方法来检测新的未知恶意docx文件(Nissim等人,2015年)。实验结果表明,使用主动学习方法检测未知恶意软件,仅利用14%的标记文档,从而减少了95.5%的标记工作。比较分析了主动学习方法和SVM边缘及被动学习方法的结果。作者已经证明,通过使用主动学习方法,在获取未知docx文件恶意软件方面的结果提高了91%。类似地,在(Nissim等人,2017),ALDOCX框架使用基于结构特征提取方法的主动学习方法来检测未知恶意文档文件。该框架从docx文件中提取元特征,并通过使用机器学习算法来检测新的恶意文件。基于主动学习的方法也可以应用于检测恶意PDF(Nissim等人, 2014年)。源代码是另一类可能具有恶意性的数据,但无法获得大的标记样本。莫斯科维奇等人在(Moskovitch等人,2007)提出了一种使用主动学习来检测未知恶意代码的方法。他们使用简单的边缘和减少错误的主动学习方法对3000多个文件进行了评估,并取得了良好的分类结果。除此之外,还提出了用于序列标记、信息提取和文档分割的主动学习(Settles和Craven,1070)。Thung F等人提出了用于缺陷预测的组合主动和半监督方法(Thung等人, 2015年)。主动学习有助于以最少的人工注释工作构建良好的分类器模型。作者在预测500个缺陷的标签时达到了71%的准确率恶意软件检测框架-使用支持向量机和主动学习的Android操作系统的RobotDroid展示了在运行时检测恶意软件及其变体的能力(Zhao等人, 2012年)。Bahman等人提出了一种基于支持向量机(SVM)和主动学习技术的恶意Android应用程序检测框架(Rashidi,2017)。在构建主动学习模型时,采用期望错误减少查询通过对DREWIN恶意软件数据集进行各种实验来评估该模型结果表明,他们提出的方法可以准确地检测恶意Android应用程序,也能够检测新的恶意软件。提出了一个错误-软件检测框架CHABADA,用于将Android应用程序的行为与其描述进行比较(Ma等人,2015年)。通过引入主动学习方法,选择了一组好的应用程序供专家标注。结果模型在22,555个Android应用程序上进行测试时获得了良好的结果。在iABC-AL中,我们通过使用不同的主动倾斜场景和一些查询策略来更详细地询问这种方法,这些策略有助于获得标准度量的最佳值。因此,背景研究表明,与Android应用程序和其他恶意软件检测领域一样,基于主动学习的监督学习可以为检测恶意iOS应用程序提供有希望的结果。在本文中,我们提出了一个名为“iABC-AL”的框架,可以识别不同类别的应用程序的风险权限,以最大限度地减少最终用户的隐私威胁。该框架结合了主动学习方法,通过最大限度地减少对大型标记数据集的需求来有效地对应用程序进行分类。3. 主动学习方法主动学习被称为一类特殊的半监督机器学习方法,其中学习算法查 询 用 户 或 Oracle ( 其 他 信 息 源 ) 以 选 择 最 具 信 息 性 的 实 例(Settles,2009; Wikipedia,主动学习(机器学习))。机器学习算法可以通过使用主动学习方法以较少的标记数据集实现更好的准确性(Ramirez-Loaiza等人, 2017),这是使用主动学习方法的主要动机。主动学习是一种有监督的机器学习方法,用于从数据池中选择样本。主动学习者可以查询oracle(例如人类注释者)来注释未标记的实例(Settles,2009)。主动学习方法可用于许多机器学习问题,如语音识别、信息提取、分类、过滤、恶意软件检测等。它也可用于未标记数据集丰富、标记困难、获得标记数据集耗时或获取成本高的情况(Settles,2009)。本文采用主动学习的方法检测恶意iOS应用。由于大多数恶意检测方法使用基于规则的检测技术(Zhao等人,2012年)。这种检测方法的局限性在于,它们可以基于预定义的规则数据库来检测恶意软件,并且可能无法检测新的恶意软件及其变体。用于异常检测的传统的基于规则的方法使用统计方法将数据划分为良性和恶意类别(Zhao等人,2012年)。在机器学习过程中,为了提高分类器的精度,需要大量的标记数据集,这增加了成本制作训练数据集(Zhao等人,2012年)。标记训练数据集的建立依赖于安全专家,而且代价昂贵。主动学习用于克服监督方法的限制(Zhao et al.,2012),因为它选择用于训练的最佳样本,从而减少评估所需的样本数量。在这项工作中,主动学习方法被用来提高使用监督学习方法获得的准确率,以及减少对标记数据集的要求。下面的小节提供了主动学习场景的概述,通过这些场景,可以公式化查询以用于对iOS应用的行为进行分类。图1描述了主动学习方法的分类3.1. 主动学习情景主动学习也被称为其主要思想是学习算法选择数据,并在减少训练的情况下学习和表现更好小行星772A.J. Bhatt等人 /Journal of King Saud University- Computer and Information Sciences 33(2021)769- 786Fig. 1. 主动学习方法的分类。主动学习可以用于标记数据集非常有限,难以获得,耗时,需要人工努力和昂贵的地方。主动学习系统通过以未标记实例的形式向Oracle(例如人类注释者)查询来克服标记未标记数据的问题(Settles,2009)。通过这种技术,主动学习器的目标是通过使用较少的标记实例来实现更高的准确性,从而降低标记数据集的成本。有许多不同的查询策略用于选择最具信息性的实例。常用的主动 学 习 场 景 是 基 于 流 的 选 择 性 采 样 和 基 于 池 的主 动 学 习 场 景(Settles,2009; Moskovitch等人, 2007年)。3.1.1. 基于流的选择性采样该方法也被称为顺序主动学习方法,因为每个未标记的实例在数据源中一次选取一个。该方法的主要假设是,首先从实际分布中抽取未标记的样本,然后由学习器决定是否查询或丢弃该样本。然后,学习者可以决定请求其标签(Settles,2009)。3.1.2. 基于池的主动学习场景在基于池的主动学习场景中,通过使用不确定性采样查询策略从未标记数据集的大池中挑选查询(Settles,2009;Ramirez-Loaiza等人,2017年)。不确定性抽样查询策略从池中选择模型对其标签最不确定的实例。在基于池的主动学习阶段,学习器可以从标记的训练数据集中有限数量的实例开始。接下来,学习器可以请求所选实例的标签,从查询结果中学习,并利用新的知识来选择接下来可以查询的实例。一旦查询,就不会对学习者做出额外的假设,并且新的标记实例被添加到标记数据集。此后,学习者可以以标准的监督方式进行。基于池的主动学习方法可以用于现实世界的学习问题,其中可以收集大量的未标记的数据集。该方法假设有一小部分标记数据,并从池中提取查询(Settles,2009)。基于流的选择性采样与基于池的选择性采样的区别基于流的选择性采样和基于池的主动学习方法之间的主要区别在于,基于流的选择性采样方法顺序扫描数据,然后单独做出查询决策 , 而 基 于 池 的 评 估 和 排 名 整 个 数 据 集 , 然 后 选 择 最 佳 查 询(Settles,2009)。本文采用了基于池和基于流的选择性抽样和主动学习技术,采用了不同的查询策略框架。第六节对实证结果进行了详细分析。以下小节描述了在基于池和基于流的选择性采样主动学习场景上采用的查询策略框架。3.2. 查询策略框架不同的主动学习场景评估从给定分布中采样的未标记实例的信息(Settles,2009)。参考(Rashidi,2017),我们使用符号xωA,其是指参考查询选择算法A的数据集中的最重要实例(即,最优查询)。3.2.1. 不确定性抽样它是最常用的查询框架。两个查询框架可用于挑选信息量最大的实例(Settles,2009;Ramirez-Loaiza等人, 2017年)。3.2.1.1. 最不自信。在这个查询框架中,学习者对标记最不自信的实例使用Eq. (1)(Settles,2009; Settles,2012)。xωLC¼argmaxx1-Phy^jx1其中y'表示具有最高概率的类别标签,即,y^^argmaxyPhyjx23.2.1.2. 熵抽样。不确定性采样的更一般形式是熵采样(Settles,2009),其由等式2描绘。(3)和(4)(定居点,2012年)。关于二进制分类,基于熵的采样选择后验概率接近0.5的实例,也可以推广到多标签分类器(Settles,2009)。xωH¼argmaxxHhYjx3Hhyjx-XPhyjxωlogPhyjx4y3.2.1.3. 保 证 金 抽 样 。 查 询 策 略 直 接 面 向 线 性 支 持 向 量 机 分 类 器(Moskovitch等人,2007年)。一个线性超平面分离的实例相对于一个给定的类被生成。它由来自不同类的实例之间的垂直距离定义(Moskovitch等人,2007年,获得最大利润。超平面根据类拆分实例。当量 (5)可用于选择使用边际抽样查询的最具信息性的实例(Settles,2009; Settles,2012)。其中y<$1和y<$2表示模型h下的第一个和第二个可能的类标签(Settles,2009; Settles,2012)。3.2.2. 委员会的质询的查询通过委员会方法保持一个委员会C¼ fh1;. 不同模型的hC图,这些模型是在标记的ð ÞVECXCCC我Pcyi j xPcyjx¼XPA.J. Bhatt等人 /沙特国王大学学报-计算机与信息科学33(2021)769-786773塞 特 湖 委 员 会 的 每 个 成员 都 投 票 支 持 将 查 询 标 记 为 可 确 定 日 期(Settles,2009; Settles,2012)。框架挑选委员会不同意的查询实例(Ramirez-Loaiza等人,2017年)。为了通过委员会查询来衡量分歧程度,使用了以下方法(Settles,2009; Settles,2012)。3.2.2.1. 投票熵。选择提交对象最大程度不同意的实例。当量(6)(Settles,2009; Settles,2012)。xω1/4argmax.-XVyiωlogVyi!ð6Þ我其中V yi表示标签yi在委员会成员中获得的票数,C表示委员会规模(Settles,2009;Settles,2012)。3.2.2.2. Kullback Leibler散度该方法计算两个概率之间的差异。为了选择信息量最大的查询,该框架选择在以下各项之间具有最大平均差异的实例:委员会的任何一个成员和所有学习者(共识)(Settles,2009;Settles,2012)。i) 良性应用:使用安全且不会导致用户数据隐私泄露的应用。该应用程序使用真正的权限,不会将用户的数据共享ii) 可疑应用:一个过度特权的应用程序,它使用了不必要的/额外的权限,而不是根据其类别所需的权限,并可能导致用户数据的隐私泄露。iii) 恶意应用程序:未经用户许可,与第三方域名、广告公司或第三方分析机构共享用户敏感数据的应用程序。这些应用程序是非常有害的,因为用户可能不知道这些应用程序可能会传输大量的用户图图2示出了用于分析iOS应用程序并对它们的隐私泄露行为进行分类的iABC-AL框架的建议架构。分析过程始于从App store、Cydia store或任何第三方应用程序商店在iOS设备上安装iOS应用程序iOS设备可以是iPhone/ iPod/iPad。然后,对iOS应用进行反向工程以进行静态分析(DaleRapp,https://dalewifisec.wordpress.com/2013/01/24/how-to-find-mobile-apps-h-reverse-engineering/),其中隐私相关框架和类被提取出来,然后映射到权限变量中。xωKL¼argmaxx.1ωXc¼1DPhcjjPc!ð7Þ根据权限使用以及应用程序所属的类别,将应用程序分类为良性/恶意/可疑。DP公司简介我yjxð8Þ其中hC表示委员会中的模型,C表示整个委员会。C此阶段用于通过分析iOS应用程序的框架和类来探索iOS应用程序的权限引发的风险。该阶段还将应用程序的类别作为一个重要的fea,1ICc1hðcÞðyijxÞð9Þ将其分为良性、可疑和恶意。考虑应用程序作为应用程序所属使用机器学习分类器:朴素贝叶斯和SVM(支持向量机)进行分层10倍交叉验证。共有2325个iOS应用程序被评估。布尔每-任务矩阵Pm×n,其中m表示iOS应用程序的实例数,n表示权限数。由于iOS平台的闭源特性,iOS应用很难获得一个有标签的数据集。2325个应用程序的数据集对于监督机器学习分类器的可靠训练是不够的。因此,主动学习方法被采用,因为它们最小化了标记数据集的需求。与分类器一起使用的查询策略是熵采样、kullback leibler发散、最小置信度采样、边缘采样、相关性采样和投票熵(Reyes等人,2016年)。结果的详细分析见第六节。以下部分描述了iABC-AL框架的工作原理,该框架使用主动学习方法来检测恶意应用程序,并将应用程序的类别作为检测隐私泄露的一个维度4. 使用主动学习进行用于分析和分类iOS应用行为的iABC-AL框架包括两个阶段:(a)应用预处理和(b)隐私泄漏威胁检测阶段。为了对iOS应用程序的行为进行分类,添加了一个新的类别标签malicious以及benign和可疑。该框架将iOS应用程序分为以下三类之一:相同类别请求类似的权限集(Wang例如, 2014年)。在从应用商店下载应用程序之前,我们研究了苹果针对不同应用程序类别的开发人员指南。这些指南描述了关于类别的基本特征,并帮助开发人员在将应用程序上传到应用程序商店之前选择类别(Apple Inc., https://develo图二. iABC-AL的架构C胡茨河胡茨河4.1. 应用程序预处理小行星774A.J. Bhatt等人 /Journal of King Saud University- Computer and Information Sciences 33(2021)769- 786per.apple.comwww.example.com/ios/human-interface-guidelines/app-architecture/requesting-permission/)。苹果公司为开发人员提供了24种不同的应用程序类别(苹果公司,https:eveloper.apple.com/app-store/categories/)。在这项工作中,考虑了前20个应用类别(Statista,https://www.statista.com/statistics/270291/popular-categories-in-the-app-store/)。对开发人员指南的详尽研究有助于检查应用基于权限的排名算法在类别中获得的结果的一致性。使用开发人员框架访问用户/设备资源Apple为其开发人员提供了一套不同的框架,大致分为应用框架、图形&游戏、应用服务、媒体&网络、开发人员工具和系统(AppleInc.,https:oper.apple.com/d)。此外,除了Apple提供的框架外,应用程序开发人员还可以在应用程序的源代码中使用第三方框架。这些框架提供了一组接口、类和方法;当集成时,可以用于访问设备的资源,例如相机、相册、地理坐标等。应用程序中使用的框架、类和方法可以让我们深入了解应用程序的一般行为,特别是用于评估应用程序安装后所需的权限或权限集。良性的应用程序使用其正常运行所需的框架。然而,可能存在利用某些框架的一些应用,这些框架对于应用提供其期望的功能是不需要的。应用程序使用所需权限以外的权限的这种行为往往是恶意的在自然界中。在应用程序预处理阶段,通过4步过程构造布尔权限矩阵,作为机器学习分类器的输入。步骤1:应用程序存储和获取(.app)在这个阶段,来自不同类别的2325个应用程序被下载并进行反向工程以提取框架(稍后映射到用户权限)。在2325个应用程序中,1470个应用程序从App Store下载,855个应用程序从vShare下载。从应用程序商店下载的应用程序被认为是良性的,因为它们通过了苹果从vShare下载的应用程序被认为是可疑的,因为vShare不是分发iOS应用程序的官方商店(vShare:在iOS 10(iPhone& iPad)和Android 上免费下载付费应用程序,无需越狱,http : //www.vshare.com/),并且存在引入特权过大的框架的机会。表1详细说明了表1从App Store和vShare下载的应用程序数据集。S. 没有类别App StorevShare1书100502业务150753教育130704娱乐150755金融50306食品饮料50257游戏1501008养生瘦身50309生活方式704010医疗502511音乐804012导航301513新闻502514照片视频302015生产力502516购物504017社交网络503018体育301519旅行10010020公用事业5025总1470855从App Store和vShare下载的20个不同类别的应用程序。步骤2:特征提取在此阶段,功能是指用户/设备权限。在安装来自App store和vShare的应用程序之后,使用静态分析对应用程序进行逆向工程以用于框架提取(DaleRapp,https://dalewifisec.wordpress.com/2013/01/24/how-to-find-softwarebilities-in-mobile-apps-through-reverse-engineeringg/;Intel,https://software. intel.com/en-us/node/622647)。对代码的静态分析有助于发现应用程序中使用的框架、C2C类和方法(Szydlowski等人, 2012年)。 使用otool(Wikipedia,https://www.owasp.org/index.php/IOS_Application_Security_Testing_Cheat_Sheet;Raywenderlich, https://www. raywenderlich.com/45645/ios-app-security-analysis-part-1)。在本文中,提取了51个隐私相关框架(由官方应用商店提供)以及第三方分析框架(如Google Analytics,PL崩溃报告框架,广告支持框架)的信息。接下来,识别每个框架的重要类、方法和委托,并使用静态分析跟踪每个应用程序的API调用。例 如 , 可 以 使 用 UIKit ( AppleInc. ,https ://developer.apple.com/documentation/uikit);照片(AppleInc.,https://eveloper.awww.example.com/documentation/photospple.com )或PhotosUI框架(AppleInc.,https://www.example.com.com/documentation/photosuieveloper.apple) 。 类 似 地 , 可 以 通 过 使 用 CoreLocation ( Apple Inc. ,https://developer.apple.com/documentation/corelocation)或MapKit框架(AppleInc.,https://www.example.comoper.apple.com/documentation/mapkit)。表2描述了在授予访问权之前需要用户用户/设备资源可以通过集成不同的框架及其委托、类方法来访问表2中列出了权限变量及其一些框架。为了完成这项工作,所有51个隐私相关的框架被映射到13个用户权限变量。步骤3:权限映射在对与隐私相关的框架及其类进行了详尽的研究之后,这些框架根据它们访问的资源进行了分组例如,像Map-kit和CoreLocation这样的框架被组合在一起,因为它们可以用来访问用户类似地,用于访问用户相册的框架对其他框架重复了同样的过程因此,所有提取的与用户隐私相关的框架被映射到13个由于权限变量列表没有很好的文档记录,因此Apple提供的权限总数不可用。对于这项工作,我们使用了表2中列出的权限。为了说明框架与用户权限的映射,我们引用了一个所有框架的信息如图所示。3.第三章。该应用程序有帐户框架:帐户,社交,和Twitter,它们被映射到单个权限变量帐户。该应用程序还有其他框架AddressBook,AVFoundation,CoreLocation和CoreMotion。所有这些框架都映射到权限变量联系人,相机,位置和运动健身。同样,对所有2325个应用程序重复该过程。总共考虑了13种权限,包括:蓝牙共享,日历,相机,健康套件,家庭套件,位置服务,媒体库,麦克风,运动&健身,照片,提醒,社交媒体帐户或用户帐户。图3描绘了使用otool提取的框架的快照。应用A.J. Bhatt等人 /沙特国王大学学报-计算机与信息科学33(2021)769-786775表2在iOS及其一些框架中可能有13个权限S. 无权限框架说明1.蓝牙核心蓝牙(苹果公司,https://developer.apple.com/documentation/corebluetooth请参阅2.CalendarEventKit(苹果公司,https://developer.apple.com/documentation/eventkit请参阅3.CameraAVFoundation(Apple Inc.,https://developer.apple.com/documentation/avfoundation请参阅UIKit(苹果公司,https://developer. )apple.com/documentation/uikit参阅4.照片UIKit(Apple Inc.,https://developer. )apple.com/documentation/uikit参阅照片(苹果公司,https
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功