用于检测以移动设备的行为安全机制为目标的恶意软件和攻击的方法和系统与流程

文档序号:11161021阅读:334来源:国知局
用于检测以移动设备的行为安全机制为目标的恶意软件和攻击的方法和系统与制造工艺

在过去的几年当中蜂窝通信技术和无线通信技术爆炸式增长。无线服务提供商现在提供很宽范围的特征和服务,这些特征和服务为其用户提供了前所未有的水平的信息、资源和通信访问。为了跟上这些改进,消费者电子设备(例如,蜂窝电话、腕表、耳机、遥控器等)已经变得比以前更强大、复杂,现在通常包括强大的处理器、大存储器以及其它容许在其设备上执行复杂、强大的软件应用的资源。这些设备还使其用户能够从应用下载服务(例如,App Store、Store、play等)或者Internet下载并执行各种各样的软件应用。

由于这些以及其它改进的原因,越来越多的移动和无线设备用户现在使用其设备来存储敏感信息(例如,信用卡信息、联系方式等)和/或完成要将安全性视为重要事项的任务。例如,移动设备用户频繁地使用其设备来购买商品,发送和接收敏感通信,支付账单,管理银行账目以及实施其它敏感事务。由于这些趋势的原因,移动设备正在快速地变为恶意软件和网络攻击的下一前沿地带。因此,用于更好地保护资源受限计算设备(例如,移动设备和无线设备)的新的以及改进的安全解决方案将使消费者获益。



技术实现要素:

各个方面包括采用基于行为的安全系统智能地并且有效率地识别、避免和/或校正往往会使移动设备的性能和/或功率利用水平随着时间的推移而劣化的条件、因素和/或行为的方法。各个方面还包括对移动设备的基于行为的安全系统进行分析的方法,所述方法可以包括生成被配置为在移动设备中模拟非良性行为的仿真攻击软件,将所生成的仿真攻击软件发送给移动设备从而在该移动设备中模拟非良性行为,判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为,以及响应于确定移动设备的基于行为的安全系统没有适当地响应所模拟的非良性行为,来向移动设备发送死人信号。

在一方面中,判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为可以包括:从移动设备接收响应于向移动设备发送所生成的仿真攻击软件的行为信息,基于所接收到的行为信息生成行为向量,将所生成的行为向量应用于分类器模型以生成结果,以及使用所生成的结果判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为。

在另一方面中,所述方法可以包括由处理器设置定时器,其中,判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为可以包括:判断是否在定时器期满之前从移动设备接收到了响应。在另一方面中,所述方法可以包括响应于确定移动设备的基于行为的安全系统适当地响应了所模拟的非良性行为,来向移动设备发送系统OK信号。

在另一方面中,向移动设备发送死人信号可以包括发送包括含有适于使移动设备执行死人操作的信息的通信消息。在另一方面中,生成仿真攻击软件可以包括从很多移动设备接收行为信息的语料库,分析所述行为信息的语料库以识别非良性行为,以及将仿真攻击软件生成为包含适于使移动设备的移动设备处理器执行所识别出的非良性行为的信息。在另一方面中,生成仿真攻击软件可以包括生成含有适于使移动设备的移动设备处理器执行与已知网络攻击相关联的操作的信息的仿真攻击软件。

在另一方面中,所述方法可以包括在移动设备的处理器中接收仿真攻击软件,在移动设备中安装所接收到的仿真攻击软件,监测基于行为的安全系统的操作以收集行为信息,以及将所收集的行为信息发送给处理器。在另一方面中,所述方法可以包括由移动设备处理器响应于发送所收集的行为信息来设置定时器;以及响应于确定移动设备还没接收到系统OK信号并且定时器已经期满,来由移动设备处理器执行死人操作。在另一方面中,所模拟的非良性行为可以包括所模拟的近场通信(NFC)交易的行为,并且其中,所述死人信号可以包括适于使移动设备避免完成近场通信(NFC)交易的信息。

其它方面包括一种计算设备,其包括被配置有处理器可执行指令以执行各种操作的处理器,所述操作包括生成被配置为在移动设备当中模拟非良性行为的仿真攻击软件,将所生成的仿真攻击软件发送给所述移动设备,从而在所述移动设备中模拟非良性行为,判断所述移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为,以及响应于确定移动设备的基于行为的安全系统没有适当地响应所模拟的非良性行为,来向移动设备发送死人信号。

在一个方面当中,处理器可以被配置有处理器可执行指令以执行操作,使得判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为包括:从移动设备接收响应于向移动设备发送所生成的仿真攻击软件的行为信息,基于所接收到的行为信息生成行为向量,将所生成的行为向量应用于分类器模型以生成结果,以及使用所生成的结果判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为。在另一方面中,处理器可以被配置有用于执行包括由处理器设置定时器的操作的处理器可执行指令。在一方面中,处理器可以被配置有处理器可执行指令以执行操作,使得判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为包括:判断是否在定时器期满之前从移动设备接收到了响应。

在另一方面中,处理器可以被配置有用于执行包括以下步骤的操作的处理器可执行指令:响应于确定移动设备的基于行为的安全系统适当地响应了所模拟的非良性行为,来向移动设备发送系统OK信号。在另一方面中,处理器可以被配置有处理器可执行指令以执行操作,使得向移动设备发送死人信号包括发送含有适于使移动设备执行死人操作的信息的通信消息。

在另一方面中,处理器可以被配置有处理器可执行指令以执行操作,使得生成仿真攻击软件包括:从很多移动设备接收行为信息的语料库,对所述行为信息的语料库加以分析以识别非良性行为,以及将仿真攻击软件生成为包括适于使移动设备的移动设备处理器执行所识别的非良性行为的信息。在另一方面中,处理器可以被配置有处理器可执行指令以执行操作,使得生成仿真攻击软件包括将仿真攻击软件生成为包括适于使移动设备的移动设备处理器执行与已知的网络攻击相关联的操作的信息。

其它方面包括一种具有存储于其上的处理器可执行软件指令的非暂态计算机可读存储介质,所述处理器可执行软件指令被配置为使处理器执行用于对移动设备的基于行为的安全系统进行分析的操作,所述操作包括生成被配置为在移动设备中模拟非良性行为的仿真攻击软件,将所生成的仿真攻击软件发送给所述移动设备,从而在所述移动设备中模拟非良性行为,判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为,以及响应于确定移动设备的基于行为的安全系统没有适当地响应所模拟的非良性行为,来向移动设备发送死人信号。

在一个方面当中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为包括:从移动设备接收响应于向移动设备发送所生成的仿真攻击软件的行为信息,基于所接收到的行为信息生成行为向量,将所生成的行为向量应用于分类器模型以生成结果,以及使用所生成的结果判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为。

在另一方面中,所存储的处理器可执行软件指令可以被配置为使处理器执行包括由处理器设置定时器的操作,其中,判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为包括:判断是否在定时器期满之前从移动设备接收到了响应。在另一方面中,所存储的处理器可执行软件指令可以被配置为使处理器执行包括以下步骤的操作:响应于确定移动设备的基于行为的安全系统适当地响应了所模拟的非良性行为,来向移动设备发送系统OK信号。

在另一方面中,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得向移动设备发送死人信号包括发送含有适于使移动设备执行死人操作的信息的通信消息。在另一方面中,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得生成仿真攻击软件包括:从很多移动设备接收行为信息的语料库,对所述行为信息的语料库加以分析以识别出非良性行为,并将仿真攻击软件生成为包括适于使移动设备的移动设备处理器执行所识别出的非良性行为的信息。在另一方面中,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得生成仿真攻击软件包括:将仿真攻击软件生成为包括适于使移动设备的移动设备处理器执行与已知的网络攻击相关联的操作的信息。

其它方面包括一种计算设备,其包括用于生成被配置为在移动设备中模拟非良性行为的仿真攻击软件的单元,用于将所生成的仿真攻击软件发送给移动设备从而在所述移动设备中模拟非良性行为的单元,用于判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为的单元,以及用于响应于确定移动设备的基于行为的安全系统没有适当地响应所模拟的非良性行为,来向移动设备发送死人信号的单元。

在一方面中,用于判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为的单元包括:用于从移动设备接收响应于向移动设备发送所生成的仿真攻击软件的行为信息的单元,用于基于所接收到的行为信息生成行为向量的单元,用于将所生成的行为向量应用于分类器模型以生成结果的单元,以及用于使用所生成的结果来判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为的单元。在另一方面中,所述计算设备包括用于通过处理器设置定时器的单元,并且用于判断移动设备的基于行为的安全系统是否适当地响应了所模拟的非良性行为的单元包括,用于判断是否在定时器期满之前从移动设备接收到了响应的单元。

在另一方面中,所述计算设备包括用于响应于确定移动设备的基于行为的安全系统适当地响应了所模拟的非良性行为,来向移动设备发送系统OK信号的单元。在另一方面中,用于向移动设备发送死人信号的单元包括发送含有适于使移动设备执行死人操作的信息的通信消息。在另一方面中,用于生成仿真攻击软件的单元包括:用于从很多移动设备接收行为信息的语料库的单元,用于对所述行为信息的语料库进行分析以识别出非良性行为的单元,以及用于将仿真攻击软件生成为包括适于使移动设备的移动设备处理器执行所识别出的非良性行为的信息的单元。

附图说明

文中包含的并且构成了本说明书的部分的附图示出了本发明的例示性方面,其连同上文给出的一般性描述和下文给出的具体实施方式起着对本发明的特征加以解释的作用。

图1是示出了适于与所述各种方面结合使用的示例性电信系统的网络部件的通信系统方框图。

图2是示出了被配置为采用行为分析和机器学习技术将行为分类为良性或非良性的一个方面的计算设备中的示例性逻辑部件和信息流的方框图。

图3和图4是示出了根据各个方面的对计算设备的基于行为的安全系统的准确性和性能进行评估的方法的过程流程图。

