首页> 中国专利> 使用推升式决策树桩和联合特征选择及剔选算法来对移动设备行为进行高效分类的方法和系统

使用推升式决策树桩和联合特征选择及剔选算法来对移动设备行为进行高效分类的方法和系统

摘要

用于分类移动设备行为的方法和系统包括配置服务器使用大型移动设备行为素材库来生成完整分类器模型,该完整分类器模型包括适合转换成推升式决策树桩的有限状态机和/或描述与确定移动设备行为是否为良性或是否造成移动设备随时间降级相关的所有或许多特征。移动设备可接收该完整分类器模型并使用该模型来生成完整推升式决策树桩集合,其中根据该完整推升式决策树桩集合通过将该完整集合剔选为适合高效地确定移动设备行为是否为良性的子集来生成目标更集中的或更精简的分类器模型。可通过选择依赖于有限测试条件集合的所有推升式决策树桩来剔选推升式决策树桩。

著录项

  • 公开/公告号CN104885099A

    专利类型发明专利

  • 公开/公告日2015-09-02

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201380069119.8

  • 发明设计人 K·法瓦兹;V·斯里答拉;R·吉普塔;

    申请日2013-12-30

  • 分类号

  • 代理机构上海专利商标事务所有限公司;

  • 代理人李小芳

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 10:40:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-08

    授权

    授权

  • 2015-09-30

    实质审查的生效 IPC(主分类):G06N5/04 申请日:20131230

    实质审查的生效

  • 2015-09-02

    公开

    公开

说明书

相关申请

本申请要求于2013年9月5日提交的题为“Methods and Systems of Using  Boosted Decision Stumps and Joint Feature Selection and Pruning Algorithms for  the Efficient Classification of Mobile Device Behaviors(使用推升式决策树桩和 联合特征选择及修枝算法来对移动设备行为进行高效分类的方法和系统)”的 美国临时申请No.61/874,129、于2013年1月2日提交的题为“On-Device  Real-Time Behavior Analyzer(设备上的实时行为分析器)”的美国临时专利申 请No.61/748,217、以及于2013年1月2日提交的题为“Architecture for  Client-Cloud Behavior Analyzer(用于客户端-云行为分析器的架构)”的美国 临时专利申请No.61/748,220的优先权权益,以上所有申请的全部内容通过援 引纳入于此。

背景

蜂窝和无线通信技术在过去数年已见证爆发式增长。此增长已被更好的通 信、硬件、更大的网络、以及更可靠的协议推动。结果,无线服务提供方现在 能够向他们的消费者提供空前程度的对信息、资源、和通信的访问。

为了跟上这些服务增强,移动电子设备(例如,蜂窝电话、平板设备、膝 上型计算机等)已变得比以往任何时候都更强大且更复杂。这种复杂性为恶意 软件、软件冲突、硬件故障、以及其他类似差错或现象造成了负面影响移动设 备的长期和持续性能以及功率利用水平的新机会。相应地,标识并纠正可能负 面地影响移动设备的长期和持续性能以及功率利用水平的状况和/或移动设备 行为对消费者而言是有益的。

概述

各方面包括在移动设备中生成精简行为分类器模型的方法,其可包括在移 动设备的处理器中接收包括有限状态机的完整分类器模型,以及在移动设备中 使用该完整分类器模型来生成精简分类器模型。该有限状态机可包括适合转换 成或表达为多个推升式决策树桩的信息,且每个推升式决策树桩可包括测试条 件和权重值。在一方面,该方法可进一步包括在移动设备中使用该精简分类器 模型来将该移动设备的行为分类为良性或非良性的(即,恶意的、使性能降级 的、等等)。

在一方面,基于完整分类器模型来生成精简分类器模型可包括:将完整分 类器模型中所包括的有限状态机转换成推升式决策树桩列表,以及基于推升式 决策树桩列表中所包括的推升式决策树桩来生成精简分类器模型。

在一方面,基于完整分类器模型来生成精简分类器模型可进一步包括:确 定为了分类移动设备行为而应当评估而又不消耗该移动设备的过量处理、存储 器或能量资源的独特测试条件的数目,通过顺序地遍历该推升式决策树桩列表 并将与每个顺序地遍历的推升式决策树桩相关联的测试条件插入测试条件列 表直至该测试条件列表可包括所确定数目的独特测试条件来生成该测试条件 列表,以及生成精简分类器模型以仅包括测试所生成的测试条件列表中包括的 多个测试条件之一的那些推升式决策树桩。

在一方面,该方法可包括在移动设备中使用精简分类器模型通过如下操作 来将移动设备的行为分类为良性或非良性:将所收集的行为信息应用于精简分 类器模型中的每个推升式决策树桩,计算将所收集的行为信息应用于精简分类 器模型中的每个推升式决策树桩的结果的加权平均,以及将该加权平均与阈值 作比较。

在一方面,基于完整分类器模型来生成精简分类器模型可包括:将完整分 类器模型中所包括的有限状态机转换成推升式决策树桩列表,以及基于推升式 决策树桩列表中所包括的推升式决策树桩来生成精简分类器模型族,该精简分 类器模型族包括该精简分类器模型以及多个附加精简分类器模型,该多个附加 精简分类器模型中的每一者包括不同数目的独特测试条件。

在一方面,生成精简分类器模型可包括生成多个精简分类器模型,每个精 简分类器模型包括使用不同权重值和不同阈值来测试第一条件的决策树桩。在 一方面,该方法可包括重新计算与在移动设备中基于完整分类器模型生成的多 个精简分类器模型中的推升式决策树桩相关联的阈值。在一方面,该方法可包 括重新计算与在移动设备中基于完整分类器模型生成的多个精简分类器模型 中的推升式决策树桩相关联的权重值。

在一方面,该方法可包括在服务器中通过以下操作来生成完整分类器模 型:在服务器中接收关于移动设备行为的信息素材库,以及基于关于移动设备 行为的信息素材库来生成有限状态机以包括适合转换成多个推升式决策树桩 的数据,以及将有限状态机作为完整分类器模型发送给移动设备。在一方面, 该多个测试条件中的每个测试条件与概率值相关联,该概率值标识其相关联的 测试条件将使得移动设备能确定移动设备行为是否为良性的可能性,该方法进 一步包括:在将有限状态机作为完整分类器模型发送给移动设备之前基于概率 值来组织有限状态机中的推升式决策树桩。

进一步的方面包括一种具有处理器的移动计算设备,该处理器配置有处理 器可执行指令以执行上述方法的操作。

进一步的方面包括其上存储有处理器可执行软件指令的非瞬态计算机可 读存储介质,这些软件指令被配置成使移动设备中的处理器执行上述方法的操 作。

进一步的方面包括一种系统,其包括:包括设备处理器的移动设备;以及 服务器,其配置有服务器可执行指令以执行操作,这些操作包括:接收关于移 动设备行为的信息素材库,基于该信息素材库来生成有限状态机并包括适合转 换成多个推升式决策树桩的数据,每个推升式决策树桩包括测试条件和权重 值,以及将有限状态机作为完整分类器模型发送给移动设备。在一方面,该设 备处理器可配置有处理器可执行指令以用于执行操作,这些操作包括:接收完 整分类器模型,在移动设备中基于所接收的完整分类器模型来生成精简分类器 模型,以及使用该精简分类器模型来将该移动设备的行为分类为良性或非良 性。

在一方面的系统中,该设备处理器可配置有处理器可执行指令以执行操 作,以使得基于完整分类器模型来生成精简分类器模型包括:将完整分类器模 型中所包括的有限状态机转换成推升式决策树桩列表;确定为了分类移动设备 的行为而应当评估而又不消耗该移动设备的过量处理、存储器或能量资源的独 特测试条件的数目;通过顺序地遍历推升式决策树桩列表并将与每个顺序地遍 历的推升式决策树桩相关联的测试条件插入测试条件列表直至该测试条件列 表包括所确定数目的独特测试条件来生成该测试条件列表;以及生成精简分类 器模型以包括推升式决策树桩列表中所包括的测试所生成的测试条件列表中 所包括的多个测试条件之一的推升式决策树桩。

在一方面的系统中,该设备处理器可配置有处理器可执行指令以执行操 作,以使得使用精简分类器模型来分类移动设备的行为包括:将所收集的行 为信息应用于该精简分类器模型中的每个推升式决策树桩,计算将所收集的行 为信息应用于该精简分类器模型中的每个推升式决策树桩的结果的加权平均, 以及将该加权平均与阈值作比较。在一方面的系统中,该设备处理器可配置有 处理器可执行指令以执行操作,以使得基于完整分类器模型来生成精简分类器 模型包括:将完整分类器模型中所包括的有限状态机转换成推升式决策树桩列 表,以及基于推升式决策树桩列表中所包括的推升式决策树桩来生成精简分类 器模型族,该精简分类器模型族包括该精简分类器模型以及多个附加精简分类 器模型,该多个附加精简分类器模型中的每一者包括不同数目的独特测试条 件。

在一方面的系统中,该设备处理器可配置有处理器可执行指令以执行操 作,以使得基于完整分类器模型来生成精简分类器模型包括:生成多个精简分 类器模型,每个精简分类器模型包括使用不同权重值和不同阈值来测试第一条 件的决策树桩。在一方面的系统中,该设备处理器可配置有处理器可执行指令 以用于执行操作,这些操作进一步包括:重新计算与该多个精简分类器模型中 的推升式决策树桩相关联的阈值和权重值。

在一方面的系统中,服务器可配置有服务器可执行指令以用于执行操作, 以使得该多个测试条件中的每个测试条件与概率值相关联,该概率值标识其相 关联的测试条件将使得移动设备能确定移动设备行为是否为良性的可能性。在 一方面的系统中,服务器可配置有服务器可执行指令以用于执行操作,这些操 作进一步包括在将有限状态机作为完整分类器模型发送给移动设备之前基于 概率值来组织有限状态机中的推升式决策树桩。

附图简述

纳入本文且构成本说明书一部分的附图解说了本发明的示例性方面,并与 以上给出的一般描述和下面给出的详细描述一起用来解释本发明的特征。

图1是解说适合与各种方面联用的示例电信系统的网络组件的通信系统 框图。

图2是解说一方面的移动设备中被配置成确定特定移动设备行为是恶意 的、使性能降级的、可疑的、还是良性的示例逻辑组件和信息流的框图。

图3是解说包括网络服务器的一方面的系统中的示例组件和信息流的框 图,该网络服务器被配置成与移动设备协作以确定特定移动设备行为是恶意 的、使性能降级的、可疑的、还是良性的。

图4是解说包括移动设备的一方面的系统中的示例组件和信息流的框图, 该移动设备被配置成从完整分类器模型生成目标定向的且精简的分类器模型 而无需重新训练数据、行为向量或分类器模型。

图5A是解说在移动设备中生成精简分类器模型的一方面的移动设备方法 的过程流图,该精简分类器模型包括从网络服务器接收到的完整分类器模型中 所包括的特征和数据点的子集。

图5B是解说在移动设备中本地生成精简分类器模型的另一方面的移动设 备方法的过程流图。

图5C是解说使用本地生成的精简分类器模型来分类移动设备的行为的一 方面的移动设备方法的过程流图。

图5D是解说在移动设备中生成精简分类器模型的又一方面的移动设备方 法的过程流图。

图6A是解说在网络服务器中生成完整分类器模型的一方面的网络服务器 方法的过程流图,该完整分类器模型包括适合由移动设备用于生成目标更集中 和更精简的分类器模型的推升式决策树桩。

图6B是解说根据各方面的适合用于生成推升式决策树桩分类器的示例方 法的过程流图。

图7是根据一方面的生成包括推升式决策树桩的分类器模型的示例方法 的过程流图。

图8是可由一方面的服务器处理器生成并由移动设备处理器用来生成精 简分类器模型的示例推升式决策树桩的解说。

图9是解说根据一方面的被配置成执行动态和自适应观测的观测器模块 中的示例逻辑组件和信息流的框图。

图10是解说根据另一方面的实现观测器守护进程的计算系统中的逻辑组 件和信息流的框图。

图11是解说用于在移动设备上执行自适应观测的一方面方法的过程流 图。

图12是适于在一方面中使用的移动设备的组件框图。

图13是适于在一方面中使用的服务器设备的组件框图。

详细描述

将参照附图详细描述各种方面。在可能之处,相同附图标记将贯穿附图用 于指代相同或类似部分。对特定示例和实现所作的引用是用于解说性目的,而 无意限定本发明或权利要求的范围。

措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描 述为“示例性”的任何实现不必然被解释为优于或胜过其他实现。

概言之,各种方面包括用于高效地标识、分类、建模、防止和/或纠正常 常使移动设备的性能和/或功率利用水平随时间降级的状况和/或移动设备行为 的网络服务器、移动设备、系统和方法。网络服务器可被配置成从中央数据库 (例如,“云”)接收关于各种状况、特征、行为和纠正性动作的信息,并使 用此信息来生成以能由移动设备快速地转换成一个或多个精简分类器模型的 格式或结构来描述大型行为信息素材库的完整分类器模型(即,数据或行为模 型)。

在一方面,完整分类器模型可以是大型行为信息素材库的有限状态机描述 或表示。在一方面,该有限状态机可包括适于表达为多个推升式决策树桩的信 息。例如,该有限状态机可以是可表达为推升式决策树桩族的信息结构,这些 推升式决策树桩共同地标识、描述、测试、或评估与确定移动设备行为是否为 良性或是否造成该移动设备随时间推移的性能降级相关的所有或许多特征和 数据点。网络服务器可随后将完整分类器模型(即,包括有限状态机和/或推升 式决策树桩族等的信息结构)发送给移动设备。

移动设备可被配置成接收并使用完整分类器模型来生成精简分类器模型 或有不同复杂度水平(或“精简度”)的精简分类器模型族。为完成此举,移 动设备可剔选出从网络服务器接收的完整分类器模型(本文称为“完整推升式 决策树桩分类器模型”)中所包括的稳健推升式决策树桩族,以生成包括缩减 数目的推升式决策树桩和/或评估有限数目的测试条件的精简分类器模型。对完 整推升式决策树桩分类器模型的此剔选可通过以下方式来完成:选择一推升式 决策树桩;标识依赖于与所选决策树桩相同的移动设备状态、特征、行为或状 况(且由此可基于一个确定结果而被应用)的所有其他推升式决策树桩;在精 简分类器模型中包括所选推升式决策树桩和所有标识出的依赖于相同移动设 备状态、特征、行为或状况的其他推升式决策树桩;以及针对尚未被包括在精 简分类器模型中的有限数目个所选推升式决策树桩重复该过程。以此方式,可 生成包括依赖于有限数目个不同移动设备状态、特征、行为或状况的所有推升 式决策树桩的精简分类器模型。移动设备随后可使用该本地生成的精简分类器 模型来快速地分类移动设备行为,而不会消耗其过量处理、存储器或能量资源。

在一方面,移动设备可使用不同数目个不同移动设备状态、特征、行为或 状况来数次执行剔选完整推升式决策树桩分类器模型的操作,以生成有不同精 简度的精简分类器模型族。用于创建精简分类器模型的不同移动设备状态、特 征、行为或状况的数目越大,该模型将越有可能准确地标识恶意或可疑行为, 但将消耗越多处理能力。由此,在一方面,移动设备可被配置成例行地应用精 简分类器模型族中最精简的分类器模型(即,基于最少数目的不同移动设备状 态、特征、行为、或状况的模型)。如果最精简的分类器模型所生成的结果是 可疑的,则移动设备处理器可应用评估更多设备状态、特征、行为、或状况的 更强的(即,精简度较低的)分类器模型,以确定该行为能被标识为恶意的还 是良性的。如果通过应用该精简度较低的分类器模型所生成的结果仍是可疑 的,则可应用甚至更强的(精简度甚至更低的)分类器模型,依此类推,直至 该行为被确定性地分类为恶意的或良性的。

通过将关于此类行为和纠正性动作的信息存储在中央数据库(例如, “云”)中,并且将移动设备和网络服务器配置成彼此协作以使用存储在中央 数据库中的该信息来智能且高效地标识造成每个移动设备的性能和功率利用 水平随时间降级的因素,各方面使得移动设备能更准确且高效地标识并响应于 该移动设备的限制性能的和不期望的操作状况。

另外,通过在网络服务器中生成包括推升式决策树桩的分类器模型并将这 些分类器/模型发送给移动设备,各种方面允许移动设备通过以上述方式剔选出 数个推升式决策树桩来在移动设备中快速且高效地生成精简(或目标更集中 的)分类器模型,而无需访问训练数据或进一步与网络服务器、中央数据库、 或云网络/服务器通信。这显著减少了移动设备对网络的依赖性,并进一步改善 了移动设备的性能和功耗特性。

有数种不同的蜂窝和移动通信服务和标准可用或在将来被构想,其皆可实 现各方面并受益于各方面。此类服务和标准包括例如第三代伙伴项目(3GPP)、 长期演进(LTE)系统、第三代无线移动通信技术(3G)、第四代无线移动通 信技术(4G)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、 3GSM、通用分组无线电服务(GPRS)、码分多址(CDMA)系统(例如cdmaOne、 CDMA1020TM)、增强数据率GSM演进(EDGE)、高级移动电话系统(AMPS)、 数字AMPS(IS-136/TDMA)、演进数据优化(EV-DO)、数字增强型无绳电 信(DECT)、微波接入全球互通(WiMAX)、无线局域网(WLAN)、Wi-Fi 受保护接入I&II(WPA、WPA2)、以及综合数字增强网络(iden)。这些技 术中的每一者涉及例如语音、数据、信令、和/或内容消息的传送和接收。应理 解,对与个体电信标准或技术相关的术语和/或技术细节的任何引述是仅用于解 说目的的,且并不意在将权利要求的范围限定于特定通信系统或技术,除非权 利要求语言中有具体陈述。

本文可互换地使用术语“移动计算设备”和“移动设备”来指代以下任一 者或全部:蜂窝电话、智能手机、个人或移动多媒体播放器、个人数据助理 (PDA)、膝上型计算机、平板计算机、智能本、超级本、掌上计算机、无线 电子邮件接收器、启用因特网的多媒体蜂窝电话、无线游戏控制器,以及包括 存储器、可编程处理器(对其而言性能是重要的)并且使用电池电源工作以使 得功率节省方法有益处的类似个人电子设备。虽然各种方面对于具有有限资源 并且使用电池工作的移动计算设备(诸如智能手机)特别有用,但这些方面在 包括处理器并执行应用程序的任何电子设备中都普遍有用。

一般而言,移动设备的性能和功率效率随时间而降级。最近,防病毒公司 (例如,McAfee、Symantec等)已开始营销旨在减缓这种降级的移动防病毒、 防火墙及加密产品。然而,许多这些解决方案依赖于在移动设备上周期性地执 行计算密集型扫描引擎,其可消耗移动设备的许多处理和电池资源、使移动设 备在延长时段里变慢或无用、和/或以其他形式使用户体验降级。另外,这些解 决方案通常限于检测已知病毒及恶意软件,且并不解决常常组合起来造成移动 设备随时间降级的多个复杂因素和/或交互(例如,当性能降级不是由病毒或恶 意软件引起时)。出于这些及其他原因,现有防病毒、防火墙及加密产品并不 提供胜任于标识可造成移动设备随时间降级的众多因素、防止移动设备降级、 或高效地使老化中的移动设备复原至其初始状况的解决方案。

存在用于通过使用机器学习技术或建模在计算设备上执行的进程或应用 程序的行为来检测恶意软件的各种其他解决方案。然而,这些解决方案中的许 多解决方案并不适合用在移动设备上,因为它们要求评估非常大的数据素材 库、被限于评估个体应用程序或进程、或者要求在移动设备中执行计算密集型 进程。如此,在移动设备中实现或执行此类解决方案可能对移动设备的响应性、 性能、或功耗特性具有显著的负面影响和/或用户可感知的影响。出于这些及其 他原因,现有的建模和机器学习解决方案不是非常适合用在现代移动设备的复 杂但资源受约束的系统中。

例如,现有的基于机器学习的解决方案可包括将计算设备配置成使用训练 数据素材库来推导取特征向量作为输入的模型。然而,此类解决方案并不生成 包括适合转换成或表达为多个推升式决策树桩(每个推升式决策树桩包括测试 条件和权重值)的有限状态机(或其他类似信息结构)的完整分类器模型(或 分类器模型族)。至少出于此原因,此类解决方案不能被移动设备处理器用于 快速且高效地生成包括可被用于快速且高效地标识、分析和/或分类移动设备行 为而不会对移动设备的响应性或性能或功耗特性具有显著的、负面的、或用户 可感知的影响的、目标集中的推升式决策树桩集合的精简分类器模型。

移动设备是具有相对有限的处理、存储器和能量资源的资源受约束系统。 现代移动设备也是复杂系统,并且往往不可能评估所有可能是恶意的或因其他 原因造成移动设备的性能降级的各种数据流、数据操作(读、写、数据编码、 数据传输等)、进程、组件、行为、或因素(或其组合)。出于这些及其他原 因,要由用户、操作系统、和/或应用程序(例如,防病毒软件等)来准确且高 效地标识问题的源和/或提供对所标识的问题的恰当补救措施越来越困难。结 果,移动设备用户当前几乎没有多少用于防止移动设备的性能和功率利用水平 随时间降级的补救措施。

各种方面包括用于高效地标识、分类、建模、防止和/或纠正常常使移动 设备的性能和/或功率利用水平随时间降级的状况和/或移动设备行为的网络服 务器、移动设备、系统和方法。

在一方面,移动设备的观测器进程、守护进程、模块或子系统(本文统称 为“模块”)可置备或协调移动设备系统的各种层级处的各种API、寄存器、 计数器或其他组件(本文统称为“所置备组件”)。观测器模块可通过收集来 自所置备组件的行为信息来持续地(或几乎持续地)监视移动设备行为。移动 设备还可包括分析器模块,并且观测器模块可将所收集的行为信息(例如,经 由存储器写操作、函数调用等)传达给移动设备的分析器模块。分类器模块可 接收并使用该行为信息来生成行为向量,基于行为向量生成空间和/或时间相 关,并使用此信息来确定特定移动设备行为、子系统、软件应用、或进程是良 性的、可疑的、恶意的、还是使性能降级的。

分析器模块可被配置成执行实时行为分析操作,这可包括对所收集的行为 信息执行、运行和/或应用数据、算法、分类器或行为模型(本文统称为“分类 器模型”)以确定移动设备行为是良性的还是非良性的(例如,恶意的或使性 能降级的)。每一分类器模型可以是包括可由移动设备处理器用来评估移动设 备行为的具体方面的信息的行为模型。分类器模型可被预先安装在移动设备 上、被下载、从网络服务器接收、在移动设备中生成,或其任何组合。可通过 使用机器学习及其他类似技术来生成分类器模型。

每一分类器模型可被分类为完整分类器模型或精简分类器模型。完整分类 器模型可以是因变于可包括数千特征和数十亿条目的大型训练数据集来生成 的稳健数据模型。精简分类器模型可以是从仅包括与确定特定移动设备行为是 良性的还是非良性的(例如,恶意的或使性能降级的)最相关的特征/条目的缩 减数据集来生成的目标更集中的数据模型。

如上文所提及的,可存在数千特征/因素和数十亿数据点需要分析以正当 地标识移动设备降级的原因或源。因此,分析器模块所使用的每个分类器模型 必需针对非常大量的特征、因素和数据点被训练,以使得移动设备能够关于特 定移动设备行为是良性的还是非良性的(例如,恶意的或使性能降级的)作出 准确判定。但是,由于移动设备是资源受约束系统,因此往往不可能使分析器 模块评估所有这些特征、因素和数据点。因此,重要的是要使分析器模块应用 目标集中于评估在分类移动设备行为时原本将要求分析的所有特征、因素和数 据点的目标定向子集的精简分类器模型。

各种方面包括移动设备和网络服务器,它们配置成彼此协作以智能且高效 地标识与确定移动设备行为是良性的还是非良性的(例如,恶意的或使性能降 级的)最相关的特征、因素和数据点。通过在网络服务器中生成包括推升式决 策树桩的分类器模型并将这些分类器/模型发送给移动设备,各种方面允许移动 设备快速且高效地在该移动设备中生成精简分类器模型。

在各种方面,网络服务器可被配置成从云服务/网络接收关于移动设备行 为和状态、特征以及在那些行为期间或表征那些行为的状况的大量信息。此信 息可以是非常大的移动设备行为向量云素材库的形式。网络服务器可使用此信 息来生成准确地描述非常大的行为向量云素材库的完整分类器模型(即,稳健 数据/行为模型)。网络服务器可生成完整分类器模型以包括可造成数个不同移 动设备中的任一者随时间降级的所有或绝大多数特征、数据点和/或因素。

在一方面,网络服务器可生成完整分类器模型以包括有限状态机表达或表 示(诸如,推升式决策树桩或推升式决策树桩族)。此有限状态机表达或表示 可通过在移动设备处理器处应用剔选算法而被快速且高效地剔选、修改或转换 成适于在移动设备中使用或执行的精简分类器模型。该有限状态机表达或表示 可以是包括测试条件、状态信息、状态转变规则及其他类似信息的信息结构。 在一方面,有限状态机表达或表示可以是包括大型或稳健推升式决策树桩族的 信息结构,其中每一推升式决策树桩评估或测试移动设备行为的状况、特征、 因素或方面。

移动设备可被配置成从网络服务器接收完整分类器模型,并使用接收到的 完整分类器模型来在移动设备本地生成精简分类器模型(即,数据/行为模型)。 移动设备可通过将接收到的完整分类器模型中所包括的推升式决策树桩集合 剔选成标识、测试、评估和/或依赖于缩减的或有限数目个不同移动设备状态、 特征、行为或状况的推升式决策树桩子集来生成这些本地精简分类器模型。对 完整推升式决策树桩集合的此剔选可通过以下方式来完成:选择一推升式决策 树桩;标识依赖于与所选决策树桩相同的移动设备状态、特征、行为或状况(且 由此能基于一个确定结果而被应用)的所有其他推升式决策树桩;在精简分类 器模型中包括所选推升式决策树桩和所有标识出的依赖于相同移动设备状态、 特征、行为或状况的其他推升式决策树桩;以及针对尚未被包括在精简分类器 模型中的缩减/有限数目个所选推升式决策树桩重复该过程。通过使用被测试的 不同数目的移动设备状态、特征、行为或状况来重复该过程,可生成具有由被 评估的数个状态、特征、行为或状况确定的不同精简度的精简分类器模型族。 另外,这些精简分类器模型中的每一者可测试或评估与另一精简分类器模型相 同的一些或全部特征或状况,但是使用不同阈值和/或指派给所评估的测试结 果、特征或状况的重要性的不同权重来测试或评估的。因此,生成或重新生成 精简分类器模型的过程可包括重新计算与决策树桩相关联的阈值和/或权重。

因为这些精简分类器模型包括必须测试的状态、特征、行为或状况的缩减 子集(与完整分类器模型相比),所以观测器和/或分析器模块可使用它们来快 速且准确地确定移动设备行为是良性的还是造成移动设备性能降级的,而不消 耗移动设备的过量处理、存储器或能量资源。如上所述,该精简分类器模型族 中的最精简模型(即,基于最少数目个测试条件的精简分类器模型)可例行地 被应用,直至遇到该模型不能将其分类为良性或恶意(且因此被该模型分类为 可疑)的行为,此时可应用更稳健(即,精简度较低)的精简分类器模型以尝 试将该行为分类为良性的或恶意的。所生成的精简分类器模型族内的越加稳健 的精简分类器模型的应用可被应用,直至达成对该行为的确定性分类。以此方 式,观测器和/或分析器模块可通过限制将最完整但资源密集的精简分类器模型 用于需要稳健分类器模型以确定性地分类一行为的那些情形来在效率与准确 度之间达成平衡。

在各种方面,移动设备可被配置成通过以下方式生成一个或多个精简分类 器模型:将有限状态机表示/表达转换成推升式决策树桩,将完整分类器模型中 所包括的完整推升式决策树桩集合剔选为依赖于有限数目个不同移动设备状 态、特征、行为或状况的一个或数个推升式决策树桩子集,以及使用这一个或 数个推升式决策树桩子集来智能地监视、分析和/或分类移动设备行为。对推升 式决策树桩的使用允许观测器和/或分析器模块生成并应用精简数据模型,而无 需与云或网络通信以重新训练数据,这显著减少了移动设备对网络服务器和云 的依赖。这消除了移动设备与网络服务器之间的反馈通信,此举进一步改善了 移动设备的性能和功耗特性。

推升式决策树桩是正好具有一个节点(且由此具有一个测试问题或测试条 件)和权重值的一级决策树,且由此非常适合用在数据/行为的二元分类中。即, 向推升式决策树桩应用行为向量得到二元答案(例如,是或否)。例如,如果 由推升式决策树桩测试的问题/条件是“短消息服务(SMS)传输的频度是否小 于x个/分钟”,则向该推升式决策树桩应用值“3”将得到答案“是”(对于 “小于3个”的SMS传输)或者答案“否”(对于“3个或更多”的SMS传 输)。

推升式决策树桩是高效的,因为它们是非常简单且原始的(且由此不需要 显著的处理资源)。推升式决策树桩也是非常可并行化的,且由此许多树桩可 并行地/同时地被应用或测试(例如,被移动设备中的多个核或处理器应用或测 试)。

如下所述,网络服务器(或另一计算设备)可从另一更复杂的移动设备行 为模型(诸如推升式决策树模型)生成推升式决策树桩型完整分类器模型。此 类复杂模型可将深奥分类系统中表征移动设备行为的设备状态、操作和被监视 节点之间的完整(或几乎完整)集合的交互进行相关。如上所提及的,服务器 或另一计算设备可通过应用机器学习技术生成描述从大量移动设备收集的移 动设备行为向量云素材库的模型来生成完整的复杂分类器模型。作为示例,推 升式决策树分类器模型可跟踪通过可测试条件的决策节点的数百条路径以得 出对当前移动设备行为为恶意还是良性的确定。此类复杂模型可在服务器中使 用数种已知的学习和相关(correlation)建模技术来生成。虽然此类复杂模型 可通过从来自数百移动设备的数据进行学习而在准确地识别恶意行为方面变 得非常有效,但将它们应用于特定移动设备的配置和行为可能要求显著的处 理,尤其是在该模型涉及复杂的多级决策树时。由于移动设备通常是资源受限 的,因此使用此类模型可能影响设备性能和电池寿命。

为了交付更有利于由移动设备使用的稳健分类器模型,服务器(例如,云 服务器或网络服务器)或另一计算设备(例如,移动设备或将耦合至该移动设 备的计算机)可将复杂分类器模型变换成大型推升式决策树桩模型。决策树桩 中涉及的更简单确定和在并行进程中应用此类分类器模型的能力可使得移动 设备能更好地受益于由网络服务器执行的分析。而且,如以下讨论的,推升式 决策树桩完整分类器模型可由移动设备用来使用以下描述的方面方法生成精 简分类器模型。

在一方面,生成推升式决策树桩完整分类器模型的服务器或另一计算设备 可通过遵循以下更详细描述的一方面过程来这样做。概言之,服务器或另一计 算设备可选择完整的复杂分类器模型(例如,推升式决策树模型)内的节点并 应用该模型以确定该节点预示恶意行为的时间百分比。换言之,服务器或另一 计算设备可选择该节点的一个分支并遵循连接至该分支的所有后续节点和路 径以确定该分支导致确定恶意行为的时间分数。在一方面,该时间分数可被用 于计算该节点的“权重”因素。例如,具有其后续路径有80%的时间得到恶意 行为结论的一个分支的决策节点可与加权因子0.8相关联,从而指示该单个决 策节点是潜在恶意的(且由此可疑的)行为的可靠指示符。作为另一示例,复 杂分类器模型中其各分支可等同地导致恶意行为结论的决策节点在识别恶意 行为方面几乎将不会提供辅助,且由此可被给予非常低的加权因子或优先级。

在跟踪来自每个决策节点的后果的过程中,如果决策节点不是二元的(即, “是”或“否”),则服务器或另一计算设备可向每个节点应用各种各样的测 试条件。例如,复杂的分类器模型可容适一值范围(例如,每分钟传送的SMS 消息的数目),其最终结论取决于该值。然而,值范围与决策树桩的二元本质 不一致。因此,服务器或另一计算设备可为此类节点开发有利于由值表征的状 况的一系列二元决策或测试。例如,服务器或另一计算设备可通过复杂分类器 模型来生成并测试数个阈值测试或条件,诸如“大于1”、“大于10”和“大 于100”。此类阈值测试可由服务器基于它从研究该复杂模型所能达到的结论 来标识或选择。每个此类基于阈值的测试可随后被当作单个决策树桩,其可被 测试以确定其预测值并由此确定其推升因子。

通过贯穿复杂分类器模型中的所有决策节点地遵循此过程,服务器或另一 计算设备能将复杂的多层决策模型变换成大量推升式决策树桩的单层模型。服 务器或另一计算设备可随后通过移除其值低于阈值的决策树桩以便移除提供 非常少的预测或分类效益的测试条件(例如,“上电了吗?”)来修剪该模型。

虽然在完整分类器模型中结果得到的此类树桩的数目可能是很大的,但树 桩的二元本质可促成其应用,尤其是在资源受约束的处理器中。在一方面,服 务器或另一计算设备可将推升式决策树桩完整分类器模型提供给移动设备以 供其使用。

