用于使用针对增强型决策树桩的因果分析来识别和响应非良性行为的方法和系统与流程

文档序号:13426427阅读:267来源:国知局
用于使用针对增强型决策树桩的因果分析来识别和响应非良性行为的方法和系统与流程



背景技术:

已经在最近几年看到了蜂窝和无线通信技术的爆炸性的增长。无线服务提供商现在提供各种各样的功能和服务,这些功能和服务向它们的用户提供对信息、资源和通信的空前水平的访问。为了跟上这些增强,个人和消费电子设备(例如,蜂窝电话、手表、耳机、远程控制等等)与过去相比已经变得更强大和更复杂,它们现在通常包括强大的处理器、较大的存储器和其它资源,这允许在它们的设备上执行复杂的和强大的软件应用。

由于这些和其它方面的提高,个人和消费电子设备在现代生活中变得无处不在,并对于它们的用户所生成的信息或者与它们的用户有关的信息,拥有前所未有的获取水平。此外,人们频繁地使用他们的设备来存储敏感信息(例如,信用卡信息、联系人等等),和/或完成安全具有重要性的任务。例如,移动设备用户频繁地使用他们的设备来购买商品,发送和接收敏感通信,支付帐单,管理银行帐户和进行其它敏感交易。由于这些趋势,个人和消费电子设备正在迅速成为恶意软件和网络攻击的下一个前沿。因此,更好地保护诸如移动设备和无线设备的资源受限的计算设备的新的和改进的安全解决方案,对于消费者来说将是有益的。



技术实现要素:

各个方面包括识别、分类、防止和/或纠正指示异常或者引起非良性行为的状况和行为,以及向该计算设备的用户通知关于这些行为或异常的最重要贡献者或者来源的方法,该方法监测计算设备的行为以收集行为信息,该方法可以包括:基于所收集的行为信息来生成行为向量信息结构;向分类器模型应用该行为向量信息结构以生成分析结果;使用分析结果对该计算设备的行为进行分类;使用分析结果来确定由对于所述行为的分类贡献最大的所述分类器模型来评估的特征;选择对于所述行为的分类贡献最大的特征;以及在该计算设备的电子显示器上显示所选择的特征。

在一方面,使用分析结果对计算设备的行为进行分类,可以包括:使用分析结果将行为分类为异常。在另外的方面,使用分析结果对计算设备的行为进行分类,可以包括:使用分析结果将行为分类为非良性的;使用分析结果来确定由对于行为的分类贡献最大的分类器模型来评估的特征,可以包括:使用分析结果来确定由对于将行为分类为非良性贡献最大的分类器模型来评估的特征;以及选择对于行为的分类贡献最大的特征,可以包括:选择对于将行为分类为非良性贡献最大的特征。

在另外的方面,基于所收集的行为信息来生成行为向量信息结构,可以包括:生成表征软件应用的活动的行为向量。在另外的方面,该方法可以包括:确定对于行为的分类贡献最大的特征的相对重要性。在还另外的方面,该方法可以包括:基于对于行为的分类贡献最大的特征,在用于识别、分析或者响应行为的计算设备的处理、存储器和能量资源的量之间平衡权衡。

在另外的方面,向分类器模型应用行为向量信息结构以生成分析结果,可以包括:选择一系列稳健的分类器模型;以及向所选择的一系列稳健的分类器模型应用多个行为向量,以生成分析结果。在另外的方面,该方法可以包括:接收包括有限状态机的完整分类器模型,有限状态机包括适合于表示为多个增强型决策树桩的信息,每个增强型决策树桩包括测试条件、第一权重值和第二权重值;通过将完整分类器模型中包括的有限状态机转换成多个增强型决策树桩,生成增强型决策树桩列表;以及基于增强型决策树桩列表中包括的增强型决策树桩,在计算设备中生成精简分类器模型,其中,向分类器模型应用行为向量信息结构以生成分析结果,包括:向所生成的精简分类器模型应用行为向量信息结构。

在另外的方面,向所生成的精简分类器模型应用行为向量信息结构,可以包括:向所生成的精简分类器模型中的增强型决策树桩中的每一个增强型决策树桩,应用行为向量信息结构中包括的所收集的行为信息;使用增强型决策树桩的第一权重值,来计算向所生成的精简分类器模型中的增强型决策树桩中的每一个增强型决策树桩应用所收集的行为信息的结果的第一加权平均;以及将第一加权平均与门限值进行比较,以确定行为是否是良性的。在另外的方面,选择对于行为的分类贡献最大的特征,包括:使用增强型决策树桩的第二权重值,来确定对于将行为分类为良性贡献最大的特征。

另外的方面包括具有处理器的计算设备,该处理器被配置具有处理器可执行的指令以执行操作,该操作包括:监测设备行为以收集行为信息;基于所收集的行为信息来生成行为向量信息结构;向分类器模型应用行为向量信息结构以生成分析结果;使用分析结果对该计算设备的行为进行分类;使用分析结果来确定由对于行为的分类贡献最大的分类器模型来评估的特征;选择对于行为的分类贡献最大的特征;以及在该计算设备的电子显示器上显示所选择的特征。

在一方面,处理器可以被配置具有处理器可执行的指令以执行操作,使得使用分析结果对计算设备的行为进行分类,包括:使用分析结果将行为分类为异常。在另外的方面,处理器可以被配置具有处理器可执行指令以执行操作,使得:使用分析结果对计算设备的行为进行分类,包括:使用分析结果将行为分类为非良性的;使用分析结果来确定由对于行为的分类贡献最大的分类器模型来评估的特征,包括:使用分析结果来确定由对于将行为分类为非良性贡献最大的分类器模型来评估的特征;以及选择对于行为的分类贡献最大的特征,包括:选择对于将行为分类为非良性贡献最大的特征。

在另外的方面,处理器可以被配置具有处理器可执行指令以执行操作,该操作还包括:确定对于行为的分类贡献最大的特征的相对重要性。在另外的方面,处理器可以被配置具有处理器可执行指令以执行操作,该操作还包括:基于对于行为的分类贡献最大的特征,在用于识别、分析或者响应行为的计算设备的处理、存储器和能量资源的量之间平衡权衡。

在另外的方面,处理器可以被配置具有处理器可执行指令以执行操作,该操作还包括:接收包括有限状态机的完整分类器模型,该有限状态机包括适合于表示为多个增强型决策树桩的信息,每一个增强型决策树桩包括测试条件、第一权重值和第二权重值;通过将完整分类器模型中包括的有限状态机转换成多个增强型决策树桩,生成增强型决策树桩列表;以及基于增强型决策树桩列表中包括的增强型决策树桩,在计算设备中生成精简分类器模型,以及处理器可以被配置具有处理器可执行指令以执行操作,使得向分类器模型应用行为向量信息结构以生成分析结果,包括:向所生成的精简分类器模型中的增强型决策树桩中的每一个增强型决策树桩应用行为向量信息结构中包括的所收集的行为信息;使用增强型决策树桩的第一权重值,来计算向所生成的精简分类器模型中的增强型决策树桩中的每一个增强型决策树桩应用所收集的行为信息的结果的第一加权平均;以及将第一加权平均与门限值进行比较,以确定行为是否是良性的。在另外的方面,处理器可以被配置具有处理器可执行指令以执行操作,使得选择对于行为的分类贡献最大的特征,包括:使用增强型决策树桩的第二权重值,来确定对于将行为分类为良性贡献最大的特征。

另外的方面包括一种其上存储有处理器可执行软件指令的非临时性计算机可读存储介质,该处理器可执行软件指令被配置为使计算设备的处理器执行操作,该操作包括:监测设备行为以收集行为信息;基于所收集的行为信息来生成行为向量信息结构;向分类器模型应用行为向量信息结构以生成分析结果;使用分析结果对该计算设备的行为进行分类;使用分析结果来确定由对于行为的分类贡献最大的分类器模型来评估的特征;选择对于行为的分类贡献最大的特征;以及在该计算设备的电子显示器上显示所选则的特征。

在一方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得使用分析结果对计算设备的行为进行分类,包括:使用分析结果将行为分类为异常。在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得:使用分析结果对计算设备的行为进行分类,包括:使用分析结果将行为分类为非良性的;使用分析结果来确定由对于行为的分类贡献最大的分类器模型来评估的特征,包括:使用分析结果来确定由对于将行为分类为非良性贡献最大的分类器模型来评估的特征;以及选择对于行为的分类贡献最大的特征,包括:选择对于将行为分类为非良性贡献最大的特征。

在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,该操作还包括:确定对于行为的分类贡献最大的特征的相对重要性。在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,该操作还包括:基于对于行为的分类贡献最大的特征,在用于识别、分析或者响应行为的计算设备的处理、存储器和能量资源的量之间平衡权衡。

在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,该操作还包括:接收包括有限状态机的完整分类器模型,该有限状态机包括适合于表示为多个增强型决策树桩的信息,每一个增强型决策树桩包括测试条件、第一权重值和第二权重值;通过将完整分类器模型中包括的有限状态机转换成多个增强型决策树桩,生成增强型决策树桩列表;以及基于增强型决策树桩列表中包括的增强型决策树桩,在计算设备中生成精简分类器模型,以及所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得向分类器模型应用行为向量信息结构以生成分析结果,包括:向所生成的精简分类器模型中的增强型决策树桩中的每一个增强型决策树桩应用行为向量信息结构中包括的所收集的行为信息;使用增强型决策树桩的第一权重值,来计算向所生成的精简分类器模型中的增强型决策树桩中的每一个增强型决策树桩应用所收集的行为信息的结果的第一加权平均;并且将第一加权平均与门限值进行比较,以确定行为是否是良性的。