图5是示出了根据各个方面的生成适合用于对设备行为进行分类的分类器模型的方法的过程流程图。

图6是示出了根据方面的用于执行行为监测和分析操作的方法的过程流程图。

图7是适用于方面的移动设备的部件方框图。

图8是适用于方面的服务器设备的部件方框图。

具体实施方式

将参考附图详细描述各个方面。只要可能,在所有的附图中都将采用相同的附图标记指代相同或类似的部分。对特定的例子和实现所做的引用只是为了举例说明的目的,而并非意在限制本发明或权利要求的范围。

在概述当中,各种方面包括用于保护计算设备的基于行为的安全系统免受恶意软件攻击和网络攻击,并且确保系统正确地、有效率地或者按照预期地工作的方法以及被配置为实现该方法的设备。

计算设备(例如,移动设备或者其它资源受限计算设备)可以配备有基于行为的安全系统,所述安全系统被配置为采用行为分析和机器学习技术来智能地并且有效率地识别、避免和/或校正通常随着时间的推移使计算设备的性能劣化和/或使计算设备的功率利用水平劣化的状况、因素和/或行为。例如,基于行为的安全系统可以采用行为分析技术以快速、有效率地判断软件应用、过程、活动或设备行为是良性的还是非良性的。于是,基于行为的安全系统可以使计算设备执行各种动作或操作,以校正、修复、消除、隔离或者以其它方式解决所识别的问题(例如,被确定为非良性的行为)。

尽管上文提及的基于行为的安全系统对于避免计算设备的性能和功率利用水平随着时间推移的劣化一般是非常有效的,但是恶意的软件应用可能会尝试通过改变、修改、抑制、卸载、停止或者以其它方式攻击该设备的行为监测和分析系统,来规避或逃脱该系统的检测。为了避免这样的攻击,所述各个方面可以将计算设备配置为与攻击模拟模块协同工作,以监测基于行为的安全系统的准确性和性能,并判断该系统是否在正确地、有效率地或者按照预期地工作。在各方面中,该攻击模拟模块可以包括软件、硬件或者硬件和软件的组合,并且可以被包含到网络服务器、另一计算设备、在同一计算设备上运行的超管理器或者该计算设备本身当中。

在各种方面当中,攻击模拟模块可以被配置为生成仿真攻击软件并将其发送给配备有基于行为的安全系统的计算设备(目标设备),以模拟目标设备当中的仿真攻击。目标设备可以被配置为接收并安装仿真攻击软件,监测基于行为的安全系统的操作以收集行为信息,以及将所收集到的行为信息发送给攻击模拟模块(或者给发送了仿真攻击的部件或计算设备)。攻击模拟模块可以接收并使用该行为信息来判断目标设备中的基于行为的安全系统是否正确或者适当地识别出了仿真攻击并对其做出了响应。在一方面中,这一点可以通过在行为信息的基础上生成行为向量,并将行为向量应用于分类器模型以判断目标设备是否正确地、有效率地或者按照预期地对仿真攻击做出了响应,来完成。

除了对基于行为的安全系统的正确状态和操作进行评估之外,攻击模拟模块还可以被配置为收集有关目标设备的操作和特点的额外信息/元数据,并使用该信息更好地评估基于行为的安全系统的准确性和性能。例如,攻击模拟模块可以被配置为使目标设备跟踪在对仿真攻击进行评估或响应时所消耗的时间量和/或能量总量。目标设备可以将该信息连同行为信息和/或分析结果一起(例如,作为同一通信的部分,利用同一通信消息,利用不同的通信消息等)发送给攻击模拟模块,攻击模拟模块可以接收并使用该额外信息/元数据,从而更好地判断目标设备是否有效率地或者按照预期地对仿真攻击做出了响应。

在各种方面当中,攻击模拟模块可以被配置为响应于确定目标设备没有正确地、有效率地或者按照预期地对仿真攻击做出响应,而确定目标设备的基于行为的安全系统已经受到了破坏。也就是说,网络服务器可以响应于确定在目标设备中执行的操作(或者目标设备的行为)在安装了仿真攻击软件之后与处于类似攻击状态下的具有类似配备的设备的预期操作/行为不一致,而确定目标设备的基于行为的安全系统有很高的概率已经受到损害或者不适当的修改,已经被传染了恶意软件,或者处于攻击之下。攻击模拟模块还可以被配置为响应于确定在仿真攻击软件被发送给了目标设备之后未在某一时间段内接收到适当的响应,而确定目标设备的基于行为的安全系统已经受到了破坏。

在一个方面中,攻击模拟模块可以被配置为响应于确定目标设备的基于行为的安全系统已经受到了破坏而向目标设备发送或者发射“死人”信号。在一个方面中,死人信号可以包括适于使目标设备执行死人操作的信息,该死人操作可以包括关闭目标设备,重启目标设备,或者执行其它操作以识别、防止和/或校正目标设备中的行为监测和分析系统的问题或行为。

在一方面中,攻击模拟模块可以被配置为响应于确定目标设备的基于行为的安全系统在正常、正确地或者按照预期地运行,来向目标设备发送或发射“系统OK”信号。在这一方面中,目标设备可以被配置为针对在向网络服务器发送分析操作的结果之后接收“系统OK”信号来设置定时器,并响应于确定定时器已经期满了却仍未从网络服务器接收到“系统OK”信号而执行死人操作。

本文中使用“示例性”一词表示“当作例子、实例或说明”。文中被描述为“示例性”的任何实现未必一定要被视为相对于其它实现是优选的或者有利的。

文中采用的术语“性能劣化”是指计算设备的各种各样的不符合期望的操作和特点,例如,更长的处理时间、更慢的实时响应、更短的电池寿命、私人数据丢失、恶意经济活动(例如,发送未经授权的溢价SMS消息)、拒绝服务(DOS)、写得或者设计得很差的软件应用、恶意软件、恶意程序、病毒、破碎化存储器、与强取征用该设备或者利用该设备进行窥探或者僵尸网络活动有关的操作等。而且,出于这些原因中的任何原因而使性能劣化的行为、活动和状况在文中被称为是“不良的”或者“非良性的”。

在本文中可以普遍地使用并可互换地使用术语“无线设备”、“移动设备”、“移动计算设备”和“用户设备”,以指代蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板电脑、智能本、超级本、掌上电脑、无线电子邮件接收器、具备多媒体互联网功能的蜂窝电话、无线游戏控制器以及类似的电子设备(其包括存储器和可编程处理器(性能对于该处理器而言是很重要的),并且在电池电源下进行操作,因而省电方法是有利的)中的任何一者或全部。尽管各个方面对于作为资源受限系统的移动设备尤为有用,但是各个方面一般可用在包括处理器并且执行软件应用的任何计算设备当中。

一般而言,移动设备的性能和功率效率随着时间劣化。最近,防病毒公司(例如,McAfee、Symantec等)已经开始销售旨在放缓这种劣化的移动防病毒产品、防火墙产品和加密产品。但是,这些解决方案中的很多解决方案依赖于在移动设备上定期地执行计算密集型扫描引擎,这可能消耗很多该移动设备的处理和电池资源,在长时间段内使移动设备变慢或者使其不可用,和/或以其它方式劣化用户体验。此外,这些解决方案通常局限于检测已知的病毒和恶意软件,并不解决往往结合起来促使移动设备随着时间的推移而劣化的多个复杂因素和/或相互作用(例如,在性能劣化不是由病毒或恶意软件引起的时候)。出于这些和其它原因,现有的防病毒产品、防火墙产品和加密产品并未提供适当的解决方案来识别可能促使移动设备随着时间的推移而劣化的诸多因素,避免移动设备劣化,或者将老化的移动设备有效率地恢复至其初始状态。

各个方面通过为计算设备(例如,移动设备)配备有基于行为的安全系统(诸如综合行为监测及分析系统)而克服了现有解决方案的这些以及其它限制,该综合行为监测及分析系统被配置为采用机器学习和/或行为分析技术以智能地并且有效率地识别、避免和/或校正往往随着时间的推移而使移动设备的性能和/或功率利用水平劣化的状况、因素和/或设备行为。

在各方面中,行为监测及分析系统可以包括观测器过程、守护程序、模块或子系统(文中统称为“模块”)、行为提取器模块和分析器模块。观测器模块可以被配置为用仪器装备或协调计算设备系统的各个层级上的各种应用编程接口(API)、寄存器、计数器或其它部件(本文中统称为“仪表化部件”)。观测器模块可以通过收集来自仪表化部件的行为信息连续(或者近乎连续)地监测计算设备的活动,这可以通过从被存储在计算设备的存储器中的API日志文件读取信息来完成。

观测器模块可以将收集到的行为信息(例如,经由存储器写操作、函数调用等)传送给行为提取器模块,行为提取器模块可以使用收集到的行为信息生成行为向量,每一行为向量表示或者表征与移动设备的具体软件应用、模块、部件、任务或过程相关联的很多或全部观测到的行为。每一行为向量可以封装一个或多个“行为特征”。每一行为特征可以是表示观测到的行为的全部或部分的抽象数。此外,每一行为特征可以与识别一定范围的可能值的数据类型、可以对那些值执行的操作、所述值的含义等相关联。数据类型可以包括可以用于确定应当如何测量、分析、加权或使用特征(或特征值)的信息。

行为提取器模块可以将所生成的行为向量(例如,经由存储器写操作、函数调用等)传送给分析器模块。分析器模块可以将该行为向量应用到分类器模型,以判断软件应用或设备行为是良性的还是非良性的(例如,恶意的、写得差的、性能在劣化的等等)。

分类器模型可以是包括计算设备处理器能够用于对该设备的行为的具体特征或方面进行评估的数据和/或信息结构(例如,特征向量、行为向量、部件列表、决策树、决策节点等)的行为模型。分类器模型还可以包括用于对计算设备中的若干特征、因素、数据点、条目、API、状态、条件、行为、软件应用、过程、操作、部件等(本文中统称为“特征”)进行监测和/或分析的决策准则。

