CN104956715A - 对移动设备上的行为特征的自适应观察 - Google Patents

对移动设备上的行为特征的自适应观察 Download PDF

Info

Publication number
CN104956715A
CN104956715A CN201480005786.4A CN201480005786A CN104956715A CN 104956715 A CN104956715 A CN 104956715A CN 201480005786 A CN201480005786 A CN 201480005786A CN 104956715 A CN104956715 A CN 104956715A
Authority
CN
China
Prior art keywords
mobile device
information
behavior
processor
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480005786.4A
Other languages
English (en)
Other versions
CN104956715B (zh
Inventor
R·古普塔
V·斯里哈拉
S·A·K·加塔拉
X·魏
M·克里斯托多雷斯库
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/923,547 external-priority patent/US9495537B2/en
Priority claimed from US14/161,853 external-priority patent/US20140150100A1/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Priority to CN202111188997.4A priority Critical patent/CN113935025A/zh
Publication of CN104956715A publication Critical patent/CN104956715A/zh
Application granted granted Critical
Publication of CN104956715B publication Critical patent/CN104956715B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/043Distributed expert systems; Blackboards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent

Abstract

检测可疑的或降低性能的移动设备行为,智能地、动态地和/或自适应地确定要被观察的计算设备行为、要被观察的行为数量以及移动设备行为要被观察的细节水平或粒度。各个方面高效地识别可疑的或降低性能的移动设备行为,而不需要过量的处理、存储器或能量资源。

Description

对移动设备上的行为特征的自适应观察
相关申请
本申请要求于2014年1月23日提交的、名称为“Adaptive Observationof Driver and Hardware Level Behavioral Features on a Mobile Device”的美国专利申请No.14/161,853的优先权,该美国专利申请No.14/161,853为于2013年6月21日提交的、名称为“Adaptive Observation of Behavioral Features ona Mobile Device”的美国专利申请No.13/923,547的部分延续案,该美国专利申请No.13/923,547要求于2013年1月25日提交的、名称为“AdaptiveObservation of Behavioral Features on a Mobile Device”的美国临时申请No.61/756,963的优先权的权益,故以引用方式将上述所有申请的全部内容并入本文以用于所有目的。
本申请还要求于2013年9月26日提交的、名称为“Adaptive Observationof Driver and Hardware Level Behavioral Features on a Mobile Device”的美国临时申请No.61/882,833的优先权的权益,故以引用方式将其全部内容并入本文以用于所有目的。
背景技术
在过去的几年内,蜂窝和无线通信技术已经经历了爆炸性的增长。更好的通信、硬件、更大的网络以及更可靠的协议推动了这样的增长。现在无线服务提供商能够为其客户提供不断扩展的大量功能和服务,并且为用户提供对信息、资源和通信的空前水平的访问。为了与这些服务增强并驾齐驱,移动电子设备(例如,蜂窝电话、平板设备、膝上型计算机等)已经变得比以前更加强大和复杂。这样的复杂性为能够对移动设备的长期和持续的性能以及功率利用水平产生负面影响的恶意软件、软件冲突、硬件故障及其它类似的错误或现象创造了新的机会。因此,识别并校正可能对移动设备的长期和持续的性能以及功率利用水平产生负面影响的状况和/或移动设备行为,对客户来说是有益的。
发明内容
各个方面包括用于对移动设备的行为特征的自适应观察以便高效地识别、防止和/或校正经常使移动设备的性能和/或功率利用水平随时间而降低的状况和/或移动设备行为的方法、设备和系统。一个方面包括一种用于在一时间段内对移动设备行为进行观察以确认与正常操作模式不一致的移动设备行为的方法。这方面方法可以包括:从以下群组中动态地选择一个或多个移动设备行为以用于观察:移动设备操作、移动设备事件、数据网络活动、系统资源使用、移动设备状态、进程间通信、驱动器统计、硬件部件状态、硬件计数器、软件应用的动作或操作;软件下载、对设备或部件设置的改变、在应用级别的状况和事件、在无线级别的状况和事件以及在传感器级别的状况和事件;以及对所述移动设备行为自适应地进行观察以从有限的观察集合中识别可疑的移动设备行为。
在一方面方法中,移动设备操作可以包括以下各项中的一项或多项:应用框架或运行时库中的库应用编程接口(API)调用、系统调用API、文件系统和网络子系统操作、文件系统活动、对文件名的搜索、文件访问的分类、创建文件、删除文件、文件读/写/查找操作以及改变文件权限。
在一方面方法中,移动设备事件可以包括设备状态改变和传感器设备状态改变中的一项或多项。在一个方面,数据网络活动可以包括以下各项中的一项或多项:连接的类型、协议、端口号、设备连接到的服务器/客户端、连接的数量、通信量或通信频率、电话网络活动、发送的呼叫/消息的类型和数量、接收的呼叫/消息的类型和数量、截取的呼叫/消息的类型和数量、呼叫信息、文本消息传送信息、媒体消息传送、用户账户信息、传输、语音信箱以及设备标识符。
在一个方面,移动设备系统资源使用可以包括以下各项中的一项或多项:监测分支的数量、存储器访问操作和文件打开的数量。在一方面方法中,移动设备状态可以包括以下各项中的一项或多项:显示器打开/关闭状态、锁定/解锁状态、电池充电状态、摄像头状态和麦克风状态。
在一个方面,移动设备进程间通信可以包括以下各项中的一项或多项:监测对重要服务的意图、监测进程间通信的程度以及监测弹出窗口。在一个方面,驱动器统计可以包括来自用于以下各项中的一项或多项的驱动器的统计:摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、外围设备、无线通信部件和外部存储器芯片。
在一个方面,移动设备硬件部件状态可以包括以下各项中的一项或多项:摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、定时器、外围设备、无线通信部件、外部存储器芯片、调压器、振荡器、锁相环、外围桥接器以及用于支持在移动计算设备上运行的处理器和客户端的其它类似部件。
在一个方面,移动设备硬件计数器可以包括以下各项中的一项或多项:表示移动计算设备和/或移动设备子系统的状态或状况的硬件计数器、以及被配置为存储硬件相关的活动或事件的计数或状态的处理器/核的专用寄存器。
在一个方面,软件应用的动作或操作可以包括对由软件应用使用的信息的监测,所述信息包括以下各项中的一项或多项:位置信息、摄像头信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线通信、基于文本的通信的内容、录制的音频文件的内容、电话本或联系信息、联系人列表、日历信息、位置信息、录制的音频信息、加速计信息、传送给软件应用和从软件应用传送的通知、用户验证和用户口令。
在一个方面,软件下载可以包括以下各项中的一项或多项:从应用下载服务器的软件下载、以及第一软件应用请求对第二软件应用的下载和/或安装。
在一个方面,对设备或部件设置的改变可以包括对以下各项中的一项或多项的改变:指南针信息、移动设备设置、电池寿命、陀螺仪信息、压力传感器和屏幕活动。
在一个方面,在应用级别的状况和事件可以包括以下各项中的一项或多项:经由面部识别软件观察用户、观察社交流、观察由用户输入的记录、观察涉及电子支付服务(例如,银行存折(PassBook)、谷歌钱包(GoogleWallet)和贝宝(Paypal))的使用的事件、观察与以下各项有关的事件:虚拟专用网的使用、同步、语音搜索、语音控制、语言翻译器、对用于计算的数据的卸载、视频流、在没有用户活动的情况下的摄像头使用以及在没有用户活动的情况下的麦克风使用。
在一个方面,在无线级别的状况和事件可以包括确定以下各项中的任意项或全部的出现、存在或量:在建立无线通信链路或发送信息之前与移动设备的用户交互、多用户标识模块卡、互联网广播、移动电话网络共享、卸载用于计算的数据、设备状态通信、作为游戏控制器或家庭控制器的使用、车辆通信、移动设备同步、监测用于定位的无线设备(WiFi、WiMax、蓝牙等)的使用、对等(p2p)通信、同步、车辆到车辆通信、和/或机器到机器(m2m)、以及监测网络业务使用、统计或简档。
在一个方面,在传感器级别的事件处的状况和事件可以包括以下各项中的一项或多项:监测磁铁传感器,检测近场通信,从信用卡扫描器、条形码扫描器或移动标签读取器收集信息,检测USB充电源的存在,检测键盘或辅助设备已耦合到移动设备,检测移动设备已耦合到计算设备(例如,经由USB等),确定LED、闪光、闪光灯或光源是否已被修改或禁用(例如,恶意禁用紧急信令的应用等),确定扬声器或麦克风是否已被打开或通电,检测充电或功率事件,检测移动设备正在用作游戏控制器,从医学目的/医疗传感器或通过扫描用户的身体收集信息,从插入到通用串行总线(USB)端口和音频插孔之一的外部传感器收集信息,从感触或触觉传感器收集信息以及收集涉及移动设备的热状态的信息。
在一个方面,动态地选择一个或多个移动设备行为以用于观察可以包括:在所述时间段内观察移动设备行为,并且将与不一致的操作相关联的有限的行为集合识别为要被观察的移动设备行为。
在一个方面,将与不一致的操作相关联的有限的行为集合识别为要被观察的移动设备行为可以包括:接收来自高级应用、系统内核和驱动API中的一个或多个的、在由自适应滤波器进行滤波之后的行为输入;接收关于移动设备的操作的上下文信息;执行所接收的行为输入与所接收的上下文输入的空间相关;以及生成行为向量。
在一个方面,生成行为向量可以包括:生成简洁地描述所观察的移动设备行为的向量数据结构。在一个方面,生成行为向量可以包括:生成可以包括从移动设备的各个级别/模块处的API收集的信息的向量。在一个方面,生成行为向量可以包括:生成可以包括涉及以下各项中的一项或多项的信息的向量:库API调用、系统调用、文件系统和网络子系统操作、传感器设备状态改变、文件系统活动、网络活动、电话活动、存储器访问操作、移动设备的状态、移动设备的电子显示器的通电/断电状态、移动设备的锁定/解锁状态、剩余的电池电量、进程间通信、驱动器统计和硬件计数器。
在一个方面,生成行为向量可以包括:生成包括一系列数字的向量数据结构,所述一系列数字中的每个数字表示移动设备的特征或行为。在一个方面,所述一系列数字中的至少一个标识以下各项中的一项或多项:移动设备的摄像头是在使用中还是没有在使用、已由移动设备生成多少网络业务以及已从移动设备发送多少互联网消息。
在一个方面,生成行为向量可以包括:生成可以包括以下各项中的至少一项的向量:呼叫信息、文本消息传送信息、媒体消息传送信息、用户账户信息、位置信息、摄像头信息、加速计信息和浏览器信息。在一个方面,生成行为向量可以包括:生成可以包括在移动设备的应用级别收集的信息的向量。在一个方面,生成行为向量可以包括:生成可以包括在移动设备的无线级别收集的信息的向量。在一个方面,生成行为向量可以包括:生成可以包括在移动设备的传感器级别收集的信息的向量。
在一个方面,将与不一致的操作相关联的有限的行为集合识别为要被观察的移动设备行为还包括:执行所接收的行为输入与所接收的上下文输入的时间相关,其中,生成行为向量可以包括基于空间相关和时间相关的结果来生成行为向量。
又一方面包括具有多核处理器的移动计算设备,多核处理器包括两个或更多个处理器核,处理器核中的一个或多个配置有处理器可执行指令以执行上面所描述的方法的操作。另外的方面包括具有用于执行上面所描述方法的功能和操作的单元的移动设备。另外的方面包括非暂时性处理器可读存储介质,其具有存储于其上的处理器可执行指令,处理器可执行指令被配置为使处理器执行上面所描述方法的操作。
附图说明
并入本文并构成本说明书的一部分的附图,示出了本发明的示例性方面,并且与上面给出的总体描述和下面给出的详细描述一起用于解释本发明的特征。
图1是适于实现各个方面的示例片上系统的架构图。
图2是示出了根据各个方面的、被配置为执行动态且自适应的观察的计算系统中的示例逻辑部件和信息流的框图。
图3是示出了根据一个方面的、被配置为执行动态且自适应的观察的观察器模块中的示例逻辑部件和信息流的框图。
图4是示出了根据一个方面的、实现观察器模块的计算系统中的逻辑部件和信息流的框图。
图5A是示出了根据各个方面的、实现观察器模块和观察器守护进程(daemon)的计算系统中的逻辑部件和信息流的框图。
图5B是示出了根据各个方面的、实现观察器模块和观察器守护进程的计算系统中的逻辑部件和信息流的框图框图。
图6A是示出了根据各个方面的、实现观察器模块和观察器守护进程的计算系统中的逻辑部件和信息流的框图。
图6B是示出了根据各个方面的、实现观察器模块和观察器守护进程的计算系统中的逻辑部件和信息流的框图。
图7A是示出了根据各个方面的、实现观察器模块和观察器守护进程的计算系统中的逻辑部件和信息流的框图。
图7B是示出了根据各个方面的、实现观察器模块和观察器守护进程的计算系统中的逻辑部件和信息流的框图。
图8A是示出了根据各个方面的、实现观察器模块和观察器守护进程的计算系统中的逻辑部件和信息流的框图。
图8B是示出了根据各个方面的、实现观察器模块和观察器守护进程的计算系统中的逻辑部件和信息流的框图。
图9A是示出了用于在移动设备上执行自适应观察的一方面方法的过程流程图。
图9B是示出了用于在移动设备上执行自适应观察的另一方面方法的过程流程图。
图10是示出了用于在移动设备上执行自适应观察的另一方面方法的过程流程图。
图11A-11C是示出了用于在移动设备上执行自适应观察的又一方面方法的过程流程图。
图12是适合于与各个方面一起使用的移动设备的部件框图。
图13是适合于与各个方面一起使用的示例移动设备的示图。
图14是适合于与各个方面一起使用的示例服务器计算机的示图。
具体实施方式
将参照附图详细地描述各个方面。在任何可能的情况下,将在整个附图中使用相同的附图标记来指代相同的或相似的部分。对特定例子和实现方式的提及是为了说明的目的,而不是旨在限制本发明或权利要求的范围。
本文中使用“示例性”一词意味着“用作例子、实例或说明”。本文描述为“示例性的”任何实现方式不必解释为相比其它实现方式更优选或更有优势。
术语“移动计算设备”和“移动设备”在本文可互换地使用,以指代以下各项中的任一项或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、超极本、掌上计算机、无线电子邮件接收机、启用多媒体互联网的蜂窝电话、无线游戏控制器以及包括存储器、可编程处理器(性能对其很重要)并且在电池功率下进行操作以使功率节省方法有益的类似的个人电子设备。尽管各个方面对于具有有限的资源并且在电池上运行的的移动计算设备(例如,智能电话)是特别有用的,但是这些方面通常在包括处理器并且执行应用程序的任何电子设备中都是有用的。
用于实施各个方面的操作的、在可编程处理器上执行的计算机程序代码或“程序代码”可以用诸如C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、结构化查询语言(例如,Transact-SQL)、Perl之类的高级编程语言或用各种其它编程语言编写。如本文所使用的存储在计算机可读存储介质上的程序代码或程序是指其格式不可被处理器理解的机器语言代码(例如,对象代码)。
本文中使用术语“性能降低”,以指代多种不期望的移动设备操作和特性,例如,较长的处理时间、较低的电池寿命、私有数据的丢失、恶意的经济活动(例如,发送未授权的额外费用的SMS消息)、与强占移动设备或将电话用于间谍或僵尸网络活动有关的操作等。
本文中使用术语“片上系统”(SOC),以指代包含集成在单个衬底上的多个资源和/或处理器的单个集成电路(IC)芯片。单个SOC可以包含用于数字、模拟、混合信号和射频功能的电路。单个SOC还可以包括任意数量的通用和/或专用处理器(数字信号处理器、调制解调器处理器、视频处理器等)、存储器块(例如,ROM、RAM、闪存等)以及资源(例如,定时器、调压器、振荡器等)。SOC还可以包括用于控制所集成的资源和处理器以及用于控制外围设备的软件。
本文中使用术语“多核处理器”,以指代包含被配置为读取并执行程序指令的两个或更多个独立处理核(例如,CPU核)的单个集成电路(IC)芯片或芯片封装。SOC可以包括多个多核处理器,并且SOC中的每个处理器可以被称为核。本文中使用术语“多处理器”以指代包括被配置为读取并执行程序指令的两个或更多个处理单元的系统或设备。
通常,移动设备的性能和功率效率随着时间过去而降低。最近,反病毒公司(例如,McAfee(迈克菲)、Symantec(赛门铁克)等)已经开始出售意在减缓这样的降低的移动反病毒、防火墙和加密产品。然而,这些方案中的很多方案依赖于计算密集型扫描引擎在移动设备上的周期性执行,计算密集型扫描引擎可能消耗移动设备的处理资源和电池资源中的很多资源、使移动设备变慢或使移动设备在延长的时间段内失效和/或以其它方式降低用户体验。另外,这些方案通常限于检测已知的病毒和恶意软件,而不解决经常进行组合来促使移动设备随着时间的降级的多个复杂因素和/或交互作用(例如,当性能降低不是由病毒或恶意软件导致的时候)。由于这些和其它原因,现有的反病毒、防火墙和加密产品并不提供方案用于识别可能促使移动设备随着时间的降级的大量因素、用于防止移动设备降级或用于高效地将老化的移动设备恢复到其原始状态的充分的方案。
存在用于对计算设备上执行的进程或应用程序的行为进行建模的各种其它方案,并且可以使用这样的行为模型来在计算设备上的恶意进程/程序与良性进程/程序进行区分。然而,这些现有的建模方案不适合于在移动设备上使用,这是因为这些方案通常需要执行消耗大量处理、存储器和能量资源的计算密集型进程,所有这些资源在移动设备上可能都是缺乏的。另外,这些方案通常限于评估各个应用程序或进程的行为,而不提供性能降低的移动设备行为的准确或完整的模型。由于这些或其它原因,现有的建模方案用于识别可能促使移动设备随着时间的降级的大量因素、用于防止移动设备降级或用于高效地将老化的移动设备恢复到其原始状态,是不充足的。
存在可能促使移动设备的性能和功率利用水平随着时间的降低的各种因素,其包括设计差的软件应用、恶意软件、病毒、成碎片的存储器、后台进程等。然而,由于现代移动设备的复杂性,准确并高效地识别出这些问题的来源和/或对所识别的问题提供充分的补救方法对于用户、操作系统和/或应用程序(例如,反病毒软件等)来说愈加困难。因此,移动设备用户当前几乎没有用于防止移动设备的性能和功率利用水平随着时间的降低或用于将老化的移动设备恢复到其原始性能和功率利用水平的补救方法。
各个方面提供了用于高效地识别、防止和/或校正经常使移动设备的性能和/或功率利用水平随着时间而降低的状况和/或移动设备行为的设备、系统和方法。
如上面所提到的,移动设备是资源约束型系统,其具有相对受限的处理、存储器和能量资源。也如上面所提到的,现代移动设备是复杂的系统,并且存在可能促使移动设备随着时间的降级的大量(即,上千)的因素。由于这些约束,监测/观察可能使现代移动设备的复杂而资源约束的系统的性能和/或功率利用水平降低的各种进程、行为或因素(或其组合)常常是不可行的。
为了克服上面提到的现有方案的限制,各个方面智能地、动态地和/或自适应地确定要被观察的移动设备行为,要被观察的行为数量以及移动设备行为要被观察的细节水平(即,粒度)。各个方面高效地识别可疑的或降低性能的移动设备行为,而不消耗过量的处理、存储器或能量资源。各个方面可以校正可疑的或降低性能的移动设备行为。各个方面可以防止所识别的可疑的或降低性能的移动设备行为使移动设备的性能和功率利用水平随着时间而降低。各个方面可以将老化的移动设备恢复到其原始的性能和功率利用水平。
在一个方面,移动设备处理器可以被配置为在高级别对以下各项中的任意项或全部进行观察:库应用编程接口(API)调用、系统调用API、文件系统操作、网络子系统操作、针对大量传感器的驱动器API调用、状态改变和其它类似的事件/操作,并且基于这些高级别的观察来执行实时行为分析操作,以识别可能促使移动设备随着时间的降级的程序/进程(例如,主动恶意的程序、编写差的程序等)。移动设备处理器可以被配置为智能地增加移动设备行为要被观察的细节水平(即,粒度),直到有足够的信息可用于识别和/或校正可疑的或降低性能的移动设备行为的起因。
在一个方面,移动设备处理器可以被配置为基于在线实时分析操作的结果和/或系统资源的可用性,来动态地改变被观察的行为集合(例如,通过选择要观察的新的行为、观察较少的行为等)。
在各个方面,移动设备处理器可以被配置为:基于实时分析操作的结果和/或基于系统资源的可用性,来动态地调整观察粒度(即,移动设备行为被观察的细节水平)。例如,在各个方面,移动设备处理器可以被配置为递归地增加一个或多个观察的粒度(即,进行更精细或者更详细的观察),直到识别可疑的或降低性能的移动设备行为的来源,直到到达处理阈值,或者直到移动设备处理器确定可疑的或降低性能的移动设备行为的来源不能通过观察粒度的进一步增加而被识别。
在一个方面,移动设备处理器可以被配置为基于系统资源的可用性来动态地调整观察粒度。例如,移动设备处理器可以被配置为响应于确定移动设备资源是可用的或未被充分利用的或者移动设备当前连接到电源而增加观察粒度。作为另一例子,移动设备处理器可以被配置为响应于确定计算设备处于重负载或低电量之下而减小观察粒度。
在一个方面,移动设备的观察器进程、守护进程、模块或子系统(本文统称为“模块”)可以在移动设备系统的各个级别对各个应用编程接口(API)进行插装或协调,并且从所插装的API收集行为信息。在一个方面,移动设备还可以包括分析器模块,并且该分析器模块可以生成一个或多个分类器。观察器模块可以将所收集的行为信息传送(例如,经由存储器写入操作、函数调用等)给移动设备的分类器模块和/或分析器模块(例如,经由存储器写入操作等),分类器模块和/或分析器模块可以对所收集的行为信息进行分析和/或分类,生成行为向量,基于行为向量和从各个其它移动设备子系统收集的信息来生成空间和/或时间相关性,和/或确定特定的移动设备行为、软件应用或进程是良性的、可疑的还是恶意的/降低性能的。在各个方面,所生成的行为向量和空间/时间相关性可以由移动设备的各个模块(例如,由致动模块等)用于对被确定为具有对移动设备的性能或电池消耗水平造成负面影响的高可能性的行为进行识别和/或响应。
移动设备的分析器模块可以被配置为执行实时分析操作,该操作可以包括:将数据、算法和/或行为模型应用到由观察器模块收集的行为信息,以确定移动设备行为是良性的、可疑的还是恶意的/降低性能的。在一个方面,分析器模块可以被配置为:当分类器没有足够的信息来对移动设备行为是良性的还是恶意的进行分类或结论性地进行确定时,确定该行为是可疑的。在一个方面,分析器模块可以被配置为:当其确定设备行为可疑时,将其实时分析操作的结果传送给观察器模块。观察器模块可以基于从分析器模块接收的信息(例如,实时分析操作的结果),调整其观察的粒度(即,移动设备行为被观察的细节水平)和/或改变被观察的行为,生成或收集新的或额外的行为信息,并且将新的/额外的信息发送给分类器模块以用于进一步的分析/分类。
观察器与分析器模块之间的这样的反馈通信(例如,分析器模块将其实时分析操作的结果发送给观察器模块,而观察器模块将更新的行为信息发送给分析器模块)可以使移动设备处理器能够递归地增加观察的粒度(即,进行更精细或者更详细的观察)或改变被观察的特征/行为,直到识别可疑的或降低性能的移动设备行为的来源,直到到达处理或电池消耗的阈值,或者直到移动设备处理器确定可疑的或降低性能的移动设备行为的来源不能通过观察粒度的进一步增加而被识别。这样的反馈通信还使移动设备处理器能够在移动设备本地对数据/行为模型进行调整或修改,而不消耗过量的移动设备的处理、存储器或能量资源。
在各个方面,观察器模块和/或分析器模块可以生成包括对被观察行为的简要定义的行为向量。即,行为向量可以用值或向量数据结构(例如,以数字的字符串的形式等)来简洁地描述移动设备、软件应用或进程的被观察的行为。行为向量还可以用作标识符,该标识符使得移动设备系统能够快速地确认、识别和/或分析移动设备行为。在一个方面,观察器模块和/或分析器模块可以生成包括一系列数字的行为向量,所述一系列数字中的每个数字表示移动设备的一个特征或行为。例如,在行为向量中包括的数字可以表示移动设备的摄像头是否在使用中(例如,为零或为一)、已经从移动设备发送多少网络业务或已经由移动设备生成多少网络业务(例如,20KB/秒等)、已经传送多少互联网消息(例如,SMS消息的数量等)等。
各个方面可以在多个不同的移动设备中实现,这些移动设备包括单处理器和多处理器系统以及片上系统(SOC)。图1是示出可以在实现各个方面的计算设备中使用的示例片上系统(SOC)100架构的架构图。SOC 100可以包括多个不同种类的处理器,例如,数字信号处理器(DSP)101、调制解调器处理器104、图形处理器106和应用处理器108。SOC 100还可以包括连接到一个或多个不同种类的处理器102、104、106、108的一个或多个协处理器110(例如,向量协处理器)。每个处理器102、104、106、108、110可以包括一个或多个核,并且每个处理器/核可以独立于其它处理器/核来执行操作。例如,SOC 100可以包括执行第一类型的操作系统(例如,FreeBSD、LINUX、OS X等)的处理器和执行第二类型的操作系统(例如,微软Windows 8)的处理器。
SOC 100还可以包括模拟电路和定制电路114,模拟电路和定制电路114用于管理传感器数据、模拟到数字的转换、无线数据传输,以及用于执行其它专用操作(例如,处理用于游戏和电影的经编码的音频信号)。SOC100还可以包括系统部件和资源116,例如,调压器、振荡器、锁相环、外围桥接器、数据控制器、存储器控制器、系统控制器、访问端口、定时器以及用于支持在计算设备上运行的处理器和客户端的其它类似部件。
系统部件116和定制电路114可以包括与诸如摄像头、电子显示器、无线通信设备、外部存储器芯片等的外围设备通过接口连接的电路。处理器102、104、106、108可以经由互连/总线模块124与一个或多个存储器元件112、系统部件和资源116以及定制电路114互连,互连/总线模块124可以包括可重新配置的逻辑门阵列和/或实现总线架构(例如,CoreConnect、AMBA等)。通信可以由诸如高性能片上网络(NoC)之类的高级互联来提供。
SOC 100还可以包括用于与SOC外部的资源(例如,时钟118和调压器120)进行通信的输入/输出模块(未示出)。SOC外部的资源(例如,时钟118,调压器120)可以由内部SOC处理器/核(例如,DSP 102、调制解调器处理器104、图形处理器106、应用处理器108等)中的两个或更多个所共享。
SOC 100还可以包括适合于从传感器收集传感器数据的硬件和/或软件部件,其包括:扬声器、用户接口元件(例如,输入按钮、触摸屏显示器等)、麦克风阵列、用于监测物理状况(例如,位置、方向、运动、方位、振荡、压力等)的传感器、摄像头、指南针、GPS接收器、通信电路(例如,WLAN、WiFi等)以及现代电子设备的其它公知的部件(例如,加速计等)。
除了上面所论述的SOC 100,各个方面可以在多种计算系统中实现,多种计算系统可以包括单处理器、多处理器、多核处理器或其任意组合。
图2示出了根据各个方面的、被配置为执行动态且自适应观察的计算系统200中的示例逻辑部件和信息流。在图2中示出的例子中,计算系统200包括粗观察器模块202、分析器模块204、外部上下文信息模块206和致动模块208。
模块202-208中的每个可以用软件、硬件或其任意组合来实现。在各个方面,模块202-208可以在操作系统的部分内(例如,在内核内、在内核空间中、在用户空间中等)、在单独的程序或应用内、在专用的硬件缓冲器或处理器中或其任意组合中来实现。在一个方面,模块202-208中的一个或多个可以实现为在移动设备102的一个或多个处理器上执行的软件指令。
行为观察器模块202可以被配置为:在移动设备的各个级别/模块处对API进行插装或协调,并且在各个级别/模块处经由所插装的API对移动设备操作和事件(例如,系统事件、状态改变等)进行监测/观察,收集涉及所观察的操作/事件的信息,智能地对所收集的信息进行过滤,基于经过滤的信息来生成一个或多个观察,将所生成的观察存储在存储器中(例如,存储在日志文件、高速缓存存储器等中)和/或将所生成的观察发送(例如,经由存储器写入、函数调用等)给行为分析器模块204。
行为观察器模块202可以通过收集涉及以下各项的信息来对移动设备的操作和事件进行监测/观察:应用框架或运行时库中的库应用编程接口(API)调用、系统调用API、文件系统和网络子系统操作、设备(包括传感器设备)状态改变和其它类似的事件。行为观察器模块202还可以对文件系统活动进行监测,文件系统活动可以包括对文件名的搜索、文件访问的分类(个人信息或正常数据文件)、创建或删除文件(例如,类型exe、zip等)、文件读/写/查找操作、改变文件权限等。
行为观察器模块202还可以对数据网络活动进行监测/观察,数据网络活动可以包括连接的类型、协议、端口号、设备连接到的服务器/客户端、连接的数量、通信量或通信频率等。行为观察器模块202可以对电话网络活动进行监测,电话网络活动可以包括监测发送的、接收的或截取的呼叫/消息(例如,SMS等)的类型和数量(例如,拨打的高额呼叫(premium call)的数量)。
行为观察器模块202还可以对系统资源使用进行监测/观察,其可以包括监测分支的数量、存储器访问操作和文件打开的数量等。行为观察器模块202可以对移动设备的状态进行监测,其可以包括对各个因素(例如,显示器是打开的还是关闭的、设备是锁定的还是解锁的、剩余的电池电量、摄像头状态等)进行监测。行为观察器模块202还可以通过例如监测对重要服务(浏览器、合同供应商等)的意图、进程间通信的程度以及弹出窗口等,来对进程间通信(IPC)进行监测。
行为观察器模块202还可以对驱动器统计和/或一个或多个硬件部件的状态进行监测/观察,驱动器统计和/或一个或多个硬件部件的状态可以包括摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、定时器、外围设备、无线通信部件、外部存储器芯片、调压器、振荡器、锁相环、外围桥接器以及用于支持在移动计算设备上运行的处理器和客户端的其它类似部件。
行为观察器模块202还可以对表示移动计算设备和/或移动设备子系统的状态或状况的一个或多个硬件计数器进行监测/观察。硬件计数器可以包括处理器/核的专用寄存器,专用寄存器被配置为存储发生在移动计算设备中的硬件相关的活动或事件的计数或状态。
行为观察器模块202还可以对以下各项进行监测/观察:软件应用的动作或操作、从应用下载服务器(例如,苹果(Apple)的应用商店服务器)的软件下载、由软件应用使用的移动设备信息、呼叫信息、文本消息传送信息(例如,SendSMS、BlockSMS、ReadSMS等)、媒体消息传送信息(例如,ReceiveMMS)、用户账户信息、位置信息、摄像头信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线通信(例如,蓝牙、WiFi等)、基于文本的通信的内容、录制的音频文件的内容、电话本或联系信息、联系人列表等。
行为观察器模块202可以对移动设备的传输或通信进行监测/观察,所述传输或通信包括这样的通信:其包括语音信箱(VoiceMailComm)、设备标识符(DeviceIDComm)、用户账户信息(UserAccountComm)、日历信息(CalendarComm)、位置信息(LocationComm)、录制的音频信息(RecordAudioComm)、加速计信息(AccelerometerComm)等。
行为观察器模块202可以对以下各项的使用以及对以下各项的更新/改变进行监测/观察:指南针信息、移动设备设置、电池寿命、陀螺仪信息、压力传感器、磁铁传感器、屏幕活动等。行为观察器模块202可以对传送给软件应用的通知和从软件应用传送的通知(AppNotification)、应用更新等进行监测/观察。行为观察器模块202可以对涉及第一软件应用请求对第二软件应用的下载和/或安装的状况或事件进行监测/观察。行为观察器模块202可以对涉及用户验证(例如,口令的输入等)的状况或事件进行监测/观察。
移动设备处理器可以被配置为在移动设备的多个级别(包括应用级别、无线级别和传感器级别)对状况或事件进行观察。应用级别观察可以包括经由面部识别软件观察用户、观察社交流、观察由用户输入的记录、观察涉及诸如PassBook/Google Wallet/Paypal等的电子支付服务的使用的事件。应用级别观察还可以包括观察与虚拟专用网(VPN)的使用有关的事件以及涉及以下各项的事件:同步、语音搜索、语音控制(例如,通过说出一个词来锁定/解锁手机)、语言翻译器、对用于计算的数据的卸载、视频流、在没有用户活动的情况下的摄像头使用以及在没有用户活动的情况下的麦克风使用。
无线级别观察可以包括确定以下各项中的任意项或更多项的出现、存在或量:在建立无线通信链路或发送信息之前与移动设备的用户交互、双或多用户标识模块(SIM)或SIM卡、互联网广播、移动电话网络共享(tethering)、卸载用于计算的数据、设备状态通信、作为游戏控制器或家庭控制器的使用、车辆通信、移动设备同步等。无线级别观察还可以包括对以下各项进行监测:用于定位的无线设备(WiFi、WiMax、蓝牙等)的使用、对等(p2p)通信、同步、车辆到车辆通信、和/或机器到机器(m2m)。无线级别观察还可以包括监测网络业务使用、统计或简档。
传感器级别观察可以包括监测磁铁传感器或其它传感器以确定移动设备的使用和/或外部环境。例如,移动设备处理器可以被配置为确定电话是在皮套中(例如,经由被配置为感测皮套内的磁铁的磁铁传感器)还是在用户的口袋中(例如,经由摄像头或光传感器检测到的光的量)。检测移动设备是在皮套中可以与确认可疑的行为相关,例如,这是因为当移动设备在皮套中的同时发生的、与用户的主动使用相关的活动或功能(例如,拍摄照片或视频、发送消息、进行语音呼叫、录制声音等)可能是在设备上执行(例如,以跟踪或监视用户)的恶意进程的标志。与使用或外部环境相关的传感器级别观察的其它例子包括以下各项:检测近场通信(NFC),从信用卡扫描器、条形码扫描器或移动标签读取器收集信息,检测USB充电源的存在,检测键盘或辅助设备已耦合到移动设备,检测移动设备已耦合到计算设备(例如,经由USB等),确定发光二极管(LED)、闪光、闪光灯或光源是否已被修改或禁用(例如,恶意地禁用紧急信令的应用等),检测扬声器或麦克风是否已被打开或通电,检测充电或功率事件,检测移动设备正在用作游戏控制器等。传感器级别观察还可以包括以下各项:从医学或医疗传感器或通过扫描用户的身体收集信息,从插入到USB/音频插孔的外部传感器收集信息,从感触或触觉传感器收集信息(例如,经由振动器接口等),收集涉及移动设备的热状态的信息等。
为了将监测的因素的数量减少到可管理的级别,在一个方面,行为观察器模块202可以通过对初始的行为或因素集合进行监测/观察来执行粗观察,该初始的行为或因素集合是可能促使移动设备的降级的所有因素的小子集。在一个方面,行为观察器模块202可以从网络服务器116和/或云服务提供商网络118中的部件,接收初始的行为和/或因素集合。在一个方面,可以在从网络服务器116或云服务提供商网络118接收的数据/行为模型中指定初始的行为/因素集合。
分析器模块204可以包括用于以下项的智能:利用有限的信息集合(即,粗观察)来识别促使(或可能促使)设备随着时间的降级或者可能以其它方式导致设备上的问题的行为、进程或程序。例如,分析器模块204可以被配置为:对从各个模块(例如,观察器模块202、外部上下文信息模块206等)收集的信息(例如,以观察的形式)进行分析,了解移动设备的正常操作行为,生成移动设备行为的行为模型,以及将所生成的模型与从观察器模块202接收的信息/观察进行比较以识别可疑的移动设备行为。
如上文所提及的,观察器模块202可以对移动设备操作和事件进行监测/观察。在各个方面,对移动设备操作和事件进行观察可以包括收集涉及以下各项中的任意项或全部的信息:应用框架或运行时库中的库API调用、系统调用API、文件系统和网络子系统操作、设备状态(包括传感器设备)改变和其它类似的事件。在一个方面,观察器模块202可以对文件系统活动进行监测,文件系统活动可以包括对文件名进行搜索、文件访问的分类(个人信息或正常数据文件)、创建或删除文件(例如,类型exe、zip等)、文件读/写/查找操作、改变文件权限等。在一个方面,观察器模块202可以对数据网络活动进行监测,数据网络活动可以包括连接的类型、协议、端口号、设备连接到的服务器/客户端、连接的数量、通信量或通信频率等。在一个方面,行为观察器模块202可以对电话网络活动进行监测,其可以包括监测发送的、接收的或截取的呼叫或消息(例如,SMS等)的类型和数量(例如,拨打的高额呼叫的数量)。在一个方面,观察器模块202可以对使用的系统资源进行监测,其可以包括监测分支的数量、存储器使用、文件打开的数量等。在一个方面,观察器模块202可以对设备状态进行监测,其可以包括监测各个因素,例如,显示器是打开还是关闭的、设备是锁定的或者解锁的、剩余的电池电量、摄像头的状态等。在一个方面,观察器模块202还可以通过例如监测对重要服务(浏览器、合同供应商等)的意图、进程间通信的程度以及弹出窗口等,来对进程间通信(IPC)进行监测。
为了将监测的因素的数量减少到可管理的级别,观察器模块202可以通过对可能促使移动设备的降级的因素的小子集进行监测/观察来执行粗观察,并且将粗观察发送给分析器模块204。在一个实施例中,初始的行为集合和/或因素子集可以是通过对移动设备上的良性应用和问题应用的分析来选择的。
分析器模块204可以从观察器模块202接收粗观察,并且识别可能潜在地促使移动设备的降级的、与所接收的粗观察相关联的子系统、进程和/或应用。例如,这可以通过分析器模块204将所接收的信息与从外部上下文信息模块206接收的上下文信息进行比较来完成。
分析器模块204可以指示观察器模块202对所识别的子系统、进程或应用执行或实现较深度的日志记录/观察或最终的日志记录。观察器模块202可以对所识别的子系统、进程或应用执行较深度的观察。观察器模块202可以将较深度的观察的结果发送给分析器模块204以用于进一步(和较深度的)分析。可以重复这些操作,直到识别问题的来源或者直到确定所识别的子系统、进程或应用不可能导致问题或降级。分析器模块204然后可以将分析的结果发送给致动模块208,致动模块208可以接收该结果并且执行用于修复、修正、隔离或以其它方式解决所识别的问题的操作。
在一个方面,观察器模块202和分析器模块204可以单独地或者共同地提供对计算系统的行为的实时行为分析,以从有限且粗的观察中识别可疑的行为,动态地确定要较详细地观察的行为,并且动态地确定观察所需要的细节水平。以这种方式,观察器模块202使得计算系统200能够高效地识别问题并防止问题在移动设备上发生,而不需要设备上的大量的处理器、存储器或电池资源。
在一个方面,观察器模块202可以以空间高效且查询服务时间高效的方式存储观察,以减小对良性应用的性能影响。观察器模块202可以向系统提供各种观察模式,以实现多级别的日志记录(例如,细粒度和粗粒度的日志记录)。观察器模块202可以提供自动地且动态地在不同的观察器模式之间切换的能力。观察器模块202可以对可能耗尽系统资源的进程/应用进行监测和限制。观察器模块202可以对通信(例如,非安全到安全领域)系统开销进行管理,使得开销是最小的并且高效地维持/执行流控制。
在一个方面,分析器模块204可以被配置为:接收并分析由各个移动设备子系统和/或在各个时间段收集的信息以了解移动设备在各种情况和状况下的正常操作行为,并且生成各种情况/状况下的、正常移动设备行为的模型。在一个方面,分析器模块204可以被配置为使所接收的观察与所生成的行为模型相关,并且基于相关性来执行行为分析操作以确定所接收的观察是否与所了解的正常操作行为相冲突(或不匹配)。
在各个方面,移动设备可以被配置为与网络服务器进行通信,网络服务器可以基于从云服务网络服务器接收的信息来生成数据/行为模型。网络服务器可以将所生成的数据/行为模型发送给移动设备,移动设备可以接收并实现、应用或使用精益的数据/行为模型,来识别可疑的或降低性能的移动设备行为、软件应用、进程等。移动设备然后可以校正或防止所识别的降低性能的移动设备行为使移动设备的性能和功率利用水平降低。
在各个方面,网络服务器可以被配置为:通过对由很多移动设备提供的行为信息和/或行为分析的结果执行、运行和/或应用机器学习和/或上下文建模技术,来生成或更新数据/行为模型。因此,网络服务器可以从很多移动设备接收大量的报告,并且分析、合并这样的众包(crowd-sourced)信息或以其它方式将这样的众包信息转变为可用信息(具体地,能够由很多移动设备使用和/或访问的数据集或行为模型)。随着从移动设备接收到新的行为/分析报告,网络服务器可以不断地重新评估现有的数据/行为模型,和/或基于历史信息(例如,从先验执行、行为模型的先前应用等所收集的)、新信息、机器学习、上下文建模、以及在可用信息、移动设备状态、环境状况、网络状况、移动设备性能、电池消耗水平等中的检测到的改变,来生成新的或更新的数据/行为模型。
图3示出了根据一个方面的、计算系统的观察器模块202中的示例逻辑部件和信息流,其中计算系统被配置为执行动态且自适应的观察。观察器模块202可以包括自适应滤波器模块302、节流模块304、观察器模式模块306、高级行为检测模块308、行为向量生成器310以及安全缓冲器312。高级行为检测模块308可以包括空间相关模块314和时间相关模块316。
观察器模式模块306可以从各个来源接收控制信息,各个来源可以包括分析器单元(例如,上面参考图2所描述的分析器模块204)和/或应用API。观察器模式模块306可以将涉及各种观察器模式的控制信息发送给自适应滤波器模块302和高级行为检测模块308。
自适应过滤器模块302可以从多个来源接收数据/信息,并且对所接收的信息智能地进行过滤以生成从所接收的信息中选择的、较小的信息子集。该过滤器可以基于从分析器模块或者通过API进行通信的较高级进程接收的信息或控制来调整。经过滤的信息可以被发送给节流模块304,节流模块304可以负责控制从过滤器流动的信息量,以确保高级行为检测模块308不会变得请求或信息充溢或过载。
高级行为检测模块308可以从节流模块304接收数据/信息、从观察器模式模块306接收控制信息以及从移动设备的其它部件接收上下文信息。高级行为检测模块308可以使用所接收的信息来执行空间和时间相关,以检测或识别可能使设备在次优级别执行的高级行为。可以将空间相关和时间相关的结果发送给行为向量生成器310,行为向量生成器310可以接收相关性信息并且生成描述特定进程、应用或子系统的行为的行为向量。在一个方面,行为向量生成器310可以生成行为向量,使得特定进程、应用或子系统的每个高级行为是行为向量的一个元素。在一个方面,可以将所生成的行为向量存储在安全缓冲器312中。高级行为检测的例子可以包括对以下各项的检测:特定事件的存在、另一事件的量或频率、多个事件之间的关系、事件发生的次序、某些事件的发生之间的时间差异等。
在各个方面,观察器模块202可以执行自适应观察并控制观察粒度。即,观察器模块202可以动态地识别要被观察的相关行为,并且动态地确定所识别的行为要被观察的细节水平。以这种方式,观察器模块202使系统能够在各个级别(例如,多个粗级别和细级别)监测移动设备的行为。观察器模块202可以使系统能够适应正被观察的对象。观察器模块202可以使系统能够基于关注的信息子集来动态地改变正被观察的因素/行为,信息子集可以是从多个来源获得的。
如上文所讨论的,观察器模块202可以执行自适应观察技术并且基于从各个来源接收的信息来控制观察粒度。例如,高级行为检测模块308可以从节流模块304、观察器模式模块306接收信息以及从移动设备的其它部件(例如,传感器)接收上下文信息。作为例子,执行时间相关的高级行为检测模块308可能检测到摄像头已经被使用并且移动设备正在尝试将图片上传到服务器。高级行为检测模块308还可以执行空间相关,以确定移动设备上的应用是否在设备在皮套中并且附着到用户的腰带的时候拍摄照片。高级行为检测模块308可以确定该检测到的高级行为(例如,在皮套中时对摄像头的使用)是否为可接受的或普通的行为,这可以通过将当前行为与移动设备的过去行为进行比较和/或访问从多个设备收集的信息(例如,从众包服务器接收的信息)来完成。由于在皮套中时拍摄照片并将其上传到服务器是不常见的行为(这可以根据在皮套中的情况下的观察到的正常行为来确定),因此在这种情况下高级行为检测模块308可以将其确认为潜在威胁行为并且发起适当的响应(例如,关掉摄像头、发出警报声等)。
在一个方面,观察器模块202可以用多个部分来实现。
图4示出了根据一个方面的、实现观察器模块的示例计算系统400中的逻辑部件和信息流。所示出的计算系统400在用户空间中包括应用框架402、运行时库404、用户日志API 406和记录器库408。计算系统400在内核空间中可以包括内核核心(kernel core)410、内核驱动器412、内核日志API 414、观察器记录器424、过滤规则模块416、节流规则模块418、环形缓冲器422以及观察器守护进程420。在一个方面,环形缓冲器422可以是固定大小的和/或圆形的缓冲器。在一个方面,用户日志API 406和内核日志API 414的组合可以构成观察器记录器424。在一个方面,观察器守护进程420和观察器记录器424的组合可以构成观察器模块202。
应用框架402和运行时库404可以是移动设备的预先存在的软件代码/部件,其中的每个都可以利用用于在用户空间中监测活动并将信息发送给用户日志API 406的逻辑单元来插装。用户日志API 406可以提供使用户空间应用能够经由内核日志API 414与内核进行通信的API。
在一个方面,每当特定事件、动作或API(例如,API列表中被识别为特别重要的API)被调用时,都可以自动地调用观察器记录器414,并且可以将对应的信息存储在环形缓冲器422中。例如,存储在环形缓冲器422中的信息可以包括:用于识别调用者的信息、用于识别正在被调用的确切函数的信息、已经被传递给函数调用的参数以及其它类似的信息。在一个方面,可以以原始的格式将该信息存储在环形缓冲器422中。或者,环形缓冲器422可以用于在日志已被处理之后存储信息。
观察器记录器424可以由一组过滤和节流规则416、418来控制。过滤规则416可以指定特定API是被日志记录还是不被日志记录。节流规则418可以指定系统终止对特定API的日志记录/监测以防止过载的状况。
过滤和节流规则416、418可以由观察器守护进程420来创建、更新和/或维护。例如,如果在观察移动设备十分钟以后,观察器守护进程420决定特定API不再是感兴趣的(例如,其不向系统提供有用的信息),则观察器守护进程420可以更新过滤规则416,使得与该特定API有关的事件不再被监测/日志记录。
图5A示出了根据另一方面的、实现观察器模块202的计算系统500中的逻辑部件和信息流。除了过滤规则416是在设备上的用户空间和/或内核空间中的用户日志API 406上实施的以外,在图5A中示出的计算系统500包括上面参考图4所描述的所有部件。因此,代替每次调用到达观察器记录器424并且观察器记录器424决定该调用应当被日志记录还是不被日志记录(如参考图4所描述的那样),可以在插装(例如,用户日志API等)内实现过滤规则416,从而使得调用本身将不会基于过滤规则416而到达记录器。实现图5A中所示出的配置可以进一步改善移动设备效率,这是因为不需要对内核中的记录器进行函数调用。
图5B示出了根据又一方面的、实现观察器模块的计算系统550中的逻辑部件和信息流。除了观察器守护进程420处于用户空间中以外,在图5B中示出的计算系统550包括上面参考图5A所描述的所有部件。在一个方面,观察器守护进程420、过滤规则416、节流规则418和观察器记录器424可以是同一部件的部分。实现图5B中所示出的配置可以进一步改善移动设备效率,这是因为观察器守护进程420可以在不需要函数调用进入内核空间的情况下而更新过滤规则。
在任意给定的时间,若干应用和若干内核线程可能尝试在环形缓冲器中存储/写入信息,这可能导致阻碍可扩展性的竞争问题。在一个方面,可以通过包括多个环形缓冲器来改善系统的可扩展性(如图6A-B所示)。在图6A中示出的计算系统600包括上面参考图5A所描述的所有部件,但是包括多个环形缓冲器430。计算系统600可以包括针对由系统监测的每个应用、节流和内核线程的环形缓冲器。例如,计算系统600可以包括针对由系统监测的内核线程的环形缓冲器、以及针对由系统监测的每个应用和/或节流的一个或多个环形缓冲器。或者,计算系统600可以包括针对由系统监测的应用组、节流组和/或内核线程组的环形缓冲器。包括多个环形缓冲器使得计算系统600能够避免产生竞争问题并且减少瓶颈。
除了观察器守护进程420处于用户空间中以外,图6B中示出的计算系统650包括上面参考图6A所描述的所有部件。实现图6B中所示出的配置可以进一步改善移动设备效率,这是因为观察器守护进程420可以在不需要函数调用进入内核空间的情况下更新过滤规则。
图7A示出了实现一个方面的观察器守护进程420的计算系统700中的逻辑部件和信息流。计算系统700可以包括分析器部件(例如,图2中所示出的分析器模块204)、过滤规则416部件、节流规则418部件、多个环形缓冲器430、数据库702、安全缓冲器704以及观察器守护进程420。观察器守护进程420可以包括环形缓冲器API 706、系统健康监测器708、行为检测器712、数据库引擎714、规则管理器710、安全缓冲器管理器716、查询处理器720、查询API 718、数据库API 722。记录器(未示出)可以将信息存储在环形缓冲器430中。观察器守护进程420可以经由环形缓冲器API 706从环形缓冲器430中提取信息。行为检测器712可以从环形缓冲器API 706接收信息,并且对所接收的数据执行相关和格式化操作以生成行为向量。
可以将所生成的行为向量发送给数据库引擎714以存储在数据库702中。数据库引擎714可以管理数据库实现的全部特性(例如,实现的数据结构的种类,包括在数据结构中的信息类型等)。
规则管理器710可以被配置为从不同的部件(例如,系统健康监测器、行为检测单元、分析器等)接收输入,并且基于所接收的输入更新过滤和节流规则416、418。例如,规则管理器710可以从行为检测器712接收日志统计,并且基于该日志统计来更新过滤和节流规则416、418。
系统健康监测器708可以被配置为对系统资源进行监测,并且向规则管理器710通知系统健康。例如,系统健康监测器708可以向规则管理器710通知在电池中仍然存储的能量的量、多少存储器是可用的、是否有足够的资源来执行详细的观察等。规则管理器710可以使用从系统健康监测器708接收的信息来更新规则。例如,如果系统健康监测器708指示设备电池状态在某一阈值以下,则规则管理器710可以更新过滤规则416,使得系统执行较粗的观察以便减少功率消耗。
查询处理器720可以被配置为执行各个API之间的转换,例如,从查询API 718到数据库专用API 722的转换。
安全缓冲器704可以使内核空间部件(例如,在不可信区域中)能够与用户空间部件(例如,在可信区域中)进行通信。
安全缓冲器管理器716可以被配置为经由安全缓冲器704控制发生的通信。
数据库引擎714可以被配置为将数据库响应存储到安全缓冲器管理器716,安全缓冲器管理器716可以执行流控制操作并且将信息存储在安全缓冲器704中。
由观察器守护进程420生成的信息可以被分析器204所利用,分析器204可以在内核空间、用户空间中或在片上系统(SOC)的可信计算基础中来实现。
图7B示出了实现另一方面的观察器守护进程420的计算系统750中的逻辑部件和信息流。计算系统750可以包括分析器204部件、过滤规则416部件、节流规则418部件、多个环形缓冲器430、安全缓冲器704、安全缓冲器管理器716和观察器守护进程420。观察器守护进程420可以包括环形缓冲器API 706、系统健康监测器708、行为检测器712、数据库引擎714和规则管理器710。记录器(未示出)可以将信息存储在环形缓冲器430中。除了安全缓冲器管理器716处于内核空间中并且可以控制发送给用户空间中的分析器204的数据之外,计算系统750可以执行与图7A中所示出的计算系统700相同的操作。
图8A示出了实现另一方面的观察器守护进程的计算系统800中的逻辑部件和信息流。除了查询处理器以外,图8A中示出的计算系统800包括上面参考图7A所描述的所有部件,这是因为将该方面的数据库作为安全缓冲器的一部分而包括。在该配置中,每当分析器发出查询时,该查询可以直接来自数据库引擎。类似地,可以将对该查询的响应从安全缓冲器直接发送给分析器。
图8B示出了实现又一方面的观察器守护进程的计算系统800中的逻辑部件和信息流。在图8B中所示出的例子中,观察器守护进程包括用户空间中的行为检测器712和数据库引擎714、以及内核空间中的安全缓冲器管理器716、规则管理器710和系统健康监测器708。
各个方面提供对涵盖webkit、SDK、NDK、内核、驱动器和硬件的移动设备的跨层观察,以便描述系统行为的特性。行为观察可以实时地进行。
各个方面的重要特征是:观察器模块可以执行自适应观察技术并且控制观察粒度。如上所述,存在可能促使移动设备的降级的大量(即,上千)的因素,所以对可能促使设备性能降低的所有不同因素进行监测/观察是不可行的。为了克服这一点,各个方面动态地识别要被观察的相关行为,并且动态地确定所识别的行为要被观察的细节水平。
图9A示出了用于动态地选择用于观察的移动设备行为以便识别可疑的移动设备行为的一方面方法900。在方框902中,移动设备处理器可以选择要被观察的移动设备行为和/或状态以用于观察。对设备行为和/或状态的这种选择可以包括对大范围的行为、动作和状态的子集的选择。因此,方框902中的选择可以是以下各项中的一项或多项:移动设备操作、移动设备事件、数据网络活动、系统资源使用、移动设备状态、进程间通信、驱动器统计、硬件部件状态、硬件计数器、软件应用的动作或操作、软件下载、对设备或部件设置的改变、在应用级别的状况和事件、在无线级别的状况和事件以及在传感器级别的状况和事件。在方框904,移动设备可以开始观察所选择的设备行为和/或状态,并且处理观察以便识别可疑的移动设备行为。因为仅观察设备行为和/或状态的所选择的子集,所以这使得处理器能够基于有限的观察集合来检测可疑的行为。
例如,可以在方框902中选择的且在方框904中观察的移动设备操作的例子包括以下各项中的一项或多项:应用框架或运行时库中的库API调用、系统调用API、文件系统和网络子系统操作、文件系统活动、对文件名的搜索、文件访问的分类、创建文件、删除文件、文件读/写/查找操作以及改变文件权限。
例如,可以在方框902中选择的且在方框904中观察的移动设备事件的例子包括设备状态改变和/或传感器设备状态改变。
例如,可以在方框902中选择的且在方框904中观察的移动设备数据网络活动的例子包括以下各项中的一项或多项:连接的类型、协议、端口号、设备连接到的服务器/客户端、连接的数量、通信量或频率、电话网络活动、发送的呼叫/消息的类型和数量、接收的呼叫/消息的类型和数量、截取的呼叫/消息的类型和数量、呼叫信息、文本消息传送信息、媒体消息传送、用户账户信息、传输、语音信箱以及设备标识符(例如,DeviceIDComm)。
例如,可以在方框902中选择的且在方框904中观察的移动设备系统资源使用的例子包括监测分支的数量、存储器访问操作和文件打开的数量。
例如,可以在方框902中选择的且在方框904中观察的移动设备状态的例子包括显示器打开/关闭状态、锁定/解锁状态、电池充电状态、摄像头状态和麦克风状态。
例如,可以在方框902中选择的且在方框904中观察的移动设备进程间通信的例子包括监测对重要服务(浏览器、合同提供商等)的意图、监测进程间通信的程度以及监测弹出窗口。
例如,可以在方框902中选择的且在方框904中观察的移动设备驱动器统计的例子包括来自用于以下各项中的一项或多项的驱动器的统计:摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、外围设备、无线通信部件和外部存储器芯片。
例如,可以在方框902中选择的且在方框904中观察的移动设备驱动器硬件部件状态的例子包括:摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、定时器、外围设备、无线通信部件、外部存储器芯片、调压器、振荡器、锁相环、外围桥接器以及用于支持在移动计算设备上运行的处理器和客户端的其它类似部件。
例如,可以在方框902中选择的且在方框904中观察的移动设备硬件计数器的例子包括:表示移动计算设备和/或移动设备子系统的状态或状况的硬件计数器、以及被配置为存储硬件相关的活动或事件的计数或状态的处理器/核的专用寄存器。
例如,可以在方框902中选择的且在方框904中观察的移动设备驱动器统计的例子包括来自用于以下各项中的一项或多项的驱动器的统计:摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、外围设备、无线通信部件和外部存储器芯片。
例如,可以在方框902中选择的且在方框904中观察的软件应用的移动设备动作或操作的例子包括对由软件应用使用的信息的监测,所述信息包括以下各项中的一项或多项:位置信息、摄像头信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线通信、基于文本的通信的内容、录制的音频文件的内容、电话本或联系信息、联系人列表、日历信息、位置信息(LocationComm)、录制的音频信息、加速计信息、传送给软件应用和从软件应用传送的通知、用户验证和用户口令。
例如,可以在方框902中选择的且在方框904中观察的移动设备软件下载的例子包括从应用下载服务器的软件下载、以及第一软件应用请求对第二软件应用的下载和/或安装。
例如,可以在方框902中选择的且在方框904中观察的对设备或部件设置的改变的例子包括对以下各项中的一项或多项的改变:指南针信息、移动设备设置、电池寿命、陀螺仪信息、压力传感器和屏幕活动。
例如,可以在方框902中选择的且在方框904中观察的在应用级别的移动设备状况和事件的例子包括:经由面部识别软件观察用户、观察社交流、观察由用户输入的记录、观察涉及诸如PassBook/Google Wallet/Paypal之类的电子支付服务的使用的事件、观察与以下各项有关的事件:VPN的使用、同步、语音搜索、语音控制、语言翻译器、卸载用于计算的数据、视频流、在没有用户活动的情况下的摄像头使用以及在没有用户活动的情况下的麦克风使用。
例如,可以在方框902中选择的且在方框904中观察的无线级别的移动设备状况和事件的例子包括确定以下各项中的任意项或全部的出现、存在或量:在建立无线通信链路或发送信息之前与移动设备的用户交互、双或多SIM或SIM卡、互联网广播、移动电话网络共享、卸载用于计算的数据、设备状态通信、作为游戏控制器或家庭控制器的使用、车辆通信、移动设备同步、监测用于定位的无线设备(WiFi、WiMax、蓝牙等)的使用、对等(p2p)通信、同步、车辆到车辆通信、和/或机器到机器(m2m)、以及监测网络业务使用、统计或简档。
例如,可以在方框902中选择的且在方框904中观察的在传感器级别的事件处的移动设备状况和事件的例子包括:监测磁铁传感器,检测近场通信,从信用卡扫描器、条形码扫描器或移动标签读取器收集信息,检测USB充电源的存在,检测键盘或辅助设备已耦合到移动设备,检测移动设备已耦合到计算设备(例如,经由USB等),确定发光二极管、闪光、闪光灯或光源是否已被修改或禁用(例如,恶意地禁用紧急信令的应用等),确定扬声器或麦克风是否已被打开或通电,检测充电或功率事件,检测移动设备正在用作游戏控制器,从医学目的/医疗传感器或通过扫描用户的身体收集信息,从插入到USB/音频插孔的外部传感器收集信息,从感触或触觉传感器收集信息(例如,经由振动器接口等)以及收集涉及移动设备的热状态的信息。
图9B示出了根据一个方面的、用于执行动态且自适应观察的另一示例方法910。在方框912中,移动设备处理器可以通过对可能促使移动设备的降级的大量因素/行为的子集进行监测/观察,来执行粗观察。在方框913中,移动设备处理器可以基于粗观察来生成描述粗观察和/或移动设备行为的特性的行为向量。在方框914中,移动设备处理器可以识别可能潜在地促使移动设备的降级的、与粗观察相关联的子系统、进程和/或应用。例如,这可以通过将从多个来源接收的信息与从移动设备的传感器接收的上下文信息进行比较来完成。在方框916中,移动设备处理器可以基于粗观察来执行行为分析操作。在确定方框918中,移动设备处理器可以确定可疑的行为或潜在的问题是否能够基于行为分析的结果而被识别和校正。当移动设备处理器确定可疑的行为或潜在的问题是能够基于行为分析的结果而被识别和校正时(即,确定方框918=“是”),则在方框928中,处理器可以发起用于校正该行为的进程,并返回到方框912以执行额外的粗观察。
当移动设备处理器确定可疑的行为或潜在的问题基于行为分析的结果而无法被识别和/或校正时(即,确定方框918=“否”),则在确定方框919中,移动设备处理器可以确定是否存在问题的可能性。在一个实施例中,移动设备处理器可以通过计算移动设备遇到潜在问题和/或参与可疑行为的概率来确定存在问题的可能性,并且确定所计算的概率是否大于预先确定的阈值。当移动设备处理器确定所计算的概率不大于预先确定的阈值和/或没有存在和/或可检测到可疑行为或潜在问题的可能性时(即,确定方框919=“否”),则处理器可以返回到方框912以执行另外的粗观察。
当移动设备处理器确定有存在和/或可检测到可疑的行为或潜在的问题的可能性时(即,确定方框919=“是”),则在方框920中,移动设备处理器可以对所识别的子系统、进程或应用执行较深度的日志记录/观察或最终的日志记录。在方框922中,移动设备处理器可以对所识别的子系统、进程或应用执行较深度且较详细的观察。在方框924中,移动设备处理器可以基于较深度且较详细的观察来执行进一步的和/或较深度的行为分析。在确定方框918中,移动设备处理器可以再次确定可疑的行为或潜在的问题是否能够基于较深度的行为分析的结果而被识别和校正。当移动设备处理器确定可疑的行为或潜在的问题是不能基于较深度的行为分析的结果而被识别和校正时(即,确定方框918=“否”),则处理器可以重复方框920-924中的操作,直到细节水平对于识别问题来说足够精细,或者直到确定利用额外的细节而无法识别问题或者没有问题存在。
当移动设备处理器确定可疑的行为或潜在的问题是能够基于较深度的行为分析的结果而被识别和校正时(即,确定方框918=“是”),则在方框928中,移动设备处理器可以执行用于校正问题/行为的操作,并且处理器可以返回到方框912以执行另外的操作。
在一个方面,作为方法910的方框912-928的部分,移动设备处理器可以执行对系统的行为的实时行为分析,以执行以下操作:根据有限的且粗的观察来识别可疑的行为,动态地确定要较详细地观察的行为,以及动态地确定观察所需要的精确的细节水平。这使得移动设备处理器能够高效地识别问题并防止问题发生,而不需要使用设备上的大量的处理器、存储器或电池资源。
图10示出了根据一个方面的、用于在移动设备处理器上执行动态且自适应观察的示例观察器方法1000。观察器方法1000可以实现为移动设备的内核空间、用户空间或其组合中的观察器模块的部分。在方框1002中,在处理器上进行操作的观察器模块可以从各个来源接收数据、控制和/或上下文信息,各个来源可以包括分析器单元(例如,图2中所描述的分析器模块204)、应用API、驱动器API、内核线程、用户线程、进程、程序、移动设备传感器等。在方框1004中,在处理器上进行操作的观察器模块可以对所接收的信息自适应地并智能地进行过滤以生成所接收信息的较小子集。在方框1006中,在处理器上进行操作的观察器模块可以对经过滤的信息进行节流控制以控制/防止充溢或过载。在方框1008中,在处理器上进行操作的观察器模块可以执行空间和时间相关以检测/识别可能使设备在次优级别执行的高级行为。在方框1010中,在处理器上进行操作的观察器模块可以生成描述特定进程、应用或子系统的行为的行为向量。在方框1012中,在处理器上进行操作的观察器模块可以将所生成的行为向量存储在安全缓冲器中。
图11A示出了根据另一方面的、用于由移动设备处理器执行动态且自适应观察的另一示例方法1100。在方框1102中,移动设备处理器可以动态地识别移动设备上要被观察的相关行为。在方框1104中,移动设备处理器可以动态地确定所识别的行为要被观察的细节水平。在可选的方框1106中,移动设备处理器可以动态地适应正在被观察的对象。在可选的方框1108中,移动设备处理器可以动态地改变或更新要被观察的参数、因素、行为、进程、应用和/或子系统。可以不断地重复或者如改善移动设备性能(例如,电池功率消耗、处理速度、网络通信速度等)所必要的而重复方框1102-1108的操作。
图11B示出了可以作为上面参考图11A所描述的方框1102的操作的部分而执行的一方面方法1110。为了动态地识别相关行为,在方框1112中,移动设备处理器可以在一时间段内对上面所描述的移动设备行为中的任一个进行观察。该观察可以是针对设定的时间段的或者可以累积的(例如,在连续的学习过程中)。因此,移动设备操作时间越长,可以收集越多的行为观察。在方框1114中,处理器可以识别可以表示性能限制状况的、移动设备的不一致的行为。这可以包括执行本文所描述的方法中的任一种。不一致的行为可能是可疑的或潜在地降低性能的移动设备行为。
在方框1116中,移动设备处理器可以使被观察的移动设备行为和识别的不一致的行为相关或识别被观察的移动设备行为和识别的不一致的行为之间的关联,以便识别相关性或模式。例如,处理器可以识别仅在识别的不一致行为期间发生的或者在识别的不一致行为之前紧接着发生的那些被观察的移动设备行为。作为另一例子,处理器可以识别在识别的不一致的行为期间频繁地(尽管不必总是)发生的或者在所识别的不一致的行为之前紧接着发生的那些被观察的移动设备行为。作为又一例子,处理器可以识别仅在不一致的行为被识别的时候发生的或者在不一致的行为被识别的时候频繁地一起发生的被观察的行为的集合。在方框1118中,处理器可以从处理器已经识别为与不一致的行为关联的或相关的行为子集中选择用于观察的移动设备行为。因此,对用于观察的移动设备行为的选择可以是动态的,并且随着更多的移动设备行为被观察以及更多不一致的行为被识别,该选择进程可以随着时间改进。以这种方式,移动设备操作时间越长,处理器能够越好地识别与不一致的或者不期望的行为最紧密相关或关联的那些少数的行为。即,移动设备处理器观察这些移动设备行为的时间越长,则其对可疑的或潜在地降低性能的移动设备行为的分类变得越准确。
图11C示出了可以作为上面参考图11B所描述的方框1116的操作的部分来执行的一方面方法1120。作为识别被观察的移动设备行为与不一致的行为之间的相关性的过程的一部分,在方框1122中,处理器可以从高级应用、系统内核和驱动器API中的一个或多个接收行为输入。在一个实施例中,在可选的方框1121中,这些输入首先可以由自适应过滤器进行过滤,自适应滤波器筛选出处理器能够确定与可疑的或不一致的行为不相关联的那些输入。
在方框1124中,处理器可以接收与如上所述的移动设备的正在进行的操作相关的上下文信息。在方框1126中,处理器可以执行如上所述的所接收的行为输入与所接收的上下文信息的相关(例如,空间相关等)。可选地,在可选的方框1128中,处理器还可以执行接收的行为输入与接收的上下文信息的额外的相关(例如,时间相关),以便识别相关的那些被观察的行为。例如,处理器可以执行时间相关,以识别与不一致的行为在时间上相关(例如,前述的在时间上接近的,与同时发生的相对而言)的行为。在方框1130中,如上所述,利用该信息,处理器可以生成简洁地描述被观察的移动设备行为的行为向量。这样的行为向量可以包括从各个可操作的软件级别的API以及从移动设备的各个软件/硬件模块收集的信息。
例如,在方框1130中生成的行为向量可以包括与以下各项中的一项或多项相关的信息:库API调用、系统调用、文件系统和网络子系统操作、传感器设备状态改变、文件系统活动、网络活动、电话活动、存储器访问操作、移动设备的状态、电子显示器的通电/断电状态、移动设备的锁定/解锁状态、剩余的电池电量、进程间通信(IPC)、驱动器统计和硬件计数器。
在方框1130中生成的行为向量可以具有包括一系列数字的向量数据结构,其中每个数字表示移动设备的特征或行为。这样的数字可以包括二进制标记(即,具有为1或者0的值的单个比特),例如,其指示移动设备的摄像头是在使用中还是没有在使用、计数器值(例如,在一时间段内由移动设备已经生成的网络业务量或者由移动设备已经发送的互联网消息的数量)。
在方框1130中生成的行为向量还可以包括以下各项中的一项或多项:呼叫信息、文本消息传送信息、媒体消息传送信息、用户账户信息、位置信息、摄像头信息、加速计信息和浏览器信息。如上面所讨论的,用于生成行为向量的信息可以包括在移动设备的应用级别、在移动设备的无线级别以及在移动设备的传感器级别收集的信息。
在图12中示出了这样的移动设备102的示例性、非限制性的方面的示例部件和模块。移动计算设备120可以包括电子部件的电路板1202,电子部件中的一些或全部可以集成到片上系统中,片上系统可以包括耦合到存储器1204的控制处理器1201。控制处理器1201还可以耦合到数字信号处理器1206和/或模拟信号处理器1208,数字信号处理器1206与模拟信号处理器1208也耦合在一起。在一些实施例中,控制处理器1201和数字信号处理器1206可以是相同的部件,或者可以集成到同一处理器芯片中。显示器控制器1210和触摸屏控制器1212可以耦合到控制处理器1201,并且耦合到在移动计算设备102内的或连接到移动计算设备102的显示器/触摸屏1214。
控制处理器1201还可以耦合到可移动存储器1216(例如,在移动计算设备的情况下的SD存储器或SIM卡)和/或外部存储器1218(例如,磁盘驱动器、CD驱动器和DVD驱动器中的一个或多个)。控制处理器1201还可以耦合到通用串行总线(USB)控制器1220,通用串行总线控制器1220耦合到USB端口1222。在各个方面,电源1221可以通过USB控制器1220或通过不同的电气连接耦合到电路板1202以向各个电子部件提供功率(例如,DC功率)。
控制处理器1201还可以耦合到视频编码器1224(例如,逐行倒相(PAL)编码器、按顺序传送彩色与存储(SECAM)编码器、或美国国家电视系统委员会(NTSC)编码器)。此外,视频编码器1224可以耦合到视频放大器1226,视频放大器1226可以耦合到视频编码器1224和显示器/触摸屏1214。同样,视频端口1228可以耦合到视频放大器1226,以能够将移动设备102连接到外部监视器、电视机或其它显示器(未示出)。
控制处理器1201可以耦合到射频(RF)收发机1230(例如,经由模拟信号处理器1208)。RF收发机1230可以耦合到用于发射和接收RF信号的RF天线1218。RF收发机1230可以被配置为发送和接收一个或多个不同的无线通信协议(例如,其包括蜂窝电话(例如,G-3、UMTS、CDMA等)、WIFI、WiMax和蓝牙)的通信信号。
控制处理器1201还可以耦合到网卡1232,网卡1232可以耦合到网络连接器1231和/或RF收发机1230并且被配置为能够经由外部网络(例如,局域网、互联网、内联网、WiFi网络、蓝牙网络、个人局域网(PAN)等)实现通信。网卡1232可以具有单独的芯片或卡的形式,或者可以实现为作为完整解决方案通信芯片的控制处理器1201或RF收发机1230(或二者)的部分。
多个模拟设备(例如,辅助键盘1234)可以经由模拟信号处理器1208耦合到控制处理器1201。在其它实现方式中,辅助键盘和键盘可以包括其自身的处理器,使得与控制处理器1201的接口可以是经由直接连接(未示出)、经由网络连接(例如,经由网卡)或经由USB端口1222的。
在一些实现方式中,数字摄像头1236可以耦合到控制处理器1201。在一个示例性方面,数字摄像头1236可以是电荷耦合器件(CCD)摄像头或互补金属氧化物半导体(CMOS)摄像头。数字摄像头1236可以构建到移动计算设备102内或者通过外部电缆耦合到设备。
在一些实现方式中,音频CODEC 1238(例如,立体声CODEC)可以耦合到模拟信号处理器1208,并且被配置为经由音频放大器1242将声音信号发送给一个或多个扬声器1240。音频CODEC 1238还可以耦合到麦克风放大器1244,麦克风放大器1244可以耦合到麦克风1246(例如,经由麦克风插孔)。耳机插孔1248还可以耦合到用于以将音频输出到耳机的音频CODEC 1238。
在一些实现方式中,移动计算设备102可以包括单独的RF接收机电路1250,RF接收机电路1250可以耦合到用于接收广播无线通信信号的天线1252。接收机电路1250可以被配置为接收广播电视信号(例如,EBMS广播),并且将接收的信号提供给DSP 1206以供处理。在一些实现方式中,接收机电路1250可以被配置为接收FM无线信号,在这种情况下所接收的信号可以被传递给音频CODEC 1238以供处理。
在一个方面,可以将用于实现上面所描述的方法操作中的一个或多个的处理器可执行指令存储在内部存储器1204、可移动存储器1216和/或非易失性存储器1218(例如,如在硬驱动器、CD驱动器或经由网络可存取的其它存储设备上的)中。这样的处理器可执行指令可以由控制处理器1201执行以便执行本文所描述的方法。
各个方面可以在各种移动计算设备上实现,移动计算设备的一个例子以智能手机的形式在图13中示出。智能手机1300可以包括耦合到内部存储器1302、显示器1303和扬声器的处理器1301。另外,智能手机1300可以包括用于发送和接收电磁辐射的天线1304,其可以连接到无线数据链路和/或耦合到处理器1301的蜂窝电话收发机1305。智能手机1300通常还包括用于接收用户输入的菜单选择按钮或摇杆开关1306。
典型的智能手机1300还包括声音编码/解码(CODEC)电路1312,CODEC电路1312可以将从麦克风接收的声音数字化为适于无线传输的数据分组,并且对接收的声音数据分组进行解码以生成提供给扬声器以产生声音的模拟信号。同样,处理器1301、无线收发机1305和CODEC 1312中的一个或多个可以包括数字信号处理器(DSP)电路(未单独示出)。
这些方面的方法的部分可以在客户端-服务器的架构中利用在服务器中发生的处理中的一些处理(例如,维护正常操作行为的数据库,在执行这些方面的方法时该数据库可以由移动设备处理器访问)来实现。这样的方面可以在各种商业可用的服务器设备中的任何设备(例如,图14中所示出的服务器1400)上来实现。这样的服务器1400通常包括耦合到易失性存储器1402和诸如磁盘驱动器1403之类的大容量非易失性存储器的处理器1401。服务器1400还可以包括耦合到处理器1401的软盘驱动器、压缩光盘(CD)或DVD光盘驱动器1411。服务器1400还可以包括耦合到处理器1401的网络访问端口1404,其用于与网络1405(例如,耦合到其它广播系统计算机和服务器的局域网)建立数据连接。
处理器1301、1401可以是任何可编程的微处理器、微计算机或多个处理器芯片或多个芯片,其能够由软件指令(应用)配置为执行各种功能(包括本文所描述的各个方面的功能)。在一些移动设备中,可以提供多个处理器1301,例如,专用于无线通信功能的一个处理器以及专用于运行其它应用的一个处理器。通常,软件应用在其被访问或加载到处理器1301、1401之前可以存储在内部存储器1302、1402、1403中。处理器1301、1401可以包括足够存储应用软件指令的内部存储器。
对系统内核进行操作的很多移动计算设备被组织为用户空间(其中,非特权代码运行)和内核空间(其中,特权代码运行)中。这种分离在安卓和其它通用公共许可证(GPL)环境中特别重要,在GPL环境中作为内核空间的部分的代码必须是GPL许可的,而运行在用户空间的代码可以不是GPL许可的。应当理解的是,除非另外明确声明,否则这里所论述的各个软件部件/模块可以在内核空间或者用户空间中来实现。
仅将前述的方法描述和过程流程图作为说明性例子来提供,而不是旨在要求或暗示各个方面的步骤必须按照给出的次序来执行。如本领域技术人员所能明白的,在前述方面中的步骤的次序可以按照任何次序来执行。诸如“其后”、“然后”、“下一个”等的词语并不旨在限制步骤的次序;这些词语仅是用于引导读者浏览方法的描述。此外,对单数形式(例如,使用冠词“一”、“一个”或“该”)的权利要求要素的提及不应被解释为将该要素限制为单数。
结合本文所公开的方面来描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现为电子硬件、计算机软件或二者的组合。为了清楚地说明硬件和软件之间的这种可互换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于具体的应用和对整个系统所施加的设计约束。技术人员可以针对每个具体应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为造成背离本发明的保护范围。
用于实现结合本文所公开的方面而描述的各种说明性的逻辑单元、逻辑块、模块和电路的硬件可以利用被设计为执行本文所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管逻辑、分立的硬件部件或其任意组合来实现或执行。通用处理器可以是微处理器,或者,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合、或任意其它这样的配置。或者,一些步骤或方法可以由特定于给定功能的电路来执行。
在一个或多个示例性方面,所描述的功能可以用硬件、软件、固件或其任意组合来实现。如果用软件来实现,则功能可以作为非暂时性计算机可读介质或非暂时性处理器可读介质上的一个或多个指令或代码来存储。本文所公开的方法或算法的步骤可以体现为处理器可执行的软件模块,该模块可以位于非暂时性计算机可读或处理器可读存储介质上。非暂时性计算机可读或处理器可读存储介质可以是可以由计算机或处理器存取的任何存储介质。通过举例的方式而不是限制的方式,这样的非暂时性计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪速存储器、CD-ROM或其它光盘存储、磁盘存储介质或其它磁存储设备、或者可以用于存储具有指令或数据结构形式的期望的程序代码并可以由计算机存取的任何其它介质。如本文所使用的磁盘(disk)和光盘(disc)包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上面的组合也包括在非暂时性计算机可读和处理器可读介质的保护范围之内。另外,方法或算法的操作可以作为代码和/或指令的一个或任意组合或集合位于非暂时性处理器可读介质和/或计算机可读介质上,其可以并入计算机程序产品。
为使本领域任何技术人员能够实现或者使用本发明,提供了对所公开的方面的先前的描述。对于本领域技术人员来说,在不脱离本发明的精神或保护范围的情况下,对这些方面的各种修改都是显而易见的,并且,本文定义的总体原理可以应用于其它方面。因此,本发明不是旨在限于本文所示出的方面,而是与以下权利要求和本文公开的原理和新颖性特征的最广范围相一致。

Claims (140)

1.一种用于在一时间段内对移动设备行为进行观察以确认与正常操作模式不一致的移动设备行为的方法,所述方法包括:
从所述群组中动态地选择一个或多个移动设备行为以用于观察:移动设备操作、移动设备事件、数据网络活动、系统资源使用、移动设备状态、进程间通信、驱动器统计、硬件部件状态、硬件计数器、软件应用的动作或操作;软件下载、对设备或部件设置的改变、在应用级别的状况和事件、在无线级别的状况和事件、以及在传感器级别的状况和事件;以及
对所述移动设备行为自适应地进行观察,以从有限的观察集合中识别可疑的移动设备行为。
2.根据权利要求1所述的方法,其中,移动设备操作包括以下各项中的一项或多项:
应用框架或运行时库中的库应用编程接口(API)调用、系统调用API、文件系统和网络子系统操作、文件系统活动、对文件名的搜索、文件访问的分类、创建文件、删除文件、文件读/写/查找操作以及改变文件权限。
3.根据权利要求1所述的方法,其中,移动设备事件包括设备状态改变和传感器设备状态改变中的一项或多项。
4.根据权利要求1所述的方法,其中,数据网络活动包括以下各项中的一项或多项:
连接的类型、协议、端口号、所述设备连接到的服务器/客户端、连接的数量、通信量或通信频率、电话网络活动、发送的呼叫/消息的类型和数量、接收的呼叫/消息的类型和数量、截取的呼叫/消息的类型和数量、呼叫信息、文本消息传送信息、媒体消息传送、用户账户信息、传输、语音信箱以及设备标识符。
5.根据权利要求1所述的方法,其中,系统资源使用包括以下各项中的一项或多项:
监测分支的数量、存储器访问操作和文件打开的数量。
6.根据权利要求1所述的方法,其中,移动设备状态包括以下各项中的一项或多项:
显示器打开/关闭状态、锁定/解锁状态、电池充电状态、摄像头状态和麦克风状态。
7.根据权利要求1所述的方法,其中,进程间通信包括以下各项中的一项或多项:
监测对重要服务的意图、监测进程间通信的程度以及监测弹出窗口。
8.根据权利要求1所述的方法,其中,驱动器统计包括来自用于以下各项中的一项或多项的驱动器的统计:
摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、外围设备、无线通信部件和外部存储器芯片。
9.根据权利要求1所述的方法,其中,硬件部件状态包括以下各项中的一项或多项:
摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、定时器、外围设备、无线通信部件、外部存储器芯片、调压器、振荡器、锁相环、外围桥接器以及用于支持在所述移动计算设备上运行的所述处理器和客户端的其它类似部件。
10.根据权利要求1所述的方法,其中,硬件计数器包括以下各项中的一项或多项:
表示所述移动计算设备和/或移动设备子系统的状态或状况的硬件计数器、以及被配置为存储硬件相关的活动或事件的计数或状态的处理器/核的专用寄存器。
11.根据权利要求1所述的方法,其中,软件应用的动作或操作包括对由软件应用使用的信息的监测,所述信息包括以下各项中的一项或多项:
位置信息、摄像头信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线通信、基于文本的通信的内容、录制的音频文件的内容、电话本或联系信息、联系人列表、日历信息、位置信息、录制的音频信息、加速计信息、传送给软件应用的和从软件应用传送的通知、用户验证和用户口令。
12.根据权利要求1所述的方法,其中,软件下载包括以下各项中的一项或多项:
从应用下载服务器的软件下载、以及第一软件应用请求对第二软件应用的下载和/或安装。
13.根据权利要求1所述的方法,其中,对设备或部件设置的改变包括对以下各项中的一项或多项的改变:
指南针信息、移动设备设置、电池寿命、陀螺仪信息、压力传感器和屏幕活动。
14.根据权利要求1所述的方法,其中,在所述应用级别的状况和事件包括以下各项中的一项或多项:
经由面部识别软件观察用户、观察社交流、观察由所述用户输入的记录、观察涉及电子支付服务的使用的事件、观察与以下各项有关的事件:虚拟专用网的使用、同步、语音搜索、语音控制、语言翻译器、对用于计算的数据的卸载、视频流、在没有用户活动的情况下的摄像头使用以及在没有用户活动的情况下的麦克风使用。
15.根据权利要求1所述的方法,其中,在所述无线级别的状况和事件包括确定以下各项中的任意项或全部的出现、存在或量:
在建立无线通信链路或发送信息之前与所述移动设备的用户交互、多用户标识模块卡、互联网广播、移动电话网络共享、卸载用于计算的数据、设备状态通信、作为游戏控制器或家庭控制器的使用、车辆通信、移动设备同步、监测用于定位的无线设备的使用、对等通信、同步、车辆到车辆通信、和/或机器到机器、以及监测网络业务使用、统计或简档。
16.根据权利要求1所述的方法,其中,在所述传感器级别的所述事件处的状况和事件包括以下各项中的一项或多项:
监测磁铁传感器,检测近场通信,从信用卡扫描器、条形码扫描器或移动标签读取器收集信息,检测通用串行总线(USB)充电源的存在,检测键盘或辅助设备已耦合到所述移动设备,检测所述移动设备已耦合到计算设备,确定发光二极管、闪光、闪光灯或光源是否已被修改或禁用,确定扬声器或麦克风是否已被打开或通电,检测充电或功率事件,检测所述移动设备正在用作游戏控制器,从医学目的/医疗传感器或通过扫描所述用户的身体收集信息,从插入到USB端口和音频插孔中的一个的外部传感器收集信息,从感触或触觉传感器收集信息,以及收集涉及所述移动设备的热状态的信息。
17.根据权利要求1所述的方法,其中,动态地选择一个或多个移动设备行为以用于观察包括:
在所述时间段内观察移动设备行为;以及
将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为。
18.根据权利要求17所述的方法,其中,将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为包括:
接收来自高级应用、系统内核和驱动器应用编程接口(API)中的一个或多个的、在由自适应滤波器进行滤波之后的行为输入;
接收关于所述移动设备的操作的上下文信息;
执行所接收的行为输入与所接收的上下文输入的空间相关;以及
生成行为向量。
19.根据权利要求18所述的方法,其中,生成行为向量包括:
生成向量数据结构,所述向量数据结构简洁地描述所观察的移动设备行为。
20.根据权利要求18所述的方法,其中,生成行为向量包括:
生成向量,所述向量包括从所述移动设备的各个级别/模块处的API收集的信息。
21.根据权利要求18所述的方法,其中,生成行为向量包括:
生成向量,所述向量包括涉及以下各项中的一项或多项的信息:
库API调用;
系统调用;
文件系统和网络子系统操作;
传感器设备状态改变;
文件系统活动;
网络活动;
电话活动;
存储器访问操作;
所述移动设备的状态;
所述移动设备的电子显示器的通电/断电状态;
所述移动设备的锁定/解锁状态;
剩余的电池电量;
进程间通信(IPC);
驱动器统计;以及
硬件计数器。
22.根据权利要求18所述的方法,其中,生成行为向量包括:
生成向量数据结构,所述向量数据结构包括一系列数字,所述一系列数字中的每个数字表示所述移动设备的特征或行为。
23.根据权利要求22所述的方法,其中,所述一系列数字中的至少一个标识以下各项中的一项或多项:
所述移动设备的摄像头是在使用中还是没有在使用;
已由所述移动设备生成多少网络业务;以及
已从所述移动设备发送多少互联网消息。
24.根据权利要求18所述的方法,其中,生成行为向量包括:
生成向量,所述向量包括以下各项中的至少一项:
呼叫信息;
文本消息传送信息;
媒体消息传送信息;
用户账户信息;
位置信息;
摄像头信息;
加速计信息;以及
浏览器信息。
25.根据权利要求18所述的方法,其中,生成行为向量包括:
生成向量,所述向量包括在所述移动设备的应用级别收集的信息。
26.根据权利要求18所述的方法,其中,生成行为向量包括:
生成向量,所述向量包括在所述移动设备的无线级别收集的信息。
27.根据权利要求18所述的方法,其中,生成行为向量包括:
生成向量,所述向量包括在所述移动设备的传感器级别收集的信息。
28.根据权利要求18所述的方法,其中,将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为还包括:
执行所接收的行为输入与所接收的上下文输入的时间相关,
其中,生成行为向量包括:基于所述空间相关和所述时间相关的结果来生成行为向量。
29.一种计算设备,所述计算设备包括多核处理器,所述多核处理器包括两个或更多个处理器核,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,所述操作包括:
从所述群组中动态地选择一个或多个移动设备行为以用于观察:移动设备操作、移动设备事件、数据网络活动、系统资源使用、移动设备状态、进程间通信、驱动器统计、硬件部件状态、硬件计数器、软件应用的动作或操作;软件下载、对设备或部件设置的改变、在应用级别的状况和事件、在无线级别的状况和事件、以及在传感器级别的状况和事件;以及
对所述移动设备行为自适应地进行观察,以从有限的观察集合中识别可疑的移动设备行为。
30.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得移动设备操作包括以下各项中的一项或多项:
应用框架或运行时库中的库应用编程接口(API)调用、系统调用API、文件系统和网络子系统操作、文件系统活动、对文件名的搜索、文件访问的分类、创建文件、删除文件、文件读/写/查找操作以及改变文件权限。
31.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得移动设备事件包括设备状态改变和传感器设备状态改变中的一项或多项。
32.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得数据网络活动包括以下各项中的一项或多项:
连接的类型、协议、端口号、所述设备连接到的服务器/客户端、连接的数量、通信量或通信频率、电话网络活动、发送的呼叫/消息的类型和数量、接收的呼叫/消息的类型和数量、截取的呼叫/消息的类型和数量、呼叫信息、文本消息传送信息、媒体消息传送、用户账户信息、传输、语音信箱以及设备标识符。
33.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得系统资源使用包括以下各项中的一项或多项:
监测分支的数量、存储器访问操作和文件打开的数量。
34.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得移动设备状态包括以下各项中的一项或多项:
显示器打开/关闭状态、锁定/解锁状态、电池充电状态、摄像头状态和麦克风状态。
35.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得进程间通信包括以下各项中的一项或多项:
监测对重要服务的意图、监测进程间通信的程度以及监测弹出窗口。
36.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得驱动器统计包括来自用于以下各项中的一项或多项的驱动器的统计:
摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、外围设备、无线通信部件和外部存储器芯片。
37.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得硬件部件状态包括以下各项中的一项或多项:
摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、定时器、外围设备、无线通信部件、外部存储器芯片、调压器、振荡器、锁相环、外围桥接器以及用于支持在所述移动计算设备上运行的所述处理器和客户端的其它类似部件。
38.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得硬件计数器包括以下各项中的一项或多项:
表示所述移动计算设备和/或移动设备子系统的状态或状况的硬件计数器、以及被配置为存储硬件相关的活动或事件的计数或状态的处理器/核的专用寄存器。
39.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得软件应用的动作或操作包括对由软件应用使用的信息的监测,所述信息包括以下各项中的一项或多项:
位置信息、摄像头信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线通信、基于文本的通信的内容、录制的音频文件的内容、电话本或联系信息、联系人列表、日历信息、位置信息、录制的音频信息、加速计信息、传送给软件应用的和从软件应用传送的通知、用户验证和用户口令。
40.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得软件下载包括以下各项中的一项或多项:
从应用下载服务器的软件下载、以及第一软件应用请求对第二软件应用的下载和/或安装。
41.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得对设备或部件设置的改变包括对以下各项中的一项或多项的改变:
指南针信息、移动设备设置、电池寿命、陀螺仪信息、压力传感器和屏幕活动。
42.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得在所述应用级别的状况和事件包括以下各项中的一项或多项:
经由面部识别软件观察用户、观察社交流、观察由所述用户输入的记录、观察涉及电子支付服务的使用的事件、观察与以下各项有关的事件:虚拟专用网的使用、同步、语音搜索、语音控制、语言翻译器、对用于计算的数据的卸载、视频流、在没有用户活动的情况下的摄像头使用以及在没有用户活动的情况下的麦克风使用。
43.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得在所述无线级别的状况和事件包括确定以下各项中的任意项或全部的出现、存在或量:
在建立无线通信链路或发送信息之前与所述移动设备的用户交互、多用户标识模块卡、互联网广播、移动电话网络共享、卸载用于计算的数据、设备状态通信、作为游戏控制器或家庭控制器的使用、车辆通信、移动设备同步、监测用于定位的无线设备的使用、对等通信、同步、车辆到车辆通信、和/或机器到机器、以及监测网络业务使用、统计或简档。
44.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,以使得在所述传感器级别的所述事件处的状况和事件包括以下各项中的一项或多项:
监测磁铁传感器,检测近场通信,从信用卡扫描器、条形码扫描器或移动标签读取器收集信息,检测通用串行总线(USB)充电源的存在,检测键盘或辅助设备已耦合到所述移动设备,检测所述移动设备已耦合到计算设备,确定发光二极管、闪光、闪光灯或光源是否已被修改或禁用,确定扬声器或麦克风是否已被打开或通电,检测充电或功率事件,检测所述移动设备正在用作游戏控制器,从医学目的/医疗传感器或通过扫描所述用户的身体收集信息,从插入到USB端口和音频插孔中的一个的外部传感器收集信息,从感触或触觉传感器收集信息,以及收集涉及所述移动设备的热状态的信息。
45.根据权利要求29所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得动态地选择一个或多个移动设备行为以用于观察包括:
在所述时间段内观察移动设备行为;以及
将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为。
46.根据权利要求45所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为包括:
接收来自高级应用、系统内核和驱动器应用编程接口(API)中的一个或多个的、在由自适应滤波器进行滤波之后的行为输入;
接收关于所述移动设备的操作的上下文信息;
执行所接收的行为输入与所接收的上下文输入的空间相关;以及
生成行为向量。
47.根据权利要求46所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得生成行为向量包括:
生成向量数据结构,所述向量数据结构简洁地描述所观察的移动设备行为。
48.根据权利要求46所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得生成行为向量包括:
生成向量,所述向量包括从所述移动设备的各个级别/模块处的API收集的信息。
49.根据权利要求46所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得生成行为向量包括:
生成向量,所述向量包括涉及以下各项中的一项或多项的信息:
库API调用;
系统调用;
文件系统和网络子系统操作;
传感器设备状态改变;
文件系统活动;
网络活动;
电话活动;
存储器访问操作;
所述移动设备的状态;
所述移动设备的电子显示器的通电/断电状态;
所述移动设备的锁定/解锁状态;
剩余的电池电量;
进程间通信(IPC);
驱动器统计;以及
硬件计数器。
50.根据权利要求46所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得生成行为向量包括:
生成向量数据结构,所述向量数据结构包括一系列数字,所述一系列数字中的每个数字表示所述移动设备的特征或行为。
51.根据权利要求46所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得所述一系列数字中的至少一个标识以下各项中的一项或多项:
所述移动设备的摄像头是在使用中还是没有在使用;
已由所述移动设备生成多少网络业务;以及
已从所述移动设备发送多少互联网消息。
52.根据权利要求46所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得生成行为向量包括:
生成向量,所述向量包括以下各项中的至少一项:
呼叫信息;
文本消息传送信息;
媒体消息传送信息;
用户账户信息;
位置信息;
摄像头信息;
加速计信息;以及
浏览器信息。
53.根据权利要求46所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得生成行为向量包括:
生成向量,所述向量包括在所述移动设备的应用级别收集的信息。
54.根据权利要求46所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得生成行为向量包括:
生成向量,所述向量包括在所述移动设备的无线级别收集的信息。
55.根据权利要求46所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得生成行为向量包括:
生成向量,所述向量包括在所述移动设备的传感器级别收集的信息。
56.根据权利要求46所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,使得将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为还包括:
执行所接收的行为输入与所接收的上下文输入的时间相关,
其中,生成行为向量包括:基于所述空间相关和所述时间相关的结果来生成行为向量。
57.一种计算设备,包括:
用于从所述群组中动态地选择一个或多个移动设备行为以用于观察的单元:移动设备操作、移动设备事件、数据网络活动、系统资源使用、移动设备状态、进程间通信、驱动器统计、硬件部件状态、硬件计数器、软件应用的动作或操作;软件下载、对设备或部件设置的改变、在应用级别的状况和事件、在无线级别的状况和事件以及在传感器级别的状况和事件;以及
用于对所述移动设备行为自适应地进行观察,以从有限的观察集合中识别可疑的移动设备行为的单元。
58.根据权利要求57所述的计算设备,其中,移动设备操作包括以下各项中的一项或多项:
应用框架或运行时库中的库应用编程接口(API)调用、系统调用API、文件系统和网络子系统操作、文件系统活动、对文件名的搜索、文件访问的分类、创建文件、删除文件、文件读/写/查找操作以及改变文件权限。
59.根据权利要求57所述的计算设备,其中,移动设备事件包括设备状态改变和传感器设备状态改变中的一项或多项。
60.根据权利要求57所述的计算设备,其中,数据网络活动包括以下各项中的一项或多项:
连接的类型、协议、端口号、所述设备连接到的服务器/客户端、连接的数量、通信量或通信频率、电话网络活动、发送的呼叫/消息的类型和数量、接收的呼叫/消息的类型和数量、截取的呼叫/消息的类型和数量、呼叫信息、文本消息传送信息、媒体消息传送、用户账户信息、传输、语音信箱以及设备标识符。
61.根据权利要求57所述的计算设备,其中,系统资源使用包括以下各项中的一项或多项:
监测分支的数量、存储器访问操作和文件打开的数量。
62.根据权利要求57所述的计算设备,其中,移动设备状态包括以下各项中的一项或多项:
显示器打开/关闭状态、锁定/解锁状态、电池充电状态、摄像头状态和麦克风状态。
63.根据权利要求57所述的计算设备,其中,进程间通信包括以下各项中的一项或多项:
监测对重要服务的意图、监测进程间通信的程度以及监测弹出窗口。
64.根据权利要求57所述的计算设备,其中,驱动器统计包括来自用于以下各项中的一项或多项的驱动器的统计:
摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、外围设备、无线通信部件和外部存储器芯片。
65.根据权利要求57所述的计算设备,其中,硬件部件状态包括以下各项中的一项或多项:
摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、定时器、外围设备、无线通信部件、外部存储器芯片、调压器、振荡器、锁相环、外围桥接器以及用于支持在所述移动计算设备上运行的所述处理器和客户端的其它类似部件。
66.根据权利要求57所述的计算设备,其中,硬件计数器包括以下各项中的一项或多项:
表示所述移动计算设备和/或移动设备子系统的状态或状况的硬件计数器、以及被配置为存储硬件相关的活动或事件的计数或状态的处理器/核的
67.根据权利要求57所述的计算设备,其中,软件应用的动作或操作包括对由软件应用使用的信息的监测,所述信息包括以下各项中的一项或多项:
位置信息、摄像头信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线通信、基于文本的通信的内容、录制的音频文件的内容、电话本或联系信息、联系人列表、日历信息、位置信息、录制的音频信息、加速计信息、传送给软件应用的和从软件应用传送的通知、用户验证和用户口令。
68.根据权利要求57所述的计算设备,其中,软件下载包括以下各项中的一项或多项:
从应用下载服务器的软件下载、以及第一软件应用请求对第二软件应用的下载和/或安装。
69.根据权利要求57所述的计算设备,其中,对设备或部件设置的改变包括对以下各项中的一项或多项的改变:
指南针信息、移动设备设置、电池寿命、陀螺仪信息、压力传感器和屏幕活动。
70.根据权利要求57所述的计算设备,其中,在所述应用级别的状况和事件包括以下各项中的一项或多项:
经由面部识别软件观察用户、观察社交流、观察由所述用户输入的记录、观察涉及电子支付服务的使用的事件、观察与以下各项有关的事件:虚拟专用网的使用、同步、语音搜索、语音控制、语言翻译器、对用于计算的数据的卸载、视频流、在没有用户活动的情况下的摄像头使用以及在没有用户活动的情况下的麦克风使用。
71.根据权利要求57所述的计算设备,其中,在所述无线级别的状况和事件包括确定以下各项中的任意项或全部的出现、存在或量:
在建立无线通信链路或发送信息之前与所述移动设备的用户交互、多用户标识模块卡、互联网广播、移动电话网络共享、卸载用于计算的数据、设备状态通信、作为游戏控制器或家庭控制器的使用、车辆通信、移动设备同步、监测用于定位的无线设备的使用、对等通信、同步、车辆到车辆通信、和/或机器到机器、以及监测网络业务使用、统计或简档。
72.根据权利要求57所述的计算设备,其中,在所述传感器级别的所述事件处的状况和事件包括以下各项中的一项或多项:
监测磁铁传感器,检测近场通信,从信用卡扫描器、条形码扫描器或移动标签读取器收集信息,检测通用串行总线(USB)充电源的存在,检测键盘或辅助设备已耦合到所述移动设备,检测所述移动设备已耦合到计算设备,确定发光二极管、闪光、闪光灯或光源是否已被修改或禁用,确定扬声器或麦克风是否已被打开或通电,检测充电或功率事件,检测所述移动设备正在用作游戏控制器,从医学目的/医疗传感器或通过扫描所述用户的身体收集信息,从插入到USB端口和音频插孔中的一个的外部传感器收集信息,从感触或触觉传感器收集信息,以及收集涉及所述移动设备的热状态的信息。
73.根据权利要求57所述的计算设备,其中,用于动态地选择一个或多个移动设备行为以用于观察的单元包括:
用于在所述时间段内观察移动设备行为的单元;以及
用于将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为的单元。
74.根据权利要求73所述的计算设备,其中,用于将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为的单元包括:
用于接收来自高级应用、系统内核和驱动器应用编程接口(API)中的一个或多个的、在由自适应滤波器进行滤波之后的行为输入的单元;
用于接收关于所述移动设备的操作的上下文信息的单元;
用于执行所接收的行为输入与所接收的上下文输入的空间相关的单元;以及
用于生成行为向量的单元。
75.根据权利要求74所述的计算设备,其中,用于生成行为向量的单元包括:
用于生成向量数据结构的单元,所述向量数据结构简洁地描述所观察的移动设备行为。
76.根据权利要求74所述的计算设备,其中,用于生成行为向量的单元包括:
用于生成向量的单元,所述向量包括从所述移动设备的各种级别/模块处的API收集的信息。
77.根据权利要求74所述的计算设备,其中,用于生成行为向量的单元包括:
用于生成向量的单元,所述向量包括涉及以下各项中的一项或多项的信息:
库API调用;
系统调用;
文件系统和网络子系统操作;
传感器设备状态改变;
文件系统活动;
网络活动;
电话活动;
存储器访问操作;
所述移动设备的状态;
所述移动设备的电子显示器的通电/断电状态;
所述移动设备的锁定/解锁状态;
剩余的电池电量;
进程间通信(IPC);
驱动器统计;以及
硬件计数器。
78.根据权利要求74所述的计算设备,其中,用于生成行为向量的单元包括:
用于生成向量数据结构的单元,所述向量数据结构包括一系列数字,所述一系列数字中的每个数字表示所述移动设备的特征或行为。
79.根据权利要求78所述的计算设备,其中,所述一系列数字中的至少一个标识以下各项中的一项或多项:
所述移动设备的摄像头是在使用中还是没有在使用;
已由所述移动设备生成多少网络业务;以及
已从所述移动设备发送多少互联网消息。
80.根据权利要求74所述的计算设备,其中,用于生成行为向量的单元包括:
用于生成向量的单元,所述向量包括以下各项中的至少一项:
呼叫信息;
文本消息传送信息;
媒体消息传送信息;
用户账户信息;
位置信息;
摄像头信息;
加速计信息;以及
浏览器信息。
81.根据权利要求74所述的计算设备,其中,用于生成行为向量的单元包括:
用于生成向量的单元,所述向量包括在所述移动设备的应用级别收集的信息。
82.根据权利要求74所述的计算设备,其中,用于生成行为向量的单元包括:
用于生成向量的单元,所述向量包括在所述移动设备的无线级别收集的信息。
83.根据权利要求74所述的计算设备,其中,用于生成行为向量的单元包括:
用于生成向量的单元,所述向量包括在所述移动设备的传感器级别收集的信息。
84.根据权利要求74所述的计算设备,其中,用于将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为的单元还包括:
用于执行所接收的行为输入与所接收的上下文输入的时间相关的单元,其中,生成行为向量包括:基于所述空间相关和所述时间相关的结果来生成行为向量。
85.一种非暂时性处理器可读存储介质,其具有存储在其上的处理器可执行指令,所述处理器可执行指令被配置为使得处理器执行操作,所述操作包括:
从所述群组中动态地选择一个或多个移动设备行为以用于观察:移动设备操作、移动设备事件、数据网络活动、系统资源使用、移动设备状态、进程间通信、驱动器统计、硬件部件状态、硬件计数器、软件应用的动作或操作;软件下载、对设备或部件设置的改变、在应用级别的状况和事件、在无线级别的状况和事件以及在传感器级别的状况和事件;在传感器级别;以及
对所述移动设备行为自适应地进行观察,以从有限的观察集合中识别可疑的移动设备行为。
86.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得移动设备操作包括以下各项中的一项或多项:
应用框架或运行时库中的库应用编程接口(API)调用、系统调用API、文件系统和网络子系统操作、文件系统活动、对文件名的搜索、文件访问的分类、创建文件、删除文件、文件读/写/查找操作以及改变文件权限。
87.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得移动设备事件包括设备状态改变和传感器设备状态改变中的一项或多项。
88.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得数据网络活动包括以下各项中的一项或多项:
连接的类型、协议、端口号、所述设备连接到的服务器/客户端、连接的数量、通信量或通信频率、电话网络活动、发送的呼叫/消息的类型和数量、接收的呼叫/消息的类型和数量、截取的呼叫/消息的类型和数量、呼叫信息、文本消息传送信息、媒体消息传送、用户账户信息、传输、语音信箱以及设备标识符。
89.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得系统资源使用包括以下各项中的一项或多项:
监测分支的数量、存储器访问操作和文件打开的数量。
90.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得移动设备状态包括以下各项中的一项或多项:
显示器打开/关闭状态、锁定/解锁状态、电池充电状态、摄像头状态和麦克风状态。
91.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得进程间通信包括以下各项中的一项或多项:
监测对重要服务的意图、监测进程间通信的程度以及监测弹出窗口。
92.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得驱动器统计包括来自用于以下各项中的一项或多项的驱动器的统计:
摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、外围设备、无线通信部件和外部存储器芯片。
93.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得硬件部件状态包括以下各项中的一项或多项:
摄像头、传感器、电子显示器、WiFi通信部件、数据控制器、存储器控制器、系统控制器、访问端口、定时器、外围设备、无线通信部件、外部存储器芯片、调压器、振荡器、锁相环、外围桥接器以及用于支持在所述移动计算设备上运行的所述处理器和客户端的其它类似部件。
94.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得硬件计数器包括以下各项中的一项或多项:
表示所述移动计算设备和/或移动设备子系统的状态或状况的硬件计数器、以及被配置为存储硬件相关的活动或事件的计数或状态的处理器/核的专用寄存器。
95.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得软件应用的动作或操作包括对由软件应用使用的信息的监测,所述信息包括以下各项中的一项或多项:
位置信息、摄像头信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线通信、基于文本的通信的内容、录制的音频文件的内容、电话本或联系信息、联系人列表、日历信息、位置信息、录制的音频信息、加速计信息、传送给软件应用和从软件应用传送的通知、用户验证和用户口令。
96.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得软件下载包括以下各项中的一项或多项:
从应用下载服务器的软件下载、以及第一软件应用请求对第二软件应用的下载和/或安装。
97.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得对设备或部件设置的改变包括对以下各项中的一项或多项的改变:
指南针信息、移动设备设置、电池寿命、陀螺仪信息、压力传感器和屏幕活动。
98.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得在所述应用级别的状况和事件包括以下各项中的一项或多项:
经由面部识别软件观察用户、观察社交流、观察由所述用户输入的记录、观察涉及电子支付服务的使用的事件、观察与以下各项有关的事件:虚拟专用网的使用、同步、语音搜索、语音控制、语言翻译器、对用于计算的数据的卸载、视频流、在没有用户活动的情况下的摄像头使用以及在没有用户活动的情况下的麦克风使用。
99.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得在所述无线级别的状况和事件包括确定以下各项中的任意项或全部的出现、存在或量:
在建立无线通信链路或发送信息之前与所述移动设备的用户交互、多用户标识模块卡、互联网广播、移动电话网络共享、卸载用于计算的数据、设备状态通信、作为游戏控制器或家庭控制器的使用、车辆通信、移动设备同步、监测用于定位的无线设备的使用、对等通信、同步、车辆到车辆通信、和/或机器到机器、以及监测网络业务使用、统计或简档。
100.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得在所述传感器级别的所述事件处的状况和事件包括以下各项中的一项或多项:
监测磁铁传感器,检测近场通信,从信用卡扫描器,条形码扫描器或移动标签读取器收集信息,检测通用串行总线(USB)充电源的存在,检测键盘或辅助设备已耦合到所述移动设备,检测所述移动设备已耦合到计算设备,确定发光二极管、闪光、闪光灯或光源是否已被修改或禁用,确定扬声器或麦克风是否已被打开或通电,检测充电或功率事件,检测所述移动设备正在用作游戏控制器,从医学目的/医疗传感器或通过扫描所述用户的身体收集信息,从插入到USB端口和音频插孔中的一个的外部传感器收集信息,从感触或触觉传感器收集信息,以及收集涉及所述移动设备的热状态的信息。
101.根据权利要求85所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得动态地选择一个或多个移动设备行为以用于观察包括:
在所述时间段内观察移动设备行为;以及
将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为。
102.根据权利要求101所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为包括:
接收来自高级应用、系统内核和驱动器应用编程接口(API)中的一个或多个的、在由自适应滤波器进行滤波之后的行为输入;
接收关于所述移动设备的操作的上下文信息;
执行所接收的行为输入与所接受的上下文输入的空间相关;以及
生成行为向量。
103.根据权利要求102所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得生成行为向量包括:
生成向量数据结构,所述向量数据结构简洁地描述所观察的移动设备行为。
104.根据权利要求102所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得生成行为向量包括:
生成向量,所述向量包括从所述移动设备的各个级别/模块处的API收集的信息。
105.根据权利要求102所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得生成行为向量包括:
生成向量,所述向量包括涉及以下各项中的一项或多项的信息:
库API调用;
系统调用;
文件系统和网络子系统操作;
传感器设备状态改变;
文件系统活动;
网络活动;
电话活动;
存储器访问操作;
所述移动设备的状态;
所述移动设备的电子显示器的通电/断电状态;
所述移动设备的锁定/解锁状态;
剩余的电池电量;
进程间通信(IPC);
驱动器统计;以及
硬件计数器。
106.根据权利要求102所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得生成行为向量包括:
生成向量数据结构,所述向量数据结构包括一系列数字,所述一系列数字中的每个数字表示所述移动设备的特征或行为。
107.根据权利要求106所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得所述一系列数字中的至少一个标识以下各项中的一项或多项:
所述移动设备的摄像头是在使用中还是没有在使用;
已由所述移动设备生成多少网络业务;以及
已从所述移动设备发送多少互联网消息。
108.根据权利要求102所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得生成行为向量包括:
生成向量,所述向量包括以下各项中的至少一项:
呼叫信息;
文本消息传送信息;
媒体消息传送信息;
用户账户信息;
位置信息;
摄像头信息;
加速计信息;以及
浏览器信息。
109.根据权利要求102所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得生成行为向量包括:
生成向量,所述向量包括在所述移动设备的应用级别收集的信息。
110.根据权利要求102所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得生成行为向量包括:
生成向量,所述向量包括在所述移动设备的无线级别收集的信息。
111.根据权利要求102所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得生成行为向量包括:
生成向量,所述向量包括在所述移动设备的传感器级别收集的信息。
112.根据权利要求102所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,以使得将与不一致的操作相关联的有限的行为集合识别为要被观察的所述移动设备行为还包括:
执行所接收的行为输入与所接收的上下文输入的时间相关,其中,生成行为向量包括:基于所述空间相关和所述时间相关的结果来生成行为向量。
113.一种用于改善移动设备上的性能的方法,包括:
在移动设备处理器上执行对一个或多个移动设备行为的实时行为分析,以生成粗观察;
根据所述粗观察来识别可疑的行为;
动态地确定需要较详细的进一步观察的所述移动设备行为;
动态地确定所述进一步观察所需要的细节水平;
基于所确定的、所述进一步观察所需要的细节水平,来执行较细的观察;以及
根据所述较细的观察来识别可疑的行为。
114.根据权利要求113所述的方法,还包括:
执行移动设备操作以校正所识别的可疑的行为。
115.一种计算设备,其包括多核处理器,所述多核处理器包括两个或更多个处理器核,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,所述操作包括:
在移动设备处理器上执行对一个或多个移动设备行为的实时行为分析,以生成粗观察;
根据所述粗观察来识别可疑的行为;
动态地确定需要较详细的进一步观察的所述移动设备行为;
动态地确定所述进一步观察所需要的细节水平;
基于所确定的、所述进一步观察所需要的细节水平,来执行较细的观察;以及
根据所述较细的观察来识别可疑的行为。
116.根据权利要求115所述的计算设备,其中,所述处理器核中的一个或多个配置有处理器可执行指令以执行操作,所述操作还包括:
执行移动设备操作以校正所识别的可疑的行为。
117.一种计算设备,包括:
用于在移动设备处理器上执行对一个或多个移动设备行为的实时行为分析,以生成粗观察的单元;
用于根据所述粗观察来识别可疑的行为的单元;
用于动态地确定需要较详细的进一步观察的所述移动设备行为的单元;
用于动态地确定所述进一步观察所需要的细节水平的单元;
用于基于所确定的、所述进一步观察所需要的细节水平,来执行较细的观察的单元;以及
用于根据所述较细的观察来识别可疑的行为的单元。
118.根据权利要求117所述的计算设备,还包括:
用于执行移动设备操作以校正所识别的可疑的行为的单元。
119.一种非暂时性处理器可读存储介质,其具有存储在其上的处理器可执行指令,所述处理器可执行指令使得处理器执行操作,所述操作包括:
在移动设备处理器上执行对一个或多个移动设备行为的实时行为分析,以生成粗观察;
根据所述粗观察来识别可疑的行为;
动态地确定需要较详细的进一步观察的所述移动设备行为;
动态地确定所述进一步观察所需要的细节水平;
基于所确定的、所述进一步观察所需要的细节水平,来执行较细的观察;以及
根据所述较细的观察来识别可疑的行为。
120.根据权利要求119所述的非暂时性处理器可读存储介质,其中,所存储的处理器可执行指令被配置为使得处理器执行操作,所述操作还包括:
执行移动设备操作以校正所识别的可疑的行为。
121.一种用于在一时间段内对移动设备行为进行观察以确认与正常操作模式不一致的移动设备行为的方法,所述方法包括:
在移动设备的处理器中确定所述移动设备中要被观察的特征,以便识别所述移动设备的可疑的行为;以及
通过从与所确定的特征相关联的硬件部件收集行为信息,来对所确定的特征自适应地进行观察。
122.根据权利要求121所述的方法,其中,通过从所述硬件部件收集行为信息来对所确定的特征自适应地进行观察包括:
从以下各项中的一项或多项收集行为信息:
惯性传感器部件;
电池硬件部件;
支持浏览器的硬件部件;
摄像头硬件部件;
用户标识模块(SIM)硬件部件;
位置硬件部件;
麦克风硬件部件;
无线接口硬件部件;
扬声器硬件部件;
屏幕硬件部件;
同步硬件部件;
存储部件;
通用串行总线硬件部件;
用户交互硬件部件;
惯性传感器驱动器部件;
电池硬件驱动器部件;
支持浏览器的硬件驱动器部件;
摄像头硬件驱动器部件;
SIM硬件驱动器部件;
位置硬件驱动器部件;
麦克风硬件驱动器部件;
无线接口硬件驱动器部件;
扬声器硬件驱动器部件;
屏幕硬件驱动器部件;
同步硬件驱动器部件;
存储驱动器部件;
通用串行总线硬件驱动器部件;
通过通用串行总线连接的硬件部件;以及
用户交互硬件驱动器部件。
123.根据权利要求122所述的方法,其中,从与所述特征相关联的所述硬件部件收集行为信息包括:
从应用编程接口(API)调用的日志收集信息,所述API调用的日志暂时地或永久地存储针对由所述移动设备的软件应用对所述硬件部件的访问或使用的API调用信息。
124.根据权利要求121所述的方法,其中,确定所述移动设备中要被观察的所述特征以识别所述移动设备的所述可疑的行为包括:
应用机器学习技术以生成第一族分类器模型,所述第一族分类器模型描述行为向量的云语料库;
确定所述第一族分类器模型中的哪些因素具有使移动设备能够结论性地确定移动设备行为是恶意的还是良性的最高可能性;
生成第二族分类器模型,所述第二族分类器模型将显著较少的因素和数据点识别为相关的以使所述移动设备能够基于所确定的因素来结论性地确定所述移动设备行为是恶意的还是良性的;
基于所述第二族分类器模型来生成移动设备分类器模型;以及
使用所生成的分类器模型来识别要被观察的所述特征。
125.根据权利要求124所述的方法,还包括:
使用所生成的分类器模型来分析所收集的行为信息。
126.一种移动计算设备,包括:
处理器,其配置有处理器可执行的指令以执行操作,所述操作包括:
确定要被观察的特征,以识别所述移动设备的可疑的行为;以及
通过从与所确定的特征相关联的硬件部件收集行为信息,来对所确定的特征自适应地进行观察。
127.根据权利要求126所述的移动计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得通过从所述硬件部件收集行为信息来对所确定的特征自适应地进行观察包括:
从以下各项中的一项或多项收集行为信息:
惯性传感器部件;
电池硬件部件;
支持浏览器的硬件部件;
摄像头硬件部件;
用户标识模块(SIM)硬件部件;
位置硬件部件;
麦克风硬件部件;
无线接口硬件部件;
扬声器硬件部件;
屏幕硬件部件;
同步硬件部件;
存储部件;
通用串行总线硬件部件;
用户交互硬件部件;
惯性传感器驱动器部件;
电池硬件驱动器部件;
支持浏览器的硬件驱动器部件;
摄像头硬件驱动器部件;
SIM硬件驱动器部件;
位置硬件驱动器部件;
麦克风硬件驱动器部件;
无线接口硬件驱动器部件;
扬声器硬件驱动器部件;
屏幕硬件驱动器部件;
同步硬件驱动器部件;
存储驱动器部件;
通用串行总线硬件驱动器部件;以及
用户交互硬件驱动器部件。
128.根据权利要求127所述的移动计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得从与所述特征相关联的所述硬件部件收集行为信息包括:
从应用编程接口(API)调用的日志收集信息,所述API调用的日志存储针对由所述移动设备的软件应用对所述硬件部件的访问或使用的API调用信息。
129.根据权利要求126所述的移动计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得确定所述移动设备中要被观察的所述特征以识别所述移动设备的所述可疑的行为包括:
应用机器学习技术以生成第一族分类器模型,所述第一族分类器模型描述行为向量的云语料库;
确定所述第一族分类器模型中的哪些因素具有使移动设备能够结论性地确定移动设备行为是恶意的还是良性的最高可能性;
生成第二族分类器模型,所述第二族分类器模型将显著较少的因素和数据点识别为相关的以使所述移动设备能够基于所确定的因素来结论性地确定所述移动设备行为是恶意的还是良性的;
基于所述第二族分类器模型来生成移动设备分类器模型;以及
使用所生成的分类器模型来识别要被观察的所述特征。
130.根据权利要求129所述的移动计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,所述操作还包括:
使用所生成的分类器模型来分析所收集的行为信息。
131.一种移动计算设备,包括:
用于确定要被观察的特征以识别所述移动设备的可疑的行为的单元;以及
用于通过从与所确定的特征相关联的硬件部件收集行为信息,来对所确定的特征自适应地进行观察的单元。
132.根据权利要求131所述的移动计算设备,其中,用于通过从所述硬件部件收集行为信息来对所确定的特征自适应地进行观察的单元包括:
用于从以下各项中的一项或多项收集行为信息的单元:
惯性传感器部件;
电池硬件部件;
支持浏览器的硬件部件;
摄像头硬件部件;
用户标识模块(SIM)硬件部件;
位置硬件部件;
麦克风硬件部件;
无线接口硬件部件;
扬声器硬件部件;
屏幕硬件部件;
同步硬件部件;
存储部件;
通用串行总线硬件部件;
用户交互硬件部件;
惯性传感器驱动器部件;
电池硬件驱动器部件;
支持浏览器的硬件驱动器部件;
摄像头硬件驱动部件;
单或双SIM硬件驱动器部件;
位置硬件驱动器部件;
麦克风硬件驱动器部件;
无线接口硬件驱动器部件;
扬声器硬件驱动器部件;
屏幕硬件驱动器部件;
同步硬件驱动器部件;
存储驱动器部件;
通用串行总线硬件驱动器部件;以及
用户交互硬件驱动器部件。
133.根据权利要求132所述的移动计算设备,其中,用于从与所述特征相关联的所述硬件部件收集行为信息的单元包括:
用于从应用编程接口(API)调用的日志收集信息的单元,所述API调用的日志存储针对由所述移动设备的软件应用对所述硬件部件的访问或使用的API调用信息。
134.根据权利要求131所述的移动计算设备,其中,用于确定所述移动设备中要被观察的所述特征以识别所述移动设备的所述可疑的行为的单元包括:
用于应用机器学习技术以生成第一族分类器模型的单元,所述第一族分类器模型描述行为向量的云语料库;
用于确定所述第一族分类器模型中的哪些因素具有使移动设备能够结论性地确定移动设备行为是恶意的还是良性的最高可能性的单元;
用于生成第二族分类器模型的单元,所述第二族分类器模型将显著较少的因素和数据点识别为相关的以使所述移动设备能够基于所确定的因素来结论性地确定所述移动设备行为是恶意的还是良性的;
用于基于所述第二族分类器模型来生成移动设备分类器模型的单元;以及
用于使用所生成的分类器模型来识别要被观察的所述特征的单元。
135.根据权利要求134所述的移动计算设备,还包括:
用于使用所生成的分类器模型来分析所收集的行为信息的单元。
136.一种非暂时性处理器可读存储介质,其具有存储在其上的处理器可执行软件指令,所述处理器可执行软件指令被配置为使得移动设备处理器执行用于在一时间段内对移动设备行为进行观察以确认与正常操作模式不一致的移动设备行为的操作,所述操作包括:
确定要被观察的特征,以识别所述移动设备的可疑的行为;以及
通过从与所确定的特征相关联的硬件部件收集行为信息,来对所确定的特征自适应地进行观察。
137.根据权利要求136所述的非暂时性处理器可读存储介质,其中,通过从所述硬件部件收集行为信息来对所确定的特征自适应地进行观察包括:
从以下各项中的一项或多项收集行为信息:
惯性传感器部件;
电池硬件部件;
支持浏览器的硬件部件;
摄像头硬件部件;
单或双用户标识模块(SIM)硬件部件;
位置硬件部件;
麦克风硬件部件;
无线接口硬件部件;
扬声器硬件部件;
屏幕硬件部件;
同步硬件部件;
存储部件;
通用串行总线硬件部件;
用户交互硬件部件;
惯性传感器驱动器部件;
电池硬件驱动器部件;
支持浏览器的硬件驱动器部件;
摄像头硬件驱动器部件;
单或双SIM硬件驱动器部件;
位置硬件驱动器部件;
麦克风硬件驱动器部件;
无线接口硬件驱动器部件;
扬声器硬件驱动器部件;
屏幕硬件驱动器部件;
同步硬件驱动器部件;
存储驱动器部件;
通用串行总线硬件驱动器部件;以及
用户交互硬件驱动器部件。
138.根据权利要求137所述的非暂时性处理器可读存储介质,其中,从与所述特征相关联的所述硬件部件收集行为信息包括:
从应用编程接口(API)调用的日志收集信息,所述API调用的日志存储针对由所述移动设备的软件应用对所述硬件部件的访问或使用的API调用信息。
139.根据权利要求138所述的非暂时性处理器可读存储介质,其中,确定所述移动设备中要被观察的所述特征以识别所述移动设备的所述可疑的行为包括:
应用机器学习技术以生成第一族分类器模型,所述第一族分类器模型描述行为向量的云语料库;
确定所述第一族分类器模型中的哪些因素具有使移动设备能够结论性地确定移动设备行为是恶意的还是良性的最高可能性;
生成第二族分类器模型,所述第二族分类器模型将显著较少的因素和数据点识别为相关的以使所述移动设备能够基于所确定的因素来结论性地确定所述移动设备行为是恶意的还是良性的;
基于所述第二族分类器模型来生成移动设备分类器模型;以及
使用所生成的分类器模型来识别要被观察的所述特征。
140.根据权利要求19所述的非暂时性处理器可读存储介质,还包括:
使用所生成的分类器模型来分析所收集的行为信息。
CN201480005786.4A 2013-01-25 2014-01-24 对移动设备上的行为特征的自适应观察 Active CN104956715B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111188997.4A CN113935025A (zh) 2013-01-25 2014-01-24 对移动设备上的行为特征的自适应观察

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201361756963P 2013-01-25 2013-01-25
US61/756,963 2013-01-25
US13/923,547 2013-06-21
US13/923,547 US9495537B2 (en) 2012-08-15 2013-06-21 Adaptive observation of behavioral features on a mobile device
US201361882833P 2013-09-26 2013-09-26
US61/882,833 2013-09-26
US14/161,853 2014-01-23
US14/161,853 US20140150100A1 (en) 2012-08-15 2014-01-23 Adaptive Observation of Driver and Hardware Level Behavioral Features on a Mobile Device
PCT/US2014/012990 WO2014116977A2 (en) 2013-01-25 2014-01-24 Adaptive observation of behavioral features on a mobile device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111188997.4A Division CN113935025A (zh) 2013-01-25 2014-01-24 对移动设备上的行为特征的自适应观察

Publications (2)

Publication Number Publication Date
CN104956715A true CN104956715A (zh) 2015-09-30
CN104956715B CN104956715B (zh) 2021-10-19

Family

ID=51228196

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480005786.4A Active CN104956715B (zh) 2013-01-25 2014-01-24 对移动设备上的行为特征的自适应观察
CN202111188997.4A Pending CN113935025A (zh) 2013-01-25 2014-01-24 对移动设备上的行为特征的自适应观察

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202111188997.4A Pending CN113935025A (zh) 2013-01-25 2014-01-24 对移动设备上的行为特征的自适应观察

Country Status (6)

Country Link
EP (1) EP2949144B1 (zh)
JP (1) JP6198850B2 (zh)
KR (1) KR101829114B1 (zh)
CN (2) CN104956715B (zh)
TW (1) TWI556098B (zh)
WO (1) WO2014116977A2 (zh)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106796753A (zh) * 2014-09-26 2017-05-31 英特尔公司 用于物联网领域的多传感器变化检测
CN107889133A (zh) * 2016-09-30 2018-04-06 华为技术有限公司 无线链路检测和处理方法及装置
CN107920348A (zh) * 2016-10-05 2018-04-17 Abb技术有限公司 设备网络状态信息
CN108431779A (zh) * 2016-01-29 2018-08-21 微软技术许可有限责任公司 基于用户图将动作路由到用户设备
CN108495272A (zh) * 2018-03-19 2018-09-04 上海哔哩哔哩科技有限公司 基于html5浏览器的机器人识别方法、系统及存储介质
CN110832580A (zh) * 2017-06-28 2020-02-21 思睿逻辑国际半导体有限公司 重放攻击的检测
US10770076B2 (en) 2017-06-28 2020-09-08 Cirrus Logic, Inc. Magnetic detection of replay attack
CN111886059A (zh) * 2018-03-21 2020-11-03 威尔乌集团 自动减少在在线游戏环境中使用欺骗软件
US10832702B2 (en) 2017-10-13 2020-11-10 Cirrus Logic, Inc. Robustness of speech processing system against ultrasound and dolphin attacks
US10839808B2 (en) 2017-10-13 2020-11-17 Cirrus Logic, Inc. Detection of replay attack
US10847165B2 (en) 2017-10-13 2020-11-24 Cirrus Logic, Inc. Detection of liveness
US10915614B2 (en) 2018-08-31 2021-02-09 Cirrus Logic, Inc. Biometric authentication
CN112463266A (zh) * 2020-12-11 2021-03-09 微医云(杭州)控股有限公司 执行策略生成方法、装置、电子设备以及存储介质
US10984083B2 (en) 2017-07-07 2021-04-20 Cirrus Logic, Inc. Authentication of user using ear biometric data
US11017252B2 (en) 2017-10-13 2021-05-25 Cirrus Logic, Inc. Detection of liveness
US11023755B2 (en) 2017-10-13 2021-06-01 Cirrus Logic, Inc. Detection of liveness
US11037574B2 (en) 2018-09-05 2021-06-15 Cirrus Logic, Inc. Speaker recognition and speaker change detection
US11042616B2 (en) 2017-06-27 2021-06-22 Cirrus Logic, Inc. Detection of replay attack
US11042618B2 (en) 2017-07-07 2021-06-22 Cirrus Logic, Inc. Methods, apparatus and systems for biometric processes
US11042617B2 (en) 2017-07-07 2021-06-22 Cirrus Logic, Inc. Methods, apparatus and systems for biometric processes
US11051117B2 (en) 2017-11-14 2021-06-29 Cirrus Logic, Inc. Detection of loudspeaker playback
CN113114862A (zh) * 2021-03-29 2021-07-13 中国联合网络通信集团有限公司 语音信箱的故障处理方法和服务器
CN113608987A (zh) * 2021-08-10 2021-11-05 瑞庭网络技术(上海)有限公司 采集信息与回溯构建用户行为的方法、设备及存储介质
US11264037B2 (en) 2018-01-23 2022-03-01 Cirrus Logic, Inc. Speaker identification
US11270707B2 (en) 2017-10-13 2022-03-08 Cirrus Logic, Inc. Analysing speech signals
US11276409B2 (en) 2017-11-14 2022-03-15 Cirrus Logic, Inc. Detection of replay attack
US11475899B2 (en) 2018-01-23 2022-10-18 Cirrus Logic, Inc. Speaker identification
CN115462060A (zh) * 2020-06-10 2022-12-09 美光科技公司 组织移动装置的应用程序
US11631402B2 (en) 2018-07-31 2023-04-18 Cirrus Logic, Inc. Detection of replay attack
US11735189B2 (en) 2018-01-23 2023-08-22 Cirrus Logic, Inc. Speaker identification
US11755701B2 (en) 2017-07-07 2023-09-12 Cirrus Logic Inc. Methods, apparatus and systems for authentication
US11829461B2 (en) 2017-07-07 2023-11-28 Cirrus Logic Inc. Methods, apparatus and systems for audio playback

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2532471B (en) 2014-11-20 2017-03-01 Ibm System and method for monitoring use of a sensor of a computing device
KR101681730B1 (ko) * 2015-06-18 2016-12-07 학교법인 한동대학교 폐 스마트 단말을 이용하는 영상 모니터링 서비스 제공 방법 및 시스템
GB2550854B (en) 2016-05-25 2019-06-26 Ge Aviat Systems Ltd Aircraft time synchronization system
US10613611B2 (en) * 2016-06-15 2020-04-07 Intel Corporation Current control for a multicore processor
CA3062634A1 (en) * 2017-05-10 2018-11-15 Embee Mobile, Inc. System and method for the capture of mobile behavior, usage, or content exposure
US11563753B2 (en) * 2017-09-25 2023-01-24 Rohde & Schwarz Gmbh & Co. Kg Security surveillance system and security surveillance method
KR102362107B1 (ko) 2017-11-21 2022-02-11 구글 엘엘씨 기계 학습 기능을 갖는 저전력 앰비언트 컴퓨팅 시스템
KR102408348B1 (ko) * 2017-12-21 2022-06-14 삼성전자주식회사 단말 장치 및 단말 장치의 제어 방법
JP6939588B2 (ja) 2018-01-18 2021-09-22 富士通株式会社 判定方法、認証装置及び判定プログラム
JP6795529B2 (ja) * 2018-02-15 2020-12-02 Kddi株式会社 通信分析方法およびシステム
US11185207B2 (en) * 2018-07-24 2021-11-30 Qualcomm Incorporated Managing cleaning robot behavior
US11924290B2 (en) * 2018-10-26 2024-03-05 Dell Products, Lp Aggregated stochastic method for predictive system response
TWI743624B (zh) * 2019-12-16 2021-10-21 陳筱涵 注意力集中輔助系統
KR20210088162A (ko) * 2020-01-06 2021-07-14 삼성전자주식회사 전자 장치 및 이의 제어 방법
WO2022159109A1 (en) * 2021-01-25 2022-07-28 Hewlett-Packard Development Company, L.P. Overlay size determinations
CN113840038B (zh) * 2021-09-29 2023-06-20 深圳市广和通无线通信软件有限公司 一种语音数据传输方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070199060A1 (en) * 2005-12-13 2007-08-23 Shlomo Touboul System and method for providing network security to mobile devices
US20090217078A1 (en) * 2005-03-18 2009-08-27 Qualcomm Incorporated Apparatus and methods for managing malfunctions on a wireless device
US8266698B1 (en) * 2009-03-09 2012-09-11 Symantec Corporation Using machine infection characteristics for behavior-based detection of malware
CN102812441A (zh) * 2010-04-06 2012-12-05 瑞厄姆芬特公司 自动化的恶意软件检测和修复
CN102811343A (zh) * 2011-06-03 2012-12-05 南京理工大学 一种基于行为识别的智能视频监控系统
CN104272786A (zh) * 2012-05-14 2015-01-07 高通股份有限公司 用于移动装置行为的自适应观测的系统、设备及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1774780A1 (en) * 2004-07-20 2007-04-18 QUALCOMM Incorporated Method and apparatus for motion vector processing
CA2680231A1 (en) * 2007-03-05 2009-05-14 Yoggie Security Systems Ltd. System and method for providing data and device security between external and host devices
JP4618263B2 (ja) * 2007-03-23 2011-01-26 株式会社豊田中央研究所 ソフトウェア挙動監視装置及びソフトウェア挙動監視システム
US9074897B2 (en) * 2009-06-15 2015-07-07 Qualcomm Incorporated Real-time data with post-processing
US20110161452A1 (en) * 2009-12-24 2011-06-30 Rajesh Poornachandran Collaborative malware detection and prevention on mobile devices
US9298494B2 (en) * 2012-05-14 2016-03-29 Qualcomm Incorporated Collaborative learning for efficient behavioral analysis in networked mobile device
US20130304677A1 (en) * 2012-05-14 2013-11-14 Qualcomm Incorporated Architecture for Client-Cloud Behavior Analyzer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090217078A1 (en) * 2005-03-18 2009-08-27 Qualcomm Incorporated Apparatus and methods for managing malfunctions on a wireless device
US20070199060A1 (en) * 2005-12-13 2007-08-23 Shlomo Touboul System and method for providing network security to mobile devices
US8266698B1 (en) * 2009-03-09 2012-09-11 Symantec Corporation Using machine infection characteristics for behavior-based detection of malware
CN102812441A (zh) * 2010-04-06 2012-12-05 瑞厄姆芬特公司 自动化的恶意软件检测和修复
CN102811343A (zh) * 2011-06-03 2012-12-05 南京理工大学 一种基于行为识别的智能视频监控系统
CN104272786A (zh) * 2012-05-14 2015-01-07 高通股份有限公司 用于移动装置行为的自适应观测的系统、设备及方法

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106796753A (zh) * 2014-09-26 2017-05-31 英特尔公司 用于物联网领域的多传感器变化检测
US10356649B2 (en) 2014-09-26 2019-07-16 Intel Corporation Multisensory change detection for internet of things domain
CN106796753B (zh) * 2014-09-26 2019-12-17 英特尔公司 用于物联网领域的多传感器变化检测
US10966113B2 (en) 2014-09-26 2021-03-30 Intel Corporation Multisensory change detection for internet of things domain
CN108431779A (zh) * 2016-01-29 2018-08-21 微软技术许可有限责任公司 基于用户图将动作路由到用户设备
CN107889133A (zh) * 2016-09-30 2018-04-06 华为技术有限公司 无线链路检测和处理方法及装置
US10931515B2 (en) 2016-09-30 2021-02-23 Huawei Technologies Co., Ltd. Method for detecting and processing radio link and apparatus
CN107920348B (zh) * 2016-10-05 2021-02-02 Abb瑞士股份有限公司 设备网络状态信息
CN107920348A (zh) * 2016-10-05 2018-04-17 Abb技术有限公司 设备网络状态信息
US11042616B2 (en) 2017-06-27 2021-06-22 Cirrus Logic, Inc. Detection of replay attack
CN110832580A (zh) * 2017-06-28 2020-02-21 思睿逻辑国际半导体有限公司 重放攻击的检测
US11704397B2 (en) 2017-06-28 2023-07-18 Cirrus Logic, Inc. Detection of replay attack
US11164588B2 (en) 2017-06-28 2021-11-02 Cirrus Logic, Inc. Magnetic detection of replay attack
US10853464B2 (en) 2017-06-28 2020-12-01 Cirrus Logic, Inc. Detection of replay attack
US10770076B2 (en) 2017-06-28 2020-09-08 Cirrus Logic, Inc. Magnetic detection of replay attack
US10984083B2 (en) 2017-07-07 2021-04-20 Cirrus Logic, Inc. Authentication of user using ear biometric data
US11042618B2 (en) 2017-07-07 2021-06-22 Cirrus Logic, Inc. Methods, apparatus and systems for biometric processes
US11714888B2 (en) 2017-07-07 2023-08-01 Cirrus Logic Inc. Methods, apparatus and systems for biometric processes
US11829461B2 (en) 2017-07-07 2023-11-28 Cirrus Logic Inc. Methods, apparatus and systems for audio playback
US11755701B2 (en) 2017-07-07 2023-09-12 Cirrus Logic Inc. Methods, apparatus and systems for authentication
US11042617B2 (en) 2017-07-07 2021-06-22 Cirrus Logic, Inc. Methods, apparatus and systems for biometric processes
US10839808B2 (en) 2017-10-13 2020-11-17 Cirrus Logic, Inc. Detection of replay attack
US11705135B2 (en) 2017-10-13 2023-07-18 Cirrus Logic, Inc. Detection of liveness
US11270707B2 (en) 2017-10-13 2022-03-08 Cirrus Logic, Inc. Analysing speech signals
US11023755B2 (en) 2017-10-13 2021-06-01 Cirrus Logic, Inc. Detection of liveness
US11017252B2 (en) 2017-10-13 2021-05-25 Cirrus Logic, Inc. Detection of liveness
US10832702B2 (en) 2017-10-13 2020-11-10 Cirrus Logic, Inc. Robustness of speech processing system against ultrasound and dolphin attacks
US10847165B2 (en) 2017-10-13 2020-11-24 Cirrus Logic, Inc. Detection of liveness
US11051117B2 (en) 2017-11-14 2021-06-29 Cirrus Logic, Inc. Detection of loudspeaker playback
US11276409B2 (en) 2017-11-14 2022-03-15 Cirrus Logic, Inc. Detection of replay attack
US11475899B2 (en) 2018-01-23 2022-10-18 Cirrus Logic, Inc. Speaker identification
US11694695B2 (en) 2018-01-23 2023-07-04 Cirrus Logic, Inc. Speaker identification
US11735189B2 (en) 2018-01-23 2023-08-22 Cirrus Logic, Inc. Speaker identification
US11264037B2 (en) 2018-01-23 2022-03-01 Cirrus Logic, Inc. Speaker identification
CN108495272A (zh) * 2018-03-19 2018-09-04 上海哔哩哔哩科技有限公司 基于html5浏览器的机器人识别方法、系统及存储介质
CN111886059A (zh) * 2018-03-21 2020-11-03 威尔乌集团 自动减少在在线游戏环境中使用欺骗软件
US11631402B2 (en) 2018-07-31 2023-04-18 Cirrus Logic, Inc. Detection of replay attack
US10915614B2 (en) 2018-08-31 2021-02-09 Cirrus Logic, Inc. Biometric authentication
US11748462B2 (en) 2018-08-31 2023-09-05 Cirrus Logic Inc. Biometric authentication
US11037574B2 (en) 2018-09-05 2021-06-15 Cirrus Logic, Inc. Speaker recognition and speaker change detection
CN115462060A (zh) * 2020-06-10 2022-12-09 美光科技公司 组织移动装置的应用程序
CN115462060B (zh) * 2020-06-10 2024-01-26 美光科技公司 组织移动装置的应用程序
CN112463266A (zh) * 2020-12-11 2021-03-09 微医云(杭州)控股有限公司 执行策略生成方法、装置、电子设备以及存储介质
CN113114862B (zh) * 2021-03-29 2022-12-02 中国联合网络通信集团有限公司 语音信箱的故障处理方法和服务器
CN113114862A (zh) * 2021-03-29 2021-07-13 中国联合网络通信集团有限公司 语音信箱的故障处理方法和服务器
CN113608987A (zh) * 2021-08-10 2021-11-05 瑞庭网络技术(上海)有限公司 采集信息与回溯构建用户行为的方法、设备及存储介质

Also Published As

Publication number Publication date
EP2949144A2 (en) 2015-12-02
JP2016518633A (ja) 2016-06-23
CN113935025A (zh) 2022-01-14
JP6198850B2 (ja) 2017-09-20
WO2014116977A3 (en) 2014-10-16
TW201441811A (zh) 2014-11-01
KR101829114B1 (ko) 2018-03-29
TWI556098B (zh) 2016-11-01
CN104956715B (zh) 2021-10-19
WO2014116977A2 (en) 2014-07-31
EP2949144B1 (en) 2020-09-16
KR20150110653A (ko) 2015-10-02

Similar Documents

Publication Publication Date Title
CN104956715A (zh) 对移动设备上的行为特征的自适应观察
CN105531712B (zh) 移动设备上的基于数据流的行为分析
EP3485415B1 (en) Devices and methods for classifying an execution session
US9495537B2 (en) Adaptive observation of behavioral features on a mobile device
JP6110482B2 (ja) モバイルマルチプロセッサプラットフォームにおける挙動特徴の監視
EP3191960B1 (en) Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors
US9774614B2 (en) Methods and systems for side channel analysis detection and protection
US9448859B2 (en) Exploiting hot application programming interfaces (APIs) and action patterns for efficient storage of API logs on mobile devices for behavioral analysis
US20160379136A1 (en) Methods and Systems for Automatic Extraction of Behavioral Features from Mobile Applications
US20140150100A1 (en) Adaptive Observation of Driver and Hardware Level Behavioral Features on a Mobile Device
CN106133642A (zh) 在移动设备中通过执行行为分析操作推断应用状态的方法和系统
CN105637522B (zh) 使用受信证书的世界驱动访问控制
CN105637833A (zh) 基于配置通道来预先识别可能的恶意行为
CN104272788A (zh) 在移动计算装置中传达行为信息
CN104541293A (zh) 用于客户端-云行为分析器的架构
WO2015112760A1 (en) Adaptive observation of determined behavioral features on a mobile device

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant