检测移动装置上的恶意文件的系统及方法

文档序号:9866060阅读:518来源:国知局
检测移动装置上的恶意文件的系统及方法
【技术领域】
[0001] 本发明大体上设及计算机安全领域,并且更具体地设及检测移动装置上的恶意文 件的系统及方法。
【背景技术】
[0002] 移动计算装置(下文称为移动装置)已经在现代社会中变为生活的不可或缺的部 分。此类装置的实例为移动电话、智能电话、个人通信器、平板计算机和笔记本计算机。大多 数移动装置大体上包含日常活动所需的各种用户数据。此类数据可为隐私(如,照片和视 频)、个人的(如,全名、出生年、电话号码)和机密的(如,银行网站的登录名和密码、信号卡 卡号)。
[0003] 用于移动装置上的大多数主流的移动平台中的一个是谷歌安卓(安卓0S)操作系 统。首先,安卓0S由于其开放和免费性质而使其赢得流行度,导致其广泛用于各种硬件平 台,且因此大量不同应用程序已经由想要在安卓0S下工作的那些人开发出。目前,已经针对 安卓0S创造出几百万应用程序,且已经安装在全球超过十亿个移动装置上。同时,针对使用 安卓0S的移动装置创造出了日益增多的恶意程序。用语"移动装置的恶意程序"大体上包括 设计成获得未授权访问移动装置的计算资源或储存在其上的信息W达未授权使用资源的 目的,或通过复制、篡改、移除或替换信息使移动装置的所有者受害(引起损失)的任何软 件。用语"信息"大体上包括关于用户联系人或信用卡W及访问各种应用程序和网站的信 息。用语"未授权使用"大体上包括在移动装置所有者并未授权和/或知晓的情况下执行的 动作,如,进行不需要的电子支付、发送包含垃圾邮件的电子消息、W及进行电话呼叫。因 此,由于安装在移动装置上的应用程序或多或少可访问用户的"重要"信息,故保护移动装 置及其应用程序免受恶意程序就变得很重要。
[0004] 保护移动装置的大多数现有解决方案基本上是来自使用Windows操作系统的个人 计算机的改编的反病毒程序。此类反病毒程序在用在移动装置上时遇到了很多困难。首先, 恶意动作在移动装置上不同于在PC上,运需要反病毒程序的技术的对应改变。第二,在移动 装置上,由恶意程序执行的动作大体上通过API功能实现,且由于各个移动平台(如,Linux 内核的OS、安卓OS、苹果OS(IOS)或Bada OS)具有其自身的API功能,故各个平台还对应地需 要优化,运可导致使反病毒程序的工作复杂化。因此,在捜索恶意文件和执行反病毒检查 时,运也必须考虑。第Ξ,旨在用于移动装置的反病毒程序在移动装置的系统资源如电池、 中央处理单元(CPU)和存储器的使用中具有限制(例如,0S自身限制访问资源)。为了解决运 些困难,就需要将考虑移动平台的特征的专业反病毒程序。
[0005] 此外,恶意程序也不是保持不变。目前,存在越来越多针对移动平台的程序,特别 是木马程序,其使用多形性(增加/改变文件中的指令,而不改变实际功能)、变形(病毒主体 的完全改变,而不改变其功能,多形性的更复杂形式)和程序代码混淆的技术。混淆意思是 程序的原始文本或可执行代码变为保持其功能性但在反编译期间对抗分析、工作算法的理 解和修改的形式。运些技术使得有可能隐藏恶意软件的可执行代码,且将其变为保持代码 的功能性但对抗反病毒分析且隐藏其算法工作的形式。
[0006] 另外,安卓0S中的移动应用程序的执行的一个主要技术为化Ivik虚拟机。Dalvik 可执行格式的可执行文件(下文为DEX文件)的一个特性在于文件中的代码的一部分可改变 位置而没有丢失执行逻辑。应当注意的是,执行移动应用程序的另一个技术在于安卓运行 时环境,其也具有前述特征。因此,使用捜索代码相似性(例如,应用程序的行模式(line pattern)或行为的分析)的经典恶意软件检测方法的技术对对抗此类恶意文件收效甚微, 且上文提出的反病毒方法不能掲示此类恶意程序(文件)。因此,需要用于确定文件的相似 性的更有效的方法。
[0007] 因此,需要恶意程序的分析和识别的新原理,其可适于移动平台,尤其是安卓移动 平台,且同时对抗多形性和程序代码混淆的技术。

【发明内容】