每一分类器模型可以被分类为全分类器模型或精简分类器模型。全分类器模型可以是根据大训练数据集生成的鲁棒数据模型,大训练数据集可以包括数千的特征和数十亿的条目。精简分类器模型可以是根据缩小的数据集生成的更加专注的数据模型,缩小的数据集包括或者优先考虑关于对于判断特定移动设备行为是否为非良性而言最为相关的特征/条目的测试。本地生成的精简分类器模型是在计算设备中生成的精简分类器模型。举例而言,计算设备可以被配置为从网络服务器接收全分类器模型,基于全分类器在该计算设备中生成精简分类器模型,以及使用本地生成的精简分类器模型来将该设备的行为分类为良性或非良性(即,恶意、性能在劣化等)。

分析器模块可以被配置为响应于确定设备行为存疑(即,响应于确定分析操作的结果不足以将该行为分类为良性或非良性)而对观测器模块发出通知。作为响应,观测器模块可以调整其观测的粒度(即,对计算设备特征进行监测的详细程度)和/或基于从分析器模块接收到的信息(例如,实时分析操作的结果)改变所观测的因素/行为,生成或收集新的或者额外的行为信息,以及将该新的/额外的信息发送给分析器模块,以供进一步的分析。观测器模块和分析器模块之间的此种反馈通信使计算设备处理器能够以递归方式提高观测粒度(即,做出更加精细或者更为详细的观测)或者改变所观测的特征/行为,直到行为被分类为良性或非良性、直到达到处理或电池消耗阈值,或者直到计算设备处理器确定不能由观测粒度的进一步提高而识别出可疑的或者使性能劣化的计算设备行为的来源为止。该反馈通信还使计算设备能够在不消耗该计算设备的过多的量的处理、存储器或能量资源的情况下在计算设备中对分类器模型进行本地地调整或修改。

上文提及的行为监测及分析系统可以允许计算设备在不消耗其过多的量的处理、存储器或能量资源的情况下识别出对性能造成限制的以及不符合期望的操作状况并对其做出反应。这一点在复杂的并且资源受限系统(诸如,具有相对有限的处理、存储器和能量资源的移动计算设备)当中尤为有用。

在移动计算设备中,存在大量的各种各样的因素可能导致这样的设备随着时间的推移而产生性能和功率利用水平的劣化,包括写得差或设计得差的软件应用、恶意软件、病毒、碎片化存储器、后台进程等。由于这些因素的数量、多样性和复杂性的原因,要想评估出可能促使现代化移动计算设备的复杂而又资源受限的系统的性能和/或功率利用水平的劣化的所有因素往往是不可行的。因而,用户、操作系统和/或应用程序(例如,防病毒软件等)难以准确、有效率地识别出该问题的来源。因此,移动设备用户几乎没有什么补救措施来防止移动设备的性能和功率利用水平随着时间的推移而劣化,或者将老化的移动设备恢复至其初始性能和功率利用水平。

鉴于这些事实,为了提供更好的性能,移动设备可以配备有上文描述的行为监测及分析系统,从而使其可以在不消耗其过多的量的处理、存储器或能量资源的情况下快速地判断特定的移动设备行为、状况、子系统、软件应用或过程是良性的还是非良性的。

尽管上文描述的行为监测及分析系统一般对于识别非良性行为(例如,由恶意软件和网络攻击引起的非良性行为)是非常有效的,但是该系统本身也易受攻击和恶意软件的影响。恶意软件应用可以通过对一起提供了综合行为监测及分析系统的各种部件或模块(例如,观测器、分析器等)进行变更、修改、抑制、卸载、禁用、停止或以其它方式攻击而规避或者逃避该行为监测及分析系统的检测。行为监测及分析系统还可能由于在没有恶意的情况下对软件或操作系统模块做出的软件更新或去除而受到损害。

为了识别、避免和/或响应对行为监测及分析系统造成损害的恶意软件、攻击或其它事件,可以将移动设备配置为与网络服务器(或者另一计算设备、同一计算设备中的部件等)协同工作,以监测移动设备的行为监测及分析系统的准确性和性能,并判断该系统是否在正确地、有效率地或者按照预期地工作。可以将网络服务器配置为生成仿真攻击软件并将其发送给移动设备,以及侦听在预期响应时间内来自该移动设备的响应。如果在预期响应时间内没有从移动设备接收到适当的响应,那么网络服务器可以确定设备的行为监测及分析系统已经受到了破坏,这可以指示该系统已经受损,已经被感染恶意软件,在经受攻击,或者以其它方式没有正确地或者按照预期地运行。

响应于确定行为监测及分析系统已经受损,网络服务器可以向该移动设备发送“死人”信号,从而使该设备执行各种操作以识别、解决或者响应与其行为监测及分析系统相关联的问题。“死人”信号还可以使该移动设备向用户发送文本消息、语音消息、电子邮件或者其它类型的通知,从而将该攻击通知给该用户。如果移动设备包括服务操作系统,那么“死人”信号还可以使该设备捕获图像或屏幕截图,并将其发送给网络服务器以供分析。

移动设备可以被配置为接收和安装来自网络服务器的仿真攻击软件(以模拟对该移动设备的仿真攻击),监测行为监测及分析系统的操作,以收集行为信息和/或分析结果,并将所收集的信息发送给网络服务器(或者给发送了仿真攻击的计算设备)。网络服务器可以使用从移动设备接收到的信息来判断该行为监测及分析系统是否能够正确/适当地识别出仿真攻击并对其做出响应。例如,网络服务器可以将接收到的信息与分类器模型进行比较或者将接收到的信息应用到分类器模型,以判断移动设备是否正确地、有效率地或者按照预期地响应了仿真攻击。

网络服务器可以响应于确定系统没有正确、有效率或者按照预期地响应仿真攻击而确定移动设备的行为监测及分析系统已经受到了损害。网络服务器可以响应于确定移动设备的行为监测及分析系统已经受到了破坏而发送被配置为使移动设备执行“死人”操作的死人信号。

在一方面中,网络服务器还可以被配置为响应于确定目标设备的行为监测及分析系统在正常地、正确地或者按照预期地运行而向该移动设备发送“系统OK”信号。在此方面中,移动设备可以被配置为针对在向网络服务器发送分析操作的结果之后接收“系统OK”信号来设置定时器,并响应于确定定时器已经期满了却仍未从网络服务器接收到“系统OK”信号而执行死人操作。

在各方面中,网络服务器可以被配置为生成仿真攻击软件以包括可执行代码或脚本,该可执行代码或脚本使移动设备执行各种与已知的恶意软件和网络攻击相关联的操作,或者执行在正确运行的行为监测/分析系统中已知的会引起明确定义的反应的操作。在一个方面中,网络服务器可以生成仿真攻击软件,从而使其模拟与已知网络攻击相关联的行为,但排除对移动设备或其用户有害的操作。在另一方面中,网络服务器可以被配置为生成仿真攻击软件,从而使其模拟实际攻击(包括有害操作)或者非良性行为。在该方面当中,网络服务器可以针对预期响应时间设置定时器,从而在模拟攻击对设备造成损害之前向移动设备发送死人信号。

在各方面中,网络服务器可以被配置为基于从防病毒服务器、云计算设备和/或另一网络服务器接收到的信息来生成仿真攻击软件。网络服务器还可以基于由很多移动设备提供的行为信息和/或行为分析结果来生成仿真攻击软件。例如,网络服务器可以对从很多移动设备接收到的分析结果进行众包、组合、合并或相关,以识别出非良性行为,并生成模拟所识别出的非良性行为的仿真攻击软件。

在各方面中,网络服务器可以被配置为向移动设备重复地、定期地、按照设定的时间间隔地、随机地、伪随机等地发送仿真攻击软件。网络服务器可以被配置为生成很多不同类型的仿真攻击软件,其中的每一类型的仿真攻击软件模拟不同类型的攻击。网络服务器可以向同一移动设备发送不同类型的仿真攻击软件,从而在同一设备内模拟不同类型的攻击。

在一方面中,移动设备可以被配置为执行任何或者全部的上文提及操作,以作为其正常行为监测及分析操作的部分。例如,移动设备可以接收并安装攻击软件以作为其从网络服务器接收软件更新或分类器的正常操作的部分,并且向网络服务器报告分析操作的结果以作为其常规报告操作的部分。在另一方面中,移动设备可以配备有仿真攻击模块,该仿真攻击模块被配置为独立于综合行为监测及分析系统的其它模块来操作。仿真攻击模块可以被配置为使其操作集中在模拟攻击以及向网络服务器报告结果上。

在一方面中,移动设备可以被配置为从另一移动设备和/或经由对等通信链路接收仿真攻击软件。例如,多个移动设备中的每一个移动设备可以被配置为执行行为观测和分析操作,以识别非良性行为,基于所识别出的非良性行为中的一者或多者生成仿真攻击软件,将所生成的仿真攻击软件发送给移动设备,设置定时器,侦听响应,发送死人信号或系统OK信号,以及/或者执行上文讨论的网络服务器操作中的任何或全部操作。

在一方面中,移动设备可以被配置为建立或者加入信任网络,该信任网络包括多个预先筛选的或者受信任的移动设备。在各方面中,建立和加入信任网络可以包括由每一移动设备执行群组形成操作,其包括经由对等、WiFi-Direct或其它类似技术建立与其它移动设备的通信链路。还可以使移动设备经由共享的安全网络、企业虚拟专用网络以及其它类似技术或群组分类进行连接。在一方面中,受信任网络可以包括是同一网络的或者具有直接通信链路的移动设备。在一方面中,信任网络中的每一移动设备可以被配置为向该信任网络中的任何或者所有其它移动设备发送仿真攻击软件以及行为信息和分析结果,并且从该信任网络中的任何或者所有其它移动设备接收仿真攻击软件以及行为信息和分析结果。

在各方面中,作为替代,可以通过包括在被评估的行为监测及分析系统的计算设备执行上文相对于网络服务器和/或攻击模拟模块讨论的操作。例如,可以通过在包括行为监测及分析系统的计算设备的超管理器或虚拟机监控程序(VMM)上运行的服务或服务器(或轻量级服务器),来执行网络服务器/攻击模拟模块的操作。再举一个例子,可以经由运行在与被评估的行为监测及分析系统的同一操作系统上的软件,来实现网络服务器/攻击模拟模块的操作。在一方面中,计算设备还可以包括被配置为管理或保证用于执行上文讨论的操作的服务或服务器的正确行为或操作的超管理器或VMM。

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

通信系统100还可以包括连接至电话网络104并且连接至互联网110的网络服务器116。网络服务器116和电话网络104之间的连接可以是通过互联网110或者是通过专用网的(如由虚线箭头所示)。还可以将网络服务器116实现为云服务提供商网络118的网络基础设施内的服务器。可以通过电话网络104、互联网110、专用网(未示出)或其任何组合,来实现网络服务器116和移动设备102之间的通信。

网络服务器116可以被配置为从很多移动设备102或者中央数据库或者云服务提供商网络118接收有关各种状况、特征、行为和校正动作的信息,并使用该信息生成可以被计算设备的处理器用于评估移动设备的行为的特定方面的、包括数据和/或信息结构(例如,特征向量、行为向量、部件列表等)的数据、算法、分类器或行为模型(本文中统称为“分类器模型”)。

在一方面中,网络服务器116可以被配置为向移动设备102发送仿真攻击软件,设置响应定时器,从移动设备102接收响应消息,判断该响应消息是否是在定时器期满之前接收到的,将所接收到的响应消息中包含的信息与一个或多个分类器模型进行比较,并使用比较的结果来判断移动设备102的行为监测及分析系统是否正确地识别出并响应了攻击。网络服务器116可以被配置为响应于确定响应消息是在定时器期满之前接收到的,和/或者确定所接收到的响应消息中包含的信息指示移动设备102正确地识别出并响应了仿真攻击,来向该移动设备发送“系统OK”信号。网络服务器116还可以被配置为响应于确定响应消息不是在定时器期满之前接收到的,或者确定所接收到的响应消息中包含的信息指示移动设备102没有正确地识别出或响应仿真攻击,来向移动设备102发送“死人”信号。

在一方面中,网络服务器116可以被配置为生成全分类器模型。网络服务器116可以被配置为采用全分类器模型对移动设备102的行为和/或移动设备102的行为监测及分析系统的行为进行分析或分类。网络服务器116还可以被配置为将全分类器模型发送给移动设备102。在一方面中,网络服务器116可以被配置为将全分类器模型生成为包含可能促使很多不同品质、型号和配置的移动设备102中的任何移动设备产生劣化的特征、数据点和/或因素的全部或大部分。在各方面中,网络服务器可以被配置为将用于描述或表达一个大的行为信息语料库的全分类器模型生成为有限状态机、决策节点、决策树,或者以任何信息结构来生成该全分类器模型,其能够被修改、拣选、增强或者以其它方式用于快速并且有效率地生成更为精简的分类器模型。

移动设备102可以被配置为接收并且安装仿真攻击软件,监测行为监测及分析系统的操作,以及将由系统执行的操作的结果发送回给网络服务器(或者发送了该仿真攻击的计算设备)。移动设备102还可以被配置为从网络服务器116接收全分类器模型,并且使用所接收到的全分类器模型对移动设备102的行为进行监测、分析和/或分类。移动设备102还可以被配置为使用全分类器模型来生成考虑了移动设备102的软件应用的特定特征和功能的更加专注的分类器模型。例如,移动设备102可以生成特定于应用和/或特定于应用类型的分类器模型(即,数据或行为模型),其优先地或者专门地识别或评估移动设备中的、与安装在移动设备102上的或者存储在移动设备102的存储器当中的特定软件应用或者特定软件应用类型(例如,游戏、导航、金融等)有关的状况或特征。移动设备102可以使用这些本地生成的分类器模型,来执行实时行为监测和分析操作。

在各方面中,网络服务器116和/或移动设备102可以包括攻击模拟模块,其可以是通过软件、硬件或其组合来实现的线程、进程、守护程序、模块、子系统或部件。此外,可以在操作系统的部分内(例如,内核内、内核空间中、用户空间中等),单独的程序或应用内,专门硬件缓冲器或处理器内,或者它们的任意组合内,来实现攻击模拟模块。在一方面中,可以将攻击模拟模块的全部或部分实现为在移动设备102和/或网络服务器116的一个或多个处理器或处理内核上运行的软件指令。

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

设备处理器还可以被配置为从网络服务器116接收仿真攻击软件,安装仿真攻击软件,监测行为监测及分析系统200的各种模块202-208的操作、准确性和性能,生成用于表征系统200和/或模块202-208的操作的报告,并将所生成的报告发送给网络服务器116。设备处理器还可以被配置为设置定时器,在向网络服务器116发送报告之后侦听“系统OK”信号,以及在定时器期满时仍未接收到“系统OK”信号的情况下执行死人操作。此外,设备处理器可以被配置为侦听用于指示行为监测及分析系统已受破坏的“死人”信号,以及响应于接收到“死人”信号而执行死人操作。

行为观测器模块202可以被配置为用仪器装备设备的各个层级/模块处的应用编程接口(API),并且经由仪表化的API来监测一时间段上的各个层级/模块处的活动、状况、操作和事件(例如,系统事件、状态变化等)。行为观测器模块202可以收集与被监测的活动、状况、操作或事件有关的行为信息,并将所收集到的信息存储在存储器(例如,日志文件中等等)中。之后,行为观测器模块202可以(例如,经由存储器写操作、函数调用等)将收集到的行为信息传送给行为提取器模块204。

行为提取器模块204可以被配置为接收或者获取所收集的行为信息,并使用该信息生成一个或多个行为向量。在一方面中,行为提取器模块204可以被配置为将行为向量生成为包括所观测的行为的简明定义。例如,每一行为向量可以以值或者向量数据结构(例如,具有数字串的形式等)的形式来简洁地描述移动设备、软件应用或过程的所观测的行为。行为提取器模块204还可以被配置为将行为向量生成为使它们起着识别器的作用,该识别器使移动设备系统(例如,行为分析器模块206)能够快速认出、识别和/或分析移动设备行为。

行为分析器模块206可以被配置为将行为向量应用于分类器模块,以判断设备行为是否是促使(或者有可能促使)设备随着时间的推移而劣化以及/或者可能以其它方式对设备造成问题的非良性行为。行为分析器模块206可以向执行器模块208通知:活动或行为是非良性的。作为响应,执行器模块208可以执行各种动作或操作,以修复、消除、隔离或者以其它方式解决所识别出的问题。例如,执行器模块208可以被配置为在(例如,由分析器模块)将行为向量应用于分类器模型所产生的结果指示软件应用或过程是非良性的时,终止软件应用或过程。

行为观测器模块202可以被配置为监测移动计算设备102的活动。在各方面中,这可以是通过监测移动计算设备102的各种软件和硬件部件,以及收集与同移动计算设备102的活动相关联的被监测以及可测量部件的通信、事务、事件或操作有关的信息来实现的。该活动包括软件应用对操作或任务的执行、软件应用在移动计算设备102的处理内核中的执行、过程的执行、任务或操作的性能、设备行为、对硬件部件的使用等。

在各方面中,行为观测器模块202可以被配置为通过收集与应用框架或运行时间库中的库API调用、系统调用API、文件系统和联网子系统操作、设备(包括传感器设备)状态变化以及其它类似事件有关的信息,来对移动计算设备102的活动进行监测。此外,行为观测器模块202可以监测文件系统活动,文件系统活动可以包括搜索文件名、文件存取类别(个人信息或标准数据文件)、创建或删除文件(例如,exe、zip等类型)、文件读/写/查找操作、改变文件许可等等。

行为观测器模块202还可以通过监测数据网络活动,来对移动计算设备102的活动进行监测,数据网络活动可以包括连接类型、协议、端口号、该设备所连接到的服务器/客户端、连接的数量、通信的量或频率等。行为观测器模块202可以对电话网络活动进行监测,这可以包括监测所发送的、所接收的或者所截获(例如,置于溢价(premium)呼叫的次数)的呼叫或消息(例如,SMS等)的类型和数量。

行为观测器模块202还可以通过监测系统资源使用,来对移动计算设备102的活动进行监测,这可以包括监测派生的数量、存储器存取操作、打开文件的数量等。行为观测器模块202可以监测移动计算设备102的状态,这可以包括监测各种因素,例如,显示器是开启的还是关闭的,设备是锁定的还是未锁定的,剩余电池电量,照相机状态等。例如,行为观测器模块202还可以通过监测关键服务(浏览器、合约提供者等)的意图、过程间通信程度、弹出窗口等,来监测过程间通信(IPC)。

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

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

行为观测器模块202还可以通过监测软件应用的动作或操作、来自应用下载服务器(例如,App Store服务器)的软件下载、由软件应用使用的计算设备信息、呼叫信息、文本消息传送信息(例如,SendSMS、BlockSMS、ReadSMS等)、媒体消息传送信息(例如,ReceiveMMS)、用户账户信息、位置信息、照相机信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短程无线通信(例如,蓝牙、WiFi等)、基于文本的通信的内容、所记录的音频文件的内容、电话簿或联系人信息、联系人列表等,来对移动计算设备102的活动进行监测。

