

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
Android应用程序重新封装智能手机设备的检测技术
摘要
影响智能手机的恶意软件问题得到了全球研究人员的广泛关注。这些恶意软件的大多数都针对Android操作系统。研究发现,大多数Android恶意软件都在重新打包的应用程序中隐藏,以进入用户设备。重新包装的应用程序通常是流行应用程序的受感染版本对手下载一个受欢迎的Android应用程序,并使用逆向工程获取代码,然后将其代码(通常是恶意的)添加到其中并重新打包并释放该应用程序。研究中提出的一些技术和一些商业性反病毒产品专注于检测恶意软件。这是传统的方法,需要一个签名数据库。零日威胁不能用这种方法抓住。有许多技术完全集中在检测重新包装的应用程序。由于重新打包的应用程序在受感染的Android应用程序中占绝大多数,因此可以将用户从Android恶意软件的大部分中保存。检测和预防重新包装也对原始开发者/出版商有益,因为它们不会对收入或声誉造成损害。在本文中?我们详细研究了一些重新包装检测技术。主要有两种技术——离线和在线。他们的目的不同。离线技术不能用在线技术来代替,反之亦然。离线技术是直接使用应用程序市场所有者,而在线技术是直接使用Android用户。我们研究不同的离线和在线技术。这些技术使用不同的特征和度量来检测应用程序的相似性,并且它们是其技术类别的代表。
1.介绍
Android是最有针对性的智能手机操作系统。据F-Secure称,97%的新移动恶意软件家族面向Android1。在2014年第一季度,F-Secure2确定了275个新的Android威胁系列。与其相比,其他智能手机操作系统所识别的新威胁的数量是不可忽视的。研究已经得出了非常有用的观察结果,大多数Android恶意软件,86%的恶意软件和73%的恶意软件家族使用重新打包的应用程序作为传播和安装的媒介。使用恶意软件重新打包应用程序很简单,原始应用的受欢迎程度可帮助恶意软件快速感染大量设备。已经发现许多应用程序被重新包装,以将广告收入从原始发行商重定向到对手。
能够检测应用程序重新包装的现有技术可以分为离线和在线。离线技术是可以用于审核应用程序市场的技术。脱机技术可以检测来自一个或多个市场的数百万应用程序中的重新包装的应用程序。对于这些技术而言,可扩展性成为一种比准确性更有希望的特征。在线技术是在用户设备上执行其大部分工作的技术。他们通常会在安装时检测应用程序是否重新打包。在安装之前,应用程序可能需要进行一些修改才能使在线技术生效。我们在本文中讨论两种技术。
本文由以下部分组成。第二部分介绍Android安全性,应用程序重新打包以及检测重新打包的技术。在第三部分中,我们介绍了Android操作系统,应用程序重新打包和应用程序重新打包检测。第四部分讨论了声称检测重新包装并强调其独特功能的各种技术。然后第五节介绍第四节的关键外包。最后,第六部分总结了本文,并讨论了未来工作的一些范围。
2. Android应用程序重新打包
在重新包装应用程序期间,对方可以对应用程序进行修改(剽窃)。执行的这些修改可能是以下一个或多个:用对手拥有的库替换API库;如果应用使用某些广告,则会重定向应用的广告收益;向应用程序添加一些广告;在现有方法中引入恶意软件代码;添加方法/类专门用于引入恶意代码。
经过必要的修改后,对手可以再次准备一个包(APK文件)。对手用她的私钥签名应用程序,META-INF目录中的公钥现在对应于此私钥。这个应用程序现在在一些非官方的市场上被发布,在这个市场上,用户成为猎物。
一些重新包装的检测/威慑解决方案假设对手想要利用原始应用的受欢迎程度来快速感染大量用户。因此,他们的假设是,重新包装的应用程序的元数据与原始应用程序的元数据非常相似。另一方面,一些解决方案假设对手正在重新打包现有的应用程序,因为她希望节省为恶意软件创建主机应用程序的时间和精力。在这种情况下,对手可以在重新打包的版本中显着更改元数据。在这种情况下检测相似性的唯一方法是比较每对应用程序的功能或者代码。甚至功能改变的第三种可能的情况不能称为重新包装。
3. Android应用程序重新包装检测技术
本节介绍了研究人员提出的检测重新包装应用程序的一些更好的技术。 一个重要的事情要理解,一种技术不一定要完美。 如果一种技术强制对手应用许多混淆和修改,并且使重新打包的成本高到对手没有利润,那么这是令人满意的。
3.1 AnDarwin
Crussell提出了一个脱机工具AnDarwin。可扩展性是任何离线工具的先决条件。事实上,可扩展性是安达尔创始人的主要焦点。 AnDarwin通过使用位置敏感哈希(LSH)5和最小独立置换局部敏感散列(MinHash)6拥有亚二次时间复杂度。这些散列技术可以检测类似的应用程序,而无需实际比较每一对应用程序。
从应用程序的源代码中的方法,AnDarwin仅使用代码中的数据依赖关系构建程序依赖图(PDG)。与控制依赖关系相比,数据依赖性要更加困难(并且价格昂贵)。在PDG构建之后,对应于每个PDG的每个连接分量,构造了一个语义向量,其捕获诸如存在的不同编程结构的类型和频率的信息。然后,LSH使用许多散列函数来获取近邻的语义向量集群。所以安德尔后期的任务就是在集群中找到类似的应用程序,即不需要比较属于不同集群的应用程序。
3.2. AppInk
Zhou提出AppInk在Android应用程序中嵌入水印,以便如果应用程序不携带水印,或者水印不可靠,那么可以发现它是一个重新打包的应用程序。他们指出,在Java代码中嵌入水印并不容易,而且Android应用程序也可能具有多个入口点。在开发人员理解代码的语义和句法结构的过程中,他们涉及开发人员,她可以选择正确的地方将应用程序代码插入水印。 AppInk不直接将水印值嵌入到应用程序的源代码中。它被设计为将该水印值(字符串,数字等)转换成非平凡的数据结构(特别是图形),其又被转换成称为水印代码的Java代码。执行该代码产生对应于水印值的数据结构的实例。作者指出,水印方案的识别部分也应该是自动化的。 AppInk的识别器部分扩展了Dalvik虚拟机(DVM),以便在审查应用程序运行时可以扫描(并记录)所有对象引用关系,并将manifest应用程序提供给应用程序的输入事件。搜索记录的文件以查找可能对应于水印图的参考关系模式。然后对该图进行解码以获得相应的值,并且可以验证其是否与开发者的水印值相同。
3.3. APKLancet
Yang等人提出了一种依赖DroidMoss识别应用程序中的恶意有效载荷的APKLancet。 APKLancet不维护签名数据库,也不会识别恶意的有效负载本身。它使用AndroGuard进行这些任务。识别后,它会删除恶意的有效载荷。 APKLancet是一个不切实际的假设,恶意的有效载荷在APK中总是相当独立的。还有更多的假设。作者假设,在执行时,有效载荷在单独的工作流中运行。他们还假设恶意软件和应用程序代码的集成是可逆的。没有指定APKLancet如何决定原始开发人员或剽窃者是否插入广告库或插件。 APKLancet正在净化APK并重新打包,但没有指定如何采购开发人员的私钥。如果APKLancet使用新的密钥,那么应用程序的开发者/发行商将无法更新应用程序(也可以假定与同一开发人员的应用程序共享资源将失败)。
3.4. AppIntegrity
Vidas研究了数以万计的应用程序,以加强大多数Android恶意软件使用重新打包作为传播媒介的知识。他们使用不同的策略来确保他们使用VirusTotal10学习和扫描的应用程序的收集的多样性。为了确保从非官方市场下载的应用程序的多样性,他们使用的一些策略是:根据搜索引擎的流行程度选择市场,而不是手动选择;搜索多种语言的搜索引擎中的每个字符串(主要是市场中遇到的应用程序名称);即使是非APK文件,如果解压缩也可以提供APK文件。对于官方市场,他们:模拟有效的市场会议以自动获取AssetID;使用与会话,用户定义的过滤器,网络运营商,地理区域,设备硬件等不同的参数的不同值;在自动下载中使用退货机制,因为官方市场在给定时间内不允许太多下载。市场会议是强制从官方市场下载应用程序。作者通过智能手机(Play Store)对官方市场客户进行逆向设计,以获取会话参数username, password,设备标识符和SDK版本。然后在模拟会话中使用参数,以便官方市场无法将其与有效会话区分开。然后,在这些会话中获得的AssetID独立用于下载应用程序。
作者还提出了一种检测应用程序是否重新打包的技术,但是分发与应用程序的私钥对应的原始公钥存在挑战。他们建议将其应用于与应用程序包名称对应的网址。该机制将失败,因为剽窃者可以简单地更改包名称并在相应的网址提供自己的公钥。
3.5. 基于质心的检测
Chen抱怨说,没有现有的解决方案用于检测应用程序重新包装,这两个应用程序重新打包都是准确和可扩展的。两者都是用于审查应用程序市场的脱机技术的所需属性。作者提出了一个质心的概念,他们声称,达成目标。对于可扩展性,它们应用基于比较控制流图(CFG)方法的质心的过滤。质心是CFG的几何属性。由于CFG没有物理现实,因此需要将其投射到三维空间,从而可以应用质心的概念。获得这个投影的时间复杂度在CFG的大小上是线性的。将CFG中的每个节点分配给三个维度以给出“坐标”。基于节点执行顺序分配坐标中的第一维(序列号)。对于作为相同条件语句的分支的节点,对于不同的执行,顺序可能不同。静态标准,例如节点中的相对数量或这些节点的二进制值,用于分支。这些静态标准可以通过使用加法或减法攻击的剽窃者容易地模糊。第二维是从节点传出的边的数量,第三个是节点涉及的循环数。
他们的方法的最大缺点是假设剽窃者使用加法或减法混淆,则重新包装的应用程序中的方法的控制流程将与原始应用程序相同或非常相似。剽窃者很容易模糊代码中的控制依赖关系,而不是依赖数据。
3.6. DNADroid
DNADroid的第一步是将搜索引擎结果中出现的应用集群。 DNADroid使用Solr搜索工具进行此步骤,该工具采用一个应用程序的元信息(name,marketet,publisher, description, etc。),并返回具有相似元信息的应用程序。相似的应用程序放在一个集群中。如果类似的应用程序没有出现在搜索引擎结果中,那么虚假的底片可能会在第一步中发生。这不会被认为是DNADroid的缺点,因为重新包装是一种社会工程攻击,显然剽窃者没有有效地进行攻击。在搜索引擎结果中,原始应用不会显示的重新打包的应用程序可能无法经常下载。
在第二步中,使用重新设计工具来获取应用程序的JAR文件,并将其馈送给WALA14,返回一个对应于每个应用程序(JAR文件)的PDG。只有属于同一个集群的应用程序对才被认为是潜在的重新包装对,因此,他们的PDG被比较。在群集中要比较的对数量在群集中的应用程序的总数中是二次的。在比较PDGs之前,DNADroid应用了几个过滤器,可以消除非常不可能重新包装对的对。具体来说,过滤器会删除小型PDG,因为它们不够丰富,无法表征其应用程序的任何功能,并可能导致误报。另一个滤波器去除了PDG在每种类型的PDG节点的类型和频率上不同的对。这两个过滤器实际上可以帮助剽窃者逃避DNADroid的检测。所有需要完成的工作都是将重新包装的应用程序中的方法重构成许多较小的方法,这将改变新的更小的PDG中的节点类型的频率。
在第三步中,使用基于子图同构的VF2算法15来确定PDG之间的相似性。 A到B的相似性告诉A中的A的代码有多少。B与A的相似性表示在A中发现了多少B代码。这种相似度的度量是不对称的,并且具有显着的益处。如果剽窃者将自己的代码添加到重新打包的版本中,则可以发现与原始应用程序相似的重新打包的应用程序的百分比将很小。但是,与重新包装的应用程序匹配的原始应用的百分比仍然很大。
3.7. Droidmarking
Ren提出了一种称为Droidmarking的水印技术,它提供了一种非隐性插入水印并且仍然阻止重新打包攻击的方法。他们的技术需要在运行时解密应用程序代码,并提供一个本机库来执行此操作。作者强调了隐形水印的最大缺点——水印识别器不能向普通公众发布的限制,并且必须继续限于用于知名应用市场和其他授权方。他们的技术是非隐身的(使得有可能公开释放识别器)的原因是在程序的正常执行期间在运行时产生的值被用作加密水印代码的关键。加密确保水印识别器不必存储水印代码段隐藏的“未公开位置”,因为现在没有任何内容被隐藏。事实上,加密片段的开始和结束被明确标记,以便于解密和确保这些片段的完整性。
该加密为应用程序的执行增加了一次性开销。执行开销是每个加密段,其中保存一些原始源代码以及水印代码,在用户设备执行期间第一次遇到时被解密。它不再加密加密还需要对Dalvik虚拟机(DVM)进行小的调整。DVM应以非优化模式运行,以便在字节码优化期间不会修改应用程序的加密段。 Droidmarking还需要确保解密所需的本机库本身不会受到损害。它执行完整性检查。此外,它还可以确保对正确的解密功能进行调用,而且也完全在加密段的开始处。
3.8. DroidMoss
Zhou等人提出DroidMoss。他们扫描了近23,00个应用程序。他们发现重新包装的应用程序中有5%至13%。估计重新包装攻击的次数是研究的主要目的。他们的研究还着重于找出使用重新包装的原因,并发现重新包装主要用于重新布置广告收入。他们说市场需要一个审查过程。
通过将新推出的应用程序的指纹与所有已知应用程序的指纹数据库中的指纹进行比较,可以将DroidMoss用于市场审核。 DroidMoss将应用程序的dex文件反编译为Dalvik bytecode,它由操作码和操作数组成。然后,它将删除操作数并保留操作码,因为操作数可以轻松模糊。所以,删除操作数可能
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[138251],资料为PDF文档或Word文档,PDF文档可免费转换为Word
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