在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得选择对于行为的分类贡献最大的特征,包括:使用增强型决策树桩的第二权重值,来确定对于将行为分类为良性贡献最大的特征。

另外的方面包括一种计算设备,其包括:用于监测设备行为以收集行为信息的单元;用于基于所收集的行为信息来生成行为向量信息结构的单元;用于向分类器模型应用行为向量信息结构以生成分析结果的单元;用于使用分析结果对计算设备的行为进行分类的单元;用于使用分析结果来确定由对于行为的分类贡献最大的分类器模型来评估的特征的单元;用于选择对于行为的分类贡献最大的特征的单元;以及用于显示所选择的特征的单元。

在一方面,用于使用分析结果对计算设备的行为进行分类的单元,可以包括:用于使用分析结果将行为分类为异常的单元。在另外的方面,用于使用分析结果对计算设备的行为进行分类的单元,可以包括:用于使用分析结果将行为分类为非良性的单元;用于使用分析结果来确定由对于行为的分类贡献最大的分类器模型来评估的特征的单元,包括:用于使用分析结果来确定由对于将行为分类为非良性贡献最大的分类器模型来评估的特征的单元;以及用于选择对于行为的分类贡献最大的特征的单元,包括:用于选择对于将行为分类为非良性贡献最大的特征的单元。在另外的方面,该计算设备可以包括:用于确定对于行为的分类贡献最大的特征的相对重要性的单元。

在另外的方面,该计算设备可以包括:用于接收包括有限状态机的完整分类器模型的单元,该有限状态机包括适合于表示为多个增强型决策树桩的信息,每一个增强型决策树桩包括测试条件、第一权重值和第二权重值;用于通过将完整分类器模型中包括的有限状态机转换成多个增强型决策树桩,生成增强型决策树桩列表的单元;以及用于基于增强型决策树桩列表中包括的增强型决策树桩,在计算设备中生成精简分类器模型的单元,其中,用于向分类器模型应用行为向量信息结构以生成分析结果的单元,包括:用于向所生成的精简分类器模型中的增强型决策树桩中的每一个增强型决策树桩应用行为向量信息结构中包括的所收集的行为信息的单元;用于使用增强型决策树桩的第一权重值,来计算向所生成的精简分类器模型中的增强型决策树桩中的每一个增强型决策树桩应用所收集的行为信息的结果的第一加权平均的单元;以及用于将第一加权平均与门限值进行比较,以确定行为是否是良性的单元。在另外的方面,用于选择对于行为的分类贡献最大的特征的单元,包括:用于使用增强型决策树桩的第二权重值,来确定对于将行为分类为良性贡献最大的特征的单元。

附图说明

并入本文并且构成本说明书一部分的附图,示出了权利要求的示例性方面,并且连同上面给出的概括描述以及下面给出的具体实施方式一起来解释权利要求的特征。

图1是适合于实现各个方面的示例性片上系统的架构图。

图2是示出一方面计算设备中的示例性逻辑组件和信息流的方块图,该计算设备被配置为确定特定的移动设备行为是良性的还是非良性的。

图3是根据一方面,示出确定将行为分类为良性或者非良性贡献最大的特征的方法的处理流程图。

图4是根据另一方面,示出确定将行为分类为良性或者非良性贡献最大的特征的方法的处理流程图。

图5是根据一方面,示出使用一系列分类器模型来分类设备行为的方法的处理流程图。

图6是可以生成并用于生成分类器模型的示例性决策节点的视图。

图7是根据一方面,示出执行自适应观测的方法的处理流程图。

图8是适合于在一方面使用的移动设备的组件方块图。

具体实施方式

将参照附图来详细地描述各个方面。在可以的地方,贯穿附图将使用相同的附图标记来指代相同或者类似的组件。对于特定示例和实施方式的引用是出于说明目的,而不是旨在限制权利要求的保护范围。

总而言之,各个方面包括方法和计算设备,该计算设备被配置为实现高效地识别、分类、防止和/或纠正指示异常或者引起非良性行为的状况和行为,以及向该计算设备的用户通知关于这些行为或异常的最重要贡献者或者来源的方法。计算设备可以被配置为:监测设备行为以收集行为信息,基于所收集的行为信息来生成行为向量信息结构,向分类器模型应用该行为向量信息结构以生成分析结果,使用分析结果对该设备的行为进行分类(例如,分类为良性的或者非良性的、异常的、恶意软件、游戏应用等等),使用分析结果来确定由对于行为的特定分类贡献最大的分类器模型来评估的特征,选择对于分类贡献最大的最高“n”(例如,3)个特征,已经在该计算设备的电子显示器上显示所选择的特征。

各个方面通过允许设备更准确地和高效地识别、防止、纠正和/或以其它方式响应异常和非良性软件应用,来改善计算设备的功能。此外,各个方面允许计算设备向用户呈现更有用或者更有意义的关于设备行为的信息,和/或向用户提供更多控制,而不是提供设备如何分析和响应异常或非良性行为。例如,如果系统确定用户喜欢玩的游戏是非良性的(例如,随着时间的推移导致设备的性能下降等等),系统可以允许用户决定游戏的负面特征是否超过玩该游戏的好处,而不是自动终止该游戏。

从下面提供的方面的详细描述,对于计算设备的功能、功能性和/或功能化的另外改进将会显而易见。

本申请中使用术语“性能下降”来指代计算设备的各种各样的非期望的操作和特性,例如,更长的处理时间、更慢的实时响应、更低的电池寿命、私人数据的丢失、恶意经济活动(例如,发送未授权的高级sms消息)、拒绝服务(dos)、编写或设计不当的软件应用、恶意软件、恶意程序、病毒、碎片化存储器、与强占移动设备或者使用电话来进行窥探或僵尸活动有关的操作等等。此外,由于这些原因中的任何原因而使性能下降的行为、活动和状况,本文称之为“不良的”或者“非良性的”。与设备的标准、正常或者预期操作模式不一致或者偏离的行为、活动和状况,本文可以称之为“异常”或“异常行为”。

本文互换地使用术语“移动计算设备”和“移动设备”以指代以下各项中的任何一种或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(pda)、膝上型计算机、平板计算机、智能本、超级本、掌上型计算机、无线电子邮件接收机、具备多媒体互联网能力的蜂窝电话、无线游戏控制器、以及包括存储器、可编程处理器(其性能是非常重要的)并在电池供电情形下进行操作,使得省电方法有益的类似个人电子设备。虽然各个方面对于诸如具有有限的资源并在电池上运行的智能电话的移动计算设备是特别有用的,但方面通常在包括处理器并执行应用程序的任何电子设备中也是有用的。

通常,移动设备的性能和功率效率随时间发生下降。最近,防病毒公司(例如,mcafee、symantec等等)已经开始着手开发瞄准减慢这种性能下降的移动防病毒、防火墙和加密产品。但是,这些解决方案中的许多解决方案依赖于,在移动设备上定期执行运算密集的扫描引擎,其可能消耗很多移动设备的处理和电池资源,减慢或者致使移动设备在延长的时间段无法使用,和/或以其它方式使用户体验下降。此外,这些解决方案通常受限于检测已知病毒和恶意软件,而不能解决通常组合起来对移动设备的随时间性能下降具有贡献的多种复杂因素和/或交互行为(例如,当不是病毒或恶意软件造成性能下降时)。由于这些和其它原因,现有的防病毒、防火墙和加密产品不能提供充分的解决方案,来识别可以对移动设备的随时间性能下降具有贡献的众多因素,从而防止移动设备性能下降,或者高效地将老化的移动设备恢复到其原始状况。

此外,现代移动设备是高度可配置的和复杂的系统。因此,对于确定特定的设备行为是良性的、非良性的(例如,恶意的或者使性能下降的)或是异常的(例如,与设备的正常操作模式不一致)来说最重要的特征,可能在每一个移动设备中是不同的。此外,存在大量的可以对于移动计算设备随时间的性能和功率使用水平的下降具有贡献的各种各样的因素,包括:编写或者设计不佳的软件应用、恶意软件、病毒、分段存储器、后台进程等等。由于这些因素的数量、变型和复杂度,通常不容易评估所有的可能对现代移动计算设备的复杂但是资源受限的系统的性能和/或功率使用水平下降做出贡献的因素。因此,对于用户、操作系统和/或应用程序(例如,防病毒软件等等)而言,很难准确地和高效地识别这些问题的源。结果,移动设备用户当前具有很少的补救措施来防止移动设备随时间的性能和功率使用水平下降,或者将老化的移动设备恢复到其原始性能和功率使用水平。

为了克服现有解决方案的限制,各个方面包括装备有行为监测和分析系统的计算设备,该行为监测和分析系统被配置为快速地和高效地识别非良性的软件应用(例如,恶意的、编写差的、与设备不兼容的应用等等),同时向用户通知关于异常或者非良性行为的最显著原因或者对异常或者非良性行为的最显著贡献者。识别这种行为可以使处理器能够防止这些应用使计算设备的性能、功率使用水平、网络使用水平、安全和/或私密性随时间下降。向用户通知关于检测到的异常或者非良性行为的主要原因或者对检测到的异常或者非良性行为的主要贡献者,可以向用户提醒该问题,向用户通知关于可以采取的动作以便在未来避免这些问题,和/或使用户能够涉及在关于要采取的动作的决定中,以缓解或者管理非良性行为。该行为监测和分析系统可以被配置为:在不对计算设备的响应性、性能或功耗特性具有显著的、负面的或者用户可感知的影响的情况下,识别、防止和纠正识别出的问题。在一方面,该行为监测和分析系统可以是基于行为的安全系统。

该基于行为的监测和分析系统可以包括:观测器进程、守护进程、模块或子系统(本文统称为“模块”)、行为提取器模块和分析器模块。观测器模块可以被配置为测量或协调计算设备系统的各个层级的各个应用程序接口(api)、寄存器、计数器或其它设备组件(本文统称为“仪表组件”),从仪表组件收集行为信息,并且(例如,经由存储器写操作、函数调用等等)将所收集的行为信息发送给行为提取器模块。行为提取器模块可以使用所收集的行为信息来生成行为向量,该行为向量各表示或者描绘与该设备的一个或多个特定线程、进程、软件应用、模块或组件相关联的观测的事件、状况、任务、活动和/或行为(本文统称为“行为”)中的很多或者全部。行为提取器模块可以将所生成的行为向量发送给分析器模块(例如,经由存储器写操作、函数调用等等),分析器模块可以将这些行为向量应用于分类器模型以生成分析结果,并且使用分析结果来确定软件应用或设备行为是良性的,还是非良性的(例如,恶意的、编写不当的、性能下降的等等)。随后,设备处理器可以执行各种操作来校正、治疗、治愈、隔离、或者以其它方式修复所识别的问题(例如,确定是非良性的行为)。

每一个行为向量可以是包括或者封装一个或多个“行为特征”的信息结构。行为特征可以是表示计算设备中的观测的事件、状况、活动、操作、关系、交互或者行为中的全部或一部分的数字或符号。每一个行为特征可以与以下内容相关联:标识一系列可能的值的数据类型、可以在这些值上执行的操作、值的含义和其它类似的信息。计算设备可以使用该数据类型来确定应当如何对相应的行为特征(或者特征值)进行测量、分析、加权或者使用。

分类器模型可以是一种行为模型,该行为模型包括可以由设备处理器进行使用,以快速地和高效地测试或者评估特定的特征、因素、数据点、条目、api、状态、状况、行为、软件应用、进程、操作、组件等等(本文统称为“特征”)或者设备的行为的其它方面的数据、条目、决策节点、决策标准和/或信息结构。分类器模型还可以包括可以由设备处理器进行使用,以确定要在移动设备中进行监测的软件应用和/或行为之间的关系的本质的信息。

每一个分类器模型可以被分类为完整分类器模型或精简分类器模型。完整分类器模型可以是根据大的训练数据集来生成的稳健数据模型,该大的训练数据集可以包括数千个特征和数十亿个条目。精简分类器模型可以是从精简的数据集来生成的更聚焦的数据模型,该精简的数据集包括对于与确定特定的移动设备行为是否是良性的最有关的特征/条目的测试,或者优先化对于与确定特定的移动设备行为是否是良性的最有关的特征/条目的测试。本地分类器模型可以是在计算设备中生成的精简分类器模型。特定于用户的分类器模型可以是包括高度集中的数据模型的本地分类器模型,该高度集中的数据模型包括或者优先化对于与特定用户确定设备行为是否与该计算设备的普通使用相一致最相关的设备特征/条目进行测试或评估的决策节点。

在一方面,完整分类器模型可以是大型语料库的行为信息的有限状态机描述或表示。在一方面,该有限状态机可以包括:适合于表示为多个节点、增强型决策树或者决策树桩的信息,上述多个节点、增强型决策树或者决策树桩各测试一个或多个特征。例如,该有限状态机可以是可表示为一系列增强型决策树桩的信息结构,这些增强型决策树桩共同地识别、描述、测试或者评估与确定计算设备行为是否是良性的或者对于该计算设备的随时间性能下降具有贡献有关的特征和数据点中的全部或者很多。

增强型决策树桩是精确地具有一个节点(并因此一个测试问题或者测试条件)和权重值的单层决策树,并因此非常适合于在数据/行为的二进制分类中使用。也就是说,向增强型决策树桩应用特征向量导致二进制应答(例如,是或否)。例如,如果增强型决策树桩测试的问题/条件是“短消息服务(sms)传输的频率是小于每分钟x个吗?”,则向增强型决策树桩应用“3”的值将导致“是”的应答(对于“小于3个”sms传输)或者“否”的应答(对于“3个或更多个”sms传输)。

对于每个应答(是或否)而言,可以向诸如良性值和非良性值(或者良性值和异常值、良性值和恶意值等等)的分类值增加权重值。例如,如果特征发送sms的值超过5,则向恶意量(即,向第一分类值)添加0.9权重,并向良性量(即,向第二分类值)添加-0.9。在测试完所有特征之后,可以将恶意量与良性量进行比较,以确定该行为是恶意的还是良性的。例如,如果恶意量是.5并且恶意量是-.3,则计算设备能够将该行为分类成恶意的。

虽然上面所描述的基于行为的解决方案通常对于将行为分类为良性的、可疑的或者非良性的(具有某种置信度)是非常有效的,但该系统可能无法充分地识别为何将行为确定为良性或非良性的具体原因。结果,系统可能不能将特定行为或软件应用分类为良性或非良性的具体原因充分地通知给计算设备的用户。类似地,系统可能不能充分地在用于识别、分析或者响应非良性行为的设备的有限的处理、存储器或能量资源的量与由该行为构成的风险/威胁的严重性之间平衡权衡。

在各个方面,计算设备可以被配置为:跟踪对于将应用分类为良性或非良性贡献最大的特征(例如,二进制决策树)。特别地,计算设备可以被配置为跟踪其输出有助于非良性结论(或者任何其它分类确定)的增强型决策树桩,并使用分配给那些增强型决策树桩的权重,来确定一个或多个增强型决策树桩测试的每个特征对于行为的分类(例如,该行为是非良性的确定等等)贡献有多少。通过这样的增强型决策树桩结果和权重的计算,计算设备可以选择对行为的分类贡献最大的最高“n”(例如,3)个特征(或者特征的组合),并将这些特征呈现给用户。例如,计算设备能够显示下面的提示:

应用x没有以良性方式进行操作,这是由于:

1、它在没有用户交互的情况下发送了超过5条sms消息(30%)

2、它尝试向未知服务器上传你的联系人(20%)

3、它在10分钟内从gps捕获位置信息超过15次(18%)。

为了实现此目标,在一些方面,计算设备可以被配置为:监测其行为和收集行为信息(经由行为观测器模块);基于所收集的行为信息来生成表征该行为(例如,软件应用的活动等等)的特性的行为向量信息结构(经由行为提取器模块);向分类器模型应用该行为向量信息结构以生成分析结果(经由行为分析器模块);使用这些分析结果对所监测的或者观测的行为中的一者进行分类(例如,分类为良性的、分类为非良性的、分类为异常的等等);使用这些分析结果来确定对于行为的分类贡献最大的分类器模型所评估的特征(例如,在没有用户交互的情况下发送的sms消息的数量等等);选择对于该行为的分类贡献最大的特征;以及向用户显示所选择的特征(例如,经由计算设备的电子显示器等等)。

在一些方面,计算设备可以被配置为在该设备中本地地生成分类器模型。例如,计算设备可以被配置为接收包括有限状态机(或者另一信息结构)的完整分类器模型,该有限状态机包括计算设备可以用于生成多个增强型决策树桩的信息,该增强型决策树桩各包括测试条件、第一权重值和第二权重值。计算设备可以生成增强型决策树桩,对这些增强型决策树桩划分优先级,以及将这些增强型决策树桩中的全部或者子集使用为分类器模型。例如,计算设备可以被配置为:向所生成的分类器模型中的增强型决策树桩中的每一个增强型决策树桩,应用行为向量信息结构中包括的所收集的行为信息;使用增强型决策树桩的第一权重值,来计算向这些增强型决策树桩应用所收集的行为信息的结果的第一加权平均;将第一加权平均与门限值进行比较,以确定该行为是否是良性的(或者非良性的、异常的等等);以及使用增强型决策树桩的第一和/或第二权重值,来确定对于该行为的分类贡献最大的特征。

各个方面(包括参照图2-7所描述的方面)可以在包括单个处理器和多处理器系统以及片上系统(soc)的多种不同的移动设备中实现。图1是示出可以在实现各个方面的计算设备中使用的示例性片上系统(soc)100架构的架构图。soc100可以包括多个异构处理器,例如,数字信号处理器(dsp)102、调制解调器处理器104、图形处理器106和应用处理器108。soc100还可以包括连接到异构处理器102、104、106、108中的一个或多个异构处理器的一个或多个协处理器110(例如,向量协处理器)。每一个处理器102、104、106、108、110可以包括一个或多个内核,并且每一个处理器/内核可以独立于其它处理器/内核来执行操作。例如,soc100可以包括执行第一类型的操作系统(例如,freebsd、linux、osx等等)的处理器和执行第二类型的操作系统(例如,微软windows10)的处理器。

soc100还可以包括用于管理传感器数据、模数转换、无线数据传输,以及用于执行其它专用操作(例如,对用于游戏和电影的编码音频信号进行处理)的模拟电路和定制电路114。soc100还可以包括系统组件/资源116,例如电压调节器、振荡器、锁相环、外围桥接、数据控制器、存储器控制器、系统控制器、接入端口、定时器、以及用于支持这些处理器和客户端在计算设备上运行的其它类似组件。

系统组件/资源116和定制电路114可以包括与外围设备进行交互的电路,外围设备例如,照相机、电子显示器、无线通信设备、外部存储器芯片等等。处理器102、104、106、108可以经由互连/总线模块124来互连到一个或多个存储器元件112、系统组件/资源116和定制电路114,该互连/总线模块124可以包括可再配置逻辑门阵列和/或实现总线架构(例如,coreconnect、amba等等)。可以通过诸如高性能片上网络(noc)的高级互连来提供通信。

soc100还可以包括用于与soc外的资源进行通信的输入/输出模块(没有示出),该soc外的资源例如是时钟118和电压调整器120。soc外的资源(例如,时钟118、电压调整器120)可以由内部soc处理器/内核(例如,dsp102、调制解调器处理器104、图形处理器106、应用处理器108等等)中的两个或更多个soc处理器/内核来共享。

soc100还可以包括适合于从传感器收集传感器数据的硬件和/或软件组件,这些传感器包括扬声器、用户接口元件(例如,输入按键、触摸屏显示器等等)、麦克风阵列、用于监测物理状况(例如,位置、方向、运动、方位、振动、压力等等)的传感器、照相机、指南针、gps接收机、通信电路(例如,wlan、wifi等等)、以及现代电子设备的其它公知组件(例如,加速计等等)。

除了上面所讨论的soc100之外,可以在各种各样的计算系统中实现各个方面,该计算系统可以包括单个处理器、多个处理器、多核处理器或者其任意组合。

图2示出了包括基于行为的安全模块214的方面计算设备中的示例性逻辑组件和信息流,基于行为的安全模块214被配置为使用行为分析技术来识别和响应非良性设备行为。在图2中所示出的示例中,该计算设备是包括设备处理器(即,移动设备处理器)的移动设备200,该设备处理器被配置具有可执行指令模块,该可执行指令模块包括行为观测器模块202、行为提取器模块204、行为分析器模块206和执行器模块208。模块202-208中的每一个模块可以是利用软件、硬件或者其任意组合来实现的线程、进程、守护进程、模块、子系统或者组件。在各个方面,可以将模块202-208实现在操作系统的一部分中(例如,实现在内核中、实现在内核空间中、实现在用户空间中等等)、实现在单独的程序或应用中、实现在专用硬件缓冲器或处理器中、或者实现在其任意组合中。在一方面,模块202-208中的一个或多个模块可以实现为在移动设备200的一个或多个处理器上执行的软件指令。

行为观测器模块202可以被配置为:在时间段上,测量该设备的各个层级/模块处的应用程序接口(api)、计数器、硬件监测器等等,以及对各个层级/模块处的活动、状况、操作和事件(例如,系统事件、状态改变等等)进行监测。行为观测器模块202可以收集关于所监测的活动、状况、操作或事件的行为信息,并在存储器中(例如,在日志文件中等等)存储所收集的信息。

在一些方面,行为观测器模块202可以被配置为:从操作在该计算设备中的软件应用、该计算设备的传感器、和/或用户与该计算设备或者其软件应用的交互中,收集基于用户的信息(例如,用户个人信息等等)。基于用户的信息可以包括:适合于识别或者表征设备用户的活动、设备使用模式、习惯、情绪、占用和/或情绪状态的任何信息。举例而言,基于用户的信息可以包括:识别用户与设备的交互的信息、在设备上执行的定制的数量和类型、用户下载或使用的软件应用的类型、用户触摸或者与屏幕交互的速率、设备的图形处理单元(gpu)使用级别、用户使用该设备与其他人通信的频率、用户的优选通信方式(例如,文本与语音)、用户通信有多快、设备存储器大小等等。设备处理器可以使用收集的基于用户的信息,来了解用户通常如何与计算设备进行交互,以确定设备的正常操作模式和/或确定活动、任务或行为是否应当与ui事件相关联。例如,设备处理器可以使用基于用户的信息,确定设备的正常操作模式是否指示特定的活动与特定的ui事件相关联,和/或指示在没有其对应的ui事件的情况下,特定活动的执行与该设备的正常操作模式不一致。

行为观测器模块202可以被配置为:通过监测各种软件应用中的任何软件应用(或者软件应用类型)来收集用户个人信息,软件应用包括:日历应用、提醒应用、通信应用、金融应用、用于完成特定任务的应用(例如,文字处理、准备税务改革、演示应用程序、会计应用程序等等)、基于位置的应用(例如,映射和地理位置应用等)、社交媒体应用、web浏览器(例如,以获得有关过去搜索、浏览历史记录、访问的网站的类型、访问的网站的内容等等的信息)、娱乐应用(例如,音频或者多媒体播放器应用)、用于访问用户帐户的应用(例如,银行应用等等)、个人培训和开发应用等等。

行为观测器模块202还可以通过从心率监测器、血压监测器、温度计、计步器、血糖仪、湿度传感器、呼吸测试仪、电流皮肤响应传感器或者设备中的其它传感器获取数据,来收集用户个人信息。例如,行为观测器模块202可以通过监测设备的地理空间定位和导航系统,以确定用户的当前位置(例如,在办公室、家中、餐厅、健身房、旅行等等)、用户当前的运动(例如,正在行进、正在运动、静止等等)、运动历史(例如,广泛旅行、从不离开城镇等等)、用户是否遵循他/她所建立的例行程序(例如,到达工作时间、仍然在工作中)或者是偏离他/她的例行程序(例如,到达比平常更晚、离开地比平常更早),来收集用户个人信息。

在一些方面,移动设备200的设备处理器可以被配置为:使用该用户个人信息和/或表征用户与该设备的交互的信息,来生成行为向量和/或分类器模型。例如,设备处理器可以被配置为:使用用户交互信息来动态地确定被监测的设备特征、包括在行为向量中的行为信息、包括在分类器模型中(并因此由分类器模型进行评估)的特定设备特征等等。作为另一示例,设备处理器可以被配置为:生成分类器模型,该分类器模型评估在使用或者执行某些类型的软件应用(例如,游戏等等)期间,聚焦于识别ui事件的存在性的条件/特征。

在一些方面,设备处理器可以被配置为:确定用户交互信息是否与分析所收集的行为信息的全部或者一部分有关,生成包括决策节点的分类器模型,该决策节点评估与用户交互相关的设备特征(如果相关的话),生成与收集到的行为信息相关的行为向量,其中用户交互与该收集到的行为信息相关,以及将所生成的行为向量应用于所生成的分类器模型以确定设备行为是否是非良性的。

行为观测器模块202还可以被配置为:通过收集关于应用框架或运行时间库中的库应用程序接口(api)调用、系统调用api、文件系统和网络化子系统操作、设备(包括传感器设备)状态改变和其它类似事件的信息,来监测移动设备200的活动。此外,行为观测器模块202还可以监测文件系统活动,该文件系统活动可以包括:搜索文件名、文件访问的类别(个人信息或通用数据文件)、生成或删除文件(例如,类型exe、zip等等)、文件读/写/查找操作、改变文件许可等等。

行为观测器模块202还可以通过对数据网络活动进行监测,来监测移动设备200的活动,该数据网络活动可以包括:连接的类型、协议、端口号、该设备连接到的服务器/客户端、连接的数量、通信的量或频率等等。行为观测器模块202可以对电话网络活动进行监测,该电话网络活动可以包括:对发送出、接收到或者中间截获的呼叫或消息(例如,sms等等)的类型和数量(例如,拨打的高级呼叫的数量)进行监测。

行为观测器模块202还可以通过对系统资源使用进行监测,来监测移动设备200的活动,该系统资源使用可以包括:对叉的数量、存储器访问操作、文件打开的数量等等。行为观测器模块202可以对移动设备200的状态进行监测,该监测可以包括对诸如以下各项的各种因素进行监测:显示器是打开还是关闭的、该设备是锁定还是未锁的、电池的剩余电量、照相机的状态等等。行为观测器模块202还可以例如通过监测关键服务(浏览器、提供商等等)的意图、进程间通信的程度、弹出窗等等,对进程间通信(ipc)进行监测。

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

行为观测器模块202还可以通过对表示移动设备200和/或移动设备子系统的状态或状况的一个或多个硬件计数器进行监测,来监测移动设备200的活动。硬件计数器可以包括处理器/内核的专用寄存器,该专用寄存器被配置为存储在移动设备200中发生的与硬件相关的活动或事件的计数值或状态。

行为观测器模块202还可以通过对以下内容进行监测,来监测移动设备200的活动:软件应用的活动或操作、来自应用下载服务器(例如,应用商店服务器)的软件下载、软件应用使用的计算设备信息、呼叫信息、文本消息信息(例如,发送sms、拦截sms、读取sms等等)、媒体消息信息(例如,接收mms等等)、用户账户信息、位置信息、照相机信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线通信(例如,蓝牙、wifi等等)、基本文本的通信的内容、记录的音频文件的内容、电话簿或联系人信息、联系人列表等等。

行为观测器模块202还可以通过对移动设备200的传输或通信进行监测,来监测移动设备200的活动,该传输或通信包括包含以下各项的通信:语音邮件(voicemailcomm)、设备标识符(deviceidcomm)、用户账户信息(useraccountcomm)、日历信息(calendarcomm)、位置信息(locationcomm)、记录的音频信息(recordaudiocomm)、加速计信息(accelerometercomm)等等。

行为观测器模块202还可以通过对以下各项的使用和更新/改变进行监测,来监测移动设备200的活动:指南针信息、计算设备设置、电池寿命、陀螺仪信息、压力传感器、磁传感器、屏幕活动等等。行为观测器模块202可以监测向软件应用发送的和发送来自软件应用的通知(appnotifications)、应用更新等等。行为观测器模块202可以监测与第一软件应用有关的状况或事件,该第一软件应用请求下载和/或安装第二软件应用。行为观测器模块202可以监测与用户验证有关的状况或事件,例如,密码的输入等等。

行为观测器模块202还可以通过对移动设备200的包括应用层、无线层和传感器层的多个层级处的状况或事件进行监测,来监测移动设备200的活动。应用层观测可以包括:经由人脸识别软件来观测用户、观测社交流媒体、观测用户输入的笔记、观测与wallet、和其它类似应用或服务的使用有关的事件。此外,应用层观测还可以包括:观测与虚拟专用网(vpn)的使用有关的事件,以及关于以下各项的事件:同步、语音搜索、语音控制(例如,通过说一个词来锁定/解锁电话)、语言翻译器、数据的卸载以进行计算、视频流媒体、无需用户活动的照相机使用、无需用户活动的麦克风使用等等。

无线层观测可以包括确定以下各项中的任何一种或多种的出现、存在或者数量:在建立无线通信链路或者发送信息之前,与移动设备200的用户交互、双/多用户识别模块(sim)卡、互联网无线、移动电话系留、卸载数据以进行计算、设备状态通信、作为游戏控制器或家庭控制器的使用、车辆通信、计算设备同步等等。此外,无线层观测还可以包括:监测无线(wifi、wimax、蓝牙等等)的使用以进行定位、对等(p2p)通信、同步、车辆对车辆通信和/或机器对机器(m2m)。此外,无线层观测还可以包括:对网络业务使用、统计或简档进行监测。

传感器层观测可以包括:对磁传感器或其它传感器进行监测,以确定该移动设备200的使用和/或外部环境。例如,计算设备处理器可以被配置为:确定该设备是处于皮套中(例如,经由被配置为对皮套中的磁体进行感测的磁传感器)还是处于用户的口袋中(例如,经由照相机或光传感器所检测到的光量)。检测到移动设备200处于皮套之中,可以是与认识到可疑的行为有关,例如,由于当移动设备200在放入皮套时,发生与用户的活动使用有关的活动和功能(例如,拍摄照片或视频、发送消息、进行语音呼叫、记录声音等等),可能是恶意的进程在该设备上进行执行(例如,以跟踪或窥探该用户)的标志。

与使用或外部环境有关的传感器层观测的其它示例,可以包括:检测近场通信(nfc)信令、从信用卡扫描器、条形码扫描器或者移动标签读取器收集信息、检测通用串行总线(usb)充电电源的存在、检测键盘或者辅助设备已耦合到该移动设备200、检测该移动设备200已耦合到另一计算设备(例如,经由usb等等),确定led、闪光、闪光灯或者光源是否被修改或者禁用(例如,恶意地禁用紧急信令app等等)、检测扬声器或麦克风已打开或加电、检测充电或功率事件、检测到该移动设备200正在使用为游戏控制器等等。此外,传感器层观测还可以包括:从医疗或保健传感器或者从扫描用户的身体来收集信息,从插入到usb/音频插孔的外部传感器收集信息、从触觉或感触传感器收集信息(例如,经由振动器接口等等)、收集与移动设备200的热状态有关的信息等等。

为了将监测的因素的数量减少到可管理的水平,在一方面,行为观测器模块202可以被配置为:通过对行为或因素的初始集合进行监测/观测,来执行粗观测,该初始集合是能够对于该计算设备的性能下降具有贡献的所有因素的一个较小子集。在一方面,行为观测器模块202可以从服务器和/或云服务或网络中的组件接收行为和/或因素的初始集合。在一方面,可以利用机器学习分类器模型,来指示行为/因素的初始集合。

行为观测器模块202可以将所收集的行为信息发送给行为提取器模块204(例如,经由存储器写操作、函数调用等等)。行为提取器模块204可以被配置为接收或者获取所收集的行为信息,并且使用该信息来生成一个或多个行为向量。每一个行为向量可以利用值或者向量数据结构,来精简地描述该设备、软件应用或者进程的行为。该向量数据结构可以包括一系列数字,该数字中的每一个数字表示该移动设备的特征或行为,例如,该移动设备的照相机是否在使用(例如,零或者一),已经从移动设备发送的网络业务量或者已经由移动设备生成的网络业务的量(例如,20kb/秒等等),已发送的互联网消息的数量(例如,sms消息的数量等等)和/或行为观测器模块202所收集的任何其它行为信息。在一方面,行为提取器模块204可以被配置为生成行为向量,使得它们充当为使移动设备系统(例如,行为分析器模块206)能够快速地认识、识别或者分析该设备的行为的标识符。

在一方面,行为提取器模块204可以被配置为生成行为向量,以包括可以输入到机器学习分类器中的特征/决策节点的信息,以对关于所监测的活动的查询来生成应答。

在一方面,行为提取器模块204可以被配置为生成行为向量以包括执行信息。可以将执行信息作为行为的一部分(例如,后台进程三秒钟之内使用照相机五次,前台进程在三秒钟之内使用照相机三次等等)或者独立特征的一部分,包括在行为向量中。在一方面,可以将执行状态信息作为阴影特征值子向量或者数据结构,包括在行为向量中。在一方面,行为向量可以将该阴影特征值子向量/数据结构与同该执行状态有关的特征、活动、任务,进行关联地存储。

行为提取器模块204可以将所生成的行为向量发送给行为分析器模块206(例如,经由存储器写操作、函数调用等等)。行为分析器模块206可以被配置为:将行为向量应用于分类器模型,以确定设备行为是否是对于该设备的随时间性能下降具有贡献(或者可能具有贡献)、和/或可能以其它方式在该设备上造成问题的非良性行为。当设备行为分类为非良性时,执行器模块208可以使用该行为和/或其分类来采取合适的动作。

在一方面,行为分析器模块206可以被配置为:例如,通过包括记账模块,跟踪有助于非良性结论的特征,并且使用信息来生成对用户的输出,例如经由图形输出模块210,识别对所识别的行为的重要原因或者贡献者。

每一个分类器模型可以是包括可由计算设备处理器使用,以评估计算设备行为的特定特征或方面的数据和/或信息结构(例如,特征向量、行为向量、组件列表等等)的行为模型。每一个分类器模型还可以包括用于监测该计算设备中的多种特征、因素、数据点、条目、api、状态、状况、行为、应用、进程、操作、组件等等(本文统称为“特征”)的决策标准。分类器模型可以预安装在计算设备上,从网络服务器下载或接收,在计算设备中生成或者是其任意组合。可以通过使用众包解决方案、行为建模技术、机器学习算法等等,来生成分类器模型。

每一个分类器模型可以分类为完整分类器模型或者精简分类器模型。完整分类器模型可以是根据大量的训练数据集所生成的稳健数据模型,该大量的训练数据集可以包括数千特征和数十亿条目。精简分类器模型可以是从精简数据集生成的更聚焦的数据模型,该精简数据集仅仅包括/测试对确定特定的活动是否是正在进行的关键活动和/或特定的计算设备行为是否是良性的来说,最相关的特征/条目。举例而言,设备处理器可以被配置为从网络服务器接收完整分类器模型,基于全分类器来生成移动设备中的精简分类器模型,并且使用本地生成的精简分类器模型,以将设备的行为分类为良性的或者非良性的(即,恶意的、使性能下降的等等)。

本地生成的精简分类器模型是在计算设备中生成的精简分类器模型。也就是说,由于移动设备是高度可配置的和复杂系统,则对于确定特定的设备行为是否是非良性的(例如,恶意的或者使性能下降的)来说最重要的特征,在每个设备中可能是不同的。此外,特征的不同组合可能需要在每一个设备中进行监测和/或分析,以便该设备快速地和高效地确定特定的行为是否是非良性的。此外,通常仅仅能够使用从要监测或者分析行为的特定设备所获得的信息,来确定需要监测和分析的精确特征组合,以及每一个特征或者特征组合的相对优先级或重要性。由于这些和其它原因,各个方面可以在使用模型的移动设备中,生成分类器模型。这些本地分类器模型允许设备处理器准确地识别对于确定该特定设备上的行为是否是非良性的(例如,对于该设备的性能下降具有贡献)来说最重要的特定特征。本地分类器模型还允许设备处理器根据进行测试或者评估的特征对于分类该特定设备中的行为的相对重要性,对该特征划分优先级。

特定于设备的分类器模型是包括聚焦的数据模型的分类器模型,该聚焦的数据模型仅仅包括/测试特定于计算设备的特征/条目,确定这些特征/条目对于分类特定的计算设备中的活动或者行为来说是最相关的。

特定于应用的分类器模型是包括聚焦的数据模型的分类器模型,该聚焦的数据模型仅仅包括/测试具有下面特性的特征/条目:这些特征/条目对于评估特定的软件应用来说是最相关的。