行为观测器模块202还可以通过监测移动计算设备102的传输或通信来对移动计算设备102的活动进行监测,该传输或通信所包括的通信包含语音邮件(VoiceMailComm)、设备标识符(DeviceIDComm)、用户账户信息(UserAccountComm)、日历信息(CalendarComm)、位置信息(LocationComm)、所记录的音频信息(RecordAudioComm)、加速计信息(AccelerometerComm)等。

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

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

无线层级观测可以包括确定以下各项中的任意者或多者的出现、存在或量:在建立无线通信链路或者传输信息之前与移动计算设备102的用户交互、双/多用户识别模块(SIM)卡、互联网无线、移动电话网络共享、用于计算的数据的卸载、设备状态通信、作为游戏控制器或者家用控制器的使用、车辆通信、计算设备同步等。无线层级观测还可以包括对使用无线(WiFi、WiMax、蓝牙等)以用于定位、对等(p2p)通信、同步、车辆间通信和/或机器对机器(m2m)来进行监测。无线层级观测还可以包括监测网络流量使用、统计学数据或配置文件。

传感器层级观测可以包括监测磁体传感器或其它传感器,以确定移动计算设备102的使用和/或外部环境。例如,计算设备处理器可以被配置为判断该设备是处于机套内(例如,经由被配置为感测机套内的磁体的磁体传感器)还是处于用户的口袋内(例如,经由被照相机或光传感器检测到的光的量)。检测到移动计算设备102处于机套内可能与识别出可疑行为有关,例如,因为在移动计算设备102处于机套内的时候发生了与用户的活跃使用有关的活动和功能(例如,拍照或录像、发送消息、进行语言呼叫、录音等)可能是该设备上在运行恶意过程(例如,用于跟踪或窥视用户)的迹象。

与使用或外界环境有关的传感器层级观测的其它例子可以包括检测NFC信令,收集来自信用卡扫描器、条形码扫描器或移动标签读取器的信息,检测通用串行总线(USB)充电源的存在,检测到键盘或辅助设备已经耦合到了移动计算设备102上,检测到移动计算设备102已经耦合到了另一计算设备(例如,经由USB,等),判断LED、闪光、闪光灯或者光源是否已经被修改或禁用(例如,恶意禁用紧急信号传达app等),检测到扬声器或麦克风已被开启或加电,检测充电或功率事件,检测到移动计算设备102在被用作游戏控制器等。传感器层级观测还可以包括收集来自医疗或保健传感器的信息或者来自对用户的身体进行扫描的信息,收集来自插入到USB/音频插口内的外部传感器的信息,收集来自触压或触觉传感器的信息(例如,经由振动器接口等),收集与移动计算设备102的热状态有关的信息,等等。

为了将被监测的因素的数量降低到可管理的水平,在一方面中,行为观测器模块202可以被配置为通过监测/观测作为可能促使计算设备的劣化的所有因素中的小的子集的初始行为或因素集合,来执行粗略观测。在一方面中,行为观测器模块202可以从云服务或网络中的服务器和/或部件接收该初始行为和/或因素集合。在一方面中,可以利用机器学习分类器模型来指定该初始行为/因素集合。

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

每一个分类器模型可以被分类为全分类器模型或精简分类器模型。全分类器模型可以是根据大训练数据集生成的鲁棒数据模型,该大训练数据集可以包括数千的特征和数十亿的条目。精简分类器模型可以是由缩小的数据集生成的更加专注的数据模型,该缩小的数据集仅包括/测试对于判断特定的活动是否是正在进行的关键活动和/或特定的计算设备行为是否为非良性而言最为相关的特征/条目。

本地生成的精简分类器模型是在计算设备内生成的精简分类器模型。特定于应用的分类器模型是包括专注数据模型的分类器模型,该专注数据模型仅包括/测试对于评估特定的软件应用而言最为相关的特征/条目。特定于设备的分类器模型是包括专注数据模型的分类器模型,该专注数据模型仅包括/测试被确定是与对特定计算设备中的活动或行为进行分类最为相关的特定于计算设备的特征/条目。

行为分析器模块206可以被配置为将由行为提取器模块204生成的行为向量应用于分类器模型,以判断被监测的活动(或行为)是良性的,可疑的还是非良性的。在一方面中,在行为分析器模块206的行为分析操作的结果没有提供足以将行为归类为良性或非良性的信息时,行为分析器模块206可以将行为归类为“可疑的”。

行为分析器模块206可以被配置为响应于确定被监测的活动或行为是可疑的,来向行为观测器模块202进行通知。作为响应,行为观测器模块202可以调整其观测的粒度(即,对计算设备特征进行监测的详细程度)和/或基于从行为分析器模块206接收到的信息(例如,实时分析操作的结果)来改变被观测的因素/行为,生成或收集新的或者额外的行为信息,并且将新的/额外的信息发送给行为分析器模块206,以供进一步的分析/分类。行为观测器模块202和行为分析器模块206之间的该反馈通信使移动计算设备102能够以递归的方式提高观测粒度(即,做出更加精细或者更为详细的观测)或者改变所观测的特征/行为,直到活动被分类、识别出可疑的或者使性能劣化的计算设备行为的来源为止,直到达到处理或者电池消耗阈值为止,或者直到计算设备处理器确定不能由观测粒度的进一步提高而识别出可疑的或者使性能劣化的计算设备行为的来源为止。该反馈通信还使移动计算设备102能够在不消耗该计算设备的过多的量的处理、存储器或能量资源的情况下在计算设备中对分类器模型进行本地地调整或修改。

在一方面中,行为观测器模块202和行为分析器模块206可以单独或者共同地提供对该计算系统的行为的实时行为分析,以从有限并且粗略的观测当中识别出可疑行为、动态地确定要更加详细的观测的行为、并且动态地确定该观测所需的详细程度。这允许移动计算设备102在不需要该设备上的大量处理器、存储器或电池资源的情况下有效率地识别并防止问题。

在各方面中,设备处理器可以被配置为通过识别出需要密切监测的关键数据资源,识别出与关键数据资源相关联的中间资源,监测在访问关键数据资源和中间资源时由软件应用做出的API调用,识别由API调用所消耗或产生的计算设备资源,识别出软件应用的被指示为非良性活动的API调用的模式,基于所识别出的API调用的模式和所识别出的计算设备资源来生成轻量行为签名,使用轻量行为签名执行行为分析操作,以及基于行为分析操作判断软件应用是良性还是非良性,来对活动或行为进行监测、分析和/或分类。

在各方面中,设备处理器可以被配置为通过识别被在计算设备上运行的软件应用使用得最为频繁的API,将与所识别出的热API的使用有关的信息存储到计算设备的存储器中的API日志中,以及基于API日志中存储的信息来执行行为分析操作以识别出与正常操作模式不一致的行为,来对活动或行为进行监测、分析和/或分类。在一方面中,可以将API日志生成为使其进行如下的组织:将在API的调用之间保持相同的通用字段的值存储在与对于API的每一个调用而言是特定的特定字段的值所不同的表中。也可以将API日志生成为使得特殊字段的值连同散列键一起被存储在表中,该散列键针对于用于存储通用字段的值的不同的表。

在这些方面中,设备处理器可以被配置为通过从服务器接收包括适于转换或表达为多个提升决策树桩的有限状态机的全分类器模型,基于全分类器在该计算设备中生成精简分类器模型,以及在该计算设备中使用该精简分类器模型以将活动或行为归类为良性或非良性(即,恶意的,使性能劣化的等等),来对活动或行为进行监测、分析和/或分类。在一方面中,基于全分类器模型生成精简分类器模型可以包括:确定应当被评估的以在无需消耗计算设备的过多的量的处理、存储器或能量资源的情况下对活动或行为进行分类的某一数量的独特测试条件,通过顺序地遍历提升决策树桩列表并将与每一顺序地遍历的提升决策树桩相关联的测试条件插入到测试条件列表当中直到测试条件列表包括所确定的数量的独特测试条件为止来生成测试条件列表,以及生成精简分类器模型使其仅包含那些用于对所生成的测试条件列表中包含的多个测试条件之一进行测试的提升决策树桩。

在各方面中,设备处理器可以被配置为通过使用计算设备的诸如能力和状态信息的特定于设备的信息,来识别多个测试条件当中与对计算设备的行为进行分类相关的特定于设备的测试条件,生成只包括所识别出的特定于计算设备的测试条件的精简分类器模型,以及采用所生成的该计算设备中的精简分类器模型对该计算设备的行为进行分类,来对活动或行为进行监测、分析和/或分类。在一方面中,可以将精简分类器模型生成为仅包括对与计算设备的当前操作状态或配置有关的计算设备特征进行评估的决策节点。在一方面中,生成精简分类器模型可以包括:确定应当被评估的以在无需消耗过多的量的计算设备的资源(例如,处理、存储器或能量资源)的情况下对行为进行分类的某一数量的独特测试条件,通过顺序地遍历全分类器模型中的多个测试条件、将那些与对计算设备的行为进行分类相关的测试条件插入到测试条件列表当中直到测试条件列表包括所确定的数量的独特测试条件为止来生成测试条件列表,以及生成精简分类器模型使其包含全分类器模型中包括的用于对所生成的测试条件列表中包含的条件之一进行测试的决策节点。

在各方面中,设备处理器可以被配置为通过监测软件应用或过程的活动,确定软件应用/过程的操作系统执行状态,以及基于软件应用或过程在活动被监测期间的操作系统执行状态来判断该活动是否是关键活动,来对活动或行为进行监测、分析和/或分类。在另一方面中,设备处理器可以判断软件应用或过程的操作系统执行状态是否与该活动有关,生成用于识别软件应用或过程在活动被监测期间的操作系统执行状态的阴影特征值,生成使活动与用于识别操作系统执行状态的阴影特征值相关联的行为向量,并使用该行为向量来判断该活动是否是关键活动和/或者非良性。

在各方面中,设备处理器可以被配置为通过监测软件应用或过程的活动,确定软件应用/过程的应用和操作系统不可知执行状态,以及基于活动和/或软件应用在活动被监测期间的应用和操作系统不可知执行状态来判断该活动是否为关键活动或非良性,来对活动或行为进行监测、分析和/或分类。在另一方面中,设备处理器可以判断软件应用的应用和操作系统不可知执行状态是否与该活动有关,并生成使该活动与应用和操作系统不可知执行状态相关联的行为向量,并使用该行为向量来判断该活动是否为关键活动和/或非良性。设备处理器还可以使用应用和操作系统不可知执行状态来选择分类器模型(例如,特定于应用的分类器模型),并将行为向量应用于所选定的分类器模型,以判断活动是否为关键活动和/或非良性。

在各种方面中,设备处理器可以被配置为与网络服务器协同工作,从而智能地并且有效率地识别出与判断活动是否为关键活动和/或非良性最为有关的特征、因素和数据点。例如,设备处理器可以被配置为从网络服务器接收全分类器模型,并采用所接收到的全分类器模型生成特定于该计算设备的特征和功能或者该计算设备的软件应用的精简分类器模型(即,数据/行为模型)。设备处理器可以使用该全分类器模型生成一系列具有变化的复杂程度(或“精简度”)的精简分类器模型。可以按常规应用最为精简的一系列精简分类器模型(即,基于最低数量的测试条件的精简分类器模型),直到遇到该模型不能将其分类为良性或非良性(因而该模型将其归类为可疑)的行为为止,此时可以应用更加鲁棒(即,精简度差一些)的精简分类器模型来尝试对该行为进行分类。可以一直实施对所述一系列生成的精简分类器模型内的更加鲁棒的精简分类器模型的应用,直到实现对行为的明确分类为止。通过这种方式,观测器模块和/或分析器模块能够通过将最为完整的但却是资源密集型的精简分类器模型的使用局限于那些需要鲁棒分类器模型对行为进行明确分类的情况,来在效率和准确度之间取得平衡。

在各方面中,设备处理器可以被配置为通过将有限状态机表示/表达转换为提升决策树桩,基于特定于计算设备的状态、特征、行为、状况或配置对提升决策树桩的全部集合进行修剪或挑选,使其包含全分类器模型中包括的提升决策树桩子集,并采用该提升决策树桩子集对计算设备行为进行智能地监测、分析和/或分类,来生成一个或多个精简分类器模型。

提升决策树桩是恰好只有一个节点(因而一个测试问题或测试条件)和加权值的一个层级决策树,因而非常适于在数据/行为的二元分类中使用。也就是说,将行为向量应用于提升决策树桩将产生一个二元的答案(例如,是或否)。例如,如果提升决策树桩测试的问题/条件为“短消息服务(SMS)传输的频率低于每分钟x次吗”,那么将值“3”应用于该提升决策树桩将产生答案“是”(对于“低于3次”SMS传输而言)或者答案“否”(对于“3次或更多”SMS传输而言)。

提升决策树桩是有效率的,因为它们非常简单并且基本(因而不需要大量的处理资源)。提升决策树桩还是可高度并行化的,因而可以并行地/在同一时间应用或测试很多树桩(例如,通过计算设备中的多个内核或处理器)。

在一方面中,设备处理器可以被配置为生成精简分类器模型,该精简分类器模型包括全分类器模型中包含的分类器标准的子集,并且仅包含那些对应于与计算设备配置、功能和所连接/包含的硬件有关的特征的分类器标准。设备处理器可以采用该精简分类器模型仅监测那些对于该设备而言存在的或者与该设备有关的特征和功能。之后,设备处理器可以基于计算设备的当前状态和配置,来定期地修改或重新生成精简分类器模型,使其包括或者删除各种特征和相对应的分类器标准。

举一个例子,设备处理器可以被配置为接收包括与行为模型(例如,分类器)的全特征集合相关联的决策树桩的大的提升决策树桩分类器模型,并通过从所述大分类器模型中仅选择与该计算设备的当前配置、功能、操作状态和/或所连接/包含的硬件相关的特征并将对应于选定特征的提升决策树桩子集包含到精简分类器模型中来由所述大分类器模型导出一个或多个精简分类器模型。在这一方面当中,对应于与该计算设备有关的特征的分类器标准可以是那些包含在大分类器模型当中的对选定特征中的至少一个特征进行测试的提升决策树桩。之后,设备处理器可以基于计算设备的当前状态和配置来定期地修改或重新生成提升决策树桩精简分类器模型以包含或删除各种特征,从而使得精简分类器模型继续地包含特定于应用或者特定于设备的特征的提升决策树桩。

此外,设备处理器还可以动态地生成用于识别与特定软件应用(wallet)和/或特定软件应用类型(例如,游戏、导航、金融、新闻、生产力等)有关的条件或特征的特定于应用的分类器模型。在一方面中,这些分类器模型可以被生成为包括缩小的并且更加专注的决策节点子集,该决策节点是包含在全分类器模型当中的,或者是属于那些包含在由所接收到的全分类器模型生成的精简分类器模型当中的。

在各方面中,设备处理器可以被配置为为系统中的每一软件应用和/或为系统中的每一软件应用类型来生成基于应用的分类器模型。设备处理器还可以被配置为动态地识别出有被滥用的高风险或者易于受到滥用的软件应用和/或应用类型(例如,金融应用、销售点应用、生物传感器应用等),并且仅为被识别为有被滥用的高风险或者易于受到滥用的软件应用和/或应用类型生成基于应用的分类器模型。在各方面中,设备处理器可以被配置为动态地、反应性地、前摄地和/或每当安装或者更新了新应用的时候生成基于应用的分类器模型。

每一软件应用一般在计算设备上执行若干任务或活动。在计算设备中执行某些任务/活动所处的特定执行状态可以是行为或者活动是否值得额外的或者更加密切的详查、监测和/或分析的强指标。因而,在各个方面当中,设备处理器可以被配置为采用用于识别某些任务/活动被执行时所处的实际执行状态的信息来使其行为监测和分析操作专注,并且更好地判断一项活动是否是关键活动和/或该活动是否是非良性的。

在各方面中,设备处理器可以被配置为将由软件应用执行的活动/任务与执行那些活动/任务时所处的执行状态进行关联。例如,设备处理器可以被配置为生成行为向量,该行为向量将通过监测仪表化部件所收集的行为信息包含在子向量或数据结构中,该子向量或数据结构列举了与执行状态有关的软件的特征、活动或操作(例如,位置访问、SMS读取操作、传感器访问等)。在一方面中,该子向量/数据结构可以以与用于识别每一特征/活动/操作被观测时所处的执行状态的阴影特征值子向量/数据结构相关联的方式进行存储。举一个例子,设备处理器可以生成包含“location_background”数据字段的行为向量,该数据字段的值识别软件应用在后台状态下运行时访问位置信息的数量或频率。这允许设备处理器独立于和/或并行于该计算设备的其它被观测/监测的活动来分析该执行状态信息。通过这种方式生成行为向量还允许系统随着时间的推移来汇集信息(例如,频率或速率)。

在各方面中,设备处理器可以被配置为将行为向量生成为包括可以被输入给机器学习分类器中的决策节点以生成关于被监测活动的查询的答案的信息。

在各方面中,设备处理器可以被配置为将行为向量生成为包括被观测/监测行为的简明定义。行为向量可以以值或者向量数据结构(例如,具有一串数字的形式等)的形式来简明扼要地描述计算设备、软件应用或过程的被观测的行为。行为向量还可以起着使计算设备系统能够快速地认出、识别和/或分析计算设备行为的标识符的作用。

在各方面中,设备处理器可以被配置为将行为向量生成为包括多个或者一串数字,其中的每一个数字表示或者表征移动计算设备102的特征、活动或行为。例如,行为向量中包含的数字可以表示计算设备的照相机是否在被使用(例如,作为0或1),从该计算设备已经传输或者由其已经生产了多少网络流量(例如,20KB/秒等),已经传送了多少互联网消息(例如,SMS消息的数量等),等等。在一方面中,行为向量可以封装一个或多个“行为特征”。每一行为特征可以是用于表示观测到的行为或动作的全部或部分的抽象数。行为特征对于计算设备的硬件或软件配置而言可以是不可知的。

在各方面中,设备处理器可以被配置为将行为向量生成为包括执行信息。可以将执行信息作为行为的部分(例如,后台过程在3秒内使用了5次照相机,前台过程在3秒内使用了3次照相机,等等)或者作为独立特征的部分包含在行为向量当中。在一方面中,可以将执行状态信息作为阴影特征值子向量或者数据结构包含在行为向量当中。在一方面中,行为向量可以以与特征、活动、任务相关联的方式来存储阴影特征值子向量/数据结构,该特征、活动、任务是与执行状态有关的。

图3示出了根据一个方面的对计算设备的基于行为的安全系统进行分析的方法300。在一方面中,基于行为的安全系统可以是如上文讨论(例如,参考图2)的综合行为监测及分析系统。在各方面中,方法300可以由计算设备(例如,网络服务器、移动设备等)的处理器或处理内核执行。

在块302中,计算设备的处理内核可以生成仿真攻击软件。在块304中,处理内核可以将所生成的仿真攻击软件发送给配备有基于行为的安全系统的第二计算设备,以模拟网络攻击。在块306中,处理内核可以设置定时器。在块308中,处理内核可以侦听来自第二计算设备的响应。在判定块310和312中,处理内核可以判断是否已经从第二计算设备接收到了响应以及定时器是否已经期满。在图3所示的示例中,处理内核响应于确定尚未从第二计算设备接收到响应(即,判定块310=“否”)来在判定块312中判断定时器是否已经期满。在另一方面中,处理内核可以在判断是否已经接收到响应之前首先确定定时器已经期满。

响应于确定尚未从第二计算设备接收到响应(即,判定块310=“否”)并且定时器尚未期满(即,判定块312=“否”),处理内核可以在块308中继续侦听响应。响应于确定定时器已经期满(即,判定块312=“否”),处理内核可以在块314中向第二计算设备发送死人信号。

响应于在判定块316中确定已经从第二计算设备接收到响应(即,判定块310=“是”),处理内核可以通过判断第二计算设备是否正确或适当地识别出并响应了所模拟的网络攻击或非良性行为,来判断该响应是否适当。响应于确定第二计算设备没有正确/适当地识别出或响应所模拟的网络攻击(即,判定块316=“否”),处理内核可以在块314中向第二计算设备发送死人信号。响应于确定第二计算设备正确/适当地识别出并响应了所模拟的网络攻击或非良性行为(即,判定块316=“是”),处理内核可以在可选块318中向第二计算设备发送“系统OK”信号。

图4示出了根据一个方面的对计算设备的基于行为的安全系统进行评估的方法400。基于行为的安全系统可以是移动或资源受限计算设备的综合行为监测及分析系统。在一方面中,方法400可以由移动计算设备的处理内核执行。

在块402中,处理内核可以从另一计算设备(例如,网络服务器、另一移动设备等)接收仿真攻击软件。在块404中,处理内核可以采用所接收到的仿真攻击软件在该移动设备中模拟网络攻击或非良性行为。在块406中,处理内核可以监测移动设备的基于行为的安全系统的操作,以收集行为信息。在块408中,处理内核可以将所收集到的行为信息发送给发送了该仿真攻击软件的计算设备。在块410中,处理内核可以设置定时器,并侦听来自发送了该仿真攻击软件的计算设备的响应。在块412中,处理内核可以响应于确定定时器已经期满而仍未从发送了该仿真攻击软件的计算设备接收到响应,来执行死人操作。

图5示出了采用精简分类器模型对移动设备的行为进行分类的一个方面的方法500。方法500可以由移动设备中的处理内核执行。

在块502中,处理内核可以执行观测,以从在移动设备系统的各个层级处的被仪表化的各种部件收集行为信息。在一方面中,这可以经由上文参考图2讨论的行为观测器模块202来实现。在块504中,处理内核可以生成用于表征该观测、所收集到的行为信息和/或移动设备行为的行为向量。而且在块504中,处理内核可以使用从网络服务器接收到的全分类器模型生成精简分类器模型或者一系列具有变化的复杂程度(或“精简度”)的精简分类器模型。为了完成该操作,处理内核可以对全分类器模型中包含的一系列提升决策树桩进行挑选,以生成包含降低数量的提升决策树桩和/或用于评估有限数量的测试条件的精简分类器模型。

在块506中,处理内核可以选择该一系列精简分类器模型中尚未被移动设备评估或应用的最为精简的分类器(即,基于最低数量的不同移动设备状态、特征、行为或条件的模型)。在一方面中,这可以通过处理内核在分类器模型的有序列表中选择第一分类器模型来实现。

在块508中,处理内核可以将收集到的行为信息或行为向量应用于选定精简分类器模型中的每一提升决策树桩。由于该提升决策树桩是二元决策,并且该精简分类器模型是通过选择很多基于相同测试条件的二元决策而生成的,因而可以以并行操作的方式来执行将行为向量应用于该精简分类器模型中的提升决策树桩的过程。或者,可以截短或者过滤在块530中应用的行为向量,从而仅包含有限数量的包含在精简分类器模型当中的测试条件参数,由此进一步降低应用该模型的计算工作量。

在块510中,处理内核可以计算或者确定将收集到的行为信息应用于精简分类器模型中的每一提升决策树桩所得到的结果的加权平均值。在块512中,处理内核可以将计算出的加权平均值与阈值进行比较。在判定块514中,处理内核可以判断该比较的结果和/或通过应用选定的精简分类器模型而生成的结果是否是可疑的。例如,处理内核可以判断是否可以采用这些结果以高置信度将行为分类为恶意或良性,并且在不能做此分类的情况下将该行为当作是可疑的。

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

在一种替代性方面方法中,上文描述的操作可以是通过下述操作实现的:顺序地选择并非已在精简分类器模型当中的提升决策树桩;识别相对于所选择的决策树桩,依赖于相同的移动设备状态、特征、行为或条件的所有其它的提升决策树桩(由此能够基于一个判定结果来应用);将所选择的提升决策树桩以及所有的所识别出的依赖于相同的移动设备状态、特征、行为或条件的其它提升决策树桩包含到该精简分类器模型当中;以及将该过程重复等于所确定的测试条件的数量的次数。由于相对于所选择的提升决策树桩而言依赖于相同测试条件的所有的提升决策树桩每次被添加到该精简分类器模型当中,所以限制该过程的执行次数将限制该精简分类器模型中所包含的测试条件的数量。

图6示出了根据一个方面的用于执行动态的并且自适应的观测的示例性方法600。在块602中,设备处理器可以通过监测/观测可能促使移动设备的劣化的大量因素/行为的子集,来执行粗略观测。在块603中,设备处理器可以基于粗略观测来生成用于表征该粗略观测和/或移动设备行为的行为向量。在块604中,设备处理器可以识别出与该粗略观测相关联的可能潜在地促使移动设备的劣化的子系统、过程和/或应用。例如,这可以通过将从多个来源接收到的信息与从移动设备的传感器接收到的上下文信息进行比较来实现。在块606中,设备处理器可以基于粗略观测来执行行为分析操作。在一方面中,作为块603和604的部分,设备处理器可以执行上文参考图2-图10讨论的操作中的一者或多者。

在判定块608中,设备处理器可以判断是否能够在行为分析的结果的基础上识别并校正可疑的行为或者潜在的问题。在设备处理器确定能够在行为分析的结果的基础上识别并校正可疑的行为或潜在的问题(即,判定块608=“是”)时,在块618中,处理器可以发起用于校正该行为的过程,并返回到块602,以执行额外的粗略观测。

在设备处理器确定不能在行为分析的结果的基础上识别和/或校正可疑的行为或潜在的问题(即,判定块608=“否”)时,在判定块609中,设备处理器可以判断是否有存在有问题的可能性。在一方面中,设备处理器可以通过计算移动设备遭遇潜在的问题和/或卷入可疑的行为的概率并且判断所计算出的概率是否大于预定阈值,来确定有存在问题的可能性。在设备处理器确定所计算出的概率不大于预定阈值并且/或者没有可疑的行为或潜在的问题存在和/或可检测到的可能性(即,判定块609=“否”)时,处理器可以返回到块602,以执行额外的粗略观测。

在设备处理器确定有可疑的行为或潜在的问题存在和/或可检测到的可能性(即,判定块609=“是”)时,设备处理器可以在块610中对所识别出的子系统、过程或应用执行更深入的日志记录/观测或者最终日志记录。在块612中,设备处理器可以对所识别出的子系统、过程或应用执行更深入的并且更详细的观测。在块614中,设备处理器可以在该更深入的并且更详细的观测的基础上执行进一步的和/或更深入的行为分析。

在判定块608中,设备处理器可以再次判断是否能够在该更深入的行为分析的结果的基础上识别出并校正可疑的行为或者潜在的问题。在设备处理器确定不能在该更深入的行为分析的结果的基础上识别出并且校正可疑的行为或潜在的问题(即,判定块608=“否”)时,处理器可以重复块610-614中的操作,直到详细的程度精细到足以识别出问题为止或者直到确定不能通过额外的细节来识别出问题或者不存在问题为止。

在设备处理器确定能够在该更深入的行为分析的结果的基础上识别出并且校正可疑的行为或潜在的问题(即,判定块608=“是”)时,在块618中,设备处理器可以执行用于校正问题/行为的操作,并且处理器可以返回到块602,以执行额外的操作。

在一方面中,作为方法600的块602-618的部分,设备处理器可以执行对系统的行为的实时行为分析,从而根据有限的并且粗略的观测来识别出可疑的行为、动态地确定要更加详细地观测的行为,并且动态地确定该观测所需的确切详细程度。这使得设备处理器能够在不需要使用设备上的大量处理器、存储器或电池资源的情况下有效率地识别问题并且避免问题发生。

在各方面当中,处理器或者处理内核(统称为“处理器”)可以被配置为执行用于对目标计算设备的基于行为的安全系统进行分析的操作。基于行为的安全系统可以是综合行为监测及分析系统,例如,上文参考图2讨论的系统200。在各种方面当中,所述处理器可以被包含在目标计算设备当中或者包含在不同于目标计算设备的计算设备当中。

在一方面中,可以由在该处理器上操作的攻击模拟模块执行所述操作。攻击模拟模块可以被配置为与基于行为的安全系统在同一操作系统上运行,或者可以被配置为在目标计算设备的超管理器上运行。在一方面中,目标计算设备可以包括软件指令或者可以通过软件指令来配置,以执行被配置为监测、控制或者评估攻击模拟模块的操作的超管理器。这允许攻击模拟模块与基于行为的安全系统操作在同一操作系统上,因为超管理器有助于确保相对于基于行为的安全系统而言该攻击模拟模块不会变得易受到相同类型的攻击或问题的侵害。

如上所述,处理器可以被配置为执行用于对目标计算设备的基于行为的安全系统进行分析的操作。作为这些操作的部分,处理器可以生成仿真攻击软件。仿真攻击软件可以包括可执行代码、脚本或者适于在目标计算设备(即,包括在被评估的基于行为的安全系统的同一计算设备或不同的计算设备)中模拟不良行为的其它信息。也就是说,处理器可以被配置为将仿真攻击软件生成为包括适于在目标计算设备中模拟非良性行为的信息。

例如,在一方面中,处理器可以被配置为从许多计算设备(例如,移动设备等)接收行为信息的语料库,对行为信息的语料库进行分析以识别出非良性行为,并将仿真攻击软件生成为包含适于使处理器执行与所识别出的非良性行为相关联的操作的信息。作为另一范例,处理器可以将仿真攻击软件生成为包括适于使处理器执行与已知网络攻击相关联的操作的信息。

