没有合适的资源?快使用搜索试试~ 我知道了~
M. DANIEL HAGIMONTM. ALAIN TCHANA0为了获得0图卢兹大学博士学位0颁发机构:0图卢兹国立理工学院(Toulouse INP)0学科或专业:0计算机科学和通信技术0由以下人员展示和支持:0于2021年4月5日星期一由M. PATRICK WAPET颁发0标题:0研究单位:0博士学院:0防止移动市场上非法应用程序的发布0图卢兹数学、计算机科学和通信技术学院(MITT)0图卢兹计算机科学研究所(IRIT)0导师:0评审人:0Mme SONIA BEN MOKHTAR,CNRS0M. ROMAIN ROUVOY,里尔大学0评审委员会成员:0M. YEROM DAVID BROMBERG,雷恩第一大学,主席0M. ALAIN TCHANA,ECOLE NORMALE SUP LYON ENS DE LYON,成员0M. DANIEL HAGIMONT,图卢兹国立理工学院,成员ii0致谢0首先,我要感谢我的造物主。除了每天给予我的恩典外,他还让我完成了这篇论文。愿他继续照亮我,并让我与我的亲人分享他的喜悦和宁静,以及他的家庭,我希望它在他的儿子,第一生者身上茁壮成长。0然后我要感谢我的父母Blaise和Antoinette以及我的兄弟姐妹,甚至包括扩展家庭Isabelle,Elisabeth,Albert,Ange和Maurice。你们一直无条件地支持我,让我能够以极大的平静完成我的早期和长期的学业,直到这个博士学位。我非常感激你们。0我要感谢我的论文导师Daniel Hagimont和AlainTchana,他们给予了我有效的建议和指导。我也要感谢他们,因为他们给了我在世界的另一边开始和完成一篇论文的机会,从而探索了我祖国喀麦隆以外的许多遥远的土地;0我还要向Romain Rouvoy先生和Sonia BenMokhtar女士表示衷心的感谢,他们同意成为我的论文评委,以及所有的评委们。0当然,还要感谢我们的秘书Sylvie Armengaud,Muriel Pernier和AnnabelleSansus,没有她们,我们的研究将更加困难。0非常感谢SophiaAntipolis的I3S实验室的SCALE团队,我想到了Fabrice,Andrea,Alessio。感谢里昂高等师范学院AVALON团队实验室的成员们;在这里我想到了Christian,Eddy,还有我的同桌Laurent。还要感谢Andre OleRavnas,他同意向我介绍手机黑客和动态仪器化。他的建议非常有用。我还要感谢Louison和Mohamed,除了他们的技术支持,他们还帮助我在这个论文的最后几年中坚持下来。0最后,我要感谢IRIT实验室的所有同事,首先是BorisTeabe,他总是在必要时用他自己有些严厉的方式鼓励我。我还要感谢VladNitu,我钦佩他的坦率,也不要忘记Gregroire Todeschi和Fopa LeonConstantin,他们与Boris Teabe和EricMunier一起是我在实验室的迎新委员会的一部分。还要感谢BriceEkane的简单和智慧;0当然,我不能忘记Stella Ndonga Bitchebe和MvondoDjob这两个火箭,我们在适应期间互相支持。iii0在论文期间我们进行了很多次的旅行。然后是Kevin Jiokeng,Tu Ngoc,BaoBui,MathieuBacou这些鼓舞人心的模板的制作人,Peterson,Armel,特别是KouamJosiane,以及Boris Wouembe,上帝知道为什么是这最后两个,主要是这样。0感谢你们在我作为博士研究生和论文中的各自角色中所扮演的角色!v0摘要0过去几十年来,移动应用的普及已在全球范围内不断增长。这种普及吸引了越来越多的恶意应用程序作者。为了检测这些恶意软件,移动市场已经实施了一些分析方法,但这些方法存在一些限制。我们在本论文的范围内确定并提出解决的主要限制有两个。第一个是无法应对一种新的恶意软件发布方法,即预测尚未拥有移动版本的公司的移动应用程序。第二个限制是动态分析解决方案在扩展能力方面遇到的困难。为了解决第一个限制,我们设计并实现了一个名为IMAD(非法移动应用程序检测器)的安全检查系统,该系统主要基于在线搜索引擎和机器学习技术。为了解决第二个问题,我们引入了一种可扩展的追踪方法,称为委托仪器化。它利用Android的仪器化模块,主要依赖于ART(AndroidRuntime)的逆向工程和黑客技术。评估结果表明,IMAD可以以可接受的错误率保护公司免受预测攻击,并且对于移动市场平台来说成本较低。我们通过一个名为Odile的原型演示了委托仪器化的有效性,该原型可以在三星Galaxy A72017上跟踪各种应用程序类型(包括良性应用程序和恶意软件)。特别是,我们展示了Odile在该领域超越了现有工具Frida的性能。0目录0图表目录 ix0表格目录 xi01 引言 101.1 构成本论文的出版物: . . . . . . . . . . . . . . . . . . . . . . 301.2 论文组织 . . . . . . . . . . . . . . . . . . . . . . . . . 302 背景和贡献 402.1 移动应用生态系统 . . . . . . . . . . . . . . . . . . . . . . . 402.1.1 移动应用在人类社会中的普及 . . . . . . . . 402.1.2 移动应用结构 . . . . . . . . . . . . . . . . . . . . 702.1.3 Android操作系统 . . . . . . . . . . . . . . 802.2 移动应用用户面临的主要威胁 . . . . . . . . . . . . . . . . . 1002.2.1 常见黑客意图 . . . . . . . . . . . . . . . . . 1002.2.2 关键攻击实施步骤 . . . . . . . . . . . . . 1202.3 移动恶意软件检测方法 . . . . . . . . . . . . . . . . 1402.3.1 静态分析 . . . . . . . . . . . . . . . . . . . . . . . . 1402.3.2 动态分析 . . . . . . . . . . . . . . . . . . . . . . 1602.3.3 混合分析 . . . . . . . . . . . . . . . . . . . . . . . 1802.4 移动恶意软件分析系统的挑战 . . . . . . . . . . 1802.4.1 准确性 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1802.4.2 可部署性 . . . . . . . . . . . . . . . . . . . . . . . . 1902.5 贡献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2003 防止新型非法应用程序的传播 22 3.1 摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2203.2 引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2303.3 相关工作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2503.4 定义和动机 . . . . . . . . . . . . . . . . . . . . . 2703.4.1 定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2703.4.2 研究范围。2803.4.3 问题。2803.5 IMAD:非法移动应用程序检测器。300第七章03.5.1 整体系统设计。3003.5.2 图形身份(GI)构建。3203.5.3 可信实体搜索。3203.5.4 文本搜索(基于应用名称)。3303.5.5 网页收集。3303.5.6 聚类。3403.5.7 无关聚类消除。3603.5.8 无关文档消除。3703.5.9 可信实体的名称和联系方式提取。3903.5.10 图像搜索(基于标志).3903.6 评估。4003.6.1 实验环境。4103.6.2 准确性。4203.6.3 复杂性。4703.6.4 可扩展性。4903.6.5 成本评估。5003.7 结论。5104 Odile:一种适用于非root和现成的Android设备的可扩展跟踪系统。5304.1 摘要。5304.2 引言。5404.3 Android。5604.4 Frida的限制。5804.5 Odile。5904.5.1 主要思想。5904.5.2 架构。6004.5.3 ART的函数黑客。6304.5.4 ART的仪器模块激活。6404.5.5 函数调用信息检索。6604.6 评估。6904.6.1 Odile的有效性。6904.6.2 开销。7104.7 相关工作。7604.8 结论。7605 结论7705.1 结论。770参考文献790第八章0图表列表02.1 典型移动应用发布流程。602.2 Android包(APK)内容的概述。702.3 Android操作系统(OS)架构的概述。902.4 不同移动应用黑客任务的概述。1303.1 合成应用程序提交工作流程,从安全检查点的角度来看。 . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 2803.2 攻击示例。 . . . . . . . . . . . . . . . . . . . . . . . . . . 2903.3 IMAD的一般功能。 . . . . . . . . . . . . . . . . . . . . . 3103.4 我们解决方案的主要步骤。 . . . . . . . . . . . . . . . . . . . 3303.5 网页收集步骤的示例。 . . . . . . . . . . . . 3403.6 聚类步骤的示例:我们从图3.5底部的语料库中构建了三个聚类。 . . . . . . . .. . . 3403.7 图3.6中呈现的聚类的重要词语。 . . . . 3803.8 剔除与EasyChair无关的剩余文档。 . . . . . . . . . . . . . . . . . . . . . . . 3903.9 第一类实验:使用安全应用程序评估每个IMAD步骤。 . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 4303.10 第二类实验:使用D2的非法应用程序进行评估。3.11IMAD与Androguard和FSquaDRA两个参考非法应用程序检测系统的比较。 . .. . . . . . . . . 4503.12 配置参数:最佳值的估计。 . . . . . 4603.13 每个IMAD步骤消耗的资源量评估。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 4803.14 IMAD面对并行应用程序检查的评估:(左)资源消耗和(右)执行时间。 . .. . . . . . . . . . . . 5004.1Odile的总体架构和工作流程。Odile被提供为一个经典的应用程序。为了追踪给定的应用程序(记为Atarget),Odile在两个时刻介入:(上)应用程序安装时间和(下)运行时。 . . . . . . .04.2 Hacking stack。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630ix04.3 方法名计算。 . . . . . . . . . . . . . . . . . . . . 6604.4 ARM上shadow_frame的内存地址计算。 . . . . 6804.5 Odile在DualOps应用上的有效性,与Frida进行比较。 . . . 7004.6(a)Odile重新打包步骤的时间和(b)显示第一个应用程序活动的减速。 .. . . . . . . . . . . . . 7204.7Odile在DualOps应用上的可扩展性,与Frida进行比较。绿色表示Frida成功拦截的呼叫数量,橙色表示导致错误的拦截数量。 . . . . . . . . . . . . . . . . . 7404.8 Odile对DualOps应用的CPU和内存消耗。 . . . . 750x0表格列表02.1 最常用的应用程序功能表(来自[53])。 . . . . . . 503.1 相关工作解决方案与IMAD相比的缺点和优点。 . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 2603.2 IMAD使用的最重要参数列表。 . . . . . . 4604.1Odile(Od)与Frida(Fd)的追踪效果比较。#calls是拦截的呼叫总数。#capNotTraced是Frida无法追踪的拦截呼叫的数量(在这种情况下,Frida会打印错误消息)。 . . . . . . . 710xi0第一章0引言0为了加快数据处理速度,信息技术首先通过计算机在机构中得到了建立,然后通过工作站进入家庭,最后通过手机进入现代人的口袋或近在手边,手机上安装了移动应用程序(或移动应用)。0移动应用显然促进了大多数人类活动。它们通过让人们访问日益虚拟化的社交网络,允许他们消费在线商业服务或提供多媒体内容来实现这一目标。它们的实施需要一个以应用程序开发人员为主要生产者的生态系统。后者将其应用程序提交给移动应用市场,然后市场将其提供给用户下载到个人手机上。0由于移动应用程序处于交易的核心,并且经常操作属于越来越信任它们的用户的数据,黑客已经开始构建恶意应用程序,主要是为了损害和劫持这些关键交易,并窃取手机上可用的敏感数据。为了做到这一点,黑客必须首先找到一种方法将其恶意移动应用程序部署到目标手机上,然后通过利用移动应用程序和移动操作系统的内部架构来执行其恶意负载。黑客还必须更新其恶意软件,以确保它在对抗日益增多的对策技术的同时能够发展并具有未来的可靠性。20鉴于所有这些威胁,文献中提出了一些对策措施。它们分为两类,尽管也存在结合这两类的解决方案。一方面是静态方法,另一方面是动态方法。静态方法仅仅检查应用程序包及其组件,而动态方法则分析移动应用程序运行时的所有可利用数据。所有这些方法不仅要准确无误,还必须能够适应黑客实施的新型复杂方法,并且必须能够轻松集成到移动应用程序生态系统中,更具体地说,是在部署过程中而不会影响可扩展性。正是为了提供对这两个问题的新解决方案,才进行了本论文中的工作。0我们首先提出的贡献是识别并提出对抗一种新的恶意移动应用部署策略的措施,即黑客用来在用户的手机上安装他们的移动应用的新方法。这种新方法不是将他们的应用程序作为另一个已知的应用程序传递,而是作为尚未拥有移动版本的已知互联网服务的移动版本。因此,它绕过了基于已知恶意软件签名比较的现有检测系统。相反,我们的贡献通过在线服务和公司目录以及搜索引擎来探索,以找出新提交的移动应用的图形图表是否使用了上述技术。为了使这种探索变得有效,我们结合了数据挖掘和优化算法。在此过程结束时,模仿的服务将被发现并提醒。0我们论文的第二个贡献是一种用于追踪移动应用程序的工具。它旨在解决新的动态分析解决方案面临的问题,这些解决方案需要用户的干预,而用户往往对手机上的数据收集不太熟悉。通过摒弃对手机进行"rooting"的要求,并保持可接受的准确性,这个提出的工具为重新推动众包恶意软件分析带来了新的活力。它基于间接代码注入,这是一种巧妙地重用操作系统上已经存在的组件的技术,从而便于追踪移动应用程序的大多数Java调用。301.1 构成本论文的出版物:0本论文的第一项工作已经在FGCS上发表,参考文献如下。0• Patrick Lavoisier Wapet,Alain-Bouzaïde Tchana,Tran Giang Son,DanielHagimont。预防一种新型非法应用程序的传播。未来一代计算机系统,爱思唯尔,2019年,94,第368-380页。(10.1016/j.future.2018.11.051)。(hal-02495523)0本论文的第二个贡献名为Odile,已在COMPAS上发表,并在GDR2020上展示,并目前正在提交给会议。0• Patrick Lavoisier Wapet,Alain-Bouzaïde Tchana,LouisonGitzinger,Daniel Hagimont,DavidBromberg。Odile:一种可扩展的非root和在售Android设备系统的跟踪系统。01.2 论文组织0第2章首先提供了论文背景的全景视图,即移动应用生态系统。然后介绍了对该生态系统的威胁,并概述了解决这些威胁的可能方法。然后描述了后一种方法面临的问题,并总结了本论文贡献的问题。0第3章和第4章介绍了本论文的贡献。对于每个贡献,它们介绍了具体的背景和动机,设计,实施细节,评估,以及对现有技术的简要概述。第3章确定了一种部署恶意应用程序的新方法,并提出了应对该方法的对策。第4章提出了一种解决基于群体的动态分析解决方案可扩展性问题的解决方案。该解决方案包括一种适用于非专业用户的新型移动应用程序跟踪工具,并实施了一种称为“委托仪器”的技术。0最后,第5章总结了这些发展,并提出了对移动应用生态系统安全未来的展望。0第2章0背景和贡献0我们首先在本章中描述论文的背景,即移动应用生态系统。然后,我们列出了移动应用用户面临的威胁,并详细介绍了试图减轻这些威胁的现有方法。我们在本章中总结了我们的主要贡献的简要概述。02.1 移动应用生态系统0我们首先强调移动应用在日常生活中的有用性。然后,我们描述了后一种应用在最终用户的手机上之前的典型路径。然后,我们列出了它的组件,它们的功能以及它们如何相互作用。我们还列出了后一种移动应用与其他应用之间的交互,以及移动应用与操作系统之间的交互。最后,我们介绍了Android,这是三个主要移动应用市场之一使用的操作系统[53]。02.1.1 移动应用在人类社会中的普及0移动应用逐渐成为日常生活的重要组成部分,全球三分之二的人口使用它们[12]。这些是在移动电话上运行的软件应用程序,允许人们执行多个常见任务,如电话呼叫,短信,网页浏览,教育,社交网络聊天,多媒体和视频游戏。表2.1概述了流行移动应用市场(如Android Google Play Store,Apple Store和WindowsMarket)中最受欢迎的功能。14%14%18%-10%-50移动应用功能0示例0AppleStore市场份额0Google PlayStore市场份额0WindowsPhone市场份额0游戏 Pokemon Go,愤怒的小鸟 18% 13% 14%0健康 家庭锻炼,步数追踪器 4% 3% 3%0图书 wikiHow,Kindle 11% 9% 10%0音乐 Deezer,Spotify 5% 6% 2%0新闻 CNN,Franceinfo 6% 7% 11%0商业0Linkedin0远程桌面0旅行 Oui.sncf,trivago 8% 6% 6%0社交 Facebook,Instagram 2% 5% 3%0金融 PayPal 2% 2% 2%0教育 EDX,数学测试 10% 5% 6%0娱乐Net�ix,Arte 10% 11% 19%0生活方式MakeMeBetter,RelaxRain 8% 8% 5%0摄影Adobe Photoshop 2% 1% 2%0个性化0动物铃声0主题0表2.1:最常用的应用程序功能表(来自[53])60移动应用和Android操作系统的选择:移动应用与其应该运行的操作系统密切相关。因此,Android、iOS和SymbianOS都有移动应用。在这些系统中,我们重点关注Android系统,因为它是最流行的系统,超过52%的手机销售配备了它[2]。此外,我们可以为其改进做出贡献:它的源代码(以Android开源项目的名义)是基于100多个开源项目构建的,包括Linux内核。然而,不同移动操作系统之间存在相似之处。因此,我们提出的贡献主要适用于其他系统。移动应用开发Android移动应用以APK(Android应用程序包)的形式打包。它包含以DEX格式编写的代码和其他作为应用程序资源的文件。为了生成这样的包,开发人员使用AndroidSDK中的Java代码,以及在AndroidStudio开发环境中使用C/C++编写的代码,然后将诸如标志、图像、XML文件等资源与之关联。之后,开发人员使用自己的私钥对生成的包进行编译和签名,使用AndroidStudio中的apkSigner工具。移动应用发布一旦移动应用准备好安装到Android手机上,开发人员必须将其公开。为此,如图2.1所示,他在开发者账户中提交给移动应用市场。移动市场在将新提交的移动应用通过安全分析阶段后,才能让全球任何Android手机用户下载。0图2.1:典型的移动应用发布过程。70接下来,我们将看到移动应用的外观和组成。02.1.2 移动应用结构0移动应用以一种称为APK(Android应用程序包)的存档形式呈现。这个存档在图2.2中呈现,其中包含一个名为AndroidManifest.xml的文件,操作系统使用它来知道APK的名称、它将访问的手机资源以及在其运行期间将执行的不同操作和服务。接下来,我们对AndroidManifest.xml中包含的关键信息进行更详细的说明。0图2.2:Android包(APK)内容概述。0•APK名称:这是开发人员为其移动应用分配的包名称。理想情况下,这个名称应该在Android应用程序的世界中是唯一的。因此,通过使用这个名称,系统可以识别出特定的应用程序。0•权限:为了能够使用手机的某些资源和功能,移动应用的开发人员必须从操作系统中请求与这些资源和功能相关的权限。它通过在AndroidManifest.xml中声明这些权限来实现。例如,READ_PHONE_STATE权限允许应用读取手机状态信息,如设备ID,否则是禁止的。其他权限允许移动应用接收和发送通信意图,这是安装在同一手机上的移动应用之间以及同一移动应用组件之间的主要通信手段。0• SDK版本:移动应用主要使用Java语言开发,与AndroidSDK(软件开发工具包)紧密耦合。该SDK提供了一组API,开发人员可以使用这些API来访问操作系统提供的功能。由于这些功能不断变化,因此SDK版本也会不断更新。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功