特定于用户的分类器模型可以是包括聚焦的数据模型的本地分类器模型,该聚焦的数据模型包括或者优先化与以下各项最有关的特征/条目的测试:识别设备的用户、确定用户的角色、确定设备行为是否与所识别的用户的角色相一致、确定设备行为是否与所识别的用户中的一个用户对于该设备的普通使用相一致、或者确定用户的活动是否指示非良性设备行为。

通过在移动设备中本地地、动态地生成特定于用户、特定于设备和/或特定于应用的分类器模型,各个方面允许设备处理器将其监测和分析操作聚焦于很少数量的特征上,这些很少数量的特征对于确定该特定移动设备的操作和/或在该设备上操作的特定软件应用的操作是否与该特定设备的已知用户的个性、习惯或普通使用模式相一致来说是最重要的。

在一方面,行为分析器模块206可以被配置为:当其行为分析操作的结果不能提供足够的信息,以将设备行为分类为良性的或者非良性的时,将行为分类为“可疑的”,并保持对有助于该分类的特征进行跟踪(例如,在记账模块207中)。行为分析器模块206可以被配置为:响应于确定设备行为是可疑的,通知行为观测器模块202。作为响应,行为观测器模块202可以基于从行为分析器模块206接收的信息(例如,实时分析操作的结果),调整其观测的粒度(即,对计算设备特征进行监测的细节水平)和/或改变进行监测的因素或者行为,生成或收集新的或另外的行为信息,并向行为分析器模块206发送新的/另外的信息以进行进一步分析/分类。行为观测器模块202和行为分析器模块206之间的这种反馈通信,使移动设备200能够递归地增加观测的粒度(即,使得更精细或者更详细地观测),或者改变进行观测的特征/行为,直到将集体行为分类为良性或者非良性的为止、直到识别可疑的或者性能下降的行为的来源为止、直到达到处理或者电池消耗门限为止、或者直到设备处理器确定不能从进一步改变、调整或者增加观测粒度来识别可疑的或性能下降的设备行为的来源为止。这种反馈通信还使移动设备200能够调整或修改行为向量和分类器模型,而不消耗该计算设备的过度的处理、存储器或能量资源的量。

在一方面,行为分析器模块206可以被配置为:接收和分析由各种移动设备子系统和/或在各种时间段收集的信息,以在各种上下文和条件下了解移动设备的正常操作行为;以及在各种上下文/条件下,生成正常移动设备行为的模型(例如,具有分类器模型的形式等等)。在一方面,行为分析器模块206可以被配置为将所收集的行为信息或行为向量与所生成的行为模型相关联,并且基于相关性来执行行为分析操作,以确定所接收的观测是否与所了解的正常操作行为相冲突(或者不匹配)。

作为高级示例,移动设备200可以(经由所收集的行为信息)检测到照相机已在使用,移动设备200正在尝试向服务器上传图片,以及移动设备上的应用在设备放入皮套并戴到用户的腰带时在拍摄照片。移动设备200可以确定该检测到的行为(例如,在放入皮套时,对照相机的使用)是否是用户可接受的行为或者对于用户来说是普通的行为。这可以通过将检测到的行为(例如,生成的行为向量)与移动设备200或用户的过去行为进行比较来实现。由于在放入皮套时拍摄照片并将其上传到服务器是一种不寻常的行为(如可以从放入皮套的情境中观测到的正常行为来确定),因此在这种情况下,计算设备可以将上述行为认识为与用户对于该计算设备的普通使用模式不一致,并且发起合适的响应(例如,关闭相机、发出报警等等)。

在各个方面,移动设备200可以被配置为:与网络服务器协作地工作,以智能地和高效地识别对于确定活动或行为是否是非良性的来说最相关的特征、因素和数据点。例如,设备处理器可以被配置为从网络服务器接收完整分类器模型,并且使用所接收的完整分类器模型来生成精简分类器模型(即,数据/行为模型),该精简分类器模型特定于设备的用户和/或设备或者其软件应用的特征和功能。设备处理器可以使用完整分类器模型,来生成不同级别的复杂度(或者“精简性”)的一系列精简分类器模型。可以例行地应用该系列的精简分类器模型中的最精简模型(即,基于最少数量的测试条件的精简分类器模型),直到遇到分类器模型不能分类为良性的或者非良性的行为(因此该模型分类为可疑的)为止,在该时间,可以应用更稳健的(即,不太精简的)精简分类器模型以尝试对该行为进行分类。可以应用该系列的所生成的精简分类器模型中的更稳健的精简分类器模型的应用,直到实现该行为的确定性分类为止。用此方式,设备处理器能够通过将最完整、但资源密集的精简分类器模型的使用,限制于需要稳健的分类器模型来对行为进行明确地分类的那些情形,在效率和准确性之间取得平衡。

在各个方面,设备处理器可以被配置为:通过将完整分类器模型中包括的有限状态机表示或者表达转换成增强型决策树桩,来生成精简分类器模型。设备处理器可以基于用户个人信息或者特定于用户的设备特征,来修剪或剔除完全集合的增强型决策树桩,以生成包括完整分类器模型中所包括的增强型决策树桩的子集的精简分类器模型。随后,设备处理器可以使用精简分类器模型,对设备行为进行智能地监测、分析和/或分类。

增强型决策树桩是精确地具有一个节点(因此一个测试问题或者测试条件)和权重值的一级决策树,并且因此非常适合于在数据/行为的二进制分类中使用。也就是说,向增强型决策树桩应用行为向量导致二进制应答(例如,是或否)。例如,如果增强型决策树桩所测试的问题/条件是“短消息服务(sms)传输的频率低于每分钟x次吗?”,则向增强型决策树桩应用“3”的值,将导致“是”应答(对应于“小于3次”的sms传输)或者“否”应答(对应于“3次或更多次”的sms传输)。增强型决策树桩是高效的,这是由于它们是非常简单和原始的(并且因此,不需要显著的处理资源)。增强型决策树桩也是非常可并行化的,并且因此可以并行地/在同一时间,应用或者测试多个树桩(例如,通过计算设备中的多个内核或者处理器)。

在一方面,行为分析器模块206可以包括装置,例如,记账模块207,以跟踪其输出对于非良性行为分类具有贡献的增强型决策树桩。记账模块207或者行为分析器模块206还可以跟踪对其输出对于非良性行为分类具有贡献的增强型决策树桩所分配的权重,使得能够计算加权的贡献。

在一方面,记账模块207或者行为分析器模块206可以通过类别或者相关特征,对其输出对于非良性行为分类具有贡献的增强型决策树桩进行分组,以提供对于非良性行为分类的原因或贡献者的更高层次的观点。特定的计算设备功能或组件可以利用多种行为向量条目来监测。例如,可以通过向量值来监测显示,并且通过与开/关状态、亮度、静止/视频等等相关联的增强型决策树桩进行分析。作为另一示例,通信(例如,调制解调器使用或数据传输)可以通过向量值来监测,并且通过与以下各项相关联的增强型决策树桩来分析:开/关状态、最后一秒内的传输数量、最后一分钟内的传输数量、最后两分钟内的传输数量、数据传输的平均大小、传出数据与传入数据的比率等等。通过根据组或关联来跟踪其输出对于非良性行为分类具有贡献的增强型决策树桩(以及其相关联的权重),处理器能够识别对于利用多个行为向量元素进行监测的该分类具有贡献的功能或组件。

图3根据一方面,示出了确定对于将行为分类为良性或非良性贡献最大的特征帽的方法300。方法300可以由移动或资源受限的计算设备的设备处理器来执行。在方块302中,设备处理器可以监测设备行为以收集行为信息。在方块304中,设备处理器可以基于所收集的行为信息来生成行为向量。在方块306中,设备处理器可以向分类器模型应用该行为向量以生成分析结果。在方块308中,设备处理器可以使用分析结果,以将设备的行为分类为良性的或者非良性的。

在方块310中,设备处理器可以使用分析结果,来确定对于将该行为分类为良性或非良性贡献最大的分类器模型所评估的特征。如上所述,这可以涉及:跟踪其输出对于非良性行为分类具有贡献的增强型决策树桩以及它们分配的权重。此外,这可以涉及:识别其输出对于与共同特征、功能或组件有关的非良性行为分类具有贡献的那些增强型决策树桩。在方块312中,设备处理器可以选择对于将该行为分类为良性或者非良性贡献最大的最高“n”(例如,3)个特征、功能和/或组件。在方块314中,设备处理器可以在计算设备的电子显示器上显示所选择的特征。

图4根据另一方面,示出了确定对于将行为分类为良性或非良性贡献最大的特征的方法400。方法400可以由移动计算设备或资源受限计算设备的设备处理器来执行。在方块402中,设备处理器可以向增强型决策树桩分配权重,或者通过另一处理或作为分类模型的实例化的一部分,来访问分配给增强型决策树桩的权重。

在方块404中,设备处理器可以使用分配给增强型决策树桩的权重,以确定该特征对于确定行为是非良性的有多大贡献。在一方面,方块404中的该操作可以涉及:识别其输出对于与共同特征、功能或组件有关的非良性行为分类具有贡献的那些增强型决策树桩。

在方块406中,设备处理器可以选择对于行为的分类贡献最大的最高“n”(例如,4)个特征、功能和/或组件(或者其组合)。在方块408中,设备处理器可以向用户呈现所选择的特征(例如,通过在计算设备的电子显示器上呈现它们)。