生成大型推升式决策树桩分类器模型的过程可由云服务器来生成,该云服 务器分析来自许多移动设备的输入并生成完整的复杂行为分类器模型,因为此 类服务器将具有完成该分析的处理资源和处理时间。然而,如上所提及,各方 面方法也可由另一计算设备(甚至包括移动设备)来执行。在这一方面,服务 器(例如,云或网络服务器)可将完整的复杂行为分类器模型递送给该另一计 算设备,该另一计算设备可随后如以上概述且以下更详细描述地处理该模型以 将其变换成推升式决策树桩模型。例如,被用户耦合至他/她的移动设备的个人 计算机可下载完整的复杂行为分类器模型并随后执行各方面方法以生成使得 对移动设备可用(例如,通过有线或无线数据链路)的大型推升式决策树桩模 型。作为另一示例,移动设备可下载完整的复杂行为分类器模型并随后执行各 方面方法(诸如在设备正被充电且未在使用中的深夜时分期间)以生成大型推 升式决策树桩模型,移动设备将其存储在存储器中。由于由服务器或另一计算 设备所实现的过程是非常类似的,因此各方面方法在以下更详细地描述为由服 务器执行。然而,该描述是用于示例目的且无意将各方面方法限定于在服务器 上执行,除非在权利要求中明确如此陈述。

在进一步方面,移动设备可被配置成使用接收到的或自己生成的大型推升 式决策树桩分类器模型通过选择在决策树桩中测试的有限数目个因素来构建 精简分类器模型,而无需访问训练数据且无需消耗移动设备的过量处理、存储 器或能量资源。分析器模块可使用所选推升式决策树桩的精简分类器模型来标 识恶意软件并将设备行为分类为恶意的或良性的。如以下更全面地描述的,移 动设备可通过如下操作来生成精简分类器模型:确定将测试的要监视特征的数 目(例如,15个),选择第一特征并在精简分类器中纳入包括对该特征的测试 的所有推升式决策树桩(例如,具有基于从被监视的特征获得的值的阈值测试 的所有树桩),以及重复此过程直至精简分类器模型中针对的特征数目为所确 定的数目。值得注意的是,此类精简分类器模型中的推升式决策树桩的数目可 显著大于特征数目。

在一方面,移动设备可被配置成接收包括适合转换成多个推升式决策树桩 的有限状态机的完整分类器模型。移动设备可基于该完整分类器模型来生成精 简分类器模型,这可通过将完整分类器模型的有限状态机转换成推升式决策树 桩并将这些推升式决策树桩用作精简分类器模型来完成。

各个方面可实现在各种各样的通信系统内,诸如图1中解说的示例通信系 统100。典型的蜂窝电话网络104包括耦合到网络操作中心108的多个蜂窝基 站106,网络操作中心108操作用于诸如经由电话陆线(例如,POTS网络, 未示出)和因特网110来连接移动设备102(例如,蜂窝电话、膝上型计算机、 平板设备等)与其他网络目的地之间的语音呼叫和数据。移动设备102与电话 网络104之间的通信可经由双向无线通信链路112(诸如4G、3G、CDMA、 TDMA、LTE和/或其他蜂窝电话通信技术)来实现。电话网络104还可包括 耦合至网络操作中心108或者在该网络操作中心108内的一个或多个服务器 114,该(些)服务器114提供到因特网110的连接。

通信系统100可进一步包括连接至电话网络104和因特网110的网络服务 器116。网络服务器116与电话网络104之间的连接可通过因特网110或通过 专用网络(如虚箭头所解说的)。网络服务器116也可实现为云服务提供方网 络118的网络基础设施内的服务器。网络服务器116与移动设备102之间的通 信可通过电话网络104、因特网110、专用网络(未图解)、或其任何组合来 达成。

网络服务器116可将精简数据/行为模型发送给移动设备102,移动设备 102可接收并使用精简数据/行为模型来标识可疑的或使性能降级的移动设备 行为、软件应用、进程等。网络服务器116还可将分类和建模信息发送给移动 设备102以替换、更新、创建和/或维护移动设备数据/行为模型。

移动设备102还可收集移动设备102中的行为、状态、分类、建模、成功 率、和/或统计信息,并将所收集的信息发送给网络服务器116(例如,经由电 话网络104)进行分析。网络服务器116可使用从移动设备102接收到的信息 来更新或完善精简数据/行为模型或分类/建模信息以包括进一步目标定向的和 /或缩减的特征子集。

在一方面,移动设备102可被配置成使用所收集的行为、状态、分类、建 模、成功率、和/或统计信息来在移动设备102中生成、更新或完善精简分类器 模型(或数据/行为模型),该模型包括进一步目标定向的和/或缩减的特征子 集。这减少了移动设备与网络服务器116之间的反馈通信量,并改善了移动设 备102的性能和功耗特性。

图2解说了一方面的移动设备102中被配置成确定特定移动设备行为、软 件应用、或进程是恶意的/使性能降级的、可疑的、还是良性的示例逻辑组件和 信息流。在图2所解说的示例中,移动设备102包括行为观测器模块202、行 为分析器模块204、外部上下文信息模块206、分类器模块208、以及致动器模 块210。在一方面,分类器模块208可实现为行为分析器模块204的一部分。 在一方面,行为分析器模块204可被配置成生成一个或多个分类器模块208, 每个分类器模块208可包括一个或多个分类器。

模块202-210中的每一者可在软件、硬件、或其任何组合中实现。在各种 方面,模块202-210可实现在操作系统的各部分内(例如,在内核内、在内核 空间中、在用户空间中等)、在单独的程序或应用内、在专门的硬件缓冲器或 处理器中,或其任何组合。在一方面,模块202-210中的一者或多者可实现为 在移动设备102的一个或多个处理器上执行的软件指令。

行为观测器模块202可被配置成置备或协调该移动设备的各个层级/模块 处的应用编程接口(API),并经由所置备的API来监视/观测各个层级/模块处 的移动设备操作和事件(例如,系统事件、状态改变等),收集与所观测到的 操作/事件有关的信息,智能地过滤所收集的信息,基于经过滤的信息生成一个 或多个观测,以及将所生成的观测存储在存储器中(例如,存储在日志文件中 等)和/或(例如,经由存储器写入、函数调用等)将所生成的观测发送给行为 分析器模块204。

行为观测器模块202可通过收集与应用框架或运行时库中的库应用编程 接口(API)调用、系统调用API、文件系统和联网子系统操作、设备(包括 传感器设备)状态改变、和其他类似事件相关的信息来监视/观测移动设备操作 和事件。行为观测器模块202还可监视文件系统活动,文件系统活动可包括搜 索文件名、文件访问类别(个人信息或正常数据文件)、创建或删除文件(例 如,类型exe、zip等)、文件读取/写入/寻求操作、改变文件许可等。

行为观测器模块202还可监视数据网络活动,数据网络活动可包括连接类 型、协议、端口号、该设备连接至的服务器/客户端、连接数量、通信量或通信 频度等。行为观测器模块202可监视电话网活动,这可包括监视发出的、收到 的、或截取的呼叫或消息(例如,SMS等)的类型和数目(例如,拨出的收费 呼叫的数目)。

行为观测器模块202还可监视系统资源使用,这可包括监视分叉数目、存 储器访问操作、打开的文件数目等。行为观测器模块202可监视移动设备的状 态,这可包括监视各种因素,诸如显示器是开的还是关的、设备是锁定的还是 解锁的、剩余电池量、相机状态等。行为观测器模块202还可例如通过监视对 关键性服务(浏览器、合约提供方等)的意图、进程间通信(IPC)程度、弹 出窗口等来监视进程间通信。

行为观测器模块202还可监视/观测驱动器统计和/或一个或多个硬件组件 的状态,硬件组件可包括相机、传感器、电子显示器、WiFi通信组件、数据 控制器、存储器控制器、系统控制器、访问端口、定时器、外围设备、无线通 信组件、外部存储器芯片、电压调节器、振荡器、锁相环、外围桥接器、以及 用于支持在移动计算设备上运行的处理器和客户端的其他类似组件。

行为观测器模块202还可监视/观测标示移动计算设备和/或移动设备子系 统的状态或情形的一个或多个硬件计数器。硬件计数器可包括处理器/核中被配 置成存储在移动计算设备中发生的硬件相关活动或事件的计数或状态的专用 寄存器。

行为观测器模块202还可监视/观测软件应用的动作或操作、从应用下载 服务器(例如,应用商店服务器)的软件下载、由软件应用使用的移动 设备信息、呼叫信息、文本消息接发信息(例如,发送SMS、阻拦SMS、读 取SMS等)、媒体消息接发信息(例如,接收MMS)、用户账户信息、位置 信息、相机信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于 语音的通信的内容、短程无线电通信(例如,蓝牙、WiFi等)、基于文本的 通信的内容、所记录音频文件的内容、电话本或联系人信息、联系人列表,等 等。

行为观测器模块202可监视/观测移动设备的传输或通信,包括包含以下 各项的通信:语音邮件(VoiceMailComm)、设备标识符(DeviceIDComm)、 用户账户信息(UserAccountComm)、日历信息(CalendarComm)、位置信 息(LocationComm)、所记录音频信息(RecordAudioComm)、加速计信息 (AccelerometerComm)等等。

行为观测器模块202可监视/观测以下各项的使用以及更新/改变:罗盘信 息、移动设备设定、电池寿命、陀螺仪信息、压力传感器、磁力传感器、屏幕 活动等。行为观测器模块202可监视/观测向和从软件应用传达的通知 (AppNotifications)、应用更新,等等。行为观测器模块202可监视/观测与第 一软件应用请求下载和/或安装第二软件应用有关的状况或事件。行为观测器模 块202可监视/观测与用户验证有关的状况或事件(诸如,口令输入等)。

行为观测器模块202还可监视/观测在移动设备的多个层级(包括应用层 级、无线电层级、和传感器层级)处的状况或事件。应用层级观测可包括经由 面部识别软件来观测用户、观测社交流、观测由用户输入的注记、观测与 PassBook/Google钱包/Paypal等的使用相关的事件。应用层级观测还可包括观 测与虚拟专用网(VPN)的使用相关的事件,以及与同步、语音搜索、语音控 制(例如,通过说出一词语来锁定/解锁电话)、语言翻译器、卸载数据以进行 计算、视频流送、没有用户活动情况下的相机使用、没有用户活动情况下的话 筒使用等相关的事件。

无线电层级观测可包括确定以下任一者或多者的出现、存在或量:在建立 无线电通信链路或传送信息之前用户与移动设备的交互,双重/多重订户身份模 块(SIM)卡,因特网无线电,移动电话系链,卸载数据以进行计算,设备状 态通信,用作游戏控制器或家用控制器,交通工具通信,移动设备同步等。无 线电层级观测还可包括监视将无线电(WiFi、WiMax、蓝牙等)用于定位、对 等(p2p)通信、同步、交通工具对交通工具通信、和/或机器对机器(m2m) 的使用。无线电层级观测可进一步包括监视网络话务使用、统计或简档。

传感器层级观测可包括监视磁体传感器或其他传感器以确定移动设备的 使用和/或外部环境。例如,移动设备处理器可被配置成确定电话是否在皮套中 (例如,经由配置成感测皮套内的磁体的磁体传感器)或在用户口袋中(例如, 经由相机或光传感器所检测到的光量)。检测到移动设备在皮套中可与识别可 疑行为有关,例如,因为与在移动设备处于皮套中时发生的被用户活跃使用(例 如,拍照或拍视频、发送消息、进行语音呼叫、记录声音等)相关的活动和功 能可能是在该设备上执行(例如,以跟踪或窥探用户)的邪恶进程的迹象。