处理器可以被配置为将所生成的仿真攻击软件发送给目标计算设备(例如,经由通信消息、函数调用、存储器读/写操作等),从而使目标计算设备执行与已知的/所识别出的非良性行为相关联的操作。作为响应,处理器可以从目标计算设备接收行为信息,基于所接收到的行为信息生成行为向量,将所生成的行为向量应用于分类器模型以生成结果,并采用所生成的结果判断该基于行为的安全系统是否适当地响应了所模拟的非良性行为。此外,处理器可以被配置为通过判断是否在所定义的时间段内(例如,在定时器期满之前)接收到了响应,来判断基于行为的安全系统是否适当地响应了所模拟的非良性行为。

处理器可以被配置为响应于确定该基于行为的安全系统没有适当地响应所模拟的非良性行为来向目标计算设备发送死人信号。发送死人信号可以包括发送含有适于使移动设备执行一项或多项死人操作(例如,用于避免目标计算设备完成基于NFC的交易的操作)的信息的通信消息。

在一方面中,目标计算设备可以被配置为接收仿真攻击软件,安装所接收到的仿真攻击软件,监测基于行为的安全系统的操作以收集行为信息,并将收集到的行为信息发送给该处理器。目标计算设备可以响应于发送所收集到的行为信息来设置定时器,并响应于确定移动设备没有在定时器期满之前接收到系统OK信号而执行死人操作。

各个方面可以在各种各样的计算设备上实现,图7示出了其中的例子。具体而言,图7是适于与各方面中的任何方面结合使用的具有智能电话/手机700的形式的移动计算设备的系统方框图。手机700可以包括耦合到内存704、显示器706和扬声器708的处理器702。此外,手机700可以包括用于发送和接收电磁辐射的天线710,其可以连接至无线数据链路和/或耦合到处理器702的蜂窝电话收发器712。手机700通常还包括用于接收用户输入的菜单选择按钮或摇杆式开关714。

典型的手机700还包括声音编码/解码(CODEC)电路716,其将从麦克风接收到的声音数字化为适于无线传输的数据包,并对所接收到的声音数据包进行解码以生成提供给扬声器708从而生成声音的模拟信号。而且,处理器702、无线收发器712和CODEC 716中的一者或多者可以包括数字信号处理器(DSP)电路(未单独示出)。手机700还可以包括用于无线设备之间的低功率短程通信的ZigBee收发器(即,IEEE 802.15.4收发器)或者其它类似通信电路(实现或WiFi协议的电路等)。

上文描述的各个方面和网络服务器可以在各种各样的市面可得的服务器设备中实现,例如,图8所示的服务器800。该服务器800通常包括耦合到易失性存储器802和大容量非易失性存储器(例如,磁盘驱动器803)的处理器801。服务器800还可以包括耦合至处理器801的软盘驱动器、压缩盘(CD)或DVD盘驱动器804。服务器800还可以包括耦合至处理器801的网络接入端口806,其用于建立与网络805(例如,耦合至其它通信系统计算机和服务器的局域网)的数据连接。

处理器702、801可以是任何能够通过软件指令(应用)被配置为执行各种功能,包括下文所述的各个方面的功能的可编程微处理器、微计算机或多处理器芯片。在一些移动设备中,可以提供多个处理器702,例如,一个处理器专用于无线通信功能,而一个处理器专用于运行其它应用。典型地,可以在软件应用被访问并加载到处理器902、801内之前,将软件应用存储到内存704、802当中。处理器702、801可以包括足以存储应用软件指令的内存。在一些服务器中,处理器801可以包括足以存储应用软件指令的内存。在一些接收器设备中,安全存储器可以是耦合至处理器801的独立的存储器芯片。内存704、802可以是易失性或非易失性存储器(例如,闪速存储器)或者两者的组合。对于本文描述的目的而言,一般性地提到的存储器是指所有可由处理器702、801访问的存储器,包括内存704、804、插入到设备内的可移动存储器以及处理器702、801本身内的存储器。

很多现代化计算设备是具有相对有限的处理、存储器和能量资源的资源受限系统。例如,移动设备是复杂的并且资源受限的计算设备,其包括可能促使其性能和功率利用水平随着时间的推移而劣化的很多特征或因素。可能促使性能劣化的因素的例子包括设计得差的软件应用、恶意软件、病毒、碎片化存储器和后台进程。由于这些因素的数量、多样性和复杂性的原因,对可能使这些复杂但资源受限的系统的性能和/或功率利用水平劣化的各种部件、行为、过程、操作、条件、状态或特征的全部(或其组合)进行评估往往是不可行的。因而,用户、操作系统或应用程序(例如,防病毒软件等)难以准确并且有效率地识别出该问题的来源。因此,移动设备用户当前几乎没有什么补救措施来防止移动设备的性能和功率利用水平随着时间的推移而劣化,或者将老化的移动设备恢复至其初始性能和功率利用水平。

本申请中讨论的各个方面尤其适于在资源有限的计算设备中使用,例如,在移动设备中使用,因为它们不需要评估非常大的行为信息语料库,而且动态地生成分类器/行为模型以考虑计算设备的特定于设备或者特定于应用的特征,智能地优先考虑通过所述分类器/行为模型来测试/评估的特征,不局限于评估个体应用程序或过程,智能地识别将由该计算设备监测的因素或行为,准确并且有效率地对被监测的行为进行分类,和/或不需要执行计算密集型过程。出于所有的这些原因,可以在资源受限的计算设备中实现或者执行各个方面,而不对该设备的响应性、性能或功耗特性造成显著的负面影响和/或用户可觉察的影响。

例如,现代化移动设备是高度可配置的并且复杂的系统。因而,在每一移动设备中,对于判断特定设备行为是良性还是非良性(例如,恶意或者使性能劣化的)而言最为重要的因素或特征可以是不同的。此外,不同的因素/特征组合可能需要在每一移动设备中进行监测和/或分析,从而使该设备快速并且有效率地判断特定行为是良性的还是非良性的。然而,需要监测和分析的因素/特征的确切组合,以及每一特征或特征组合的相对优先级或重要性往往仅可能使用从特定计算设备(要在该特定计算设备中对行为进行监测或分析)获得的特定于设备的信息来确定。出于这些以及其它原因,在除了特定设备(在其中使用分类器模型)以外的任何计算设备中生成的分类器模型不能够包括这样的信息:用于识别出对于将该特定设备中的软件应用或设备行为进行分类而言最为重要的因素/特征的确切组合。也就是说,通过在使用分类器模型的特定计算设备中生成所述模型,各个方面生成了改进的模型,所述改进模型将更好地识别和优先考虑对于判断软件应用、过程、活动或设备行为是良性还是非良性而言最为重要的因素/特征。

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

上文的方法描述和过程流程图只是作为说明性范例提供的,并非意在要求或者暗示必须按照所介绍的顺序执行所述各个方面的步骤。本领域技术人员将认识到,可以通过任何顺序执行上述各个方面中的步骤顺序。诸如“此后”、“之后”、“接下来”等的词语并非意在限制所述步骤的顺序;这些词语只是用来引导读者通读对所述方法的描述。此外,以单数形式(例如使用单数冠词)对权利要求要素进行的引述不应被理解为将该要素局限于单数形式。

结合本文中公开的方面描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件的可互换性,上文围绕各种示例性部件、块、模块、电路和步骤的功能对其进行了总体描述。至于该功能是实现为硬件还是软件取决于特定应用和施加在整个系统上的设计约束。技术人员可以针对每种特定应用以变通的方式来实现所描述的功能,但这种实现决定不应被视为造成脱离本发明的范围。

可以通过被设计为执行文中描述的功能的通用处理器、数字信号处理器(DPC)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件部件或其任何组合,来实现或执行用于实现结合文中公开的各个方面描述的各种示例性逻辑、逻辑块、模块和电路的硬件。通用处理器可以是微处理器,但是在替代方案中,所述处理器可以是任何常规的处理器、控制器、微控制器或状态机。也可以将处理器实现为计算设备的组合,例如,DPC和微处理器的组合、多个微处理器、一个或多个微处理器连同DPC核或者任何其它这种结构。或者,可以通过专用于给定功能的电路来执行一些步骤或方法。

在一个或多个示例性方面当中,可以通过硬件、软件、固件或其任何组合的方式来实现所描述的功能。如果利用软件来实现功能,那么可以将该功能作为一个或多个指令或代码存储在非暂态计算机可读介质或非暂态处理器可读介质上。可以将文中公开的方法或算法的步骤体现到可以驻留在非暂态计算机可读或处理器可读存储介质上的处理器可执行软件模块当中。非暂态计算机可读或处理器可读存储介质可以是任何可以被计算机或处理器访问的存储介质。作为例子而非限制,这样的非暂态计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪速存储器、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备或者任何其它可以用于存储具有指令或数据结构的形式的预期程序代码并且可以被计算机访问的介质。如本文中所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多用盘(DVD)、软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。上面选项的组合也包含在非暂态计算机可读及处理器可读介质的范围内。此外,方法或算法的操作可以作为一个或者任何代码和/或指令组合或者一个或任何代码和/或指令集驻留在非暂态处理器可读介质和/或计算机可读介质上,所述介质可以被合并入计算机程序产品当中。

提供前面的对所公开的各个方面的描述是为了使任何本领域技术人员能够实施或者使用本发明。对这些方面的各种修改对于本领域的技术人员将是显而易见的,并且本文所定义的一般性原理可以在不脱离本发明的精神或范围的前提下应用于其它方面。因而,本发明并非意在局限于文中所示的各个方面,而是要符合与下面的权利要求以及本文中公开的原理和新颖特征相一致的最广范围。

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