CN106104555A - 用于保护外围设备的行为分析 - Google Patents

用于保护外围设备的行为分析 Download PDF

Info

Publication number
CN106104555A
CN106104555A CN201580012986.7A CN201580012986A CN106104555A CN 106104555 A CN106104555 A CN 106104555A CN 201580012986 A CN201580012986 A CN 201580012986A CN 106104555 A CN106104555 A CN 106104555A
Authority
CN
China
Prior art keywords
mobile computing
behavior
computing device
ancillary equipment
relevant
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
CN201580012986.7A
Other languages
English (en)
Other versions
CN106104555B (zh
Inventor
V·斯里哈拉
R·古普塔
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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN106104555A publication Critical patent/CN106104555A/zh
Application granted granted Critical
Publication of CN106104555B publication Critical patent/CN106104555B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • 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
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

各个方面将移动计算设备配置为对在所述移动计算设备上发生的与连接到所述移动计算设备的一个或多个外围设备相关的、并且经常使所述移动计算设备的性能和/或功率利用水平随时间降级的条件和/或行为进行高效地识别、分类、建模、阻止和/或纠正。在各个方面中,所述移动计算设备可以获得分类器模型,所述分类器模型包括、测试和/或评估所述移动计算设备上的与连接到所述移动计算设备的一个或多个外围设备相关的各种条件、特征、行为以及纠正动作。所述移动计算设备可以利用所述分类器模型来快速地识别和纠正在所述移动计算设备上发生的与所述一个或多个连接的外围设备相关的不期望的行为。

Description

用于保护外围设备的行为分析
背景技术
过去几年,蜂窝和无线通信技术已经经历了爆发性发展。此发展已经受到更优的通信、硬件、更大的网络以及更可靠的协议的推动。结果,无线服务提供商现在能够向其客户提供对信息、资源和通信的前所未有的水平的接入。
为了跟上这些服务增强,移动电子设备(例如,蜂窝电话、平板计算机、膝上型计算机等)已经变得比以往任何时候都强大和复杂。此复杂性已经为恶意软件、软件冲突、硬件故障以及其它类似的错误或情况来负面地影响移动计算设备的长期和持续的性能以及功率利用水平创造了新的机会。因此,识别和纠正可以负面地影响移动计算设备的长期和持续的性能以及功率利用水平的条件和/或移动计算设备行为是对消费者有益的。
发明内容
各个方面涉及将移动计算设备配置为对在所述移动计算设备上发生的与连接到所述移动计算设备的一个或多个外围设备相关的、并且可能随时间使所述移动计算设备的性能和/或功率利用水平降级的条件和/或行为进行高效地识别、分类、建模、阻止和/或纠正。在各个方面中,移动计算设备可以获得分类器模型并且可以使用所述分类器模型来快速地识别和纠正在所述移动计算设备上发生的与一个或多个连接的外围设备相关的不期望的行为(例如,恶意的行为、性能降级的行为、和/或产生不想要的或有害影响的任何其它行为),所述分类器模型包括与连接到所述移动计算设备的所述一个或多个外围设备相关的各种条件、特征、行为以及纠正动作。
在各个方面中,所述移动计算设备可以使用所述分类器模型来执行对所述移动计算设备上的与所述外围设备相关的特征的实时行为监测和分析操作,以确定所述外围设备是否在引起在所述移动计算设备上发生不期望的行为、所述移动计算设备上的不期望的行为是否负面地影响所述外围设备、和/或所述一个或多个外围设备和所述移动计算设备的组合的活动是否共同地引起在所述移动计算设备上发生不期望的行为。
在一个方面中,所述移动计算设备可以本地地生成分类器模型,所述分类器模型对与连接到所述移动计算设备的外围设备相关的特征进行测试/评估。在这样的方面中,所述移动计算设备可以基于所述移动计算设备通过与外围设备连接而获得的扩展的能力和/或功能来识别这些特征,所述扩展的能力和/或功能诸如所述移动计算设备经由所述外围设备可获得的扩展的能力和/或所述移动计算设备上的与控制或使用所述外围设备相关的扩展的能力。
在另一个方面中,所述移动计算设备可以通过观察随时间的所述移动计算设备上的与所述外围设备相关的行为,以及通过基于所述移动计算设备上的期望发生的一个或多个行为来识别要在所述分类器模型中包括的对与所述外围设备相关的特征的测试/评估集合,来生成所述分类器模型。在进一步的方面中,这些期望的行为可以表示典型的或良性的行为,并且因此当在将来将所述移动计算设备上的与所述外围设备相关的行为分类为良性的或不期望的(例如,恶意的或性能降级的)时,可以被用作参考点。
在另一个方面中,所述移动计算设备可以识别连接的外围设备,并且可以向服务器请求分类器模型,所述分类器模型对所述移动计算设备上的与所述外围设备相关的特征进行测试/评估。
在另一个方面中,所述移动计算设备可以从所述服务器接收对各个移动计算设备的特征进行处理的大型或完全分类器模型。所述移动计算设备可以从所述完全分类器中生成贫乏分类器模型,所述贫乏分类器模型包括用于监测所述设备上的恶意的/性能降级的行为的相关特征。所述移动计算设备还可以识别和修改所述贫乏分类器模型,以包括对被确定为与连接到所述移动计算设备的外围设备相关的一个或多个特征的测试/评估,因此使所述移动计算设备能够集中于对所述移动计算设备上的与所述外围设备相关的,尤其是与所述移动计算设备的性能相关的特征的行为进行观察、分析和分类。
在进一步的方面中,所述移动计算设备可以观察在所述移动计算设备发生的与所述外围设备相关的行为,并且可以直接地从所述外围设备取回额外的上下文行为信息,诸如经由所述外围设备上的被配置用于该目的的API。在进一步的方面中,所述移动计算设备可以可选地从所述外围设备接收可以提供关于所述外围设备的状态、配置、性能等的额外信息的观察,以用于对所述移动计算设备上的与所述外围设备相关的行为进行分析/分类。
在另一个方面中,所述移动计算设备可能无法直接从所述外围设备获得相关的行为信息,在这种情况下,所述移动设备可以通过观察所述外围设备与所述移动计算设备之间的各种通信和/或通过监测所述移动计算设备从所述外围设备接收的输入,来间接地获得关于所述外围设备的性能、配置、活动等的行为信息。
各个方面包括一种在连接到外围设备的移动计算设备中生成数据模型的方法,所述方法可以包括:获得包括与所述外围设备相关的特征的分类器模型;观察与所述外围设备相关的所述特征的行为;基于所观察的行为来生成针对所述移动计算设备的配置的行为向量;以及将所述行为向量应用于所述分类器模型,以检测所述移动计算设备上的与所述外围设备相关的不期望的行为。在一个方面中,与所述外围设备相关的不期望的行为可以包括以下各项中的至少一项:在所述移动计算设备上发生的由所述外围设备引起的不期望的行为、在所述外围设备上发生的由所述移动计算设备引起的不期望的行为、以及由在所述移动计算设备和所述外围设备两者上发生的活动引起的不期望的行为。
在一个方面中,获得分类器模型可以包括:识别与所述外围设备相关的能力;确定所述移动计算设备上的与所识别的能力相关的特征;以及基于所确定的特征来生成所述分类器模型。在另一个方面中,获得分类器模型可以包括:在一段时间内观察所述移动计算设备上的与所述外围设备相关的行为;基于在所述一段时间内在所述移动计算设备上观察到的所述行为,来识别期望发生的与所述外围设备相关的行为;确定所述移动计算设备上的与所期望的行为相关的特征集合;以及基于所确定的与所期望的行为相关的特征集合来生成所述分类器模型。在另一个方面中,获得分类器模型可以包括:接收在服务器上根据由多个移动计算设备提供的信息的云数据集合来生成的完全分类器模型;生成包括与所述移动计算设备相关的特征的贫乏分类器模型;确定所述移动计算设备上的与所述外围设备相关的特征;以及修改所述贫乏分类器模型以包括所确定的与所述外围设备相关的特征。
一个方面方法还可以包括:从所述外围设备接收对在所述外围设备上发生的行为的观察,其中,基于所观察的行为来生成针对所述移动计算设备的配置的行为向量可以包括:基于所观察的所述移动计算设备上的行为和从所述外围设备接收的所述观察中的至少一者来生成所述行为向量。一个方面方法还可以包括:观察所述移动计算设备上的与所述移动计算设备和所述外围设备之间的通信以及从所述外围设备接收的输入中的至少一者相关的行为,其中,基于所观察的行为来生成针对所述移动计算设备的配置的行为向量可以包括:基于与所述移动计算设备和所述外围设备之间的所述通信以及从所述外围设备接收的所述输入相关的所述行为中的至少一个行为来生成所述行为向量。
进一步的方面包括移动计算设备,其包括存储器以及耦合到所述存储器的处理器,其中所述处理器被配置为执行上述方法的操作。
进一步的方面包括移动计算设备,其包括用于执行上述方法的功能的单元。
进一步的方面包括具有存储在其上的处理器可执行指令的非暂时性计算机可读存储介质,所述处理器可执行指令被配置为使得移动计算设备处理器执行上述方法的操作。
附图说明
并入本文并且构成本说明书的一部分的附图示出了本发明的示例方面,并且与上文给出的一般描述和下文给出的具体实施方式一起用于解释本发明的特征。
图1是示出了适于与各个方面一起使用的示例电信系统的网络组件的通信系统框图。
图2A是示出了一个方面移动计算设备中的示例逻辑组件和信息流的框图,所述方面移动计算设备被配置为确定特定的移动计算设备行为是恶意的、性能降级的、可疑的还是良性的。
图2B是示出了一个方面系统中的示例逻辑组件和信息流的框图,所述方面系统包括连接到一个方面移动计算设备的一个或多个外围设备,所述方面移动计算设备被配置为确定与一个或多个外围设备相关的特定的移动计算设备行为是恶意的、性能降级的、可疑的还是良性的。
图3是示出了一个方面系统中的示例组件和信息流的框图,所述方面系统包括服务器,所述服务器被配置为结合与外围设备相通信的移动计算设备来工作,以生成分类器模型并且使用分类器模型来确定与外围设备相关的特定的移动计算设备行为是恶意的、性能降级的、可疑的还是良性的。
图4是示出了在移动计算设备上获得分类器模型的方面方法的过程流程图,所述分类器模型包括与连接到移动计算设备的外围设备相关的特征。
图5是示出了基于外围设备的能力来生成分类器模型的方面方法的过程流程图,所述分类器模型包括与外围设备相关的一个或多个特征。
图6是示出了通过识别移动计算设备上的期望发生的与外围设备相关的一个或多个行为来生成分类器模型的方面方法的过程流程图,所述分类器模型包括与外围设备相关的一个或多个特征。
图7A是示出了通过向服务器发送与外围设备相关的信息来从服务器接收分类器模型的方面方法的过程流程图,所述分类器模型包括与外围设备相关的一个或多个特征。
图7B是示出了响应于接收用于识别外围设备和/或外围设备的能力的信息来在服务器上生成分类器模型的方面方法的过程流程图,所述分类器模型包括与外围设备相关的特征。
图8是示出了通过修改在移动计算设备上生成的贫乏分类器模型来生成分类器模型的方面方法的过程流程图,所述分类器模型包括与外围设备相关的一个或多个特征。
图9是示出了基于在移动计算设备上进行的和/或从外围设备接收的与外围设备相关的行为观察来在移动计算设备上生成行为向量的方面方法的过程流程图。
图10是示出了基于移动计算设备和外围设备之间的通信和/或基于在移动计算设备上从外围设备接收的输入来在移动计算设备上生成行为向量的方面方法的过程流程图。
图11是示出了在移动计算设备上将与已经与移动计算设备断开的外围设备相关的特征从分类器模型中移除的方面方法的过程流程图。
图12是适于在一个方面中使用的移动计算设备的组件框图。
图13是适于在一个方面中使用的服务器设备的组件框图。
图14是适于在一个方面中使用的外围设备的组件框图。
具体实施方式
将参照附图详细描述各个方面。在任何可能的地方,将遍及附图使用相同的附图标记指代相同或相似的部分。对特定示例和实现方式做出的引用是出于说明性的目的,并且不旨在限制本发明或权利要求书的范围。
本文中使用术语“移动计算设备”来指代蜂窝电话、智能电话、个人或移动多媒体播放器、个人数字助理(PDA)、膝上型计算机、平板计算机、智能本、超级本、掌上型计算机、无线电子邮件接收机、启用多媒体互联网的蜂窝电话、无线游戏控制器以及类似个人电子设备(其包括存储器和性能是重要的可编程处理器,并且低于电池功率来操作,使得功率节省方法是有益的)中的任何一项或者全部项。虽然各个方面具体来说对于具有有限的资源并且靠电池运行的移动计算设备(诸如,智能电话)是有用的,但是这些方面通常在包括处理器和执行应用程序的任何电子设备中都是有用的。
通常,移动计算设备的性能和功率效率随时间降级。最近,反病毒公司(例如,迈克菲(McAfee)、赛门铁克(Symantec)等)已经开始营销旨在减慢该降级的移动反病毒、防火墙和加密产品。然而,这些解决方案中的许多解决方案依靠移动计算设备上的计算密集型扫描引擎的定期执行,这可以消耗移动计算设备的处理和电池资源中的许多资源,使移动计算设备变慢,或者在延长的时间段内致使移动计算设备无效,和/或以其它方式使用户体验降级。另外,这些解决方案通常限于检测已知的病毒和恶意软件,并且不解决经常结合以对移动计算设备随时间的降级起作用的多个复杂因素和/或交互(例如,当性能降级不是由病毒或恶意软件引起的时候)。由于这些和其它原因,现有的反病毒、防火墙和加密产品不提供用于识别可能对移动计算设备随时间的降级起作用的大量因素、防止移动计算设备降级、或者将老化的移动计算设备高效地恢复到其原始状况的足够的解决方案。
移动计算设备是具有相对有限的处理、存储器和能量资源的资源受限的系统。现代移动计算设备还是具有可以对移动计算设备的性能和功率利用水平随时间的降级起作用的多种多样的因素的复杂系统。可以对性能降级起作用的因素的示例包括:拙劣设计的软件应用、恶意软件、病毒、破碎的存储器以及背景过程。由于这些因素的数量、多样化和复杂性,因此对可能使现代移动计算设备的复杂且资源受限的系统的性能和/或功率利用水平降级的各种组件、行为、过程、操作、条件、状态或特征(或其组合)中的全部进行评估通常是不可行的。因而,使用户、操作系统或应用程序(例如,反病毒软件等)准确地并且高效地识别这些问题的源是困难的。结果,移动计算设备用户当前具有用于防止移动计算设备的性能和功率利用水平随时间的降级、或者用于将老化的移动计算设备恢复到其原始性能和功率利用水平的少数几个解决办法。
当前,存在用于对在计算设备执行的应用程序的行为进行建模的解决办法,并且这些解决办法可以连同机器学习技术用于确定软件应用是恶意的还是良性的。然而,这些解决办法不适于在移动计算设备上使用,这是因为它们要求对海量行为信息进行评估、不动态地生成行为模型、不在行为模型中智能地对特征区分优先次序、受限于评估单个应用程序或过程、和/或要求在移动计算设备中执行计算密集型过程。因而,在移动计算设备中实现或执行这些现有的解决方案可能对移动计算设备的响应性、性能或功耗特性产生显著的、负面的和/或用户可察觉的影响。
例如,计算设备可以被配置为使用现有的基于机器学习的解决办法来访问和使用海量训练数据,推导将特征向量作为输入的模型,以及使用该模型来确定计算设备的软件应用是恶意的还是良性的。然而,这种解决办法不生成这样的完全分类器模型(即,鲁棒数据或行为模型):其用可以被移动计算设备用于快速地生成贫乏分类器模型的格式或信息结构(例如,有限状态机等)来描述海量行为信息。出于至少该原因,这种解决办法不允许移动计算设备生成这样的贫乏分类器模型:其包括、测试或解释(account for)与移动计算设备的性能和/或操作尤其相关的特征。另外,这种解决办法不允许移动计算设备生成这样的贫乏分类器模型:其根据特征与对在其中使用模型的特定移动计算设备中的特定行为进行分类的相关性来对特征进行识别或区分优先次序。出于这些和其它原因,这种解决办法不能被移动计算设备处理器用于:在不对移动计算设备的响应性、性能或功耗特性产生显著的负面和/或用户可察觉的影响的情况下,对复杂的移动计算设备行为进行快速和高效地识别、分析或分类。
另外,因为现代移动计算设备是高度可配置的并且复杂的系统,所以用于确定特定的移动计算设备行为是良性的还是非良性的/不期望的(例如,恶意的或性能降级的)的最重要的特征可能在每个移动计算设备中都是不同的。此外,特征的不同组合可以要求在每个移动计算设备中进行监测和/或分析,以便使该移动计算设备快速和高效地确定特定的行为是良性的还是非良性的。然而,要求监测和分析的特征的精确组合以及每个特征或特征组合的相对优先级或重要性通常仅可以使用从要在其中监测或分析行为的特定的移动计算设备获得的特定于设备的信息来确定。出于这些和其它原因,在除了在其中使用行为模型的特定设备之外的任何计算设备中生成的行为模型不能够包括用于识别对于在该设备中对行为进行分类最重要的特征的精确组合的信息。
此外,移动计算设备还可以通过连接到一个或多个外围设备来获得或接收对额外的特征、能力、功能等的访问。例如,连接到外围设备的移动计算设备可以具有扩展的能力(例如,通过蓝牙扬声器来远程地播放音频的能力)和对外围设备的方面进行控制的能力(例如,在智能TV外围设备上改变频道的能力)。因此,当移动计算设备连接外围设备(或与外围设备断开)时,在移动计算设备上存在的或对于移动计算设备可用的功能和能力可以实质地和快速地改变,由此潜在地扩展(或缩小)在移动计算设备上发生的可能与检测移动计算设备上的恶意或性能降级的活动相关的行为和活动的范围。
例如,如果移动计算设备连接到包括用于对金融交易进行授权的生物传感器(例如,指纹读取器、视网膜扫描器等)的外围设备,则对移动计算设备上的与访问和使用生物传感器相关的条件进行测试的特征可能是与确定在移动计算设备上观察到的与访问金融软件相关的行为是恶意的、性能降级的还是良性的是相关的。例如,移动计算设备对外围设备上的生物传感器的访问和使用的模式可以指示:移动计算设备上的恶意软件在没有用户的了解或同意的情况下,正使用存储的从生物传感器外围设备接收的生物数据来对金融交易进行授权。在另一方面,当外围设备未连接到移动计算设备时,对与访问和使用这些传感器相关的条件进行测试的特征不大可能与确定观察到的访问金融软件的行为是恶意的还是良性的是相关的,这是因为移动计算设备可能不再具有对生物传感器的访问以对金融交易进行授权。
许多当前的行为建模解决方法实现“一体通用(one-size-fits-all)”的静态方案来对计算设备的行为进行建模,并且因此不适于在移动计算设备中使用。即,这些解决方法典型地生成行为模型,使得它们是通用的并且可以用在许多计算设备中和/或与多种不同的硬件和软件配置一起使用。因而,这些通用行为模型经常包括/测试大量的特征,这些特征中的许多特征是与对在其中实际地使用这些通用行为模型的特定的计算设备中的行为进行识别、分析或分类不相关的(并且因此不能用于以上操作)。另外,这些解决方法不基于特征与对在其中使用模型的特定移动计算设备中的特定行为进行分类的相关性来向特征指派相对优先级。此外,由于外围设备可能是附加元件或后来开发的硬件,所以这些解决办法不能够解决外围设备的行为或外围设备对计算设备的影响。因此,这些解决办法典型地要求计算设备应用包括大量紊乱的、不适当地按优先级区分次序的、或者不相关的特征的行为模型。这些模型不适于在资源受限的移动计算设备中使用,这是因为它们可能使得移动计算设备处理器对无法用于识别移动计算设备随时间的降级的原因或源的大量特征进行分析。因而,这些解决方法不适于在复杂且资源受限的移动计算设备中使用,尤其是考虑到移动计算设备通过连接到外围设备来改变其能力/功能的能力。
一些现代的解决办法尝试通过执行对外围设备的扫描或通过分析针对病毒、恶意软件等从外围设备查询的信息来检测在外围设备上发生的恶意活动。然而,这些解决办法不提供用于检测移动计算设备上的由外围设备引起的恶意的和/或性能降级的行为,这些解决办法也不预期、监测或对抗外围设备上的由移动计算设备引起的各种类型的不期望的行为。
因此,当前的解决办法不预期或解释当移动计算设备连接到一个或多个外围设备时,可能发生的移动计算设备的特征、能力和/或功能的改变。具体地,因为当前的解决办法要么生成用于移动计算设备的通用行为模型(其不能准确地识别移动计算设备上的与访问和使用外围设备相关的特征),并且因为当前的解决办法仅集中于检测外围设备上的恶意活动,所以这些解决方法不适于生成这样的行为模型:其对移动计算设备上的可能由移动计算设备连接到上千个不同种类的外围设备(其可以连接到移动计算设备并且与移动计算设备一起使用)中的任何外围设备导致的复杂条件或特征进行测试。
概括来说,各个方面通过将移动计算设备配置为对在移动计算设备上发生的与连接到移动计算设备的一个或多个外围设备相关的、并且经常随着时间的过去使移动计算设备的性能和/或功率利用水平降级的条件和/或行为进行高效地识别、分类、建模、阻止和/或纠正来克服当前的解决办法的这些限制。在各个方面中,移动计算设备可以获得分类器模型并且可以使用分类器模型来快速地识别和纠正在移动计算设备上发生的与一个或多个连接的外围设备相关的不期望的行为(例如,恶意行为、性能降级行为、和/或产生不想要的或有害影响的任何其它行为),所述分类器模型包括与连接到移动计算设备的一个或多个外围设备相关的各种条件、特征、行为以及纠正动作。
在各个方面中,移动计算设备可以使用分类器模型来对移动计算设备上的与外围设备相关的特征的行为进行测试,以确定外围设备是否在引起在移动计算设备上发生不期望的行为(例如,从出故障的外围设备接收并且在移动计算设备上执行性能降级指令)、移动计算设备上的不期望的行为是否负面地影响外围设备(例如,在移动计算设备上操作的恶意应用在向外围设备发送恶意指令)、和/或一个或多个外围设备和移动计算设备的组合的活动是否共同地引起在移动计算设备上发生不期望的行为。
在一个方面中,分类器模型(例如,完全分类器模型或贫乏分类器模型)可以是海量行为信息的有限状态机描述或表示。有限状态机可以包括适于表达为多个节点、提升决策树或决策树桩(其均并入移动计算设备上的与外围设备相关的一个或多个特征)的信息。例如,有限状态机可以是可以被表达为提升决策树桩族的信息结构,所述提升决策树桩族共同地对与确定移动计算设备上的与连接的外围设备相关的行为是良性的、恶意的还是对移动计算设备的性能随时间的降级(即,性能降级)起作用相关的特征和数据点中的全部或许多特征和数据点进行识别、描述、测试或评估。
在一个方面中,服务器可以向移动计算设备发送完全分类器模型(即,包括有限状态机和/或提升决策树桩族等的信息结构)。移动计算设备可以被配置为接收和使用完全分类器模型来生成贫乏分类器模型或具有不同级别的复杂度(或“贫瘠”)的贫乏分类器模型族。为实现这一点,移动计算设备可以对包括在从服务器接收的完全分类器模型中的鲁棒的提升决策树族进行删减或剔除,以生成包括减少数量的提升决策树和/或评估有限数量的测试条件或特征(包括移动计算设备上的与连接到该移动计算设备的一个或多个外围设备相关的特征)的贫乏分类器模型。移动计算设备然后可以使用这些本地生成的贫乏分类器模型来执行实时行为监测和分析操作,并且识别与连接到该移动计算设备的一个或多个外围设备相关的不期望的(例如,恶意的或性能降级的)移动计算设备行为的源或起因。
通过使用完全分类器模型(其将海量的行为信息描述或表达为有限状态机、决策节点、决策树或可以被修改、剔除、增加或其它方式用于生成贫乏分类器模型的其它类似的信息结构),移动计算设备能够快速、高效地生成贫乏分类器模型,而不需要访问训练数据或与服务器、中央数据库或云网络/服务器进行进一步的通信。这显著地减少了移动计算设备对网络的依赖,并且改善了移动计算设备的性能和功耗特性。
通过在移动计算设备中本地地生成贫乏分类器模型来解释与连接到该移动计算设备的一个或多个外围设备相关的特征,各个方面允许移动计算设备将其监测操作集中在用于识别与一个或多个连接的外围设备相关的恶意或性能降级的移动计算设备行为的源或起因的最重要的特征或因素上。这允许移动计算设备对不期望的行为(例如,移动计算设备上的由外围设备引起的性能降级的行为、移动计算设备上的引起外围设备上的性能降级的恶意的行为、和/或移动计算设备上的由移动计算设备和外围设备两者引起的其它降级行为)进行识别和响应,而不造成移动计算设备的响应性、性能或功耗特性的显著的负面和/或用户可察觉的改变。
各个方面可以包括用于对经常随时间使移动计算设备的性能和/或功率利用水平降级的条件、因素和/或行为进行智能和高效地识别、阻止和/或纠正的综合行为监测和分析系统。在一个方面中,移动计算设备的行为观察器单元、过程、守护程序、模块或子系统(本文中共同地称为“模块”或“单元”)可以装备或协调在移动计算设备的各个级别处的各个应用编程接口(API)、寄存器、计数器或其它组件(本文中共同地称为“装备组件”)。观察器模块可以通过从移动计算设备并且可选地从一个或多个外围设备收集行为信息,来持续地(或接近持续地)监测与连接到移动计算设备的一个或多个外围设备相关的移动计算设备行为。在另一个方面中,连接到移动计算设备的外围设备还可以包括被配置为监测外围设上的行为的行为观察器单元,并且将那些观察报告给移动计算设备,以用于对与外围设备相关的移动计算设备行为进行分析和分类。
移动计算设备可以包括行为分析器单元,并且移动计算设备上的和/或连接到移动计算设备的一个或多个外围设备上的观察器模块可以向行为分析器单元传送(例如,经由存储器写入操作、函数调用等)所收集的行为信息。行为分析器单元可以接收行为信息,并且使用行为信息来生成行为向量,基于行为向量来生成空间和/或时间相关性,以及确定移动计算设备上的与外围设备相关的特定的行为、条件、子系统、软件应用或过程是良性的、可疑的还是非良性的/不期望的(即,恶意的或性能降级的)。移动计算设备然后可以使用该分析结果来治愈、治疗、隔离或以其它方式改正或响应所识别的移动计算设备上的与一个或多个外围设备相关的问题,诸如通过终止在移动计算设备上操作的正引起在外围设备上发生恶意行为的恶意应用。
行为分析器单元还可以被配置为执行实时行为分析操作,这可以包括实施、执行和/或将数据、算法、分类器或模型(本文中共同地称为“分类器模型”)应用于所收集的行为信息,以确定移动计算设备上的与连接到移动计算设备的外围设备相关的行为是良性的还是非良性的/不期望的(例如,恶意的或性能降级的)。每个分类器模型可以是包括数据和/或信息结构(例如,特征向量、行为向量、组件列表等)的行为模型,所述数据和/或信息结构可以被移动计算设备处理器用于对移动计算设备上的与连接到移动计算设备的外围设备相关的行为的特定特征或方面进行评估。每个分类器模型还可以包括用于监测移动计算设备中的多个特征、因素、数据点、条目、API、状态、条件、行为、应用、过程、操作、组件等(本文中共同地“特征”)的决策标准。分类器模型可以预安装在移动计算设备上、从服务器下载或接收、从一个或多个外围设备接收、在移动计算设备中生成、或其任意组合。可以通过使用众包(crowd sourcing)解决办法、行为建模技术、机器学习算法等来生成分类器模型。
在一个方面中,移动计算设备可以本地地生成对与连接到移动计算设备的外围设备相关的特征进行测试/评估的分类器模型。在这样的方面中,移动计算设备可以基于移动计算设备在与外围设备连接之后获得的扩展的能力和/或功能(诸如移动计算设备经由外围设备可获得的扩展的能力(例如,通过使用信用卡读取器外围设备来读取信用卡信息的能力)和/或移动计算设备上的与控制或使用外围设备相关的扩展的能力(例如,在智能TV上改变频道的能力))来识别这些特征。
在另一个方面中,移动计算设备可以通过观察随时间的移动计算设备上的与外围设备相关的行为,并且基于移动计算设备上的期望发生的一个或多个行为来识别要在分类器模型中包括的与外围设备相关的测试/评估特征集合,来生成分类器模型。在进一步的方面中,这些期望的行为可以表示典型的或良性的行为,并且因此当在将来将移动计算设备上的与外围设备相关的行为分类为良性的或不期望的(例如,恶意的或性能降级的)时候可以被用作参考点。
在另一个方面中,移动计算设备可以识别连接的外围设备,并且可以向服务器请求对移动计算设备上的与外围设备相关的特征进行测试/评估的分类器模型。例如,移动计算设备可以检测附接了外部、蓝牙扬声器,可以向服务器请求用于对与扬声器相关的特征的进行解释的分类器模型,并且可以利用从服务器接收的分类器模型来开始监测移动计算设备上的与扬声器相关的、可能引起移动计算设备和/或扬声器上的恶意行为的行为。
在另一个方面中,移动计算设备可以从服务器接收用于处理针对各种移动计算设备的特征的大型或完全分类器模型。在移动计算设备上操作的行为分析器单元和/或分类器单元可以从完全分分类器中生成贫乏分类器模型,所述贫乏分类器模型包括用于监测设备上的恶意行为的相关特征。移动计算设备上的行为分析器单元还可以识别和修改贫乏分类器模型,以包括对被确定为与连接到移动计算设备的外围设备相关的一个或多个特征的测试/评估,因此使设备上的行为观察器单元能够集中于对移动计算设备上的与外围设备相关的特征(尤其是与移动计算设备的性能相关的特征)的行为进行观察、分析和分类。
在进一步的方面中,执行行为观察器单元的移动计算设备处理器可以观察移动计算设备上的与外围设备相关的行为,并且可以直接从外围设备取回额外的上下文行为信息,诸如经由外围设备上被配置用于该目的的API。例如,行为观察器单元可以直接访问汽车外围设备上的诊断信息(例如,速度、油位、温度等)。执行行为分析器单元和/或分类器单元的移动计算设备处理器可以从执行行为观察器单元的移动计算设备处理器接收这些观察(包括直接从外围设备接收的信息),并且可以基于这些观察来对移动计算设备上的与外围设备相关的进行的行为进行分类。在进一步的方面中,行为分析器单元和/或分类器单元可以可选地从在外围设备上操作的行为观察器单元接收观察,所述观察可以提供关于外围设备的状态、配置、性能等的额外信息,以用于对移动计算设备上的与外围设备相关的行为进行分析/分类。
在另一个方面中,移动计算设备可能无法直接从外围设备获得相关的行为信息。在这样的方面中,移动计算设备上的行为观察器单元可以通过观察外围设备与移动计算设备之间的各种通信和/或通过监测在移动计算设备上从外围设备接收的输入,来间接地获得关于外围设备的性能、配置、活动等的行为信息。例如,行为观察器单元可以观察从移动计算设备向汽车外围设备发送的命令,所述命令指示汽车外围设备将其速度增加超过预定的速度限制,这可以指示移动计算设备上的过程在执行恶意活动。
各个方面可以实现在各种通信系统内,诸如在图1中示出的示例通信系统100。典型的小区电话网络104包括耦合到网络操作中心108的多个小区基站106,网络操作中心108操作以例如经由电话陆地线(例如,POTS网络,未示出)和互联网110来连接移动计算设备102、103(例如,蜂窝电话、膝上型计算机、平板计算机等)和其它网络目的地之间的语音呼叫和数据。移动计算设备102、103和电话网络104之间的通信可以经由双向无线通信链路112(诸如4G、3G、CDMA、TDMA、LTE和/或其它蜂窝电话通信技术)来完成。电话网络104还可以包括耦合到网络操作中心108或网络操作中心108内的一个或多个服务器114,网络操作中心108提供到互联网110的连接。
通信系统100还可以包括连接到电话网络104和互联网110的服务器116。服务器116和电话网络104之间的连接可以是通过互联网110或通过私有网络(如虚线箭头所示)的。服务器116还可以被实现为云服务提供商网络118的网络基础设施内的服务器。服务器116和移动计算设备102、103之间的通信可以通过电话网络104、互联网110、私有网络(未示出)或其任意组合来实现。
移动计算设备102、103可以配置为与一个或多个外围设备进行通信、与一个或多个外围设备连接、和/或使用一个或多个外围设备,所述一个或多个外围设备可以包括数字相机(例如,相机122a)、用户输入设备(例如,通用串行总线(USB)键盘122b、蓝牙鼠标输入设备等)、USB闪速驱动器、外部硬盘驱动器、智能电视(例如,智能TV 122e)、可穿戴设备(例如,智能手表122c)、汽车、其它移动计算设备(例如,通过无线数据链路124和/或有线数据链路126的移动计算设备102、103)等。例如,移动计算设备102、103可以通过无线数据链路124和/或通过有线或持久数据链路126连接到外围设备122a-122e中的一个或多个。移动计算设备102、103还可以通过到外围设备的直接的物理连接与一个或多个外围设备相通信。例如,当信用卡读取器设备122d(例如,Square公司的Square读取器)上的插头插入到移动计算设备102的音频端口中时,移动计算设备102可以直接地与信用卡读取器设备122d连接。
服务器116可以向移动计算设备102、103发送分类器模型(例如,完全分类器或贫乏分类器),移动计算设备102、103可以接收并且使用分类器模型来识别与一个或多个外围设备122a-122e相关的可疑的、恶意的或性能降级的移动计算设备行为、软件应用、过程等。服务器116还可以向移动计算设备102、103发送分类和建模信息,以替代、更新、创建和/或保持与那些外围设备122a-122e相关的移动计算设备分类模型。在进一步的方面中,移动计算设备102、103可以被配置为使用所收集的行为、状态、分类、建模、成功率和/或统计信息来生成、更新或完善分类器模型(或数据/行为模型),以在移动计算设备102、103中包括与一个或多个外围设备相关的特征的进一步瞄准的和/或减小的子集。
在另一个方面中,移动计算设备102、103可以接收和使用来自服务器116的完全分类器模型来生成贫乏分类器模型,所述贫乏分类器模型适于用于识别在移动计算设备102、103上发生的与一个或多个外围设备122a-122e相关的可疑的、恶意的或性能降级的移动计算设备行为、软件应用、过程等。
图2A示出了一个方面移动计算设备102中的示例逻辑组件和信息流,所述方面移动计算设备102被配置为确定特定的移动计算设备行为、软件应用或过程是不期望的(例如,恶意的和/或性能降级的)、可疑的还是良性的。在图2A中示出的示例中,移动计算设备102包括行为观察器单元202、行为分析器单元204、分类器单元208以及致动器单元210。在一个方面中,分类器单元208可以被实现为行为分析器单元204的一部分。在一个方面中,行为分析器单元204可以被配置为生成一个或多个分类器单元208,所述分类器单元208中的每个分类器单元208可以包括一个或多个分类器。
单元202-210中的每个单元可以实现在软件、硬件或其任意组合中。在各个方面中,单元202-210可以实现在操作系统的部分内(例如,内核内、内核空间中、用户空间中等)、单独的程序或应用内、在专用硬件缓冲器或处理器中、或其任意组合。在一个方面中,单元202-210中的一个或多个单元可以被实现为在移动计算设备102的一个或多个处理器上执行的软件指令。
行为观察器单元202可以被配置为装备或协调在移动计算设备的各个级别/单元处的应用编程接口(API),和/或经由所装备的API来监测/观察在各个级别/单元处的移动计算设备操作和事件(例如,系统事件、状态改变等),收集与所观察的操作/事件相关的信息,智能地过滤所收集的信息,基于经过滤的信息来生成一个或多个观察,并且将所生成的观察存储在存储器中(例如,存储在记录文件中等)和/或将所生成的观察(例如,经由存储器写入、函数调用等)发送给行为分析器单元204。
行为观察器单元202可以通过收集与应用框架或运行时间库中的库应用编程接口(API)调用、系统调用API、文件系统和网络子系统操作、设备(包括传感器设备)状态改变以及其它类似事件相关的信息来监测/观察移动计算设备操作和事件。行为观察器单元202还可以监测文件系统活动,其可以包括搜索文件名称、文件访问的类别(个人信息或正常数据文件)、创建或删除文件(例如,exe、zip等类型)、文件读取/写入/查找操作、改变文件许可等。
行为观察器单元202还可以监测数据网络活动,其可以包括连接类型、协议、端口号、设备连接到的服务器/客户端、连接数量、通信的容量或频率等。行为观察器单元202可以监测电话网络活动,这可以包括监测发出、接收或拦截的呼叫或消息(例如,SMS等)的类型和数量(例如,发生的优质呼叫的数量)。
行为观察器单元202还可以监测系统资源使用,这可以包括监测叉路的数量、存储器存取操作、文件打开的数量等。行为观察器单元202还可以监测移动计算设备的状态,这可以包括监测各种因素,诸如显示器是开启还是关闭、设备是上锁的还是未上锁的、剩余的电池电量、相机状态等。行为观察器单元202还可以通过例如监测对关键服务(浏览器、合同提供者等)的意图、过程间通信的自由度、弹出窗口等来监测过程间通信(IPC)。
行为观察器单元202还可以监测/观察一个或多个硬件组件(其可以包括相机、传感器、电子显示器、WiFi通信组件、数据控制器、存储器控制器、系统控制器、接入端口、定时器、外围设备、无线通信组件、外部存储器芯片、电压调节器、振荡器、锁相环、外围桥路、以及用于支持在移动计算设备上运行的处理器和客户端的其它类似组件)的驱动器统计和/或状态。
行为观察器单元202还可以监测/观察指示移动计算设备和/或移动计算设备子系统的状态或条件的一个或多个硬件计数器。硬件计数器可以包括处理器/内核的专用寄存器,其被配置为存储在移动计算设备中发生的硬件相关的活动或事件的计数或状态。
行为观察器单元202还可以监测/观察软件应用的动作和操作、从应用下载服务器(例如,应用商店服务器)的软件下载、软件应用所使用的移动计算设备信息、呼叫信息、文本消息传送信息(例如,发送SMS、阻止SMS、读取SMS等)、媒体消息传送信息(例如,接收MMS)、用户账号信息、位置信息、相机信息、加速计信息、浏览器信息、基于浏览器的通信内容、基于语音的通信内容、短距离无线通信(例如,蓝牙WiFi等)、基于文本的通信内容、记录的音频文件的内容、电话本或联系人信息、联系人列表等。
行为观察器单元202可以监测/观察移动计算设备的传输或通信,包含包括语音邮件(语音邮件通信(VoiceMailComm))、设备标识符(设备标识符通信(DeviceIDComm))、用户账号信息(用户账号通信(UserAccountComm))、日历信息(日历通信(CalendarComm))、位置信息(位置通信(LocationComm))、记录的音频信息(记录的音频通信(RecordAudioComm))、加速计信息(加速计通信(AccelerometerComm))等的通信。
行为观察器单元202可以监测/观察罗盘信息、移动计算设备设置、电池寿命、陀螺仪信息、压力传感器、磁传感器、屏幕活动等的使用和对上述项的更新/改变。行为观察器单元202可以监测/观察被传送到软件应用的通知(应用通知(AppNotifications))和从软件应用传送的通知、应用更新等。行为观察器单元202可以监测/观察与第一软件应用请求下载和/或安装第二软件应用相关的条件或事件。行为观察器单元202可以监测/观察与用户验证相关的条件或事件(例如,密码的输入等)。
行为观察器单元202还可以监测/观察在计算设备的多个级别上的条件或事件,所述多个级别包括应用级别、无线级别以及传感器级别。应用级别观察可以包括经由面部识别软件来观察用户、观察社交流、观察由用户输入的笔记、观察与银行存折(PassBook)/谷歌钱包(Google Wallet)/贝宝(Paypal)的使用相关的事件等。应用级别观察还可以包括观察与虚拟私有网络(VPN)的使用有关的事件以及与同步、语音搜索、语音控制(例如,通过说一个字来上锁/解锁电话)、语言翻译器、用于计算的数据卸载、视频流、在没有用户活动的情况下的相机使用、在没有用户活动的情况下的麦克风使用等相关的事件。
无线级别观察可以包括确定以下各项中的任何一项或多项的出现、存在或数量:在建立无线通信链路或发送信息之前与移动计算设备的用户交互、双/多用户身份单元(SIM)卡、互联网电台、移动电话约束、用于计算的卸载数据、设备状态通信、作为游戏控制器或家庭控制器的用途、车辆通信、移动计算设备同步等。无线级别观察还可以包括监测无线(WiFi、WiMax、蓝牙等)的使用以进行定位、对等(p2p)通信、同步、车辆到车辆通信和/或机器到机器(m2m)。无线级别观察可以进一步包括监测网络业务使用、统计或简档。
传感器级别观察可以包括监测磁传感器或其它传感器,以确定移动计算设备的使用和/或外部环境。例如,移动计算设备处理器可以被配置为确定电话是在皮套中(例如,经由被配置为检测皮套内的磁铁的磁传感器)还是在用户的口袋中(例如,经由相机或光传感器所检测到的光量)。检测到移动计算设备在皮套中可以与识别可疑的行为有关,这是因为,例如,当移动计算设备被放入皮套中时发生的与用户进行的活跃使用(例如,拍照片或视频、发送消息、进行语音呼叫、记录声音等)相关的活动和功能可能是在设备上执行不法过程(例如,来跟踪或侦察用户)的迹象。
与使用或外部环境相关的传感器级别观察的其它示例可以包括检测近场通信(NFC)、从信用卡扫描器、条形码扫描器或移动标签阅读器收集信息、检测通用串行总线(USB)充电源的存在、检测键盘或辅助设备已经耦合到移动计算设备、检测移动计算设备已经耦合到外围设备(例如,经由USB等)、确定LED、闪光、闪光灯或光源是否已经被修改或禁用(例如,恶意地禁用紧急事件信令应用等)、检测扬声器或麦克风已经被开启或通电、检测充电或电源事件、检测移动计算设备正在被用作游戏控制器等。传感器级别观察还可以包括从医疗或健康传感器或者通过扫描用户的身体来收集信息、从插入到USB/音频插口中的外部传感器收集信息、从感触或触觉传感器收集信息(例如,经由振动器接口等)、收集与移动计算设备的热状态相关的信息等。
为了将被监测的因素的数量降低到可管理的水平,在一个方面中,行为观察器单元202可以通过监测/观察作为可以对移动计算设备的降级起作用的所有因素的小的子集的行为或因素的初始集合来执行粗略观察。在一个方面中,行为观察器单元202可以从网络服务器116和/或云服务或网络118中的组件接收行为和/或因素的初始集合。在一个方面中,可以在从服务器116和/或云服务/网络118接收的数据/行为模型中指定行为/因素的初始集合。在一个方面中,可以在降低的特征模型(RFM)中指定行为/因素的初始集合。
行为分析器单元204和/或分类器单元208可以从行为观察器单元202接收观察,将所接收的信息(即,观察)与从外部单元接收的上下文信息进行比较,并且识别与所接收的观察相关联的、正在对设备随时间的降级起作用(或可能起作用),或者可以以其它方式引起设备上的问题的子系统、过程和/或应用。
在一个方面中,行为分析器单元204和/或分类器单元208可以包括用于利用信息的有限集合(即,粗略观察)来识别行为、过程或程序的智能,所述行为、过程或程序正在对设备随时间的降级起作用(或可能起作用),或者可以以其它方式引起设备上的问题。例如,行为分析器单元204可以被配置为分析从各个单元(例如,行为观察器单元202、外部单元等)收集的信息(例如,以观察的形式),获悉移动计算设备的正常操作行为,并且基于比较结果来生成一个或多个行为向量。行为分析器单元204可以向分类器单元208发送所生成的行为向量以用于进一步的分析。
分类器单元208可以接收行为向量,并且将其与一个或多个行为单元进行比较,以确定特定的移动计算设备行为、软件应用或过程是不期望的(例如,性能降级的和/或恶意的)、良性的还是可疑的。
响应于分类器单元208确定行为、软件应用或过程是恶意的或性能降级的,分类器单元208可以通知致动器单元210,致动器单元210可以执行各种动作或操作来纠正被确定为是恶意的或性能降级的移动计算设备行为,和/或执行操作来治愈、治疗、隔离或以其它方式来改正所识别的问题。
响应于分类器单元208确定行为、软件应用或过程是可疑的,分类器单元208可以通知行为观察器单元202,行为观察器单元202可以调整其观察的粒度(即,观察移动计算设备行为所采用的细节级别)和/或基于从分类器单元208接收的信息(例如,实时分析操作的结果)来改变观察到的行为,生成或收集新的或额外的行为信息,并且将新的/额外的信息发送给行为分析器单元204和/或分类器单元208,以用于进一步的分析/分类。行为观察器单元202和分类器单元208之间的这种反馈通信使移动计算设备102能够递归地增加观察的粒度(即,进行更精细的或更详细的观察)或改变观察到的特征/行为,直到识别可疑的或性能降级的移动计算设备行为的源为止,直到达到处理或电池消耗门限为止,或直到移动计算设备处理器确定无法通过观察粒度的进一步的增加来识别可疑的或性能降级的移动计算设备行为的源为止。这种反馈通信还使移动计算设备102能够在移动计算设备中本地地调整或修改数据/行为模型,而不消耗过量的移动计算设备的处理、存储器或能量资源。
在一个方面中,行为观察器单元202和行为分析器单元204可以单独地或共同地提供对计算系统的行为的实时行为分析,以根据有限或粗略观察来识别可疑行为,动态地确定要更加详细地观察的行为,以及动态地确定针对观察所要求的细节级别。以这种方式,行为观察器单元202使移动计算设备102能够高效地识别问题并且阻止在移动计算设备上发生问题,而不需要设备上的大量的处理器、存储器或电池资源。
图2B示出了在包括移动计算设备102与一个或多个外围设备222a-222c相通信的方面中的系统中的示例逻辑组件和信息流。如上文参照图2A描述的,移动计算设备102可以被配置为确定移动计算设备102上的特定的移动计算设备行为、软件应用或过程是不期望的(例如,恶意的和/或性能降级的)、可疑的还是良性的。
如上所述,移动计算设备102可以通过连接到一个或多个外围设备222a-222c来获得额外的或增强的功能/特征/能力。例如,当将外围设备222a(例如,信用卡读取器设备)直接插入到移动计算设备102中时,移动计算设备102可以获得从信用卡读取信用卡信息的能力以及通过将信用卡信息转发给第三方金融机构来促进信用卡交易的能力。
因此,在进一步的方面中,因为连接到一个或多个外围设备222a-222c可以扩展移动计算设备102的能力和/或使移动计算设备102能够控制外围设备222a-222c,所以在移动计算设备102上操作的行为观察器单元202可以被配置为开始监测/观察移动计算设备102上的与这些扩展的能力相关的特征/行为,以确保在移动计算设备102上发生的这些行为是安全的而不是恶意的或性能降级的。在上文示例中,行为观察器单元202可以被配置为开始监测移动计算设备102上的与在信用卡读取器设备上从信用卡读取数字并且将那些信用卡数字发送给Square公司网站进行处理相关的行为。
在另一个示例中,移动计算设备102可以连接到外围设备222b(例如,智能TV),并且可以获得与外围设备222b相关的额外的能力,诸如使用在移动计算设备102上执行的智能TV应用来远程地改变外围设备222b上的频道的能力。在该示例中,行为观察器单元202可以监测移动计算设备上的与控制外围设备222b和/或与外围设备222b进行通信相关的行为,以确保在移动计算设备102上操作的应用或过程不导致外围设备222b经历不期望的行为(例如,导致智能TV显示不想要的广告)。
在一个方面中,行为观察器单元202可以经由外围设备222a-222c所提供的API来进行行为观察和/或获得与一个或多个外围设备222a-222c相关的信息。例如,可以在用于外围设备222a的在移动计算设备102上接收的(例如,经由从互联网的下载或经由从外围设备的直接安装)应用中提供API。API可以使行为观察器单元202能够直接收集可以用于对在移动计算设备上发生的与外围设备222a-222c相关的行为进行分析/分类的额外的信息。因此,通过使用专用API,行为观察器单元202能够收集与外围设备相关的广泛的信息,以用于检测移动计算设备102上的不期望的行为(例如,恶意的行为和/或性能降级的行为)。
在另一个方面中,一个或多个外围设备222a-222c均可以可选地包括行为观察器单元(例如,行为观察器224a-224c),所述行为观察器单元可以被配置为以与在移动计算设备上操作的行为观察器单元202实质上类似的方式来运作。因此,行为观察器224a-224c可以被配置为监测在外围设备上发生的各种行为、过程、通信等,并且可以被配置为将那些观察发送给移动计算设备102上的行为观察器单元202。例如,行为观察器224a-224c可以利用其相应的外围设备222a-222c上的API或其它组件来提取可能与对移动计算设备102上的与那些外围设备222a-222c相关的行为进行分类相关的各种类型的信息。在这样的方面中,行为观察器单元202可以将其观察和从行为观察器224a-224c接收的观察发送给行为分析器单元204和/或分类器单元208,以确定观察是否指示在移动计算设备102上是否发生与外围设备相关的不期望的行为。
在另一个方面中,行为观察器单元202可以被配置为基于从外围设备222a-222c接收的输入和/或在外围设备222a-222c与移动计算设备102之间交换的通信来生成与外围设备相关的观察。例如,行为观察器单元202可以在一段时间内观察来自外围设备222a的输出,并且可以将这些观察发送给行为分析器单元204,以确定外围设备222a是否已经发送可以指示在移动计算设备102上发生与外围设备相关的不期望的行为的某个输出。在另一个示例中,行为观察器单元202可以监测从移动计算设备102发送给外围设备222c(例如,汽车)的通信,并且可以观察移动计算设备102在指示外围设备222c在执行停车操作时极大地超过典型的或期望的速度。
如上文参照图2A描述的,行为观察器单元202(以及可选地行为观察器224a-224c)可以将其行为观察发送给行为分析器单元204和/或分类器单元208。行为分析器单元204可以基于这些观察来生成行为向量,并且将所生成的行为向量应用于对移动计算设备102上的与连接到移动计算设备102的一个或多个外围设备222a-222c相关的特征进行测试/分类的分类器模型。行为分析器单元204和/或分类器单元208还可以基于行为向量到分类器模型的应用来将移动计算设备行为分类为恶意的、性能降级的、良性的或可疑的,如上文参照图2A描述的。
图3示出了包括移动计算设备102的方面系统300中的示例组件和信息流,移动计算设备102被配置为结合服务器116来工作,以智能和高效地识别活跃地恶意的或拙劣编写的软件应用和/或与连接到移动计算设备102的一个或多个外围设备相关的可疑的或性能降级的移动计算设备行为,而不消耗过量的移动计算设备的处理、存储器或能量资源。
在图3中示出的示例中,服务器116包括云单元302、模型生成器304单元以及训练数据单元306。移动计算设备102包括行为观察器单元202、行为分析器单元204、致动器单元210、特征生成器单元316以及特征监测引擎320。在各个方面中,特征生成器单元316和/或特征监测引擎320可以被包括或被实现作为行为分析器单元204的一部分或分类器单元208的一部分(未在图3中示出)。
云单元302可以被配置为从云服务/网络118接收包括可能对移动计算设备102随时间的降级起作用的特征、数据点和/或因素中的全部或大多数的大量信息,包括可能在连接到移动计算设备102的外围设备330上出现的/与连接到移动计算设备102的外围设备330相关的特征。
模型生成器304可以使用在云单元302中接收的信息和训练数据(例如,经由训练数据单元306)来生成完全或鲁棒分类器模型,其包括或识别可能对移动计算设备102随时间的降级起作用的特征、数据点和/或因素中的全部或大多数。
在各个方面中,服务器116可以被配置为通过实施、执行和/或将机器学习和/或上下文建模技术应用于行为信息和/或许多移动计算设备所提供的行为分析的结果或从云服务/网络118接收的其它信息来生成完全分类器模型。因此,服务器116可以从多个移动计算设备接收大量报告,并且分析、合并或以其它方式将这种众包信息变成可用信息,尤其是可以被全部移动计算设备使用或访问的行为模型。随着从移动计算设备接收新的行为/分析报告,服务器116可以持续地对现有的行为模型进行重新评估,和/或基于历史信息(例如,从行为模型的先前执行、先前应用等收集的信息)、新信息、机器学习、上下文建模以及检测到的可用信息、移动计算设备状态、环境条件、网络条件、移动计算设备性能、电池消耗水平等的变化来生成新的或更新的行为模型。
在一个方面中,模型生成器304可以生成完全分类器模型以包括有限状态机表示,诸如一个提升决策树桩或提升决策树桩族,其可以被快速和高效地剔除、修改或转换成适于在移动计算设备处理器中使用或执行的贫乏分类器模型。有限状态机表达或表示可以是包括测试条件、状态信息、状态转变规则以及其它类似信息的信息结构。在一个方面中,有限状态机表达或表示可以是包括大型或鲁棒提升决策树桩族(它们均对移动计算设备的行为的条件、特征、因素或方面进行评估或测试)的信息结构。
在一个方面中,模型生成器304单元可以将完全分类器单元(例如,经由传输340)发送给移动计算设备102,移动计算设备102可以被配置为基于在云单元302中生成的完全模型来生成贫乏数据/行为模型。在一个方面中,移动计算设备102可以被配置为使用完全分类器模型来生成具有不同级别的复杂度(或“贫瘠”)的贫乏分类器模型族。此外,生成贫乏数据/行为模型可以包括生成一个或多个降低的特征模型(RFM),RFM包括在服务器116中生成的完全模型中包括的特征和数据点的子集。在另一个方面中,移动计算设备可以生成包括初始特征集合(例如,初始降低的特征模型)的贫乏数据/行为模型,所述初始特征集合包括被确定为最有可能使行为分析器单元204能够最后确定特定的移动计算设备行为是良性的还是不期望的(例如,恶意的和/或性能降级的)信息。
在一个方面中,移动计算设备102可以被配置为对在从服务器116接收的完全分类器模型中包括的提升决策树桩族进行剔除,以生成包括减少数量的提升决策树桩和/或对有限数量的测试条件进行评估的贫乏分类器模型。可以通过以下操作来完成对完全提升决策树桩分类器模型的这种剔除:选择提升决策树桩;识别取决于与所选择的决策树桩相同的特定于移动计算设备的状态、特征、行为或条件的所有其它提升决策树桩(并且因此可以基于一个确定结果来应用);在贫乏分类器模型中包括所选择的提升决策树桩和取决于相同的特定于移动计算设备的状态、特征、行为或条件的所有识别的其它提升决策树桩;以及针对尚未包括在贫乏分类器模型中的有限数量的选择的提升决策树桩来重复该过程。以这种方式,可以生成包括取决于有限数量的不同状态、特征、行为或条件的所有提升决策树桩的贫乏分类器模型。移动计算设备然后可以使用该本地生成的贫乏分类器模型来对移动计算设备行为进行快速地分类,而不消耗过量的移动计算设备的处理、存储器或能量资源。
提升决策树桩是恰好具有一个节点(并且因此具有一个测试问题或测试条件)和权重值的一级决策树,并且因此很好地适于在对数据/行为的二进制分类中使用。即,将行为向量应用于提升决策树桩产生二进制回答(例如,是或否)。例如,如果提升决策树桩所测试的问题/条件是“SMS传输的频率是否小于x/分钟”,则将值3应用于提升决策树桩将产生“是”回答(针对“小于3”的SMS传输)或“否”回答(针对“3或更多”的SMS传输)。
树桩是高效的,这是因为其是非常简单和原始的(并且因此不要求显著的处理资源)。树桩还是非常可并行化的,并且因此可以并行/同时应用许多树桩(例如,通过移动计算设备中的多个内核或处理器)。
在一个方面中,移动计算设备102的行为分析器单元204可以生成以决策树桩的形式的贫乏分类器模型,而不需要访问服务器116上的训练数据(例如,从训练数据单元306),因此消除了对移动计算设备102到服务器116之间的反馈通信的要求。换句话说,行为分析器单元204可以生成和应用贫乏分类器模型,而不需要与云或网络进行通信来重新训练数据,这显著地减少了移动计算设备对云的依赖(并且因此改善了移动计算设备的性能和功耗特性)。行为分析器单元204还可以使用提升决策树桩来对计算设备行为进行分类,以识别恶意的或性能降级的行为。
在一个方面中,移动计算设备可以被配置为执行“联合特征选择和删减”操作,“联合特征选择和删减”操作允许移动计算设备执行以下操作:在运行时生成贫乏分类器模型,而不需要访问云训练数据;每应用来动态地重新配置分类器,以增强分类准确性;以及指定每个分类器的确定复杂性(例如,O(树桩的#))。
在一个方面中,“联合特征选择和删减”操作可以包括执行特征选择操作。例如,行为分析器单元204可以确定需要生成对2个唯一特征(例如,F1和F3)进行测试的贫乏分类器模型,在这种情况下,特征选择操作可以包括遍历100个提升决策树桩的列表,直到发现前2个唯一特征(例如,F1和F3)为止。
行为分析器单元204然后可以仅对特征选择操作所识别的特征(例如,F1和F3)进行测试,这可以通过遍历100个提升决策树桩的完整列表并且删除对不同的特征/条件(例如,F5)进行测试的任何树桩来完成。剩余的提升决策树桩(即,对条件“F1”和“F3”进行测试的树桩)可以被用作贫乏分类器模型,而不需要重新训练数据。行为分析器单元204可以将行为信息(例如,以行为向量的形式)应用于剩余的提升决策树桩中的每一个,计算从剩余的树桩接收的全部回答的加权平均,以及使用加权平均来确定移动计算设备行为是不期望的还是良性的。
一旦已经通过特征选择和删减过程生成了提升决策树桩,行为分析器单元204就可以使用选择的决策树桩作为行为模型,行为分析器单元204可以将所述行为模型与当前的设备状态、设置和行为做比较。由于决策树桩是独立的二进制测试,所以行为分析器单元204可以并行地执行将观察到的行为(其可以被总结在行为向量中)与模型进行比较的行为分析过程。此外,由于树桩是非常简单的(基本为二进制),因此对执行每个树桩的处理可以是非常简单的,并且因此可以利用较少的处理开销来快速地完成。因为每个决策树桩产生具有权重值的回答,所以行为分析器单元204的关于行为是不期望的还是良性的最终决策可以被确定作为所有结果的加权和(其可能也是简单的计算)。
因此,在一个方面中,行为分析器单元204可以根据从行为观察器单元202接收的对移动计算设备102上的正在进行的行为的观察来生成行为向量,并且行为分析器单元204可以将行为向量应用于提升决策树桩,以确定移动计算设备102上的正在进行的行为是不期望的还是良性的。
在进一步的方面中,行为分析器单元204可以修改作为执行联合特征选择和删减操作的结果而生成的贫乏分类器模型,以并入/考虑移动计算设备102上的与连接到移动计算设备102的外围设备330相关的特征。
在一个方面中,行为分析器单元204根据从服务器116接收的大型分类器模型来初始生成的贫乏分类器模型可能不足以表示与外围设备330相关的特征和行为。例如,从服务器116接收的大型分类器模型可能仅包括少量与生物传感器相关的行为向量/模型。因为移动计算设备102可能不包括生物传感器,所以行为分析器单元204可以初始地生成贫乏分类器模型,而不考虑那些生物传感器特征。然而,如果移动计算设备102连接到使移动计算设备102能够接收和利用生物数据的外围设备330,则移动计算设备102上的那些新的生物传感器特征现在可能是与进行某些金融交易(例如,谷歌钱包)高度相关的,并且可能高度期望的是:将那些生物传感器特征包括在贫乏分类器模型中,以便检测移动计算设备102上的与生物传感器特征相关的可能具有显著的金融影响(例如,向黑客发送信用卡信息)的恶意的或性能降级的行为。因此,移动计算设备102和/或连接到移动计算设备102的外围设备330可以受益于对在移动计算设备102上发生的与外围设备330相关的行为的增加的警惕。
在另一个方面中,行为分析器单元204可以从在移动计算设备102上操作的特征生成器单元316获悉要包括在与连接到移动计算设备102的外围设备330相关的分类器模型中的特征。在一个方面中,特征生成器单元316可以被单独地实现或被实现为行为分析器单元204的一部分。特征生成器单元316可以被配置为与特征监测引擎320相通信,所述特征监测引擎320被配置为监测移动计算设备的功能/能力的变化,诸如当移动计算设备102连接到外围设备时。
响应于检测到外围设备330已经连接到移动计算设备102,特征监测引擎320可以向特征生成器单元316发出警报,并且特征生成器单元316可以确定移动计算设备102上的与该外围设备330相关的新的或修改的特征。例如,移动计算设备102可以在无线地连接到起搏器外围设备之后,获得从该设备接收生物数据的能力,并且特征生成器单元316可以识别与接收生物数据相关的一个或多个特征、条件、测试等。特征生成器单元316还可以用信号通知行为分析器单元204在分类器模型中考虑与被行为观察器单元202用于监测移动计算设备102上的不期望的行为(例如,恶意的和/或性能降级的行为)的新的或扩展的移动计算设备能力相关的特征。因此,当移动计算设备102连接到一个或多个外围设备时,通过修改或更新从大型分类器模型中推导出的贫乏分类器模型,行为分析器单元204可以确保在贫乏分类器模型中包括并且因此针对不期望的行为来监测移动计算设备102上的与那些外围设备相关的重要特征。
在另一个方面中,特征生成器单元316和/或行为分析器单元204可以检测和识别连接到移动计算设备102的外围设备330,并且可以发送向服务器116的对与外围设备330相关的特征的测试、分类器、信息等的请求342(在图3中标记为“外围设备特征请求”)。响应于接收该请求,服务器116可以访问云数据集合并且可以发送响应传输344(在图3中标记为“外围设备特征”),所述响应传输344包括针对与外围设备330相关的一个或多个移动计算设备特征的分类信息、测试等。
图4示出了由移动计算设备上的一个或多个处理器实现的用于生成分类器模型的方面方法400,所述分类器模型考虑与连接到移动计算设备的外围设备相关的特征。为了确保分类器模型包括与外围设备相关的将使移动计算设备能够检测在移动计算设备上发生的不期望的行为的特征或其它信息,移动计算设备上的一个或多个处理器可以执行以下操作,当在框402中移动计算设备通电时开始。
在框404中,执行特征监测引擎的处理器可以检测已经连接到移动计算设备的外围设备,诸如通过扫描移动计算设备来识别连接到或刚刚连接到移动计算设备的外围设备。例如,当已经与外围设备建立无线或有线连接(例如,蓝牙连接)时,执行特征监测引擎的处理器可以从内核空间接收信号。
在框406中,执行特征生成器的处理器可以识别连接到移动计算设备的外围设备。例如,执行特征生成器的处理器可以经由托管在外围设备上的API(例如,经由即插即用检测)来请求和/或接收来自外围设备的识别消息,基于对外围设备上呈现的能力和特征的评估或者基于用于识别外围设备的用户输入来识别外围设备,和/或实现用于识别外围设备和与外围设备进行通信的其它技术。
在框408中,执行行为分析器单元的处理器可以获得对与外围设备相关的特征的行为进行测试/评估/分类的分类器模型,以用于检测移动计算设备上的不期望的行为。在一个方面中,执行行为分析器单元的处理器可以通过确定作为连接到外围设备的结果而在移动计算设备上可获得的新的/扩展的能力并且生成对于移动计算设备的新的/扩展的能力相关的特征的行为进行测试的分类器模型,来获得分类器模型,如下文参照图5进一步描述的。在另一个方面中,执行行为分析器单元的处理器可以通过基于与外围设备相关的期望发生的行为来生成特征和/或数据点的集合,来获得对移动计算设备上的与外围设备相关的特征的行为进行测试的分类器模型,如下文参照图6进一步描述的。执行行为分析器单元的处理器还可以通过向服务器请求针对与所识别的外围设备相关的特征的分类器信息来获得分类器模型,如下文参照图7A进一步描述的。在另一个方面中,执行行为分析器单元的处理器可以通过修改根据从服务器接收的完全分类器来生成的贫乏分类器模型以包括与外围设备相关的特征,来获得对这样的特征的行为进行测试的分类器模型,如下文参照图8进一步描述的。
在框410中,执行行为观察器单元的处理器可以观察移动计算设备上的与在框408中获得的分类器模型中包括/描述的外围设备特征相关的行为。如上文参照图2A和2B描述的,执行行为观察器单元的处理器可以接收关于与外围设备相关的特征的观察、数据、信号、测量、读数和/或各种其它类型的信息。在一个方面中,执行行为观察器单元的处理器可以通过直接从外围设备收集信息来观察与外围设备相关的这些行为(例如,从包括在外围设备上的行为观察器单元或经由出于该目的而专门配置的API),如下文参照图9进一步描述的。在另一个方面中,执行行为观察器单元的处理器可以通过基于外围设备与移动计算设备之间的通信和/或基于在移动计算设备上从外围设备接收的输入来间接地从外围设备收集信息,来观察移动计算设备上的与外围设备相关的行为,如下文参照图10进一步描述的。
在框412中,执行行为分析器单元的处理器可以基于在框410中观察的行为来生成针对移动计算设备的当前配置的行为向量,如上文参照图2A和2B一般地描述的。因此,在一个方面中,执行行为分析器单元的处理器可以从在移动计算设备和/或外围设备中的一者或两者上操作的行为观察器单元接收对与外围设备相关的特征的行为的观察。
在框414中,执行分类器单元的处理器和/或执行行为分析器单元的处理器可以将所生成的行为向量应用于包括与外围设备相关的特征的分类器模型,诸如通过将所生成的行为向量应用于用于描述与外围设备相关的特征的提升决策树桩。在一个方面中,执行分类器单元和/或行为分析器单元的处理器可以将表示与外围设备相关的特定特征的行为向量中的值应用于对该特征进行测试的一个或多个提升决策树桩。将行为向量值应用于提升决策树桩的结果是二进制结果,诸如“是”或“否”,其中每个结果被分配给用于指示关于与外围设备相关的特征的行为是良性的还是不期望的(例如,恶意的或性能降级的)置信因子的加权概率。
例如,执行行为分类器单元的处理器可以对移动计算设备上的远程停车特征进行测试,所述远程停车特征使得汽车外围设备在没有直接的司机输入的情况下进行停车。执行行为分类器单元的处理器可以应用远程停车特征的行为向量值以解析与该特征相关的提升决策树桩。与远程停车特征相关的提升决策树桩可以包括对“汽车外围设备是否移动的比15英里/小时快”、“汽车外围设备是否移动的比10英里/小时快”、“汽车外围设备是否移动的比5英里/小时快”等的测试。每个提升决策树桩测试的解析可以产生关于移动计算设备的远程停车特征的行为是不期望的或良性的某个加权概率,并且执行行为分类器和/或行为分析器单元的处理器可以对加权概率进行组合,以确定与外围设备相关的行为是不期望的还是良性的以及该结论的某个置信(例如,当前配置是良性的置信为35%)。
在确定框416中,执行行为分析器单元和/或分类器单元的处理器可以确定将在框414中生成的行为向量应用于包括与外围设备相关的特征的分类器模型是否指示在移动计算设备上存在与外围设备相关的不期望的行为。在一个方面中,将所生成的行为向量应用于包括与外围设备相关的特征的分类器模型可以指示移动计算设备上的恶意的和/或性能降级的行为是否在负面地影响外围设备,外围设备上的恶意的和/或性能降级的行为是否在负面地影响移动计算设备,和/或外围设备和移动计算设备两者上的恶意的和/或性能降级的行为是否在负面地影响那些设备中的一者或两者。
在上文示例中,当汽车外围设备执行远程停车操作的安全和/或期望速度是3-5英里/小时,而移动计算设备正指示汽车外围设备移动的比15英里/小时快时,执行行为分析器单元和/或分类器单元的处理器可以高度肯定地确定与汽车外围设备相关的行为极有可能是恶意的。
响应于执行行为分析器单元和/或分类器单元的处理器确定将所生成的行为向量应用于分类器模型指示存在在移动计算设备上发生的与外围设备相关的不期望的行为(即,确定框416=“是”),在框420中,执行致动器的处理器可以终止移动计算设备上的与外围设备相关的不期望的行为。为了终止不期望的行为,执行致动器的处理器可以限制对与违反行为相关的特征的访问,或者识别对恶意的/性能降级的行为负责的元素,并且隔离、删除或治疗该元素。因此,在上文示例中,执行致动器单元的处理器可以确定在移动计算设备上操作的过程或应用在向汽车外围设备发送以不安全速度移动的恶意指令,并且可以终止该过程或应用,或者修改恶意指令以确保汽车外围设备不超过安全速度。
响应于执行行为分析器单元和/或分类器单元的处理器确定将所生成的行为向量应用于分类器模型不指示存在与外围设备相关的不期望的行为(即,确定框416=“否”),移动计算设备上的一个或多个处理器可以通过观察移动计算设备上的与外围设备相关的行为来在开始于框410的循环中重复上述操作。
在可选方面中,在可选确定框418中,移动计算设备上的执行特征监测引擎的处理器可以确定是否另一个外围设备已经连接到移动计算设备。例如,外围设备可能偶尔连接到移动计算设备,因此扩展与那些外围设备相关的、对于移动计算设备来说可获得的并且可能导致恶意的或性能降级的行为的特征和能力。响应于执行特征监测引擎的处理器确定另一个外围设备尚未连接到移动计算设备(即,可选确定框418=“否”),移动计算设备上的一个或多个处理器可以通过观察移动计算设备上的与在框408中获得的分类器单元中包括的外围设备特征相关的行为,来在开始于框410的循环中重复上述操作。
响应于执行特征监测引擎的处理器确定另一个外围设备已经连接到移动计算设备(即,可选确定框418=“是”),移动计算设备上的一个或多个处理器可以通过在框406中识别已经连接到移动计算设备的另一个外围设备,来在循环中重复上述操作。
图5示出了可以由移动计算设备上的一个或多个处理器实现的、用于基于被确定为在连接到移动计算设备的外围设备上存在的一个或多个能力来生成分类器模型的方面方法500。方法500的操作实现上文参照图4描述的方法400的框408的操作的方面,并且可以在执行特征生成器单元的处理器在方法400的框406中识别外围设备之后开始。
如上所述,随着在移动计算设备的正常操作期间添加或移除与外围设备相关的特征,可以动态地改变移动计算设备的特征/能力。例如,移动计算设备可以与能够在移动计算设备上发起呼叫的智能手表外围设备建立连接。考虑到移动计算设备上的与外围设备相关的特征的动态特性,用于检测移动计算设备上的恶意的/性能降级的行为的分类器模型可能需要考虑移动计算设备上的与连接到移动计算设备的外围设备相关的新的/扩展的特征,以便防止与那些外围设备相关的性能和安全问题。
在框502中,执行特征生成器单元的处理器可以识别在方法400的框406中识别的外围设备的一个或多个能力,诸如通过扫描外围设备,向外围设备请求信息,或通过各种其它已知机制(例如,通过利用外围设备的即插即用能力)。在一个方面中,执行特征生成器单元的处理器还可以仅基于外围设备的身份来确定与外围设备相关的能力。例如,当执行特征生成器单元的处理器确定所识别的外围设备是蓝牙扬声器时,处理器可以确定扬声器能够接收音频信号,将那些音频信号转换成听得见的声音,并且播放听得见的声音。
在框504中,执行特征生成器单元的处理器还可以确定移动计算设备上的与在框502中识别的外围设备的一个或多个能力相关的一个或多个特征。在上文示例中,执行特征生成器单元的处理器可以确定移动计算设备现在能够向扬声器发送音频信号用于播放,并且因此可以具有基于蓝牙扬声器的从音频信号输入生成听得见的声音的能力的“远程音频播放”特征。
在框506中,执行行为分析器单元的处理器可以基于在框504中确定的移动计算设备的一个或多个特征来生成分类器模型。在一个方面中,执行行为分析器单元的处理器可以训练大量具有所确定的特征的数据,来开发对与那些确定的特征相关的行为进行测试、评估和/或分类的分类器模型。在另一个方面中,执行行为分析器单元的处理器可以根据从服务器接收的完全分类器来生成包括所确定的特征的分类器模型(即,处理器可以生成包括在框504中确定的特征的“贫乏”分类器)。
过程可以在框410中继续,这是因为执行行为观察器单元的处理器可能在移动计算设备上观察到与在框506中生成的分类器模型中包括的外围设备特征相关的行为。
图6示出了可以由在移动计算设备上操作的一个或多个处理器实现的、用于基于期望在移动计算设备上发生的与外围设备相关的一个或多个行为来生成分类器模型的方面方法600。
在一个方面中,在移动计算设备上操作的组件可能无法立即生成针对已经连接到移动计算设备的外围设备的分类器模型,尤其是当外围设备是较老的设备或相对简单的设备(其可能不具有向移动计算设备传送关于其能力的广泛信息的)。对于这种“传统”设备,移动计算设备上的一个或多个处理器可以被配置为观察移动计算设备上的与外围设备相关的各种活动、特征、能力、功能、通信等,并且一个或多个处理器可以基于在移动计算设备和外围设备上和它们之间发生的期望的动作、活动、趋势、模式等来推导出用于对移动计算设备上的与外围设备相关的特征进行测试的分类器模型。换句话说,当外围设备无法直接传送关于其能力和/或特征的信息时,在移动计算设备上操作的处理器可以通过间接地确定移动计算设备与外围设备如何进行交互以及在移动计算设备和外围设备中的一者或两者上发生的什么行为是期望的和非恶意的/非性能降级的,来生成包括与外围设备相关的特征的分类器模型。
方法600的操作实现上文参照图4描述的方法400的框408的操作的方面,并且可以在执行特征生成器单元的处理器在方法400的框406中识别外围设备之后开始。
在框602中,执行特征生成器单元的处理器可以在一段时间内观察移动计算设备上的与外围设备相关的行为。在一个方面中,处理器可以监测移动计算设备和外围设备之间的交互和通信,来自外围设备的输出,和/或从移动计算设备发送给外围设备的指令。例如,执行特征生成器单元的处理器可以观察从信用卡读取器设备发送给移动计算设备的信用卡数据,并且可以观察信用卡数据始终从移动计算设备发送给相同的网站。
因此,在框604中,执行特征生成器单元的处理器可以基于在框602中进行的观察来识别移动计算设备上的与外围设备相关的期望发生的一个或多个行为。在框604中执行的操作的方面中,执行特征生成器单元的处理器可以通过检测动作、输入、输出、通信等的模式来识别一个或多个期望的行为。在另一个方面中,执行特征生成器单元的处理器可以基于外围设备的能力(即,外围设备应当能够或应当不能够做什么和/或应当允许或不应当允许移动计算设备利用外围设备来做什么)来推断期望发生的行为。例如,执行特征生成器单元的处理器可以确定连接到移动计算设备的指纹扫描器外围设备应当不能够(或不被允许)使得移动计算设备向未知网站秘密地发送数据。
在框606中,执行行为分析器单元的处理器可以确定移动计算设备上的与在框604中识别的一个或多个期望的行为相关的特征集合,诸如与在信用卡刷过信用卡读取器外围设备之后从移动计算设备向特定网站发送信用卡数据相关的“信用卡读取器”特征。换句话说,执行行为分析器单元的处理器可以基于对期望在移动计算设备上发生与外围设备相关的什么行为的详细理解来识别要在移动计算设备上监测/观察的特征。在进一步的方面中,执行行为分析器单元的处理器可以基于对那些特征的观察来确定对与一个或多个期望的行为相关的特征的各种测试(例如,以提升决策树桩的形式)。
在框608中,执行行为分析器单元和/或分类器单元的处理器还可以基于与一个或多个期望的行为相关的特征集合来生成分类器模型。过程可以在如上文参照图4描述的方法400的框410中继续,这是因为移动计算设备上的执行行为观察器单元的处理器可以针对不期望的行为来监测在框608中生成的分类器模型中包括的特征。
图7A示出了可以由在移动计算设备上操作的一个或多个处理器实现的、用于从服务器获得包括移动计算设备上的与连接到移动计算设备的外围设备相关的特征的分类器模型的方面方法700。
在一个方面中,在移动计算设备上操作的一个或多个处理器可以与网络服务器(例如,如上文参照图3描述的服务器116)相通信,并且一个或多个处理器可以使用服务器的优越的计算能力并且访问海量信息,以获得包括尤其可用于检测移动计算设备上的与连接到移动计算设备的外围设备相关的恶意的或性能降级的行为的特征的分类器模型。
方法700的操作实现上文参照图4描述的方法400的框408的操作的方面,并且可以在执行特征生成器单元的处理器在方法400的框406中识别外围设备之后开始。
在框702中,执行行为分析器单元的处理器可以生成用于识别连接到移动计算设备的外围设备和/或外围设备的能力的信息。在框702中执行的操作的进一步的方面中,执行行为分析器单元的处理器还可以在发送给服务器的用于识别移动计算设备的信息(例如,设备ID号、型号/序列号等)中包括额外的信息,以足以使服务器能够识别与外围设备相关的可能影响移动计算设备的特征,诸如通过使服务器能够使用识别信息来执行数据库查找操作。在框704中,执行行为分析器单元的处理器可以诸如通过利用或扩展用于与服务器进行通信的API,来向服务器发送在框702中生成的信息。
在框706中,执行行为分析器单元的处理器可以基于在框704中发送给服务器的所生成的信息来从服务器接收包括与外围设备相关的特征的分类器模型(例如,贫乏分类器模型)。因而,分类器模型可以包括移动计算设备上的与外围设备相关的、以提升决策树桩、测试条件等的形式的特征,并且执行行为分析器单元的处理器可以使用提升决策树桩来将与外围设备相关的行为分类为良性的或恶意的/性能降级的,如上文参照图2A和2B描述的。
过程可以在上文参照图4描述的方法400的框410中继续,这是因为移动计算设备上的(和/或外围设备上的)执行行为观察器单元的处理器可以针对与外围设备相关的包括在从服务器接收的分类器中的特征来监测移动计算设备上的行为,来获得不期望行为。
图7B示出了可以由服务器上的执行模型生成器单元的处理器实现的、用于响应于从设备接收关于识别连接到移动计算设备的外围设备和/或外围设备的能力、功能、状态和特征中的一项或多项的信息来向移动计算设备发送分类器模型的方面方法707。如上文参照图3描述的,执行模型生成器单元的服务器处理器可以具有对大量众包信息(即,云数据集合)的访问,服务器处理器可以使用所述众包信息来创建行为分类器。给出了其对如此大的行为信息数据集合的访问,执行模型生成器单元的服务器处理器可能尤其适于生成为连接到特定外围设备的移动计算设备特别定制的分类器模型。因此,在一个方面中,模型生成器单元可以向移动计算设备提供包括与连接到移动计算设备的一个或多个外围设备相关的特征的高度有效和专用的分类器模型。
在框708中,执行模型生成器单元的服务器处理器可以从请求移动计算设备接收用于识别连接到移动计算设备的外围设备和/或该外围设备的能力的信息。在框602的操作的另一个方面中,从移动计算设备接收的信息还可以包括用于识别移动计算设备和/或设备的能力的信息。用于外围设备和/或移动计算设备的识别信息还可以包括被执行模型生成器单元的服务器处理器用于确定外围设备和/或移动计算设备的能力/功能的信息(例如,型号、序列号、软件版本、功能等)。
在框710中,模型生成器单元可以基于在框708中接收的识别信息来识别移动计算设备的与外围设备相关的特征。在框710中执行的操作的方面中,当所接收的识别信息包括在请求移动计算设备上呈现的特征集合时,执行模型生成器单元的服务器处理器可以仅基于该信息来确定移动计算设备的与外围设备相关的特征。在另一个方面中,模型生成器单元可以访问分类器数据库并且可以取回与上述用于移动计算设备和/或外围设备的识别信息相关联的特征。例如,模型生成器单元可以执行对与包括在所接收的识别信息中的特定型号或设备类型相关联的特征的查找。在另一个示例中,执行模型生成器单元的服务器处理器还可以执行查找以识别与请求移动计算设备和/或外围设备的当前状态/配置(如在所接收的识别信息中描述的)相对应的特征。
在可选确定框712中,模型生成器单元可以确定是否存在与在框710中识别的与外围设备相关的特征相关联的经存储的分类器模型。在可选方面中,执行模型生成器单元的服务器处理器先前可能已经在分类器数据库中存储用于移动计算设备的包括与外围设备相关的特征的分类器模型(如下文参照框718和720进一步描述的),并且服务器处理器可以尝试基于相同的特征来召回(recall)先前生成的包括在框710中识别的与外围设备相关的特征的分类器模型,而不是重新生成另一个分类器模型,因此节省时间和处理资源。因此,类似的移动计算设备可以请求包括与相同的外围设备相关的特征的分类器模型,并且模型生成器单元可以发送先前生成的包括与当前连接到请求移动计算设备的外围设备相关的特征的模型,而不是从头开始为那些移动计算设备中的每一个生成模型。
响应于执行模型生成器单元的服务器处理器确定存在包括在框710中识别的与外围设备相关的特征的经存储的分类器模型(即,可选确定框712=“是”),在可选框722中,服务器处理器可以向请求移动计算设备发送所存储的分类器模型。当接收到所存储的特定于设备的贫乏分类器模型时,请求移动计算设备可以使用模型来监测不期望的行为,如上文参照图7A描述的。
响应于执行模型生成器单元的服务器处理器确定不存在包括在框710中识别的与外围设备相关的特征的经存储的分类器模型(即,可选确定框712=“否”),在框714中,处理器可以获得云数据集合,所述云数据集合包括在多个不同型号/类型的移动计算设备和外围设备上呈现的特征。在一个方面中,在执行上文框714中的操作时,模型生成器单元可以从如上文参照图3描述的云单元取回云数据集合。在框716中,模型生成器单元还可以利用在框710中识别的特征来训练在框608中获得的云数据集合,以生成用于移动计算设备的包括与外围设备相关的特征的分类器模型。换句话说,执行模型生成器单元的服务器处理器可以对云数据集合或根据云数据集合开发的完全分类器模型进行处理,以过滤同与连接到请求移动计算设备的外围设备不相关的特征相关的分类器,以便生成可以使移动计算设备能够针对恶意的和/或性能降级的行为来高效和有效地监测移动计算设备上的与外围设备相关的特征的分类器模型。例如,执行模型生成器单元的服务器处理器可以使用在框710中识别的特征来运行完全机器学习训练算法,以根据连接到请求移动计算设备的外围设备来选择最优地表示请求移动计算设备的能力的分类器模型。在进一步的方面中,模型生成器单元可以生成对应于每个与外围设备相关的特征的一个或多个提升决策树桩的集合。
在可选框718中,执行模型生成器单元的服务器处理器可以存储在框716中生成的分类器模型,例如,通过将其存储在分类器数据库(未示出)中。在可选框720中,执行模型生成器单元的服务器处理器还可以将在框716中生成的分类器模型与在框710中识别的与外围设备相关的特征关联。在另一个方面中,执行模型生成器单元的服务器处理器可以管理存储的分类器模型的列表,因此使服务器处理器能够在将来执行数据库查找操作,以获得同与外围设备相关的和在请求移动计算设备和/或外围设备上呈现的能力和/或特征匹配的存储的分类器模型。
在框724中,执行模型生成器单元的服务器处理器可以向请求移动计算设备发送在框716中生成的分类器模型,移动计算设备可以开始使用所述分类器模型,针对不期望的行为来监测移动计算设备上的与外围设备相关的特征,如上文参照图7A描述的。
图8示出了可以由在移动计算设备上操作的一个或多个处理器实现的、用于修改贫乏分类器模型以包括与连接到移动计算设备的外围设备相关的特征的方面方法800。方法800的操作实现上文参照图4描述的方法400的框402-408的操作的方面,并且可以在移动计算设备通电(在框402中)之后开始。
在框802中,移动计算设备上的处理器可以接收完全分类器模型,所述完全分类器模型包括或识别大量特征和/或与特征相关联的多个测试条件。在一个方面中,完全分类器模型可以包括适于被移动计算设备用于将行为分类为良性的或不期望的(例如,恶意的或性能降级的)多个提升决策树/树桩,诸如通过将行为向量值作为输入应用于提升决策树桩/树以测试与移动计算设备的特征相关的条件。
将行为向量值应用于大量树桩/树以测试大型分类器模型中的多个特征对于移动计算设备可能是繁重的。例如,这些操作可能占用处理器和存储器功能,从而损害移动计算设备的其它过程的性能。这些操作还可以耗尽移动计算设备的电池电量。为了有助于减小对移动计算设备的性能的这些衰减影响,移动计算设备可以实现联合特征选择和删减算法,以根据大型分类器模型来生成贫乏分类器模型,如上文参照图3描述的。
在框804中,执行行为分析器单元的处理器可以选择大型分类器模型中的特征来进行监测和评估,以便对相关的移动计算设备行为进行分类。各种标准可以用于从大型分类器模型中选择特征和提升决策树桩。例如,联合特征选择和删减算法的规则可以指定选择被认为是对于移动计算设备的正确操作至关重要的特征,例如处理器、存储器和通信特征。规则还可以指定当以从最至关重要的移动计算设备特征到最不至关重要或普通的移动计算设备特征的方式对大型分类器模型进行排序时,可能是适当的前某一数量的特征(例如,前50、100、200、1000等个特征)。
在框806中,在处理内核中操作的行为分析器单元可以根据在框804中选择的特征来生成贫乏分类器模型,以对移动计算设备的至少一个特征的行为进行测试。在一个方面中,行为分析器单元可以扫描包括在大型分类器模型中的提升决策树桩的列表,并且将测试所选择的特征中的至少一个特征或由所选择的特征中的至少一个特征回答的每个提升决策树桩并入到贫乏分类器模型中。因此,在一个方面中,贫乏分类器模型可以包括所选择的特征以及与那些选择的特征相关联的提升决策树桩两者。
在框404中,执行特征监测引擎的处理器可以检测已经连接到移动计算设备的外围设备,并且在框406中,执行特征生成器单元的处理器可以识别外围设备,如上文参照图4描述的。
在框812中,执行特征生成器的处理器可以确定移动计算设备的与外围设备相关的一个或多个特征。在框812的操作的方面中,执行特征生成器单元的处理器可以基于外围设备的能力(如上文参照图5描述的)和/或基于期望发生的与外围设备相关的行为(如上文参照图6描述的)来确定这些特征。执行特征生成器单元的处理器还可以从服务器获得与外围设备相关的特征,如上文参照图7A描述的。
执行行为分析器单元和/或分类器单元的处理器可以修改在框806中生成的贫乏分类器模型,以包括在框812中确定的与外围设备相关的一个或多个特征。在框814中执行的操作的方面中,执行行为分析器单元的处理器可以修改贫乏分类器模型,以反映在外围设备上呈现的特征以及移动计算设备上的与外围设备相关的和/或取决于外围设备的特征,而不需要联系服务器,诸如通过将在框812中确定的特征并入到在框806中生成的贫乏分类器模型中。换句话说,如上所述,移动计算设备上的以及可选的外围设备上的执行行为观察器单元的处理器可以开始针对不期望的活动来观察与外围设备相关的特征。
过程可以在上文参照图4描述的方法400的框410中继续,这是因为执行行为观察器单元的处理器可以开始观察移动计算设备上的与包括在所修改的分类器模型中的外围设备特征相关的行为。
图9示出了可以由在移动计算设备上操作的一个或多个处理器实现的、用于基于从在移动计算设备和/或外围设备上操作的行为观察器单元接收的移动计算设备观察来生成行为向量的方面方法900。方法900的操作实现上文参照图4描述的方法400的框410-412的操作的方面,并且可以在移动计算设备已经获得对移动计算设备上的与连接到移动计算设备的外围设备相关的特征的行为进行测试的分类器模型(在方法400的框408中)之后开始。
在框902中,执行行为观察器单元的处理器可以观察在移动计算设备上发生的与在框408中获得的分类器模型中包括的外围设备特征相关的行为,诸如通过观察移动计算设备上的可能涉及与外围设备进行交互的各种过程、应用、配置、状态等(例如,用于控制外围设备的特征和/或移动计算设备上的由外围设备实现的扩展的特征)。换句话说,在执行框902的操作时,执行行为观察器单元的处理器集中于在移动计算设备上本地地发生的可以影响外围设备或受外围设备影响的行为。
在框904中,执行行为观察器单元的处理器还可以从在外围设备上操作的行为观察器单元接收对与在框408中获得的分类器模型中包括的特征相关的外围设备的行为进行描述或表征的观察。在一个方面(未示出)中,执行行为分析器单元的处理器可以使得移动计算设备发送信息,所述信息可以将在外围设备上操作的行为观察器单元配置为观察在外围设备上发生的可以用于对在上文参照图4描述的方法400的框408中获得的分类器模型中包括的特征的行为进行分类的行为。换句话说,在移动计算设备上的执行行为观察器单元的处理器针对与外围设备相关的恶意的/性能降级的活动来监测移动计算设备上的各种特性、特征、过程等的同时,外围设备上的行为观察器单元可以监测在外围设备上发生的与移动计算设备相关的行为。具体地,外围设备上的行为观察器单元可以监测同与移动移动计算设备的通信和/或与移动计算设备交换的输入相关的特征,所述特征可以用于确定外围设备是否在引起在移动计算设备上发生恶意的/性能降级的行为、移动计算设备是否在引起在外围设备上发生恶意的/性能降级的行为、或者两个设备的活动是否在引起在那些设备中的一者或两者上发生恶意的/性能降级的行为。因此,在一个方面中,与在移动计算设备上操作的行为观察器单元相比,外围设备上的行为观察器单元可以更好地观察在外围设备上或在外围设备和移动计算设备之间发生的活动和行为。在这样的方面中,移动计算设备可以使用在外围设备上操作的行为观察器单元的观点来更准确地确定在移动计算设备上是否发生与外围设备相关的恶意的/性能降级的行为。
在框906中,执行行为分析器单元的处理器可以基于在框904中从外围设备接收的观察和在框902中观察到的移动计算设备上的与外围设备相关的行为中的至少一者,来生成针对移动计算设备的当前配置的行为向量。在框906中执行的操作的方面中,执行行为分析器单元的处理器可以利用来自在外围设备上操作的行为观察器单元的观察(每当外围设备包括这样的行为观察器单元时)。此外,对于不包括行为观察器单元的传统/较老的外围设备,执行行为分析器单元的处理器可以仅基于来自在移动计算设备上操作的行为观察器单元的观察来生成行为向量。
过程可以在上文参照图4描述的方法400的框414中开始继续,这是因为执行行为分析器单元和/或分类器单元的处理器可以将在框906中生成的行为向量应用于在方法400的框408中获得的分类器模型,以确定在移动计算设备上是否发生与外围设备相关的恶意的/性能降级的行为。
图10示出了可以由在移动计算设备上操作的一个或多个处理器实现的、用于基于与从连接到移动计算设备的外围设备接收的通信和/或输入相关的观察来生成行为向量的方面方法1000。方法1000的操作实现上文参照图4描述的方法400的框410-412的操作的方面,并且可以在执行行为分析器单元的处理器获得包括移动计算设备上的与外围设备相关的特征的分类器模型(在方法400的框408中)之后开始。
在一个方面中,移动计算设备可以与在外围设备上不包括专用API或专用行为观察器单元的外围设备通信/连接到这样的外围设备,所述专用API或专用行为观察器单元可以使移动计算设备能够接收与外围设备上的性能、配置、过程、行为等相关的直接观察和其它信息,如上文参照图9描述的。在这样的方面中,移动计算设备可以被配置为解释从外围设备接收的各种通信和/或输入,以便当移动计算设备无法进行/接收诸如上文参照图9描述的那些观察的直接观察时,进行对在外围设备上发生的可能与移动计算设备相关的行为的间接观察。
在框902中,移动计算设备上的执行行为分析器单元的处理器可以观察在移动计算设备上发生的与在框408中接收的分类器模型中包括的与外围设备相关的特征相关的行为,如上文参照图9描述的。
在框1002中,执行行为观察器单元的处理器可以监测和/或观察移动计算设备上的与移动计算设备和外围设备之间的通信相关的和/或与移动计算设备上的从外围设备接收的输入相关的行为。在一个方面中,执行行为观察器单元的处理器可以通过观察设备之间的通信模式来推导或推断外围设备的状态和/或在外围设备上发生的行为,并且将那些通信与移动计算设备上的可观察行为或与外围设备上的可预测行为关联。例如,执行行为观察器单元的处理器可以监测来自信用卡读取器外围设备的用于指示移动计算设备秘密地存储信用卡信息的输入。在另一个示例中,执行行为观察器单元的处理器可以监测:从汽车外围设备到移动计算设备的用于报告当前高速率的通信,以及从移动计算设备到汽车外围设备的用于指示汽车外围设备缓慢地执行刹车/减速过程的通信。
在框1004中,执行行为分析器单元的处理器可以基于在框1002中获得的所观察到的在移动计算设备上发生的行为和在框1002中获得的同与外围设备的通信和/或从外围设备接收的输入相关的观察中的至少一者,来生成针对移动计算设备的当前配置的行为向量。换句话说,尽管未接收对外围设备上的行为、过程等的直接观察,如上文参照图9描述的,但是执行行为分析器单元的处理器计算设备可以基于对在移动计算设备上本地地发生的行为的观察以及根据与外围设备的交互推导的间接观察来生成行为向量,以反映在移动计算设备上发生的行为的准确状态。
因此,过程可以在上文参照图4描述的方法400的框414中继续,这是因为执行行为分析器单元和/或分类器单元的处理器可以将在框1004中生成的行为向量应用于在框408中获得的分类器模型,以确定是否发生与外围设备相关的不期望的行为。
图11示出了可以由在移动计算设备上操作的一个或多个处理器实现的、用于在分类器模型中将与已经从计算移动计算设备断开的外围设备相关的特征移除的方面方法1100。
如上所述,移动计算设备可能需要监测/观察与连接到移动计算设备的外围设备相关的特征,以便检测与该外围设备相关的不期望的行为(例如,移动计算设备上的由外围设备引起的恶意的/性能降级的活动和/或外围设备上的由移动计算设备引起的恶意的/性能降级的活动)。然而,当外围设备从移动计算设备断开时,移动计算设备对其进行监测以检测这样的不期望的行为的特征可能不再是相关的。因此,在一个方面中,在移动计算设备上操作的一个或多个处理器可以执行下文描述的操作,以移除包括在分类器模型(例如,在上文参照图4描述的方法400的框408中接收的分类器)中的与断开的外围设备相关的特征,因此确保处理和功率资源仅用于监测/观察仍然与移动计算设备的性能相关的特征。方法1100的操作可以在执行行为分析器单元的处理器获得包括与外围设备相关的特征的分类器(在上文参照图4描述的方法400的框408中)之后开始。
在确定框1102中,执行特征监测引擎的处理器可以确定外围设备是否已经从移动计算设备断开,诸如通过定期地确定当前连接到移动计算设备的外围设备。例如,执行特征监测引擎的处理器可以检测与具有启用蓝牙的无线键盘的无线连接何时丢失或被有目的地中止。响应于执行特征监测引擎的处理器确定外围设备尚未从移动计算设备断开(即,确定框1102=“否”),处理器可以继续执行上文确定框1102中的操作,直到处理器辨别外围设备已经从移动计算设备断开为止。
响应于执行特征监测引擎的处理器确定外围设备已经从移动计算设备断开(即,确定框1102=“是”),在框1104中,执行特征生成器单元和/或行为分析器单元的处理器可以辨别包括在分类器模型中的与断开的外围设备相关的一个或多个特征。在一个方面中,执行特征生成器单元和/或行为分析器单元的处理器可以针对与移动计算设备上的由断开的外围设备实现的扩展的功能/能力和/或移动计算设备上的与控制断开的外围设备或与断开的外围设备进行通信的功能相关的特征来扫描分类器模型。例如,移动计算设备上的处理器可以检测与控制断开的汽车外围设备相关的功能(例如,与“自助停车”相关的功能)以及用于与断开的外围设备进行通信/从断开的外围设备接收信息的类似功能。
在框1106中,执行特征生成器单元和/或行为分析器单元的处理器可以将在框1104中辨别的一个或多个功能从分类器模型中移除。在框1106中执行的操作的进一步的方面中,执行特征生成器单元和/或行为分析器单元的处理器可以通知执行行为观察器单元的处理器停止观察/监测在框1106中从分类器单元中移除的特征。
在另一个方面(未示出)中,执行特征生成器单元的处理器可以存储与断开的外围设备相关的特征/分类器,并且可以将那些特征/分类器与断开的外围设备关联。例如,处理器可以存储同与信用卡读取器外围设备相关的、响应于检测到该信用卡读取器外围设备已经被断开而从分类器模型中移除的特征相关联的提升决策树桩和大量测试条件。在另一个方面中,在所断开的外围设备在将来重新连接到移动计算设备的情况下,执行特征生成器单元的处理器可以快速地取回所存储的与所断开的外围设备相关联的特征、分类器、提升决策树桩等,因此使执行行为观察器单元的处理器能够在没有显著延迟的情况下开始观察那些取回的特征。
过程可以在上文参照图4描述的方法400的框410中继续,这是因为执行行为观察器模块的处理器可以观察分类器模型的剩余特征(即,未在框1104中被辨别为与所断开的外围设备相关的特征)。
各个方面可以实现在多种多样的移动计算设备中的任何移动计算设备中,在图12中示出了移动计算设备的示例。移动计算设备1200可以包括处理器1202,处理器1202耦合到触摸屏控制器1204和内部存储器1206。处理器1202可以是设计用于通用或专用处理任务的一个或多个多核集成电路。内部存储器1206可以是易失性或非易失性存储器,并且还可以是安全和/或加密存储器,或不安全/未加密存储器,或其任意组合。触摸屏控制器1204和处理器1202还可以耦合到触摸屏面板1212,诸如电阻式感应触摸屏、电容式感应触摸屏、红外感应触摸屏等。另外,移动计算设备1200的显示器不需要具有触摸屏能力。
移动计算设备1200可以具有耦合到彼此和/或耦合到处理器1202的一个或多个无线信号收发机1208(例如,花生(Peanut)、蓝牙紫蜂、Wi-Fi、RF无线单元)和天线1210,用于发送和接收通信。收发机1208和天线1210可以与上述电路一起使用来实现各种无线传输协议栈和接口。移动计算设备1200可以包括经由蜂窝网络实现通信并且耦合到处理器的蜂窝网络无线调制解调器芯片1216。
移动计算设备1200可以包括耦合到处理器1202的外围设备连接接口1218。外围设备连接接口1218可以被特别地配置为接受一种类型的连接,或者可以被配置为接受各种类型的公共的或专用的物理和通信连接,诸如USB、火线(FireWire)、雷电(Thunderbolt)或PCIe。外围设备连接接口1218还可以耦合到类似配置的外围设备连接端口(未示出)。
移动计算设备1200还可以包括用于提供音频输出的扬声器1214。移动计算设备1200还可以包括外壳1220,其由塑料、金属或材料的组合来构造,用于包含本文论述的组件中的所有或某些组件。移动计算设备1200可以包括耦合到处理器1202的电源1222,诸如一次性或可再充电的电池。可再充电的电池还可以耦合到外围设备连接端口,以从在计算设备1200外部的源接收充电电流。移动计算设备1200还可以包括用于接收用户输入的物理按钮1224。移动计算设备1200还可以包括用于打开或关闭移动计算设备1200的电源按钮1226。
上述各个方面也可以实现在多种多样的移动计算设备内,诸如在图13中示出的膝上型计算机1300。许多膝上型计算机包括触摸板触摸表面1317,其充当计算机的定点设备,并且因此可以接收拖拽、滚动和轻击手势,类似于在装配有上述触摸屏显示器的移动计算设备上实现的那些操作。膝上型计算机1300将典型地包括处理器1311,其耦合到易失性存储器1312和大容量非易失性存储器,诸如闪速存储器的磁盘驱动器1313。另外,计算机1300可以具有用于发送和接收电磁辐射的一个或多个天线1308,其可以连接到无线数据链路和/或耦合到处理器1311的蜂窝电话收发机1316。计算机1300还可以包括耦合到处理器1311的软盘驱动1314和压缩盘(CD)驱动1315。在笔记本计算机配置中,计算机外壳包括触摸板1317、键盘1318以及显示器1319,它们全部耦合到处理器1311。如公知的,计算设备的其它配置可以包括耦合到处理器(例如,经由USB输入)的计算机鼠标或轨迹球,其还可以结合各个方面来使用。
各个方面可以利用多种多样的外围设备中的任何外围设备来实现,在图14中示出了外围设备的示例。外围设备1400可以包括耦合到内部存储器1404的处理器1402。内部存储器1404可以是易失性或非易失性存储器,并且还可以是安全和/或加密存储器,或不安全/未加密存储器,或其任意组合。处理器1402还可以耦合到触摸屏显示器1414,诸如电阻式感应触摸屏、电容式感应触摸屏、红外感应触摸屏等。另外,外围设备1400的显示器1414不需要具有触摸屏能力。另外,外围设备1400可以具有用于发送和接收电磁辐射的一个或多个天线1408,其可以连接到耦合到处理器1402的收发机1416。外围设备1400还可以包括用于接收用户输入的物理按钮1412。外围设备1400还可以包括用于打开或关闭外围设备1400的电源按钮1418。外围设备还可以包括耦合到处理器1402的电源1410,诸如一次性或可再充电的电池。外围设备还可以具有被配置为输出听得见的声音的扬声器1420。
用于在用于执行各个方面的操作的可编程处理器上执行的计算机程序代码或“程序代码”可以以高级编程语言来书写,例如,C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、结构化查询语言(例如,Transact-SQL)、Perl或各种其它编程语言。如在本申请中使用的,在计算机可读存储介质上存储的程序代码或程序可以指代格式可被处理器理解的机器语言代码(例如,对象代码)。
许多计算设备操作系统内核被组织到用户空间(非特权代码运行处)和内核空间(特权代码运行处)中。该分离在安卓(Android)和其它通用公共许可证(GPL)环境中是尤其重要的,其中作为内核空间的一部分的代码必须被GPL许可,而在用户空间中运行的代码可以不被GPL许可。应当理解的是,除非明确地另外陈述,否则这里论述的各种软件组件/模块/单元可以实现在内核空间或用户空间中。
前述方法描述和过程流程图仅是作为说明性的示例来提供的,并且不旨在要求或暗示各个方面的步骤必须按给出的次序来执行。如本领域的技术人员将认识到的,前述方面中的步骤的次序可以按任意次序来执行。诸如“其后”、“随后”、“接下来”等的词语不旨在限制步骤的次序;这些词语仅用于引导读者浏览方法的描述。此外,任何以单数形式的对权利要求元素的引用,例如使用冠词“一”、“一个”或“这个”不被解释为将元素限制为单数形式。
如在本申请中使用的,术语“组件”、“模块”、“系统”、“引擎”、“生成器”、“单元”、“管理器”等等旨在包括与计算机相关的实体,例如但不限于硬件、固件、硬件和软件的组合、软件或执行中的软件,它们被配置为执行特定的操作或功能。例如,组件可以是,但不限于是:在处理器上运行的过程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。举例而言,在计算设备上运行的应用和计算设备二者可以被称为组件。一个或多个组件可以存在于过程和/或执行的线程中,并且组件可以位于一个处理器或内核上和/或分布在两个或更多处理器或内核中。此外,这些组件可以从具有存储在其上的各种指令和/或数据结构的各种非暂时性计算机可读介质中执行。组件可以通过本地和/或远程过程、函数或过程调用、电信号、数据分组、存储器读取/写入以及其它已知网络、计算机、处理器和/或过程相关的通信方法的方式来进行通信。
结合本文公开的方面描述的各种说明性的逻辑框、模块、单元、电路和算法步骤可以实现为电子硬件、计算机软件或二者的组合。为了清楚地说明硬件和软件的这种互换性,上文依据各种说明性的组件、框、模块、单元、电路和步骤的功能,已经对它们进行了一般性描述。至于这样的功能是实现为硬件还是软件,取决于特定的应用以及施加在整个系统上的设计约束。熟练的技术人员可以针对每个特定的应用,以变通的方式来实现所描述的功能,但是这样的实现决策不应当被解释为引起脱离本发明的范围。
用于实现结合本文公开的方面描述的各种说明性的逻辑单元、逻辑框、模块、单元和电路的硬件可以利用被设计为执行本文描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意组合来实现或执行。通用处理器可以是多处理器,但是在替代的方式中,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器还可以被实现为计算设备的组合,例如,DSP和多处理器的组合、多个多处理器、一个或多个多处理器与DSP内核的结合,或者任何其它这样的配置。替代地,某些步骤和方法可以由特定于给定功能的电路来执行。
在一个或多个方面中描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则所述功能可以作为一个或多个指令或代码存储在非暂时性计算机可读介质上或非暂时性处理器可读介质上。本文公开的方法或算法的步骤可以体现在处理器可执行软件模块中,其可以位于非暂时性计算机可读或处理器可读存储介质上。非暂时性计算机可读或处理器可读存储介质可以是可由计算机或处理器存取的任何存储介质。通过举例而非限制性的方式,这样的非暂时性计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪速存储器、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可以用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机来存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也应当包括在非暂时性计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为代码和/或指令集合中的一个集合或任意组合而位于非暂时性处理器可读介质和/或计算机可读介质上,所述非暂时性处理器可读介质和/或计算机可读介质可以并入到计算机程序产品中。
提供对所公开的方面的前述描述,以使本领域的任何技术人员能够实现或使用本发明。对这些方面的各种修改对于本领域的技术人员将是显而易见的,并且本文所定义的通用原则可以应用到其它方面,而不会脱离本发明的精神或范围。因此,本发明不旨在限于本文示出的方面,而是要符合与下面的权利要求书和本文所公开的原则和新颖性特征相一致的最宽的范围。

Claims (28)

1.一种在连接到外围设备的移动计算设备中生成数据模型的方法,包括:
获得包括与所述外围设备相关的特征的分类器模型;
观察与所述外围设备相关的所述特征的行为;
基于所观察的行为来生成针对所述移动计算设备的配置的行为向量;以及
将所述行为向量应用于所述分类器模型,以检测所述移动计算设备上的与所述外围设备相关的不期望的行为。
2.根据权利要求1所述的方法,其中,与所述外围设备相关的不期望的行为包括以下各项中的至少一项:
在所述移动计算设备上发生的并且由所述外围设备引起的不期望的行为;
在所述外围设备上发生的并且由所述移动计算设备引起的不期望的行为;以及
由在所述移动计算设备和所述外围设备两者上发生的活动引起的不期望的行为。
3.根据权利要求1所述的方法,其中,获得分类器模型包括:
识别与所述外围设备相关的能力;
确定所述移动计算设备上的与所识别的能力相关的特征;以及
基于所确定的特征来生成所述分类器模型。
4.根据权利要求1所述的方法,其中,获得分类器模型包括:
在一段时间内观察所述移动计算设备上的与所述外围设备相关的行为;
基于在所述一段时间内在所述移动计算设备上观察到的行为,来识别期望发生的与所述外围设备相关的行为;
确定所述移动计算设备上的与所期望的行为相关的特征集合;以及
基于所确定的与所期望的行为相关的特征集合来生成所述分类器模型。
5.根据权利要求1所述的方法,其中,获得分类器模型包括:
接收在服务器上根据由多个移动计算设备提供的信息的云数据集合来生成的完全分类器模型;
生成包括与所述移动计算设备相关的特征的贫乏分类器模型;
确定所述移动计算设备上的与所述外围设备相关的特征;以及
修改所述贫乏分类器模型以包括所确定的与所述外围设备相关的特征。
6.根据权利要求1所述的方法,还包括:从所述外围设备接收对在所述外围设备上发生的行为的观察,
其中,基于所观察的行为来生成针对所述移动计算设备的配置的行为向量包括:基于所观察的所述移动计算设备上的行为和从所述外围设备接收的观察中的至少一者来生成所述行为向量。
7.根据权利要求1所述的方法,还包括:观察所述移动计算设备上的与所述移动计算设备和所述外围设备之间的通信以及从所述外围设备接收的输入中的至少一者相关的行为,
其中,基于所观察的行为来生成针对所述移动计算设备的配置的行为向量包括:基于所观察的与所述移动计算设备和所述外围设备之间的通信以及从所述外围设备接收的所述输入相关的行为中的至少一个行为来生成所述行为向量。
8.一种移动计算设备,包括:
存储器;以及
处理器,所述处理器耦合到所述存储器并且配置有处理器可执行指令,所述处理器可执行指令用于执行包括以下各项的操作:
获得包括与连接到所述移动计算设备的外围设备相关的特征的分类器模型;
观察与所述外围设备相关的所述特征的行为;
基于所观察的行为来生成针对所述移动计算设备的配置的行为向量;以及
将所述行为向量应用于所述分类器模型,以检测所述移动计算设备上的与所述外围设备相关的不期望的行为。
9.根据权利要求8所述的移动计算设备,其中,所述处理器配置有用于执行操作的处理器可执行指令,使得与所述外围设备相关的不期望的行为包括以下各项中的至少一项:
在所述移动计算设备上发生的并且由所述外围设备引起的不期望的行为;
在所述外围设备上发生的并且由所述移动计算设备引起的不期望的行为;以及
由在所述移动计算设备和所述外围设备两者上发生的活动引起的不期望的行为。
10.根据权利要求8所述的移动计算设备,其中,所述处理器配置有用于执行操作的处理器可执行指令,使得获得分类器模型包括:
识别与所述外围设备相关的能力;
确定所述移动计算设备上的与所识别的能力相关的特征;以及
基于所确定的特征来生成所述分类器模型。
11.根据权利要求8所述的移动计算设备,其中,所述处理器配置有用于执行操作的处理器可执行指令,使得获得分类器模型包括:
在一段时间内观察所述移动计算设备上的与所述外围设备相关的行为;
基于在所述一段时间内在所述移动计算设备上观察到的所述行为,来识别期望发生的与所述外围设备相关的行为;
确定所述移动计算设备上的与所期望的行为相关的特征集合;以及
基于所确定的与所期望的行为相关的特征集合来生成所述分类器模型。
12.根据权利要求8所述的移动计算设备,其中,所述处理器配置有用于执行操作的处理器可执行指令,使得获得分类器模型包括:
接收在服务器上根据由多个移动计算设备提供的信息的云数据集合来生成的完全分类器模型;
生成包括与所述移动计算设备相关的特征的贫乏分类器模型;
确定所述移动计算设备上的与所述外围设备相关的特征;以及
修改所述贫乏分类器模型以包括所确定的与所述外围设备相关的特征。
13.根据权利要求8所述的移动计算设备,其中:
所述处理器配置有用于执行操作的处理器可执行指令,所述操作还包括:从所述外围设备接收对在所述外围设备上发生的行为的观察;以及
所述处理器配置有用于执行操作的处理器可执行指令,使得基于所观察的行为来生成针对所述移动计算设备的配置的行为向量包括:基于所观察的所述移动计算设备上的行为和从所述外围设备接收的观察中的至少一者来生成所述行为向量。
14.根据权利要求8所述的移动计算设备,其中:
所述处理器配置有用于执行操作的处理器可执行指令,所述操作还包括:观察所述移动计算设备上的与所述移动计算设备和所述外围设备之间的通信以及从所述外围设备接收的输入中的至少一者相关的行为;以及
所述处理器配置有用于执行操作的处理器可执行指令,使得基于所观察的行为来生成针对所述移动计算设备的配置的行为向量包括:基于所观察的与所述移动计算设备和所述外围设备之间的通信以及从所述外围设备接收的所述输入相关的行为中的至少一个行为来生成所述行为向量。
15.一种移动计算设备,包括:
用于获得包括与连接到所述移动计算设备的外围设备相关的特征的分类器模型的单元;
用于观察与所述外围设备相关的所述特征的行为的单元;
用于基于所观察的行为来生成针对所述移动计算设备的配置的行为向量的单元;以及
用于将所述行为向量应用于所述分类器模型,以检测所述移动计算设备上的与所述外围设备相关的不期望的行为的单元。
16.根据权利要求15所述的移动计算设备,其中,与所述外围设备相关的不期望的行为包括以下各项中的至少一项:
在所述移动计算设备上发生的并且由所述外围设备引起的不期望的行为;
在所述外围设备上发生的并且由所述移动计算设备引起的不期望的行为;以及
由在所述移动计算设备和所述外围设备两者上发生的活动引起的不期望的行为。
17.根据权利要求15所述的移动计算设备,其中,用于获得分类器模型的单元包括:
用于识别与所述外围设备相关的能力的单元;
用于确定所述移动计算设备上的与所识别的能力相关的特征的单元;以及
用于基于所确定的特征来生成所述分类器模型的单元。
18.根据权利要求15所述的移动计算设备,其中,用于获得分类器模型的单元包括:
用于在一段时间内观察所述移动计算设备上的与所述外围设备相关的行为的单元;
用于基于在所述一段时间内在所述移动计算设备上观察到的行为,来识别期望发生的与所述外围设备相关的行为的单元;
用于确定所述移动计算设备上的与所期望的行为相关的特征集合的单元;以及
用于基于所确定的与所期望的行为相关的特征集合来生成所述分类器模型的单元。
19.根据权利要求15所述的移动计算设备,其中,用于获得分类器模型的单元包括:
用于接收在服务器上根据由多个移动计算设备提供的信息的云数据集合来生成的完全分类器模型的单元;
用于生成包括与所述移动计算设备相关的特征的贫乏分类器模型的单元;
用于确定所述移动计算设备上的与所述外围设备相关的特征的单元;以及
用于修改所述贫乏分类器模型以包括所确定的与所述外围设备相关的特征的单元。
20.根据权利要求15所述的移动计算设备,还包括:用于从所述外围设备接收对在所述外围设备上发生的行为的观察的单元,
其中,用于基于所观察的行为来生成针对所述移动计算设备的配置的行为向量的单元包括:用于基于所观察的所述移动计算设备上的行为和从所述外围设备接收的观察中的至少一者来生成所述行为向量的单元。
21.根据权利要求15所述的移动计算设备,还包括:用于观察所述移动计算设备上的与所述移动计算设备和所述外围设备之间的通信以及从所述外围设备接收的输入中的至少一者相关的行为的单元,
其中,用于基于所观察的行为来生成针对所述移动计算设备的配置的行为向量的单元包括:用于基于所观察的与所述移动计算设备和所述外围设备之间的通信以及从所述外围设备接收的所述输入相关的行为中的至少一个行为来生成所述行为向量的单元。
22.一种其上存储有处理器可执行软件指令的非暂时性计算机可读存储介质,所述处理器可执行软件指令被配置为使得移动计算设备的处理器执行包括以下各项的操作:
获得包括与连接到所述移动计算设备的外围设备相关的特征的分类器模型;
观察与所述外围设备相关的所述特征的行为;
基于所观察的行为来生成针对所述移动计算设备的配置的行为向量;以及
将所述行为向量应用于所述分类器模型,以检测所述移动计算设备上的与所述外围设备相关的不期望的行为。
23.根据权利要求22所述的非暂时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使得处理器执行操作,使得与所述外围设备相关的不期望的行为包括以下各项中的至少一项:
在所述移动计算设备上发生的并且由所述外围设备引起的不期望的行为;
在所述外围设备上发生的并且由所述移动计算设备引起的不期望的行为;以及
由在所述移动计算设备和所述外围设备两者上发生的活动引起的不期望的行为。
24.根据权利要求22所述的非暂时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使得处理器执行操作,使得获得分类器模型包括:
识别与所述外围设备相关的能力;
确定所述移动计算设备上的与所识别的能力相关的特征;以及
基于所确定的特征来生成所述分类器模型。
25.根据权利要求22所述的非暂时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使得处理器执行操作,使得获得分类器模型包括:
在一段时间内观察所述移动计算设备上的与所述外围设备相关的行为;
基于在所述一段时间内在所述移动计算设备上观察到的行为,来识别期望发生的与所述外围设备相关的行为;
确定所述移动计算设备上的与所期望的行为相关的特征集合;以及
基于所确定的与所期望的行为相关的特征集合来生成所述分类器模型。
26.根据权利要求22所述的非暂时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使得处理器执行操作,使得获得分类器模型包括:
接收在服务器上根据由多个移动计算设备提供的信息的云数据集合来生成的完全分类器模型;
生成包括与所述移动计算设备相关的特征的贫乏分类器模型;
确定所述移动计算设备上的与所述外围设备相关的特征;以及
修改所述贫乏分类器模型以包括所确定的与所述外围设备相关的特征。
27.根据权利要求22所述的非暂时性计算机可读存储介质,其中:
所存储的处理器可执行软件指令被配置为使得处理器执行操作,所述操作还包括:从所述外围设备接收对在所述外围设备上发生的行为的观察;以及
所存储的处理器可执行软件指令被配置为使得处理器执行操作,使得基于所观察的行为来生成针对所述移动计算设备的配置的行为向量包括:基于所观察的所述移动计算设备上的行为和从所述外围设备接收的所述观察中的至少一者来生成所述行为向量。
28.根据权利要求22所述的非暂时性计算机可读存储介质,其中:
所存储的处理器可执行软件指令被配置为使得处理器执行操作,所述操作还包括:观察所述移动计算设备上的与所述移动计算设备和所述外围设备之间的通信以及从所述外围设备接收的输入中的至少一者相关的行为;以及
所存储的处理器可执行软件指令被配置为使得处理器执行操作,使得基于所观察的行为来生成针对所述移动计算设备的配置的行为向量包括:基于所观察的与所述移动计算设备和所述外围设备之间的所述通信以及从所述外围设备接收的所述输入相关的行为中的至少一个行为来生成所述行为向量。
CN201580012986.7A 2014-03-13 2015-03-12 用于保护外围设备的行为分析 Active CN106104555B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/207,754 2014-03-13
US14/207,754 US10176428B2 (en) 2014-03-13 2014-03-13 Behavioral analysis for securing peripheral devices
PCT/US2015/020228 WO2015138757A1 (en) 2014-03-13 2015-03-12 Behavioral analysis for securing peripheral devices

Publications (2)

Publication Number Publication Date
CN106104555A true CN106104555A (zh) 2016-11-09
CN106104555B CN106104555B (zh) 2019-01-01

Family

ID=52774587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580012986.7A Active CN106104555B (zh) 2014-03-13 2015-03-12 用于保护外围设备的行为分析

Country Status (6)

Country Link
US (1) US10176428B2 (zh)
EP (1) EP3117361B1 (zh)
JP (1) JP2017516181A (zh)
KR (1) KR20160132394A (zh)
CN (1) CN106104555B (zh)
WO (1) WO2015138757A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106714225A (zh) * 2016-12-29 2017-05-24 北京酷云互动科技有限公司 网络设备的识别方法及其系统、智能终端
CN117651289A (zh) * 2024-01-26 2024-03-05 中国人民解放军军事科学院系统工程研究院 一种用于无线电通信设备测试的数据处理方法及装置

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100832A (zh) * 2014-04-24 2015-11-25 海信集团有限公司 一种多媒体资源的推送方法及装置
KR102277772B1 (ko) * 2014-04-30 2021-07-14 삼성전자주식회사 모바일 기기에서 데이터를 통합 관리하는 장치 및 방법과, 그 모바일 기기
EP4102928B1 (en) * 2014-09-15 2024-06-26 Huawei Technologies Co., Ltd. Communications system, wearable device and user equipment
US9680646B2 (en) * 2015-02-05 2017-06-13 Apple Inc. Relay service for communication between controllers and accessories
CN105243311B (zh) 2015-10-19 2017-02-22 广东欧珀移动通信有限公司 一种指纹信息的安全调用方法、装置及移动终端
KR102465543B1 (ko) 2016-02-19 2022-11-10 삼성전자 주식회사 어플리케이션 및 컴포넌트를 제어하는 방법 및 전자장치
US11080706B2 (en) * 2016-03-07 2021-08-03 International Business Machines Corporation Blocking fraudulent transactions in an NFC device
US10498752B2 (en) * 2016-03-28 2019-12-03 Cisco Technology, Inc. Adaptive capture of packet traces based on user feedback learning
US11477302B2 (en) * 2016-07-06 2022-10-18 Palo Alto Research Center Incorporated Computer-implemented system and method for distributed activity detection
US10819719B2 (en) * 2016-10-11 2020-10-27 General Electric Company Systems and methods for protecting a physical asset against a threat
US10528725B2 (en) * 2016-11-04 2020-01-07 Microsoft Technology Licensing, Llc IoT security service
US10380348B2 (en) 2016-11-21 2019-08-13 ZingBox, Inc. IoT device risk assessment
WO2018173121A1 (ja) 2017-03-21 2018-09-27 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム
JP6986597B2 (ja) * 2017-03-21 2021-12-22 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム
JP7280935B2 (ja) * 2017-03-21 2023-05-24 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム
US20190014137A1 (en) * 2017-07-10 2019-01-10 ZingBox, Inc. IoT DEVICE SECURITY
US11544416B2 (en) * 2017-08-03 2023-01-03 Cyber Sepio Systems Ltd System and method for securing a computer system from threats introduced by USB devices
IL254573A0 (en) 2017-09-18 2017-11-30 Cyber Sepio Systems Ltd Install a method and computer software product for securing a local network from threats posed by foreign or hostile accessories
US10983602B2 (en) * 2017-09-05 2021-04-20 Microsoft Technology Licensing, Llc Identifying an input device
US11070568B2 (en) 2017-09-27 2021-07-20 Palo Alto Networks, Inc. IoT device management visualization
US20190104141A1 (en) * 2017-10-02 2019-04-04 Zuk Avraham System and Method for Providing and Facilitating an Information Security Marketplace
US11082296B2 (en) 2017-10-27 2021-08-03 Palo Alto Networks, Inc. IoT device grouping and labeling
US11627193B2 (en) * 2017-12-07 2023-04-11 Oracle International Corporation Method and system for tracking application activity data from remote devices and generating a corrective action data structure for the remote devices
RU2677361C1 (ru) * 2018-01-17 2019-01-16 Общество с ограниченной ответственностью "Траст" Способ и система децентрализованной идентификации вредоносных программ
CN112640381B (zh) 2018-06-18 2024-03-08 帕洛阿尔托网络公司 检测物联网设备的不合期望的行为的方法和系统
WO2020005959A1 (en) * 2018-06-26 2020-01-02 Passport Labs, Inc. Method for determining presence of a mobile computing device in a vehicle
US11562304B2 (en) 2018-07-13 2023-01-24 Accenture Global Solutions Limited Preventative diagnosis prediction and solution determination of future event using internet of things and artificial intelligence
US10740656B2 (en) * 2018-09-19 2020-08-11 Hughes Network Systems, Llc Machine learning clustering models for determining the condition of a communication system
US11451571B2 (en) 2018-12-12 2022-09-20 Palo Alto Networks, Inc. IoT device risk assessment and scoring
US12107638B2 (en) * 2018-12-13 2024-10-01 Telefonaktiebolaget Lm Ericsson (Publ) Parameter setting
US11200318B2 (en) * 2018-12-28 2021-12-14 Mcafee, Llc Methods and apparatus to detect adversarial malware
US11689573B2 (en) 2018-12-31 2023-06-27 Palo Alto Networks, Inc. Multi-layered policy management
WO2020159649A1 (en) * 2019-02-01 2020-08-06 Jaxon, Inc. Automated labelers for machine learning algorithms
KR20210026619A (ko) * 2019-08-30 2021-03-10 삼성전자주식회사 전자 장치 및 이의 동작 방법
CN110554047B (zh) * 2019-09-06 2021-07-02 腾讯科技(深圳)有限公司 产品缺陷检测数据处理方法、装置、系统和设备
US11115799B1 (en) 2020-06-01 2021-09-07 Palo Alto Networks, Inc. IoT device discovery and identification
WO2023073910A1 (ja) * 2021-10-29 2023-05-04 日本電気株式会社 モデル分析装置、モデル分析方法、及び記録媒体
US12107742B2 (en) 2022-08-31 2024-10-01 Hughes Network Systems, Llc Machine learning to enhance satellite terminal performance

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097706A1 (en) * 2011-09-16 2013-04-18 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177720A1 (en) 2004-02-10 2005-08-11 Seiichi Katano Virus protection for multi-function peripherals
WO2007117636A2 (en) * 2006-04-06 2007-10-18 Smobile Systems, Inc. Malware detection system and method for comprssed data on mobile platforms
DE202007019129U1 (de) 2007-10-31 2010-09-30 Concept04 Gmbh Mobilfunkendgerät mit Filtereinrichtung und Netzwerkelement zur Konfiguration der Filtereinrichtung
US8595834B2 (en) 2008-02-04 2013-11-26 Samsung Electronics Co., Ltd Detecting unauthorized use of computing devices based on behavioral patterns
US8484727B2 (en) * 2008-11-26 2013-07-09 Kaspersky Lab Zao System and method for computer malware detection
US8875286B2 (en) 2010-12-01 2014-10-28 Cisco Technology, Inc. Method and apparatus for detecting malicious software using machine learning techniques
US20120167218A1 (en) * 2010-12-23 2012-06-28 Rajesh Poornachandran Signature-independent, system behavior-based malware detection
KR20120096983A (ko) * 2011-02-24 2012-09-03 삼성전자주식회사 악성 프로그램 검출 방법 및 이를 구현하는 휴대 단말기
CN103620612B (zh) 2011-07-12 2016-04-13 惠普发展公司,有限责任合伙企业 包括端口和来宾域的计算设备
US9202047B2 (en) 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9747440B2 (en) * 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US8850589B2 (en) * 2012-09-25 2014-09-30 International Business Machines Corporation Training classifiers for program analysis

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097706A1 (en) * 2011-09-16 2013-04-18 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
FRANCIS M.DAVID等: "Cloaker:Hardware Supported Rootkit Concealment", 《2008 IEEE SYMPOSIUM ON SECURITY AND PRIVACY》 *
IKER BURGUERA HIDALGO: "《Behavior-based malware detection system for the Android platform》", 27 September 2011 *
JUSTIN SAHS 等: "A Machine Learning Approach to Android Malware Detection", 《2012 EUROPEAN INTELLIGENCE AND SECURITY INFORMATICS CONFERENCE》 *
TIMOTHY K BUENNEMEYER等: "Mobile Device Profiling and Intrusion Detection Using Smart Batteries", 《PROCEEDINGS OF THE 41ST HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES》 *
ZHAOHUI WANG等: "《Computer Network Security》", 19 October 2012 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106714225A (zh) * 2016-12-29 2017-05-24 北京酷云互动科技有限公司 网络设备的识别方法及其系统、智能终端
CN117651289A (zh) * 2024-01-26 2024-03-05 中国人民解放军军事科学院系统工程研究院 一种用于无线电通信设备测试的数据处理方法及装置
CN117651289B (zh) * 2024-01-26 2024-04-05 中国人民解放军军事科学院系统工程研究院 一种用于无线电通信设备测试的数据处理方法及装置

Also Published As

Publication number Publication date
KR20160132394A (ko) 2016-11-18
JP2017516181A (ja) 2017-06-15
EP3117361A1 (en) 2017-01-18
WO2015138757A1 (en) 2015-09-17
US10176428B2 (en) 2019-01-08
EP3117361B1 (en) 2018-01-10
CN106104555B (zh) 2019-01-01
US20150262067A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
CN106104555B (zh) 用于保护外围设备的行为分析
Chen et al. Cyber security in smart cities: a review of deep learning-based applications and case studies
Nassar et al. Blockchain for explainable and trustworthy artificial intelligence
CN104541293B (zh) 用于客户端‑云行为分析器的架构
CN104885099B (zh) 使用推升式决策树桩和联合特征选择及剔选算法来对移动设备行为进行高效分类的方法和系统
CN107077547B (zh) 使用针对高效连续认证的行为分析的方法和系统
US11747775B2 (en) Integrated tamper detection system and methods
CN106415580B (zh) 阻止侧信道攻击的方法和系统
Halvaiee et al. A novel model for credit card fraud detection using Artificial Immune Systems
CN106133642B (zh) 在移动设备中通过执行行为分析操作推断应用状态的方法和系统
CN106716382B (zh) 用于移动装置行为的聚集多应用程序行为分析的方法和系统
CN107580699A (zh) 用于特定于行为的致动以实时白名单化的方法和系统
CN104303538B (zh) 使用签名高速缓冲存储器来最小化行为分析的时延
Boucher et al. In the wake of Paris Agreement, scientists must embrace new directions for climate change research
CN111612168B (zh) 一种机器学习任务的管理方法以及相关装置
G. Martín et al. A survey for user behavior analysis based on machine learning techniques: current models and applications
CN105830080B (zh) 使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统
CN105765597A (zh) 使用行为合同来预先识别可能的恶意隐匿程序行为
CN106796627A (zh) 用于基于用户角色信息来进行移动设备行为的行为分析的方法和系统
CN107430660A (zh) 用于表征设备行为的自动化匿名众包的方法和系统
CN109478218A (zh) 用于分类执行会话的装置和方法
CN106716958A (zh) 横向移动检测
CN107408178A (zh) 用于通过云与客户端行为的差异来识别恶意软件的方法及系统
CN107251033A (zh) 用于在在线教育中进行实时用户验证的系统和方法
CN107567628A (zh) 用于使用针对增强型决策树桩的因果分析来识别和响应非良性行为的方法和系统

Legal Events

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