与使用或外部环境有关的传感器层级观测的其他示例可包括:检测近场通 信(NFC),从信用卡扫描器、条形码扫描器、或移动标签阅读器收集信息, 检测通用串行总线(USB)充电源的存在,检测键盘或辅助设备已被耦合至移 动设备,检测移动设备已被耦合至计算设备(例如,经由USB等),检测LED、 闪光、闪光灯、或光源是否已被修改或禁用(例如,恶意地禁用紧急情况信令 应用等),检测扬声器或话筒已被开启或上电,检测充电或功率事件,检测移 动设备正被用作游戏控制器等。传感器层级观测还可包括从医疗或保健传感器 或者从扫描用户身体来收集信息,从插入USB/音频插孔的外部传感器收集信 息,从感触或触觉传感器(例如,经由振动器接口等)收集信息,收集与移动 设备的热状态有关的信息等。

为了将所监视的因素数目缩减至可管理水平,在一方面,行为观测器模块 202可通过监视/观测初始行为或因素集来执行粗略观测,该初始行为或因素集 为可能造成移动设备降级的所有因素的小子集。在一方面,行为观测器模块202 可从网络服务器116和/或在云服务或网络118中的组件接收该初始行为和/或 因素集。在一方面,该初始行为/因素集可在从网络服务器116或云服务/网络 118接收的数据/行为模型中指定。在一方面,该初始行为/因素集可在缩减特 征模型(RFM)中指定。

行为分析器模块204和/或分类器模块208可从行为观测器模块202接收 观测,将接收到的信息(即,观测)与从外部上下文信息模块206接收到的上 下文信息作比较,并标识与正造成(或很可能造成)设备随时间降级或可以其 它形式在该设备上引起问题的收到观测相关联的子系统、进程和/或应用。

在一方面,行为分析器模块204和/或分类器模块208可包括用于利用有 限信息集(即,粗略观测)来标识正造成——或很可能造成——设备随时间降 级或可以其它形式在设备上引起问题的行为、进程或程序的智能。例如,行为 分析器模块204可被配置成分析从各种模块(例如,行为观测器模块202、外 部上下文信息模块206等)收集的信息(例如,以观测的形式),学习移动设 备的正常操作行为,以及基于比较结果来生成一个或多个行为向量。行为分析 器模块204可将所生成的行为向量发送给分类器模块208以供进一步分析。

分类器模块208可接收这些行为向量并将它们与一个或多个行为模块作 比较以确定特定移动设备行为、软件应用、或进程是使性能降级的/恶意的、良 性的、还是可疑的。

当分类器模块208确定行为、软件应用、或进程是恶意的或使性能降级的 时候,分类器模块208可通知致动器模块210,致动器模块210可执行各种动 作或操作以纠正被确定为恶意或使性能降级的移动设备行为和/或执行用于治 愈、治疗、隔离、或以其他方式修复所标识的问题的操作。

当分类器模块208确定行为、软件应用、或进程是可疑的时候,分类器模 块208可通知行为观测器模块202,行为观测器模块202可基于从分类器模块 208接收到的信息(例如,实时分析操作的结果)来调整其观测粒度(即,观 测移动设备行为的细致程度)和/或改变被观测的行为,生成或收集新的或附加 的行为信息,以及将新的/附加的信息发送给行为分析器模块204和/或分类器 模块208以供进一步分析/分类。在行为观测器模块202与分类器模块208之间 的此类反馈通信使得移动设备102能够递归地增加观测粒度(即,作出更精细 或更细致的观测)或改变被观测的特征/行为,直至标识出可疑的或使性能降级 的移动设备行为的源、直至达到处理或电池消耗阈值、或直至移动设备处理器 确定不能从观测粒度上的进一步增加来标识出可疑的或使性能降级的移动设 备行为的源。此类反馈通信还使得移动设备102能够在移动设备本地调整或修 改数据/行为模型而不消耗该移动设备的过量处理、存储器或能量资源。

在一方面,行为观测器模块202和行为分析器模块204可个别地或共同地 提供对计算系统行为的实时行为分析,以从有限且粗略的观测中标识可疑行 为、动态地确定要更细致地观测的行为、以及动态地确定观测所需的细致程度。 以此方式,行为观测器模块202使得移动设备102能够高效地标识问题且防止 在移动设备上发生该问题,而无需该设备上的大量处理器、存储器或电池资源。

图3和4解说了包括网络服务器116的一方面系统300中的示例组件和信 息流,网络服务器116被配置成与云服务/网络118协作以智能且高效地标识移 动设备102上主动恶意的或编写得很差的软件应用和/或可疑的或使性能降级 的移动设备行为,而不消耗移动设备的过量处理、存储器、或能量资源。在图 3所解说的示例中,网络服务器116包括云模块302、模型生成器304模块、 以及训练数据模块306。移动设备102包括行为观测器模块202、分类器模块 208、以及致动器模块210。在一方面,分类器模块208可被包括在行为分析器 模块204(图2中解说的)中或是其一部分。在一方面,模型生成器304模块 可以是实时在线分类器。

云模块302可被配置成从云服务/网络118接收大量信息并生成完整或稳 健的数据/行为模型,其包括可能造成移动设备随时间降级的所有或绝大多数特 征、数据点、和/或因素。

模型生成器304模块可被配置成基于在云模块302中生成的完整模型来生 成精简数据/行为模型。在一方面,生成精简数据/行为模型可包括生成一个或 多个缩减特征模型(RFM),该(些)RFM包括由云模块302生成的完整模 型中所包括的特征和数据点的子集。在一方面,模型生成器304可生成包括初 始特征集的精简数据/行为模型(例如,初始缩减特征模型),其包括被确定为 具有最高可能性会使得分类器模块208能结论性地确定特定移动设备行为是良 性还是恶意/使性能降级的信息。模型生成器304可将所生成的精简模型发送给 行为观测器模块202。

行为观测器模块202可基于接收到的模型来监视/观测移动设备行为,生 成观测,并将观测发送给分类器模块208。分类器模块208可执行实时分析操 作,其可包括将数据/行为模型应用于由行为观测器模块202收集的行为信息以 确定移动设备行为是良性的、可疑的、还是恶意的/使性能降级的。在分类器模 块208没有充分信息来分类或结论性地确定一移动设备行为是良性的还是恶意 的时候,分类器模块208可确定该行为是可疑的。

当分类器模块208确定一设备行为可疑时,分类器模块208可被配置成将 其实时分析操作的结果传达给行为观测器模块202。行为观测器模块202可基 于从分类器模块208接收的信息(例如,基于实时分析操作的结果)来调整其 观测粒度(即,观测移动设备行为的细致程度)和/或改变被观测的行为,生成 或收集新的或附加的行为信息,并将新的/附加的信息发送给分类器模块以供进 一步分析/分类(例如,以新模型的形式)。以此方式,移动设备102可以递归 地增加观测粒度(即,作出更精细或更细致的观测)或改变被观测的特征/行为, 直至标识出可疑的或使性能降级的移动设备行为的源、直至达到处理或电池消 耗阈值、或直至移动设备处理器确定不能从观测粒度上的进一步增加来标识出 可疑的或使性能降级的移动设备行为的源。

移动设备102可将其操作结果和/或与模型的应用相关联的成功率发送给 网络服务器116。网络服务器116可基于该结果/成功率来生成训练数据(例如, 经由训练数据模块306)以供模型生成器304使用。模型生成器可基于训练数 据来生成经更新的模型,并将经更新的模型发送给移动设备102。

在图4中解说的示例中,在移动设备102与网络服务器116之间没有反馈 通信。确切而言,移动设备102包括精简模型生成器模块402,其被配置成基 于在完整模型生成器404中生成并从网络服务器116接收的完整或更稳健的模 型来生成目标集中的/目标定向的行为模型或分类器。即,网络服务器116可被 配置成将完整分类器模型发送给移动设备102,并且移动设备102可被配置成 基于该完整分类器模型来生成精简分类器模型。这可由于在分类器模型中使用 (或包括)推升式决策树桩而在不消耗移动设备的过量处理或电池资源的情况 下完成。即,通过在网络服务器116中生成包括推升式决策树桩的分类器模型 并将这些分类器/模型发送给移动设备102,各种方面允许精简模型生成器模块 402通过剔选完整分类器模型中所包括的数个推升式决策树桩来在移动设备 102中快速且高效地生成精简(或目标更集中的)分类器模型,而无需访问训 练数据或进一步与网络服务器116或云网络/服务器118通信。这显著减少了移 动设备对网络通信的依赖型,并进一步改善了移动设备102的性能和功耗特性。

图5A解说了在移动设备中生成精简的或目标集中的分类器/行为模型(例 如,在模型生成器模块402中生成的模型等)的一方面方法500。方法500可 由移动设备中的处理核来执行。

在方法500的框502,处理核可接收完整分类器模型,该完整分类器模型 是或包括有限状态机、推升式决策树桩列表或其他类似的信息结构。在一方面, 该完整分类器模型包括有限状态机,该有限状态机包括适于表达多个推升式决 策树桩的信息和/或包括适于由移动设备转换成多个推升式决策树桩的信息。在 一方面,该有限状态机可以是(或者可包括)经排序的或区分优先级的推升式 决策树桩列表。每个推升式决策树桩可包括测试条件和权重值。

如以上所讨论的,推升式决策树桩是正好具有一个节点(且由此具有一个 测试问题或测试条件)和权重值的一级决策树,且由此非常适合用在数据/行为 的二元分类中。这意味着向推升式决策树桩应用特征向量或行为向量得到二元 答案(例如,是或否)。例如,如果由推升式决策树桩测试的问题/条件是“SMS 传输的频度是否小于x个/分钟”,则向该推升式决策树桩应用值“3”将得到 答案“是”(对于“小于3个”的SMS传输)或者答案“否”(对于“3个或 更多”的SMS传输)。

回到图5A,在方法500的框504,处理核可确定为了准确地将移动设备 行为分类为恶意的或良性的而应当被评估而又不消耗移动设备的过量处理、存 储器或能量资源的独特测试条件的数目。这可包括确定移动设备中可用的处 理、存储器和/或能量资源量,为测试一条件所需的移动设备的处理、存储器或 能量资源量,确定与将通过测试该条件来在移动设备中分析或评估的行为或状 况相关联的优先级和/或复杂度,以及选择/确定独特测试条件的数目,以便在 移动设备的可用处理、存储器或能量资源的消耗、从测试该条件将达成的行为 分类的准确度、以及该条件所测试的行为的重要性或优先级之间达成平衡或折 衷。

在框506,处理核可从开头遍历推升式决策树桩列表以用所确定数目的独 特测试条件来填充所选测试条件列表。在一方面,处理核还可确定每个所选测 试条件的绝对或相对优先级值,并将该绝对或相对优先级值与其对应的测试条 件相关联地存储在所选测试条件列表中。

在框508,处理核可生成精简分类器模型,该精简分类器模型包括完整分 类器模型中所包括的测试所选测试条件之一的所有推升式决策树桩。在一方 面,处理核可生成精简分类器模型以按重要性或优先级值的次序包括或表达推 升式决策树桩。