图5示出了使用一系列的精简分类器模型,对计算设备中的设备行为进行分类的一个方面方法500。方法500可以由移动计算设备或资源受限计算设备的设备处理器来执行,该移动计算设备或资源受限计算设备被配置有处理器可执行指令以执行该方法的操作。

在方块502中,设备处理器可以执行观测,以从各个组件收集在移动设备系统的各个层级测量的行为信息。在一方面,这可以经由如上面参照图3所讨论的行为观测器模块302来完成。在方块504中,设备处理器可以生成表征所收集的行为信息和/或移动设备行为的特性的行为向量。此外,在方块504中,设备处理器可以使用从网络服务器接收的完整分类器模型,来生成精简分类器模型或者不同程度的复杂性(或者“精简性”)的一系列精简分类器模型。为了实现这一点,设备处理器可以挑选完整分类器模型中包括的一系列增强型决策树桩,以生成包括精简数量的增强型决策树桩和/或评估有限数量的测试条件的精简分类器模型。在一方面,精简分类器模型中的一个或多个模型可以是特定于用户的分类器模型。

在方块506中,设备处理器可以选择该系列精简分类器模型中的移动设备还没有评估或者应用的最精简分类器(即,基于最少数量的不同移动设备状态、特征、行为或状况的模型)。在一方面,这可以通过设备处理器选择经排序的分类器模型列表中的第一分类器模型来完成。在方块508中,设备处理器可以向所选择的精简分类器模型中的每一个增强型决策树桩应用所收集的行为信息或者行为向量。由于增强型决策树桩是二进制决策,并且精简分类器模型是通过选择基于相同的测试条件的多个二进制决策来生成的,因此可以以并行操作来执行向精简分类器模型中的增强型决策树桩应用行为向量的处理。替代地,可以对行为向量进行截短或者过滤,以刚好包括精简分类器模型中包括的有限数量的测试条件参数,从而进一步降低在应用该模型时的计算量。

在方块510中,设备处理器可以计算或者确定向精简分类器模型中的每一个增强型决策树桩应用所收集的行为信息的结果的加权平均。在方块512中,设备处理器可以将所计算的加权平均与门限值进行比较。在确定方块514中,设备处理器可以确定该比较的结果和/或应用所选择的精简分类器模型所生成的结果是否是可疑的。例如,设备处理器可以确定是否可以使用这些结果,以较高的置信度将行为分类为恶意的或者良性的,如果没有将该行为对待为可疑的话。

如果设备处理器确定结果是可疑的(例如,确定方块514=“是”),则设备处理器可以重复方块506-512中的操作,以选择和应用更强的(即,不太精简的)分类器模型对更多的设备状态、特征、行为或状况进行评估,直到以高的置信度将行为分类为恶意的或者良性的为止。如果设备处理器例如,通过以较高的置信度来确定能够将行为分类为恶意的或者良性的,确定结果不是可疑的(例如,确定方块514=“否”),则在方块516中,设备处理器可以使用在方块512中生成的比较的结果,将移动设备的行为分类为良性的或者潜在恶意的。

在一替代的方面方法中,上面所描述的操作可以通过以下操作来完成:顺序地选择并未处于精简分类器模型之中的增强型决策树桩;识别所有取决于与所选择的决策树桩相同的移动设备状态、特征、行为或状况的其它增强型决策树桩(并因此能够基于一种确定结果来进行应用);在精简分类器模型中,包括所选择的增强型决策树桩以及所有识别的取决于相同的移动设备状态、特征、行为或状况的其它增强型决策树桩;以及将该处理重复与所确定的测试条件的数量相等的次数。由于每一次将取决于与所选择的增强型决策树桩相同的测试条件的所有增强型决策树桩,都增加到精简分类器模型中,因此限制执行该处理的次数,将限制精简分类器模型中包括的测试条件的数量。

图6示出了适合于生成决策树/分类器的示例性方法600,该决策树/分类器适合于根据各个方面进行使用。方法600可以由移动计算设备或资源受限计算设备的设备处理器来执行,该移动计算设备或资源受限计算设备被配置有处理器可执行指令以执行该方法的操作。在方块602中,设备处理器可以生成和/或执行决策树/分类器,从决策树/分类器的执行来收集训练样本,并基于该训练样本来生成新的分类器模型(h1(x))。该训练样本可以包括:从移动设备中的移动设备行为、软件应用或者进程的先前观测或分析所收集的信息。可以基于先前分类器中包括的问题或测试条件的类型,和/或基于从先前数据/行为模型或者分类器的执行/应用所收集的准确性或性能特性,来生成该训练样本和/或新的分类器模型(h1(x))。

在方块604中,设备处理器可以提升(或者增加)所生成的决策树/分类器(h1(x))所误分类的条目的权重,以生成第二新的树/分类器(h2(x))。在一方面,可以基于分类器(h1(x))的先前执行或者使用的错误率,来生成该训练样本和/或新的分类器模型(h2(x))。在一方面,可以基于确定对于错误率或者分类器的先前执行或使用中的数据点的误分类具有贡献的属性,来生成该训练样本和/或新的分类器模型(h2(x))。

在一方面,可以基于误分类的条目的相对准确性或者有效性,对它们进行加权。在操作606中,处理器可以提升(或者增加)所生成的第二决策树/分类器(h2(x))所误分类的条目的权重,以生成第三新的树/分类器(h3(x))。在操作608中,可以重复604-606的操作,以生成“t”数量的新树/分类器(ht(x))。

通过提升或者增加第一决策树/分类器(h1(x))误分类的条目的权重,第二决策树/分类器(h2(x))可以更准确地对第一决策树/分类器(h1(x))误分类的条目进行分类,但也可能使第一决策树/分类器(h1(x))正确分类的条目中的一些条目发生误分类。类似地,第三决策树/分类器(h3(x))可以更准确地对第二决策树/分类器(h2(x))误分类的条目进行分类,并可能使第二决策树/分类器(h2(x))正确分类的条目中的一些条目发生误分类。也就是说,生成该系列的树/分类器h1(x)-ht(x)并不导致系统整体地收敛,而是导致可以并行地执行多个决策树/分类器。

图7根据一方面,示出了用于执行动态和自适应观测的示例性方法700。方法700可以由移动计算设备或资源受限计算设备的设备处理器来执行,该移动计算设备或资源受限计算设备被配置有处理器可执行指令以执行方法的操作。在方块702中,设备处理器可以通过对可能对于移动设备的性能下降具有贡献的很大数量的因素、行为和活动的子集进行监测/观测,来执行粗观测。在方块703中,设备处理器可以基于粗观测,生成表征粗观测和/或移动设备行为的行为向量。在方块704中,设备处理器可以识别与粗观测相关联的、可能潜在地对于移动设备的性能下降具有贡献的子系统、进程和/或应用。例如,这可以通过将从多个源接收的信息与从移动设备的传感器接收的上下文信息进行比较来实现。在方块706中,设备处理器可以基于粗观测,执行行为分析操作。

在确定方块708,设备处理器可以确定是否能够基于行为分析的结果,来识别和校正可疑的行为或潜在的问题。当设备处理器确定能够基于行为分析的结果,来识别和校正可疑的行为或潜在的问题时(即,确定方块708=“是”),在方块718中,处理器可以发起对该行为进行校正的处理,并返回到方块702来执行另外的粗观测。

当设备处理器确定不能基于行为分析的结果,来识别和/或校正可疑的行为或潜在的问题时(即,确定方块708=“否”),在确定方块709中,设备处理器可以确定存在问题的可能性。在一方面,设备处理器可以通过计算移动设备遭遇到潜在问题和/或参与可疑行为的概率,并确定所计算的概率是否大于预定的门限,来确定存在问题的可能性。当设备处理器确定所计算的概率不大于预定的门限,和/或没有可疑行为或潜在问题存在和/或可检测的可能性时(即,确定方块709=“否”),则处理器可以返回到方块702以执行另外的粗观测。

当设备处理器确定具有可疑行为或潜在问题存在和/或可检测的可能性时(即,确定方块709=“是”),在方块710中,设备处理器可以对所识别的子系统、进程或应用,执行更深层次的记录/观测或者最终的记录。在方块712中,设备处理器可以对所识别的子系统、进程或应用,执行更深入和更详细的观测。在方块714中,设备处理器可以基于更深入和更详细的观测,来执行进一步和/或更深入的行为分析。在确定方块708中,设备处理器可以再次确定是否能够基于更深入行为分析的结果,来识别和校正可疑的行为或潜在的问题。当设备处理器确定基于更深入的行为分析的结果,不能识别和校正可疑的行为或潜在的问题时(即,确定方块708=“否”),则处理器可以重复方块710-714中的操作,直到细节水平足够精细以便识别问题为止,或者直到确定不能利用另外的细节来识别该问题或者不存在问题为止。

当设备处理器确定基于更深入的行为分析的结果,能够识别和校正可疑的行为或潜在的问题时(即,确定方块708=“是”),在方块718中,设备处理器可以执行操作以校正该问题/行为,并且处理器可以返回到方块702以执行另外的操作。