[0008] 公开了用于检测移动装置上的恶意文件的系统、方法和计算机程序产品。示例性 方法包括:由硬件处理器分析文件来识别至少一个或多个类别和包含在所述一个或多个类 别中的一个或多个方法;由硬件处理器识别各个识别的方法的字节码数组;由硬件处理器 通过从各个方法的字节码数组识别对应的操作码来确定各个方法中包含的指令;由硬件处 理器基于所述指令间的功能性的相似性来将各个方法的确定的指令分成多个群组;由硬件 处理器基于将指令分成多个群组的结果来形成各个方法的矢量;由硬件处理器将分析的文 件的方法的形成矢量与储存在数据库中的已知恶意文件的多个矢量相比较来确定比较的 矢量之间的相似性;W及由硬件处理器基于比较矢量之间的相似性的程度确定分析的文件 是恶意的还是干净的。
[0009] 在一个示例性方面中,分析文件的步骤包括反汇编和反编译文件中的一个或多 个。
[0010] 在一个示例性方面中,指令基于字节码数组的语义值分成多群组。
[0011] 在一个示例性方面中,多个群组包括W下的一个或多个群组:没有逻辑意义的指 令、W常数工作的指令、W字段工作的指令、属于呼叫或拦截的指令。
[0012] 在一个示例性方面中,比较矢量的步骤包括比较η维欧几里得空间中的其两个相 关联的点之间的距离。
[0013] 在一个示例性方面中,比较矢量的步骤包括执行W下一个或多个:从比较中排除 属于标准库程序包的类别和方法;从比较中排除不包含单个方法的类别;从比较中排除包 含两个指令或更少的方法;如果运些文件的类别和方法的总数与检查的文件的类别和方法 的总数的比较相差超过25%,则从进一步比较中排除其矢量保存在数据库中的文件;如果 比较的类别或方法的大小相差超过25%,则从比较中排除进一步比较中比较的文件的类别 或方法;W及从比较中排除仅包含在单个类别中的方法的矢量。
[0014] -种用于检测恶意文件的示例性系统,包括:硬件处理器,其配置为:分析文件W 识别至少一个或多个类别和包含在所述一个或多个类别中的一个或多个方法;识别各个识 别的方法的字节码数组;通过从各个方法的字节码数组识别对应的操作代码来确定各个方 法中包含的指令;基于所述指令间功能性的相似性来将各个方法的确定的指令分成多个群 组;基于将指令分成多个群组的结果来形成各个方法的矢量;将分析的文件的方法的形成 矢量与储存在数据库中的已知恶意文件的多个矢量相比较来确定比较的矢量之间的相似 性;W及基于比较矢量的相似性程度确定分析的文件是恶意的还是干净的。
[0015] 示例性方面的W上简化概述用于提供本公开内容的基本理解。该概述不是所有构 想的方面的宽泛综述,且旨在既不识别所有方面的关键或重要元素,又不划出本公开内容 的任何或所有方面的范围。其唯一目的在于W简化形式提出一个或多个方面作为之后的本 公开内容的更详细描述的前序。为了实现上述内容,本公开内容的一个或多个方面包括权 利要求中描述和特别指出的特征。
【附图说明】
[0016] 并入且构成本说明书的一部分的附图示出了本公开内容的一个或多个示例性方 面,且连同详细描述用于阐释其原理和实施方式。
[0017]图1A示出了 DEX格式的可执行文件的示例性结构图。
[0018] 图1B示出了 DEX格式的可执行文件的实例。
[0019] 图2示出了检测移动装置上的恶意文件的示例性系统。
[0020] 图3示出了用于检测移动装置上的DEX格式的可执行文件间的恶意文件的示例性 算法。
[0021 ]图4示出了用于提高确定文件的相似性程度的准确性的示例性算法。
[0022] 图5示出了包含用于生成方法的矢量的"onReceive"方法的示例性代码的表格。
[0023] 图6示出了公开的系统和方法可在其上实施的通用计算机系统的实例。
【具体实施方式】
[0024] 示例性方面在此在用于检测移动装置上的恶意文件的系统、方法和计算机程序产 品的背景下描述。本领域的普通技术人员应知道W下描述仅为示范性的,且不旨在W任何 方式限制。其它方面将容易对于受益于本公开内容的本领域的技术人员显现。现在将详细 参照如附图中所示的示例性方面的实施方式。相同的参考指示符将在附图和W下描述各处 可能的程度用于表示相同或相似的项目。
[0025] 用于检测移动装置上的恶意文件的系统、方法和计算机程序产品的示例性方法将 在安卓0S的背景下在此描述。然而,本领域的普通技术人员将认识到运些方面可容易地适 于其它移动操作系统和平台。将首先考虑安卓0S中执行的应用程序的特性。当创造出用于 安卓0S的应用时,文件由安卓程序包格式(下文为acr文件)构成,其基本上是档案文件。档 案文件大体上包含W下文件:"META-INF"目录、"res"目录、文件"An化oidManifest.xml"、 文件"classes. dex"和文件"resources. arse" 〇
[00%] META-INF目录继而又包含为应用程序的证书的文件CERT.RSA,包含资源文件(如, 图片、声音等)的校验的文件CERT. SF,W及包含描述apk文件自身的业务信息的文件 MANIFEST.MF。换言之,该文件夹包含由开发者公司验证所述应用程序的应用程序的签名文 件。
[0027] "res"文件夹包含各种资源文件,例如,其使得有可能显示界面和图片,W及再现 应用程序的调整。
[00巧]文件"AmlroidManifest .xml"是所谓的"apk应用程序的通行证"。该文件包含关于
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1