在可选框510,可增大独特测试条件的数目以通过重复在框506中针对更 大数目的测试条件遍历推升式决策树桩列表以及在框508中生成另一精简分类 器模型的操作来生成另一更稳健的(即,精简度较低的)精简分类器模型。可 重复这些操作以生成精简分类器模型族。

图5B解说了在移动设备中生成数据模型的另一方面的方法511。方法511 可由移动设备中的处理核来执行。在方法511的框512,处理核可接收包括有 限状态机的完整分类器模型。有限状态机可以是包括适合转换成多个推升式决 策树桩的信息的信息结构。在框514,处理核可将完整分类器模型中所包括的 有限状态机转换成包括测试条件和权重值的推升式决策树桩。

在一方面,处理核还可计算或确定从框512中的有限状态机生成的每个推 升式决策树桩的优先级值。处理核可确定推升式决策树桩的优先级以平衡在移 动设备的处理、存储器或能量资源的消耗、行为分类的准确度等之间的折衷。 处理核还可基于推升式决策树桩相关联的权重值、测试条件对于准确地分类行 为的相对或预测重要性等来确定推升式决策树桩的优先级。

同样在框512,处理核可生成根据从有限状态机生成的推升式决策树桩的 优先级和/或按照其重要性次序来包括、引用、标识和/或组织这些推升式决策 树桩的第一列表(或其他信息结构)。例如,处理核可将第一列表生成为包括 具有最高优先级的树桩作为第一项目、继之以具有次最高优先级值的树桩、以 此类推等等的经排序列表。重要性次序还可计及从云素材库搜集的信息、以及 其上正执行剔选算法的设备特有的信息。

在框516,处理核可计算或确定在应用精简分类器模型时应当评估的独特 测试条件(即,在推升式决策树桩中可测试的移动设备状态、特征、行为、或 状况)的数目。计算或确定此独特测试条件数目可涉及在应用该模型所需的移 动设备的处理、存储器或能量资源的消耗与该精简分类器模型将达成的行为分 类的准确度之间达成平衡或折衷。此类确定可包括确定移动设备中可用的处 理、存储器和/或能量资源量,确定与要分析的行为相关联的优先级和/或复杂 度,以及平衡可用资源与该行为的优先级和/或复杂度。

在框518,处理核可通过顺序地遍历第一推升式决策树桩列表并将与每个 所遍历到的推升式决策树桩相关联的测试条件值插入第二列表来生成第二列 表。处理核可继续遍历第一列表并将值插入第二列表,直至第二列表的长度等 于所确定的独特测试条件数目或者直至第二列表包括了所有所确定数目的独 特测试条件。

在框520,处理核可基于第一列表中所包括的推升式决策树桩来生成精简 分类器模型。在一方面,处理核可生成精简分类器模型以仅包括测试第二列表 (即,框518中生成的测试条件列表)中所包括的测试条件之一的那些推升式 决策树桩。

在可选框522,可增大独特测试条件的数目以通过重复在框518中针对更 大数目的测试条件遍历推升式决策树桩列表以及在框520中生成另一精简分类 器模型的操作来生成另一更稳健的(即,精简度较低的)精简分类器模型。可 重复这些操作以生成精简分类器模型族。

图5C解说了使用精简分类器模型来分类移动设备的行为的一方面方法 524。方法524可由移动设备中的处理核来执行。

在方法524的框526,处理核可执行观测以从在移动设备系统的各种层级 处置备的各种组件收集行为信息。在一方面,这可经由以上参照图2讨论的行 为观测器模块202来完成。在框528,处理核可生成表征观测、所收集的行为 信息、和/或移动设备行为的行为向量。同样在框528,处理核可使用从网络服 务器接收到的完整分类器模型来生成精简分类器模型或有不同复杂度水平(或 “精简度”)的精简分类器模型族。为完成此举,处理核可剔选完整分类器模 型中所包括的推升式决策树桩族以生成包括缩减数目的推升式决策树桩和/或 评估有限数目的测试条件的精简分类器模型。

在框529,处理核可选择精简分类器模型族中尚未被移动设备评估或应用 的最精简的分类器(即,基于最少数目的不同移动设备状态、特征、行为、或 状况的模型)。在一方面,这可通过处理核选择经排序分类器模型列表中的首 个分类器模型来完成。

在框530,处理核可将所收集的行为信息或行为向量应用于所选精简分类 器模型中的每个推升式决策树桩。由于推升式决策树桩是二元决策并且精简分 类器模型是通过选择基于相同测试条件的许多二元决策来生成的,因此将行为 向量应用于精简分类器模型中的推升式决策树桩的过程可在并行操作中执行。 替换地,在框530中应用的行为向量可被截短或过滤以仅包括在精简分类器模 型中所包括的有限数目的测试条件参数,由此进一步减少应用该模型时的计算 努力。

在框532,处理核可计算或确定将所收集的行为信息应用于精简分类器模 型中的每个推升式决策树桩的结果的加权平均。在框534,处理核可将计算出 的加权平均与阈值作比较。在确定框535,处理核可确定此比较的结果和/或通 过应用所选精简分类器模型生成的结果是否是可疑的。例如,处理核可确定这 些结果是否可被用于以高置信度将行为分类为恶意的或良性的,并且若否,则 将该行为当作是可疑的。

如果处理核确定这些结果是可疑的(例如,确定框535=“是”),则处 理核可重复框529-534中的操作以选择并应用评估更多设备状态、特征、行为、 或状况的更强的(即,精简度较低的)分类器模型,直至该行为以高置信度被 分类为恶意的或良性的。如果处理核确定这些结果不是可疑的(例如,确定框 535=“否”),诸如通过确定该行为能以高置信度被分类为恶意的或良性的, 则在框536,则处理核可使用在框534中生成的比较结果来将移动设备的行为 分类为良性的或潜在恶意的。

在图5D中解说的替换方面方法540中,以上参照框518和520描述的操 作可通过如下步骤来完成:顺序地选择尚未在精简分类器模型中的推升式决策 树桩;标识依赖于与所选决策树桩相同的移动设备状态、特征、行为或状况(且 由此能基于一个确定结果而被应用)的所有其他推升式决策树桩;在精简分类 器模型中包括所选推升式决策树桩和所有标识出的依赖于相同移动设备状态、 特征、行为或状况的其他推升式决策树桩;以及重复该过程达等于所确定的测 试条件数目的次数。由于每次都将依赖于与所选推升式决策树桩相同的测试条 件的所有推升式决策树桩添加到精简分类器模型,因此限制执行此过程的次数 将限制精简分类器模型中所包括的测试条件的数目。

参照图5D,在框542,处理核可计算或确定在精简分类器模型中应当评 估的独特测试条件(即,在推升式决策树桩中可测试的移动设备状态、特征、 行为、或状况)的数目(N)。计算或确定此独特测试条件数目可涉及在应用 该模型所需的移动设备的处理、存储器或能量资源的消耗与该精简分类器模型 将达成的行为分类的准确度之间达成平衡或折衷。此类确定可包括确定移动设 备中可用的处理、存储器和/或能量资源量,确定与要分析的行为相关联的优先 级和/或复杂度,以及平衡可用资源与该行为的优先级和/或复杂度。

在框544,处理核可将循环计数变量的值设为等于零(0),或以其他方 式发起将被执行所确定的数目N次的循环。在框546,处理核可选择完整推升 式决策树桩集合中所包括的或从其生成的、且未被包括在精简分类器模型列表 中的推升式决策树桩。在第一次历经该循环时,精简分类器模型列表中将没有 推升式决策树桩,因此首个推升式决策树桩将被选择。如本文中提到的,完整 分类器模型可被配置成使得该完整集合中的首个推升式决策树桩具有识别恶 意或良性行为的最高概率。在框548,处理核可确定与所选决策树桩相关联的 测试条件。在框550,处理核可标识完整分类器模型中所包括的或从其生成的 所有依赖于、包括、或测试与所选决策树桩的测试条件相同的测试条件的决策 树桩。在框552,处理核可将所选推升式决策树桩和所有标识出的依赖于、包 括、或测试相同测试条件的推升式决策树桩添加到精简分类器模型列表。

在框554,处理核可递增循环计数变量的值。在确定框556,处理核可确 定循环计数变量的值是否大于或等于在框542中确定的独特测试条件数目N。 当处理核确定循环计数变量的值不大于或等于独特测试条件数目时(即,确定 框556=“否”),处理核可重复框546-554中的操作。当处理核确定循环计 数变量的值大于或等于独特测试条件数目时(即,确定框556=“是”),在 框558,处理核可生成精简分类器模型以包括精简分类器模型列表中的所有推 升式决策树桩。

此方法540可被使用数次以通过改变精简分类器模型中的独特测试条件 的数目N来生成有不同稳健度或精简度的精简分类器模型族。例如,在可选框 560,移动设备处理器可增大在框542中确定的独特测试条件数目N以生成纳 入更多测试条件的另一精简分类器模型。在可选确定框562,处理器可确定增 大了的数目N是否超过最大测试条件数目(max N)。最大测试条件数目可基 于评价难以分类的行为所期望的最大性能惩罚或资源投资来确定(例如,由开 发者、服务提供方、用户或经由算法来确定)。如果增大了的数目N小于最大 数目max N(即,确定框562=“否”),则可重复以上描述的框544到560 的操作以生成另一精简分类器模型。一旦最大数目的独特测试条件已被包括在 精简分类器模型中(即,确定框562=“是”),则生成精简分类器模型的过 程就可结束。

虽然图5A、5B和5D描述了通过重复遍历完整推升式决策树桩集合的整 个过程来生成精简分类器模型族,但通过从所生成的精简分类器模型(即,在 框508、520和558中的任一者中生成的模型)开始并遍历完整推升式决策树 桩集合以寻找向该模型添加依赖于尚未被包括在所生成的精简分类器模型中 的测试条件的推升式决策树桩的增加数目的测试条件可达成类似的结果。

而且,虽然图5A、5B和5D描述了从最精简到最稳健的精简分类器模型 地来生成精简分类器模型族,但也可简单地通过从最大测试条件数目(例如, N=max N)开始并每次减小该数目来从最稳健到最精简的精简分类器模型地来 生成精简分类器模型。

图6A解说了在服务器或云中生成完整分类器的一方面方法600。方法600 可由耦合至云网络的服务器计算设备中的处理核来执行。

在框602,处理核可从许多移动设备搜集行为数据素材库,包括大量设备 状态、配置和行为、以及关于是否检测到恶意行为的信息。在框604,处理核 可标识能在来自行为数据素材库的设备状态、配置和行为内测试的特定二元问 题/测试条件。为了表征所有设备状态、配置和行为,通常将标识大量此类二元 问题/测试条件。随后,在框606,对于每个所标识出的二元问题,处理核可测 试数据库以确定恶意行为对应于该二元问题的答案中的一个答案或另一个答 案的次数分数或百分比。在框608,处理核可选择具有与恶意行为的最高对应 性的二元问题作为首个决策树桩,其权重值是基于对应性百分比来确定的。在 框610,处理核可推升不正确地分类的样本/测试条件的权重,如以下参照图6B 描述的。