在一方面,作为方法700的方块702-718的一部分,设备处理器可以执行系统的行为的实时行为分析,以从有限的粗观测来识别可疑的行为,动态地确定要进行更详细地观测的行为,以及动态地确定这些观测所需要的精确的细节水平。这使设备处理器能够高效地识别和防止发生问题,而无需使用该设备上的大量的处理器、存储器或电池资源。

各个方面通过使用行为分析和/或机器学习技术(与基于权限、策略或规则的方法相比)来监测和分析选择的软件应用组的集体行为,来改进现有解决方案。行为分析或机器学习技术的使用是重要的,这是由于现代计算设备是高度可配置和复杂系统,并且对于确定软件应用是否是串通的来说最重要的因素,在每个设备中可能是不同的。此外,设备特征/因素的不同组合可能需要对每一个设备进行分析,以便该设备确定软件应用是否是串通的。但是,通常仅能够使用从执行活动的特定计算设备、并在进行活动的时间所获得的信息,来确定需要进行监测和分析的特征/因素的精准组合。由于这些和其它原因,现有的解决方案并不足以在行为正在进行时,在不消耗计算设备的大量的处理、存储器或功率资源的情况下,实时地对计算设备中的多个软件应用的集体行为或者多个软件应用之间的关系进行监测、检测和表征。

包括上面参照图2-7所讨论的方面的各个方面可以在各种各样的被配置有处理器可执行指令的计算设备上实现,在图8中利用智能电话的形式示出了计算设备的示例。智能电话800可以包括耦合到内部存储器804、显示器812,以及扬声器814的处理器802。另外,智能电话800可以包括用于发送和接收电磁辐射的天线,该天线可以连接到无线数据链路和/或耦合到处理器802的蜂窝电话收发机808。通常,智能电话800还包括用于接收用户输入的菜单选择按键或者摇杆开关820。

典型的智能电话800还包括声音编码/解码(codec)电路806,该电路对从麦克风接收的声音数字化成适合于无线传输的数据分组,并且对接收的声音数据分组进行解码,以生成提供给扬声器来生成声音的模拟信号。此外,处理器802、无线收发机808和codec806中的一者或多者可以包括数字信号处理器(dsp)电路(没有单独地示出)。

处理器802可以是任何可编程微处理器、微计算机或多处理器芯片,上述各项能够由处理器可执行指令(应用)进行配置以执行各种各样的功能和操作,包括下面所描述的各个方面的操作。在一些移动设备中,可以提供多个处理器802,例如,一个处理器专用于无线通信功能,以及一个处理器专用于运行其它应用。通常,在访问软件应用并将它们装载到处理器802之前,可以将这些软件应用存储在内部存储器804中。处理器802可以包括足够用于存储这些应用软件指令的内部存储器。在各个方面,处理器802可以是设备处理器、处理内核或者soc(例如,图1中所示出的示例性soc100)。在一方面,智能电话800可以包括soc,并且处理器802可以是soc中包括的处理器中的一个处理器(例如,图1中所示出的处理器102、104、106、108、110中的一个处理器)。

各个方面还可以包括计算设备,该计算设备包括:用于将从用户输入设备接收的原始数据与用户交互事件信息进行比较,以生成分析结果的单元;以及用于使用所生成的分析结果,来确定用户交互(ui)事件是否与计算设备的用户相关的单元。在一些方面,用于将从用户输入设备接收的原始数据与用户交互事件信息进行比较,以生成分析结果的单元,可以包括:用于将从设备驱动器接收的原始数据与从高级操作系统接收的交互信息进行比较的单元。在一些方面,计算设备还可以包括:用于响应于确定ui事件与计算设备的用户不相关,将软件应用的活动分类为非良性的单元。在一些方面,计算设备还可以包括:用于生成表征软件应用的活动的行为向量的单元;用于响应于确定ui事件与该计算设备的用户不相关,向包括决策节点的分类器模型应用所生成的行为向量的单元,该决策节点评估是否存在与活动相对应的ui事件;以及用于使用向分类器模型应用所生成的行为向量的结果,确定软件应用的活动是否是非良性的单元。在一些方面,计算设备还可以包括:用于生成表征软件应用的活动的行为向量的单元;用于响应于确定ui事件与计算设备的用户不相关,选择分类器模型的单元,该分类器模型不包括测试是否存在与活动相对应的ui事件的决策节点;用于向所选择的分类器模型应用所生成的行为向量,以生成另外的分析结果的单元;以及用于使用所生成的另外的分析结果,来确定软件应用的活动是否是非良性的单元。在一些方面,计算设备还可以包括:用于响应于确定ui事件与计算设备的用户不相关,选择一系列稳健的分类器模型的单元;以及用于向所选择的一系列稳健分类器模型应用多个行为向量,以确定软件应用的活动是否是非良性的单元。

如本申请中所使用的,术语“组件”、“模块”等等旨在包括与计算机相关的实体,例如但不限于:被配置为执行特定的操作或功能的硬件、固件、硬件和软件的结合、软件或执行中的软件。例如,组件可以是,但不限于:在处理器上运行的处理、处理器、对象、可执行文件、执行的线程、程序和/或计算机。举例而言,在计算设备上运行的应用和该计算设备两者都可以称为组件。一个或多个组件可以存在于处理和/或执行的线程中,组件可以位于一个处理器或内核中和/或分布在两个或更多个处理器或内核之间。此外,这些组件可以从其上存储有各种指令和/或数据结构的各种非临时性计算机可读介质执行。组件可以通过本地和/或远程处理、函数或过程调用、电信号、数据分组、存储器读/写、以及其它已知的网络、计算机、处理器和/或与处理有关的通信方法的方式进行通信。

用于在可编程处理器上运行以执行各个方面的操作的计算机程序代码或“程序代码”,可以利用诸如c、c++、c#、smalltalk、java、javascript、visualbasic、结构化查询语言(例如,transact-sql)、perl的高级编程语言来编写,或者利用各种其它编程语言来编写。如本申请所使用的,计算机可读存储介质上所存储的程序代码或程序,可以指代其格式是处理器可理解的机器语言代码(例如,目标代码)。

将很多移动计算设备操作系统内核组织到用户空间(非特权代码运行的空间)和内核空间(特权代码运行的空间)。这种分隔在和其它通用公共许可证(gpl)环境中具有特别的重要性,其中在这些环境中,作为内核空间的一部分的代码必须是gpl许可的,而在用户空间中运行的代码可能不是gpl许可的。应当理解的是,这里所讨论的各种软件组件/模块可以实现在内核空间中,也可以实现在用户空间中,除非另外明确指出。

上述的方法描述和处理流程图仅仅是用作为说明性示例来提供,而不是旨在要求或者隐含着必须以所给出的顺序来执行各个方面的操作。如本领域技术人员所应当理解的,可以以任何顺序来执行上述的方面中的操作顺序。诸如“其后”、“随后”、“接着”等等之类的词语,并不旨在限制这些操作的顺序;这些词语仅仅只是用于引导读者遍历该方法的描述。此外,任何对权利要求要素的单数引用,例如,使用冠词“一个”、“一”或者“该”,不应被解释为将该要素限制为单数形式。

结合本文所公开的方面描述的各种示例性的逻辑方块、模块、电路和算法操作均可以实现为电子硬件、计算机软件或二者的组合。为了清楚地表示硬件和软件之间的这种可交换性,上面已经对各种示例性的组件、方块、模块、电路和操作,围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。本领域技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为导致背离权利要求的保护范围。

利用执行本文所述功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或者其任意组合,可以实现或执行结合本文所公开的方面描述的用于实现各种示例性的逻辑、逻辑方块、模块和电路的硬件。通用处理器可以是多处理器,但是在替代方案中,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,dsp和多处理器的组合、多个多处理器、一个或多个多处理器与dsp内核的结合,或者任何其它此种结构。替代地,一些操作或方法可以由特定于给定的功能的电路来执行。

在一个或多个示例性方面,所述功能可以用硬件、软件、固件或它们任意组合的方式来实现。当在软件中实现时,可以将这些功能存储成非临时性计算机可读存储介质或者非临时性处理器可读存储介质上的一个或多个处理器可执行指令或代码。本文所公开的方法或算法的操作,可以体现在处理器可执行软件模块中,该软件模块可以具有存储在非临时性计算机可读存储介质或处理器可读存储介质上的存储的处理器可执行软件指令的形式。非临时性计算机可读或处理器可读存储介质可以是计算机或处理器可以存取的任何存储介质。举例而言,但非做出限制,这种非临时性计算机可读介质或者处理器可读介质可以包括ram、rom、eeprom、闪存、cd-rom或其它光盘存储器、磁盘存储器或其它磁存储设备、或者可以用于存储具有指令或数据结构形式的期望的程序代码并可以由计算机进行存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(cd)、激光光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在非临时性计算机可读介质和处理器可读介质的保护范围之内。另外,方法或算法的操作可以作为代码和/或指令中的一者,或者代码和/或指令的任意组合或者集合,在非临时性处理器可读介质和/或计算机可读介质上驻留,该非临时性处理器可读介质和/或计算机可读介质可以并入到计算机程序产品中。

为使本领域技术人员能够实现或者使用本发明,上面围绕所公开的方面进行了描述。对于本领域普通技术人员来说,对这些方面的各种修改将是显而易见的,并且,本文定义的总体原理也可以在不脱离本发明的精神或范围的基础上,应用于其它方面。因此,本发明并不是要限于本文所示出的方面,而是要符合与所附权利要求和本文公开的原理和新颖特征相一致的最广范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1