假定第一问题的答案是不与恶意行为相关联的值(例如,“否”),服务 器的处理核可随后重复进行扫描二元问题的过程,以标识在这种情形中具有与 恶意行为的最高对应性的问题。该问题随后被设为该模型中的第二个二元问 题,其权重值是基于其对应性百分比来确定的。服务器随后重复扫描二元问题 的过程——假定第一和第二问题/测试条件的答案是不与恶意行为相关联的值 (例如,“否”)——以标识在这种情形中具有与恶意行为的最高对应性的下 一问题/测试条件。该问题/测试条件则是该模型中的第三个二元问题/测试条 件,其权重值是基于其对应性百分比来确定的。该过程继续历经所有标识出的 二元问题/测试条件以构建完整集合。

在生成二元问题/测试条件的过程中,服务器可评估具有一范围的数据(诸 如通信频度、或先前时间区间内的通信数目),并以帮助分类行为的方式编制 涵盖该范围的一系列二元问题/测试条件。由此,一个二元问题/测试条件可以 是设备在先前五分钟内是否发送了0次以上数据传输(其可具有低相关性), 第二个二元问题/测试条件可以是设备在先前五分钟内是否发送了10次以上数 据传输(其可具有中等相关性),而第三个问题/测试条件可以是设备在先前五 分钟内是否发送了100次以上数据传输(其可具有高相关性)。

在将完整分类器集合发送给移动设备之前可由服务器进行对最终问题/测 试条件集合的一些剔选,诸如移除其所确定的权重或与恶意行为的相关性小于 阈值的(例如,达不到统计上显著的)那些问题/测试条件。例如,如果与恶意 行为的相关性约为50/50,则使用该决策树桩可能存在很少益处,因为任一答 案都无助于回答当前行为是恶意还是良性的问题。

图6B解说了适合用于生成适合根据各个方面来使用的推升式决策树/分 类器的示例推升方法620。在操作622中,处理器可生成和/或执行决策树/分 类器,从该决策树/分类器的执行中收集训练样本,以及基于该训练样本生成新 的分类器模型(h1(x))。训练样本可包括从对移动设备行为、软件应用、或移 动设备中的进程的先前观测或分析收集的信息。训练样本和/或新的分类器模型 (h1(x))可基于先前分类器中所包括的问题或测试条件的类型和/或基于从行 为分析器模块204的分类器模块208中对先前数据/行为模型或分类器的执行/ 应用所收集的准确性或性能特性来生成。在操作624中,处理器可推升(或增 大)被所生成的决策树/分类器(h1(x))误分类了的条目的权重,以生成第二 新的树/分类器(h2(x))。在一方面,训练样本和/或新的分类器模型(h2(x)) 可基于先前执行或使用分类器(h1(x))的错误率来生成。在一方面,训练样本 和/或新的分类器模型(h2(x))可基于被确定为在分类器的先前执行或使用中 已造成错误率或数据点误分类的属性来生成。

在一方面,被误分类的条目可基于其相对准确性或有效性来被加权。在操 作626中,处理器可推升(或增大)被所生成的第二树/分类器(h2(x))误分 类了的条目的权重,以生成第三新的树/分类器(h3(x))。在操作628,操作 624-626可被重复以生成数目“t”个新的树/分类器(ht(x))。

通过推升或增大被第一决策树/分类器(h1(x))误分类了的条目的权重, 第二树/分类器(h2(x))可以更准确地分类被第一决策树/分类器(h1(x))误分 类了的条目,但是也可能会误分类被第一决策树/分类器(h1(x))正确分类了 的一些条目。类似地,第三树/分类器(h3(x))可以更准确地分类被第二决策 树/分类器(h2(x))误分类了的条目并且可能误分类被第二决策树/分类器 (h2(x))正确分类了的一些条目。即,生成树/分类器族h1(x)-ht(x)可能不会 导致整体而言收敛的系统,而是得到可被并行执行的数个决策树/分类器。

图7解说了生成分类器模型的示例方法700,该分类器模型包括推升式决 策树桩并且可被用于智能且高效地标识移动设备102上主动恶意的或编写得很 差的软件应用和/或可疑的或使性能降级的移动设备行为,而不消耗该移动设备 的过量处理、存储器、或能量资源。在方法700的操作1中,网络服务器的离 线分类器可基于从云服务/网络接收到的信息来生成完整或稳健的分类器模型。 例如,完整分类器可包括测试四十个(40)独特条件的100个推升式决策树桩。 在方法700的操作2中,完整分类器模型可被发送给移动设备102中的分析器 /分类器模块208。在方法700的操作3中,分析器/分类器模块208可基于分 析完整分类器模型来生成推升式决策树桩形式的精简数据/行为模型分类器集 合。这可通过执行“联合特征选择及剔选”操作来完成,其允许移动设备:在 运行中生成精简模型而无需访问云训练数据;每应用动态地重配置分类器以增 强分类准确性;以及为每个分类器指定确定性的复杂度(例如,O(树桩的数 目))。“联合特征选择及剔选”操作还可包括执行特征选择操作。

图8解说了可由一方面服务器处理器生成并由设备处理器用来在移动设 备中生成精简分类器模型的示例推升式决策树桩800。在图8解说的示例中, 推升式决策树桩800包括多个决策节点W1-W4,每个决策节点包括问题或测 试条件(例如,F1、F3、F5),这些问题或测试条件在由处理器执行或运行时 可导致确定性的二元答案(例如,真或假、恶意或良性等)。每个决策节点 W1-W4还可与权重值相关联。

图8还解说了执行以上参照图7讨论的“联合特征选择及剔选”操作的方 法802。方法802可包括移动设备的分析器模块确定其需要生成测试两个独特 条件的精简分类器,在这种情形中,特征选择操作可包括遍历具有100个推升 式决策树桩的列表直至发现前2个独特条件(例如,图8中的F1和F3)。分 析器/分类器模块208可随后仅测试由特征选择操作标识出的条件(例如,F1 和F3),这可通过遍历具有100个推升式决策树桩的整个列表并删除测试不 同条件(例如,F5)的任何树桩来完成。其余推升式决策树桩(即,测试条件 “F1”和“F3”的树桩)可被用作精简分类器而无需重新训练该数据。分析器 /分类器模块208可将行为信息应用于每个其余推升式决策树桩(即,测试条件 “F1”和“F3”的树桩),计算从其余树桩接收到的所有答案的加权平均,并 使用该加权平均来确定移动设备行为是恶意还是良性。

一旦已通过特征选择和剔选过程生成了推升式决策树桩,所选决策树桩就 可被用作可对照当前设备状态、设定和行为进行比较的分类器或行为模型。由 于决策树桩是独立的二元测试,因此将观测到的行为(其可被概括在行为向量 中)与模型作比较的行为分析过程可被并行地执行。而且,由于树桩是非常简 单的(基本上二元的),因此用于执行每个树桩的处理是非常简单的且由此可 用较少处理开销来快速完成。每个决策树桩产生具有权重值的答案,并且关于 行为是恶意还是良性的最终决策可被确定为所有结果的加权和,这也是简单计 算。

与节点相关联的权重可基于从对移动设备行为、软件应用、或移动设备中 的进程的先前观测或分析收集的信息来计算。与每个节点相关联的权重还可基 于使用了数据素材库(例如,数据或行为向量的云素材库)的多少单元来构建 推升式决策树桩来计算。

图9解说根据一方面的被配置成执行动态和自适应观测的计算系统的行 为观测器模块202中的示例逻辑组件和信息流。行为观测器模块202可包括自 适应过滤器模块902、节流器模块904、观测器模式模块906、高层级行为检测 模块908、行为向量生成器910、和安全缓冲器912。高层级行为检测模块908 可包括空间相关模块914和时间相关模块916。

观测器模式模块906可从各种源接收控制信息,这些源可包括分析器单元 (例如,上文参照图2所描述的行为分析器模块204)和/或应用API。观测器 模式模块906可将与各种观测器模式有关的控制信息发送给自适应过滤器模块 902和高层级行为检测模块908。

自适应过滤器模块902可从多个源接收数据/信息,且智能地过滤收到信 息以生成选自收到信息的较小信息子集。此过滤器可基于从分析器模块、或通 过API进行通信的较高层级进程接收的信息或控制而被调适。经过滤信息可被 发送给节流器模块904,节流器模块904可负责控制从该过滤器流出的信息量 以确保高层级行为检测模块908不会因请求或信息而变得满溢或过载。

高层级行为检测模块908可从节流器模块904接收数据/信息、从观测器 模式模块906接收控制信息、以及从移动设备的其他组件接收上下文信息。高 层级行为检测模块908可使用收到信息来执行空间和时间相关以检测或标识可 致使设备性能未达最优水平的高层级行为。空间和时间相关的结果可被发送给 行为向量生成器910,行为向量生成器910可接收此相关(correlation)信息并 生成描述特定进程、应用或子系统的行为的行为向量。在一方面,行为向量生 成器910可生成行为向量,以使得特定进程、应用或子系统的每一高层级行为 是该行为向量的元素。在一方面,所生成的行为向量可被存储在安全缓冲器912 中。高层级行为检测的示例可包括检测特定事件的存在、另一事件的量或频度、 多个事件之间的关系、事件发生的次序、某些事件的发生之间的时间差,等等。

在各种方面,行为观测器模块202可执行自适应观测并控制观测粒度。即, 行为观测器模块202可动态地标识要观测的相关行为,并动态地确定要观测所 标识出的行为的细致程度。以此方式,行为观测器模块202使系统能够以各种 水平(例如,多个粗略和精细水平)监视移动设备的行为。行为观测器模块202 可使系统能够适应于正被观测的事项。行为观测器模块202可使系统能够基于 目标集中的信息子集而动态地改变正被观测的因素/行为,该目标集中的信息子 集可从广泛的各种源获得。

如上文所讨论的,行为观测器模块202可执行自适应观测技术并基于从各 种源接收的信息来控制观测粒度。例如,高层级行为检测模块908可从节流器 模块904、观测器模式模块906接收信息,以及从移动设备的其他组件(例如, 传感器)接收上下文信息。作为示例,执行时间相关的高层级行为检测模块908 可能检测出相机已被使用且移动设备正尝试将图片上传至服务器。高层级行为 检测模块908还可执行空间相关以确定移动设备上的应用是否是在该设备被放 入皮套且附接至用户皮带时拍摄了该图片。高层级行为检测模块908可确定此 检测出的高层级行为(例如,在放在皮套中的情况下使用相机)是否为可接受 或常见的行为,这可通过将当前行为与移动设备的过往行为作比较和/或访问从 多个设备收集的信息(例如,从众包服务器接收的信息)来达成。因为在放在 皮套中的情况下拍摄图片且将其上传至服务器是异常行为(如可从在被放入皮 套的上下文中观测到的正常行为来确定的),所以在此情形中,高层级行为检 测模块908可将此行为识别为潜在有威胁的行为并发起适当响应(例如,关掉 相机、发警报,等等)。

在一方面,行为观测器模块202可实现在多个部分中。

图10更详细地解说实现一方面的观测器守护进程的计算系统1000中的逻 辑组件和信息流。在图10所解说的示例中,计算系统1000包括在用户空间中 的行为检测器1002模块、数据库引擎1004模块和行为分析器模块204,以及 在内核空间中的环形缓冲器1014、过滤器规则1016模块、节流规则1018模块、 以及安全缓冲器1020。计算系统1000可进一步包括观测器守护进程,其包括 在用户空间中的行为检测器1002和数据库引擎1004,以及在内核空间中的安 全缓冲器管理器1006、规则管理器1008、和系统健康监视器1010。

各种方面可提供移动设备上涵盖webkit、SDK、NDK、内核、驱动器和 硬件的交叉层观测,以便表征系统行为。可实时地作出行为观测。

观测器模块可执行自适应观测技术并控制观测粒度。如以上所讨论的,存 在可造成移动设备降级的大量(即,数千个)因素,并且要监视/观测可造成设 备性能降级的所有不同因素可能是不可行的。为了克服这一点,各种方面动态 地标识要观测的相关行为,并动态地确定要观测所标识出的行为的细致程度。

图11解说了根据一方面的用于执行动态和自适应观测的示例方法1100。 在框1102,移动设备处理器可通过监视/观测可能造成移动设备降级的大量因 素/行为的子集来执行粗略观测。在框1103,移动设备处理器可基于粗略观测 来生成表征粗略观测和/或移动设备行为的行为向量。在框1104,移动设备处 理器可标识与粗略观测相关联的可能潜在地造成移动设备降级的子系统、进 程、和/或应用。这可例如通过将从多个源接收到的信息与从移动设备的传感器 接收到的上下文信息作比较来达成。在框1106,移动设备处理器可基于粗略观 测来执行行为分析操作。在一方面,作为框1103和1104的部分,移动设备处 理器可执行以上参照图2-10所讨论的一个或多个操作。

在确定框1108,移动设备处理器可确定是否能基于该行为分析的结果来 标识和纠正可疑行为或潜在问题。当移动设备处理器确定能基于该行为分析的 结果来标识和纠正可疑行为或潜在问题时(即,确定框1108=“是”),则 在框1118,处理器可发起纠正该行为的过程并返回至框1102以执行附加粗略 观测。

当移动设备处理器确定不能基于行为分析的结果来标识和/或纠正可疑行 为或潜在问题时(即,确定框1108=“否”),则在确定框1109,移动设备 处理器可确定是否存在出问题的可能性。在一方面,移动设备处理器可通过计 算移动设备遭遇潜在问题和/或参与可疑行为的概率并确定计算出的概率是否 大于预定阈值来确定存在出问题的可能性。当移动设备处理器确定计算出的概 率不大于预定阈值和/或不可能有可疑行为或潜在问题存在和/或可检测到时 (即,确定框1109=“否”),则处理器可返回至框1102以执行附加粗略观 测。

当移动设备处理器确定可能有可疑行为或潜在问题存在和/或可检测到时 (即,确定框1109=“是”),则在框1110,移动设备处理器可对所标识出 的子系统、进程或应用执行更深入的日志记录/观测或最终日志记录。在框 1112,移动设备处理器可对所标识出的子系统、进程或应用执行更深入且更细 致的观测。在框1114,移动设备处理器可基于更深入且更细致的观测来执行进 一步和/或更深入的行为分析。在确定框1108,移动设备处理器可再次确定是 否能基于该更深入的行为分析的结果来标识和纠正可疑行为或潜在问题。当移 动设备处理器确定不能基于该更深入的行为分析的结果来标识和纠正可疑行 为或潜在问题时(即,确定框1108=“否”),则处理器可重复框1110-1114 中的操作,直至细致程度精细到足以标识出问题、或直至确定不能通过附加细 节来标识出问题或者不存在问题。

当移动设备处理器确定能基于该更深入的行为分析的结果来标识和纠正 可疑行为或潜在问题时(即,确定框1108=“是”),则在框1118,移动设 备处理器可执行用于纠正该问题/行为的操作,并且处理器可返回至框1102以 执行附加操作。

在一方面,作为方法1100的框1102-1118的部分,移动设备处理器可对 系统行为执行实时行为分析,以从有限且粗略的观测中标识可疑行为,动态地 确定要更细致地观测的行为,以及动态地确定观测所需的精确的细致程度。这 使得移动设备处理器能够高效地标识问题且防止发生该问题,而无需使用设备 上的大量处理器、存储器或电池资源。

各种方面可实现在各种计算设备上,其中一示例在图12中以智能电话的 形式作了解说。智能电话1200可包括耦合到内部存储器1204、显示器1212 并耦合到扬声器1214的处理器1202。另外,智能电话1200可包括用于发送和 接收电磁辐射的天线,该天线可以与无线数据链路和/或耦合至处理器1202的 蜂窝电话收发机1208相连接。智能电话1200通常还包括用于接收用户输入的 菜单选择按钮或摇杆开关1220。

典型的智能电话1200还包括声音编码/解码(CODEC)电路1206,其将 从话筒接收到的声音数字化为适合无线传输的数据分组并解码接收到的声音 数据分组以生成模拟信号,该模拟信号被提供给扬声器以生成声音。而且,处 理器1202、无线收发机1208和CODEC 1206中的一者或多者可包括数字信号 处理器(DSP)电路(未单独示出)。

各方面方法的部分可在客户端-服务器架构中完成,其中一些处理发生在 服务器中,诸如维护正常操作行为的数据库,该数据库可由移动设备处理器在 执行各方面方法时访问。此类方面可实现在各种市售的服务器设备中的任一者 上,诸如图13中解说的服务器1300。此类服务器1300典型地包括耦合至易失 性存储器1302和大容量非易失性存储器(诸如盘驱动器1303)的处理器1301。 服务器1300还可包括耦合至处理器1301的软盘驱动器、压缩碟(CD)或DVD 碟驱动器1304。服务器1300还可包括耦合至处理器1301的网络接入端口1306, 以用于建立与网络1305(诸如耦合至其他广播系统计算机和服务器的局域网) 的数据连接。

处理器1202、1301可以是能通过软件指令(应用)配置成执行各种功能 (包括以下描述的各种方面的功能)的任何可编程微处理器、微计算机或者一 个或多个多处理器芯片。在一些移动设备中,可提供多个处理器1202,诸如一 个处理器专用于无线通信功能并且一个处理器专用于运行其他应用。通常,在 软件应用被访问并被加载到处理器1202、1301中之前,这些软件应用可被存 储在内部存储器1204、1302、1303中。处理器1202、1301可包括足以存储应 用软件指令的内部存储器。

术语“性能降级”在本申请中用于指代广泛的各种不期望的移动设备操作 和特性,诸如较长处理时间、较慢实时响应性、较低电池寿命、私有数据丢失、 恶意经济活动(例如,发送未获授权的收费SMS消息)、拒绝服务(DoS)、 与强征移动设备或利用电话进行窥探或僵尸网络活动有关的操作、等等。

用于在可编程处理器上执行以实施各种方面的操作的计算机程序代码或 “程序代码”可用高级编程语言(诸如C、C++、C#、Smalltalk、Java、JavaScript、 Visual Basic)、结构化查询语言(例如Transact-SQL)、Perl、或以各种其他 编程语言来编写。如本申请中所使用的存储在计算机可读存储介质上的程序代 码或程序可指其格式能被处理器理解的机器语言码(诸如,对象码)。

操作系统内核的许多移动计算设备被组织成用户空间(其中运行非特许代 码)和内核空间(其中运行特许代码)。这种分离在和其他通用公 共许可(GPL)环境中是尤其重要的,在GPL环境中,作为内核空间的一部分 的代码必须得到GPL许可,而在用户空间中运行的代码可不被GPL许可。应 理解,此处讨论的各种软件组件/模块可在内核空间或用户空间中的任一者中实 现,除非另有明确声明。

上述方法描述和过程流图仅作为解说性示例提供,且并非旨在要求或暗示 各种方面的步骤必须按所给出的次序来执行。如本领域技术人员将领会的,前 述各方面中的步骤次序可按任何次序来执行。诸如“此后”、“然后”、“接 着”等的措辞并非旨在限定步骤的次序;这些措辞仅是简单地用以指引读者遍 历方法的描述。进一步,对单数形式的权利要求元素的任何引述,例如使用冠 词“一”、“某”或“该”的引述不应解释为将该元素限定为单数。

如本申请中所使用的,术语“组件”、“模块”、“系统”、“引擎”、 “生成器”、“管理器”及类似术语旨在包括计算机相关实体,诸如但不限于 被配置成执行特定操作或功能的硬件、固件、硬件与软件的组合、软件、或执 行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对 象、可执行件、执行的线程、程序、和/或计算机。作为解说,计算设备上运行 的应用和计算设备两者都可被称为组件。一个或多个组件可驻留在进程和/或执 行的线程内,并且组件可局部化在一个处理器或核上和/或分布在两个或更多个 处理器或核之间。此外,这些组件可从其上存储着各种指令和/或数据结构的各 种非瞬态计算机可读介质来执行。组件可借助于本地和/或远程进程、函数或规 程调用、电子信号、数据分组、存储器读/写、以及其他已知的网络、计算机、 处理器、和/或进程相关通信方法体系来通信。

结合本文中所公开的各方面来描述的各种解说性逻辑框、模块、电路、和 算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬 件与软件的这一可互换性,各种解说性组件、块、模块、电路、和步骤在上面 是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取 决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用 不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离 了本发明的范围。

用于实现结合本文中公开的方面描述的各种解说性逻辑、逻辑框、模块、 以及电路的硬件可利用设计成执行本文中描述的功能的通用处理器、数字信号 处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其 他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合 来实现或执行。通用处理器可以是多处理器,但在替换方案中,处理器可以是 任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计 算设备的组合,例如DSP与多处理器的组合、多个多处理器、与DSP核心协 作的一个或多个多处理器、或任何其他此类配置。替换地,一些步骤或方法可 由专用于给定功能的电路系统来执行。

在一个或多个示例性方面,所描述的功能可在硬件、软件、固件或其任何 组合中实现。如果在软件中实现,则这些功能可作为一条或多条处理器可执行 指令或代码存储在非瞬态计算机可读存储介质或非瞬态处理器可读存储介质 上。本文中公开的方法或算法的步骤可在处理器可执行软件模块中实施,该处 理器可执行软件模块可驻留在非瞬态计算机可读或处理器可读存储介质上。非 瞬态计算机可读或处理器可读存储介质可以是能被计算机或处理器访问的任 何存储介质。作为示例而非限定,此类非瞬态计算机可读或处理器可读介质可 包括RAM、ROM、EEPROM、闪存、CD-ROM或其他光盘存储、磁盘存储或 其他磁存储设备、或能被用来存储指令或数据结构形式的期望程序代码且能被 计算机访问的任何其他介质。如本文中所使用的盘(disk)和碟(disc)包括压 缩碟(CD)、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘 (disk)往往以磁的方式再现数据而碟(disc)用激光以光学方式再现数据。以 上的组合也被包括在非瞬态计算机可读和处理器可读介质的范围内。另外,方 法或算法的操作可作为一条代码和/或指令或者任何代码和/或指令组合或集合 而驻留在可被纳入计算机程序产品中的非瞬态处理器可读介质和/或计算机可 读介质上。

提供了以上对所公开方面的描述是为了使得本领域任何技术人员皆能够 制作或使用本发明。对这些方面的各种修改容易为本领域技术人员所显见,并 且本文所定义的普适原理可被应用于其他方面而不会脱离本发明的精神或范 围。由此,本发明并非旨在限定于本文中示出的方面,而是应被授予与所附权 利要求和本文中公开的原理和新颖特征一致的最广义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号