CN105830081A - 生成用于有针对性地保护重要应用的特定于应用的模型的方法和系统 - Google Patents

生成用于有针对性地保护重要应用的特定于应用的模型的方法和系统 Download PDF

Info

Publication number
CN105830081A
CN105830081A CN201480066232.5A CN201480066232A CN105830081A CN 105830081 A CN105830081 A CN 105830081A CN 201480066232 A CN201480066232 A CN 201480066232A CN 105830081 A CN105830081 A CN 105830081A
Authority
CN
China
Prior art keywords
behavior
application
generated
software application
sorter model
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
CN201480066232.5A
Other languages
English (en)
Other versions
CN105830081B (zh
Inventor
R·古普塔
C·伯根
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 CN105830081A publication Critical patent/CN105830081A/zh
Application granted granted Critical
Publication of CN105830081B publication Critical patent/CN105830081B/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • 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
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/043Distributed expert systems; Blackboards
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/70Machine learning, data mining or chemometrics
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Virology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Chemical & Material Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

方法和实现这些方法的计算设备提高综合行为监测和分析系统的效率和性能,其中该系统被配置为预测软件应用是否造成非期望的行为或者性能退化行为。该行为监测和分析系统可以被配置为通过下面操作来快速地和高效地将某些软件应用分类成良性的:生成用于描绘该软件应用的活动的特性的行为向量,判断所生成的行为向量是否包括用于将该软件应用标识成受信任软件应用的区分行为或者行为线索,以及响应于确定所生成的行为向量包括用于将该软件应用标识成受信任软件应用的区分行为,而将该软件应用分类成良性的。

Description

生成用于有针对性地保护重要应用的特定于应用的模型的方法和系统
相关申请
本申请要求享受2013年12月6日提交的、标题为“MethodsandSystemsofUsingApplication-SpecificandApplication-Type-SpecificModelsfortheEfficientClassificationofMobileDeviceBehaviors”的美国临时申请No.61/912,624的优先权利益,故以引用方式将该申请的全部内容并入本文。
背景技术
蜂窝和无线通信技术在最近几年出现了爆炸性的增长。更佳的通信、硬件、更大的网络和更可靠的协议推动了这种增长。结果,无线服务提供商现在能够向它们的客户提供信息、资源和通信的空前水平的访问。
为了跟上这些服务的增强,移动电子设备(例如,蜂窝电话、平板设备、膝上型计算机等等)与过去相比变得更强大和更复杂。这种复杂度使恶意软件、软件冲突、硬件故障产生了新的机会,以及产生负面地影响电子设备的长期持续性能和功率利用水平的其它类似错误或现象。因此,识别和纠正负面地影响电子设备的长期持续性能和功率利用水平的状况和/或设备行为对于消费者来说是有益的。
发明内容
各个方面包括识别非良性软件应用(例如,恶意的、编写很差、与设备不兼容的应用等等),并防止这些应用使计算设备的性能、功率利用水平、网络使用水平、安全和/或私密性随时间下降的方法。在一个方面,该方法可以包括通过下面操作,对在计算设备的处理器中操作的软件应用进行分析:通过从计算设备的存储器中存储的动作日志中收集行为信息,对该软件应用的处理器活动进行监测;基于所收集的行为信息来生成行为向量,其中该行为向量描绘所监测的该软件应用的活动的特性;以及判断所生成的行为向量是否包括用于将该软件应用标识成来自于已知供应商的区分行为。
在一个方面,判断所生成的行为向量是否包括区分行为,可以包括(或者通过下面操作来实现):判断所生成的行为向量是否包括用于标识该软件应用对于非预期的设备特征的使用的信息。在另外的方面,判断所生成的行为向量是否包括区分行为,可以包括(或者通过下面操作来实现):判断所生成的行为向量是否包括用于标识该软件应用对于设备特征的不寻常使用的信息。
在另外的方面,该方法可以包括:响应于确定所生成的行为向量包括所述区分行为,通过将该软件应用分类成良性的,对该软件应用进行认证。在另外的方面,该方法可以包括:响应于确定所生成的行为向量不包括区分行为,通过向聚焦的分类器模型应用所生成的行为向量,来执行深入行为分析操作,以判断该软件应用是否是非良性的;以及响应于确定所生成的行为向量不包括区分行为,向分类器模型应用所生成的行为向量,以判断该软件应用是否是非良性的。
在另外的方面,该方法可以包括:接收包括多个测试状况的完整分类器模型;识别该软件应用所使用的设备特征;识别所述多个测试状况中用于评估所识别的设备特征的测试状况;以及生成用于对所识别的测试状况划分优先级的基于应用的分类器模型。在另外的方面,向分类器模型应用所生成的行为向量,以判断该软件应用是否是非良性的,可以包括:向所生成的基于应用的分类器模型应用所生成的行为向量。
在另外的方面,基于所收集的行为信息来生成行为向量,可以包括:使用所收集的行为信息来生成特征向量;以及向所生成的基于应用的分类器模型应用所生成的行为向量,可以包括:向基于应用的分类器模型应用所生成的特征向量,以便评估该基于应用的分类器模型中包括的每一个测试状况;计算评估该基于应用的分类器模型中的测试状况的每一个结果的加权平均;以及基于所述加权平均,判断该行为是否是非良性的。
在另外的方面,接收包括所述多个测试状况的完整分类器模型,可以包括接收有限状态机,其中该有限状态机包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况,以及生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,可以包括:生成所述基于应用的分类器模型以包括用于对设备特征进行评估的决策节点,其中该设备特征与软件应用有关和/或与该软件应用的应用类型有关(即,与软件的类型有关)。
另外的方面包括一种具有存储器和耦合到该存储器的处理器的计算设备,其中处理器配置有处理器可执行指令,以执行上面所描述的方面方法的操作。另外的方面包括一种其上存储有处理器可执行软件指令的非临时性计算机可读存储介质,其中所述处理器可执行软件指令被配置为使计算设备的处理器执行上面所描述的方面方法的操作。另外的方面可以包括一种计算设备,其中该计算设备具有用于执行上面所描述的方面方法的功能的各种单元。
附图说明
被并入本文并且构成本说明书一部分的附图,描绘了本发明的示例性方面,并且连同上面给出的概括描述以及下面给出的详细描述一起用来解释本发明的特征。
图1是示出适合于结合各个方面使用的示例性电信系统的网络组件的通信系统框图。
图2是示出一个方面计算设备中的示例性逻辑组件和信息流的框图,其中该计算设备配置为判断特定的移动设备行为是使性能下降的,还是良性的。
图3是示出包括网络服务器的一个方面系统中的示例性组件和信息流的框图,其中该网络服务器配置为结合计算设备进行工作,以判断特定的设备行为是使性能下降的,还是良性的。
图4是示出包括计算设备的一个方面系统中的示例性组件和信息流的框图,其中该计算设备配置为生成基于应用的分类器模型,而不重新训练数据、行为向量或者分类器模块。
图5A是映射到多个软件应用的示例性分类器模型的视图。
图5B是示出在计算设备中本地地生成基于应用的分类器模型的一个方面方法的过程流程图。
图6A是根据一个方面,示出对软件应用的行为进行分析的方法的过程流程图。
图6B是根据一个方面,示出对软件应用进行认证的方法的过程流程图。
图6C是根据一个方面,示出生成和使用基于应用的分类器模型,以判断软件应用是否是非良性的方法的过程流程图。
图7是根据一个方面,示出在计算设备中本地生成精益(lean)分类器模型的方法的过程流程图。
图8是可以由一个方面服务器处理器生成,并由计算设备处理器使用以生成精益分类器模型的示例性增强型决策树桩(boosteddecisionstumps)的视图。
图9是根据一个方面,示出观察器模块中的示例性逻辑组件和信息流的框图,其中该观察器组件被配置为执行动态和自适应观察。
图10是根据另一个方面,示出实现观察器后台进程(daemon)的计算系统中的逻辑组件和信息流的框图。
图11是示出用于在移动设备上执行自适应观察的一个方面方法的过程流程图。
图12是适合于在一个方面中使用的移动设备的组件框图。
图13是适合于在一个方面中使用的服务器设备的组件框图。
具体实施方式
现在将参照附图来详细地描述各个方面。在可以的地方,贯穿附图将使用相同的附图标记来指代相同或者类似的部件。对于特定示例和实现的引用只是用于说明目的,而不是旨在限制本发明或者权利要求的范围。
总的来说,各个方面允许某些关键软件应用的开发者构建它们的应用,以执行用于区分自身与其它类似应用的特殊操作。计算设备的行为监测和分析系统可以被配置为对其软件应用的行为进行监测,以检测这些特殊操作,并将执行这些特殊操作的应用快速地分类成受信任的或者良性的,而无需执行烦人的或详细的监测或分析操作。
通过识别区分类似于行为线索的行为,以快速地对某些软件应用进行分类(例如,分类成受信任的、良性的、关键的等等),各个方面允许行为监测和分析系统将其操作聚焦于最重要的软件应用和/或放弃对来自受信任供应商的应用进行分析。这降低了行为监测和分析系统的操作复杂度,并提高了计算设备的性能和功耗特性。
本文所使用的“示例性”一词意味着“用作例子、实例或说明”。本文中描述为“示例性”的任何实现不应被解释为比其它实现更优选或更具优势。
本文中使用术语“性能下降”来指代各种各样的非期望的计算设备操作和特性,例如,更长的处理时间、减慢的实时响应性、更长的电池寿命、私人数据的丢失、恶意经济活动(例如,发送未授权的高级SMS消息)、拒绝服务(DoS)、很差编写或设计的软件应用、恶意性的软件、恶意软件、病毒、分段存储器、与征用移动设备或者使用电话来进行窥探或僵尸活动有关的操作等等。此外,由于这些原因中的任何一种而使性能下降的行为、活动和状况本文都称为“不是良性的”或者“非良性的”。
本文可互换地使用术语“移动计算设备”和“移动设备”指代下面中的任何一种或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、超级本、掌上型计算机、无线电子邮件接收机、具备多媒体互联网能力的蜂窝电话、无线游戏控制器、以及包括存储器、可编程处理器(其性能是非常重要的)并在电池供电情形下进行操作,使得省电方法有益的类似个人电子设备。虽然各个方面在诸如智能电话之类的移动计算设备(其具有有限的资源并在电池电源上运行)中是特别有用的,但这些方面通常在包括处理器并执行应用程序的任何电子计算设备中也是有用的。
现代计算设备是高度可配置的和复杂的系统。因此,对于判断特定的设备行为是良性的还是非良性的(例如,恶意的或者使性能下降的)来说,最重要的特征在每一个计算设备中可能是不同的。此外,不同的特征组合可能需要每一个计算设备中的监测和/或分析,以便该设备能够快速地和高效地判断特定的行为是良性的还是非良性的。此外,需要进行监测和分析的特征的精确组合,以及每一个特征或者特征组合的相对优先级或重要性,通常仅仅能够使用特定于应用和/或特定于设备的信息来确定,其中该信息是从其行为被进行监测或分析的特定设备所获得的。由于这些和其它原因,在不同于使用行为模型的特定设备的任何计算设备中所生成的行为模型,不可能包括标识对于该计算设备中的软件应用或行为进行分类来说最重要的特征的精确组合的信息。
此外,很多现代计算设备是具有相对有限的处理资源、存储器资源和能量资源的资源受限系统。例如,移动设备是具有大量的特征或因素的复杂和资源受限计算设备,其中这些因素对于该移动设备随时间的性能和功率利用水平的下降具有贡献。可能对于性能下降具有贡献的因素的例子,包括:设计不佳的软件应用、恶意软件、病毒、分段存储器和后台过程。由于这些因素的数量、变型和复杂度,通常评估所有的可能使这些复杂并且资源受限系统的性能和/或功率利用水平下降的各种组件、行为、过程、操作、状况、状态或特征(或者其组合)是不可行的。因此,用户、操作系统或应用程序(例如,防病毒软件等等)很难准确地和高效地识别这些问题的源。结果,移动设备用户当前具有很少的补救措施来防止移动设备随时间的性能和功率利用水平下降,或者将老化的移动设备恢复到其原始性能和功率利用水平。
为了克服这些现有解决方案的限制,各个方面包括装备有行为监测和分析系统的计算设备,其中该行为监测和分析系统被配置为快速地和高效地识别非良性的软件应用(例如,恶意的、编写很差、与设备不兼容的应用等等),并防止这些应用使计算设备的性能、功率利用水平、网络使用水平、安全和/或私密性随时间下降。该行为监测和分析系统可以被配置为:在不对计算设备的响应性、性能或功耗特性具有显著的、负面的或者用户可感知的影响的情况下,识别、防止和纠正识别的问题。
在各个方面,该行为监测和分析系统可以包括观察器过程、后台进程、模块或子系统(本文统称为“模块”)和分析器模块。观察器模块可以被配置为仪表化或协调该计算设备系统的各个层级处的各个应用程序接口(API)、寄存器、计数器或其它组件(本文统称为“仪表化组件”),从这些仪表化组件收集行为信息,并(例如,经由存储器写操作、函数调用等等)将所收集的行为信息传输给分析器模块。分析器模块可以接收和使用所收集的行为信息来生成行为向量,并执行实时行为分析操作,以判断软件应用或设备行为是良性的,还是非良性的(例如,恶意的、使性能下降的等等)。
分析器模块可以被配置为生成行为向量,使得每一个行为向量表示或者描绘与该计算设备的特定软件应用、模块、组件、任务或过程相关联的观察的行为中的大部分或全部。每一个行为向量可以封装一个或多个“行为特征”。每一个行为特征可以是表示观察的行为的全部或者一部分的抽象数。此外,每一个行为特征可以与一种数据类型相关联,其中该数据类型标识可能的值的范围、在这些值上执行的操作、这些值的含义等等。计算设备可以使用该数据类型来确定应当如何对该特征(或特征值)进行测量、分析、加权或使用。
分析器模块可以被配置为通过向分类器模型应用所生成的行为向量,判断软件应用或设备行为是否是非良性的。分类器模型可以是一种行为模型,其包括该计算设备能够使用以评估该设备的行为的特定特征或方面的数据和/或信息结构(例如,特征向量、行为向量、组件列表等等)。分类器模型还可以包括用于对计算设备中的多个特征、因素、数据点、条目、API、状态、状况、行为、软件应用、过程、操作、组件等等(本文统称为“特征”)进行监测的决策标准。
完整分类器模型可以是根据大量的训练数据集所生成的健壮数据模型,其可以包括数千特征和数十亿条目。精益分类器模型可以是根据精简数据集生成的更聚焦的数据模型,其包括对判断特定的移动设备行为是良性的还是非良性的来说最相关的特征/条目的测试,或者划分其优先级。本地生成的精益分类器模型是在计算设备中生成的精益分类器模型。通过在使用分类器模型的计算设备中生成这些模型,各个方面允许计算设备准确地识别对于判断该特定设备上的行为是否是良性的来说最重要或者对于该设备的性能下降具有贡献的特定特征。此外,这些方面还允许计算设备根据分类器模型中的特征对于分类该特定设备中的行为的相对重要性,来对这些特征准确地划分优先级。
特定于应用的分类器模型可以是包括聚焦的数据模型的分类器模型,其包括对于判断特定的软件应用(或者特定类型的软件应用)是否是非良性的来说最相关的特征/条目,或者对其划分优先级。计算设备可以被配置为通过下面方式来生成特定于应用的分类器模型:接收包括来自网络服务器的多个测试状况的完整分类器模型,识别在该设备中操作的软件应用(或者可以在该设备上执行的一种类型的软件应用)所使用的设备特征,识别完整分类器模型中用于评估所识别的设备特征中的一个的测试状况,确定所识别的测试状况的优先级、重要性或成功率,根据它们的重要性或成功率来对所识别的测试状况划分优先级或者排序,以及生成包括所识别的测试状况的分类器模型,使得根据它们确定的优先级、重要性或成功率来对其进行排序。通过在计算设备中动态地生成特定于应用的分类器模型,各个方面允许计算设备将其监测和分析操作聚焦于较小数量的特征,其中这些特征对于判断特定软件应用的操作是否对于该计算设备的非期望行为或者性能退化行为具有贡献来说最重要。
在一个方面,计算设备可以被配置为针对在该计算设备中操作的每一个软件应用(或者每一种类型的软件应用),生成特定于应用的分类器模型。但是,对计算设备中的每一个软件应用都进行分析可能消耗该设备的大量的处理资源和功率资源。因此,计算设备可以被配置为动态地识别具有高风险或者容易受到滥用的软件应用和/或应用类型(例如,金融应用、销售点应用、生物计量传感器应用等等),并仅仅针对于被识别成具有高风险或者容易受到滥用的软件应用和/或应用类型,才生成分类器模型。
为了进一步减少行为监测和分析系统所执行的操作的数量,计算设备可以被配置为对软件应用的标识符进行监测,区分行为或者行为线索,其中该行为线索使计算设备能够快速地判断软件应用是否来自于已知供应商。随后,计算设备可以将这些软件应用分类成需要更深入分析的关键的、敏感的或者重要的应用。这种情形允许供应商开发软件应用来执行特殊操作,这些特殊操作使得行为分析系统密切地监测和分析它们的应用。例如,银行软件的供应商可以对银行应用进行编程,执行良性的和非预期操作来使行为分析系统密切地监测其操作,从而帮助确保该银行应用不会受到恶意软件的攻击。
在一个实施例中,计算设备可以被配置为对软件应用的标识符进行监测,区分行为或者行为线索,其中该行为线索使计算设备能够快速地判断软件应用是否来自于受信任供应商。计算设备可以通过将这些软件应用分类成良性的,来快速地对来自受信任供应商的软件应用进行认证。这允许行为监测和分析系统放弃对于受信任应用执行详细的分析操作,从而提高计算设备的性能和功耗特性。
计算设备可以被配置为通过对软件应用进行监测(随着其在该设备上操作)、生成用于描绘所监测的活动的行为向量的特性、以及判断所生成的行为向量是否包括用于指示该软件应用来自于受信任供应商的区分行为,来确定该软件应用是来自于受信任供应商。计算设备可以通过判断所生成的行为向量是否包括用于标识下面内容的信息,来识别这种区分行为:该软件应用对于非预期的设备特征的使用和/或对于通用设备特征的不寻常使用。也就是说,软件应用对于非预期的设备特征的使用或者对于通用设备特征的不寻常使用,可以服务成用于将该应用识别成来自于受信任供应商的区分行为。因此,计算设备可以将这些区分行为使用成用于对该应用进行认证的行为键值。与标准认证键值相比,该行为键值更难进行复制、欺骗或者解码。
各个方面可以在多种多样的通信系统(例如,图1中所描绘的示例性通信系统100)中实现。典型的蜂窝电话网络104包括耦接到网络操作中心108的多个小区基站110,其中网络操作中心108操作用于例如经由陆地电话线路(POTS网络,没有示出)和互联网110,连接移动设备102(例如,蜂窝电话、膝上型计算机、平板设备等等)和其它网络目的地之间的语音呼叫和数据。可以通过双向无线通信链路112(例如,4G、3G、CDMA、TDMA、LTE和/或其它蜂窝电话通信技术),来完成移动设备102和电话网络104之间的通信。此外,电话网络104还可以包括一个或多个服务器114,其中所述一个或多个服务器114耦接到网络操作中心108或者位于网络操作中心108之内,网络操作中心108提供到互联网110的连接。
此外,通信系统100还可以包括连接到电话网络104和互联网110的网络服务器116。网络服务器116和电话网络104之间的连接可以通过互联网110或者通过专用网络(如虚线所示出的)。此外,还可以将网络服务器116实现成云服务提供商网络118的网络基础设施中的服务器。网络服务器116和移动设备102之间的通信可以通过电话网络104、互联网110、专用网络(没有示出)或者其任意组合来实现。
网络服务器116可以被配置为从中央数据库或者云服务提供商网络118接收关于各种状况、特征、行为和纠正动作的信息,并使用该信息来生成数据、算法、分类器或行为模型(本文统称为“分类器模型”),其包括可以由计算设备的处理器使用以评估该计算设备的行为的特定方面的数据和/或信息结构(例如,特征向量、行为向量、组件列表等等)。
在一个方面,网络服务器116可以被配置为生成完整分类器模型。该完整分类器模型可以是根据较大的训练数据集(其可以包括数千条特征和数十亿条目)来生成的健壮数据模型。在一个方面,网络服务器116可以被配置为生成完整分类器模型,以包括对于移动设备102的多种不同的动作、模型和配置中的任何一种的性能下降具有贡献的全部或者大部分的特征、数据点和/或因素。在各个方面,网络服务器可以被配置为生成完整分类器模型,以便将大型行为信息的语料库描述或表示成有限状态机、决策节点、决策树,或者具有可以进行修改、挑选、扩增或者以其它方式使用以快速和高效地生成更精益的分类器模型的任何信息结构。
此外,移动设备102可以被配置为从网络服务器116接收完整分类器模型。移动设备还可以被配置为使用该完整分类器模型来生成更聚焦的分类器模型,其说明该移动设备102的软件应用的特定特征和功能。例如,移动设备102可以生成特定于应用和/或特定于应用类型的分类器模型(即,数据或行为模型),其中这些模型优先地或者专有地识别或评估移动设备的与特定的软件应用有关的状况或特征,或者与移动设备102上安装的或者该设备的存储器中存储的特定类型的软件应用(例如,游戏、导航、金融等等)有关的状况或特征。移动设备102可以使用这些本地生成的分类器模型来执行实时行为监测和分析操作。
图2示出了一个方面移动设备102中的示例性逻辑组件和信息流,其中该移动设备102被配置为执行实时行为监测和分析操作200,以判断特定的移动设备行为、软件应用或过程是恶意的/使性能下降的、可疑的,还是良性的。这些操作200可以由移动设备102中的一个或多个处理内核连续地(或者近乎连续地)执行,而不会消耗该移动设备过量的处理资源、存储器资源或能量资源。
在图2所示出的例子中,移动设备102包括行为观察器模块202、行为分析器模块204、外部上下文信息模块206、分类器模块208和执行器模块210。在一个方面,可以将分类器模块208实现成行为分析器模块204的一部分。在一个方面,行为分析器模块204可以被配置为生成一个或多个分类器模块208,每一个分类器模块208可以包括一个或多个分类器模型(例如,数据/行为模型),分类器模型包括可以由移动设备处理器使用以评估软件应用或移动设备行为的特定特征的数据和/或信息结构(例如,决策节点等等)。
模块202-210中的每一个可以是利用软件、硬件或者其组合来实现的线程、过程、后台进程、模块、子系统或组件。在各个方面,可以将模块202-210实现在操作系统的几部分中(例如,实现在内核中、实现在内核空间中、实现在用户空间中等等)、实现在单独的程序或应用中、实现在专用硬件缓冲器或处理器中、或者实现在其任意组合中。在一个方面,模块202-210中的一个或多个可以实现成在移动设备102的一个或多个处理器上执行的软件指令。
行为观察器模块202可以被配置为仪表化或协调位于该移动设备系统的各个层级处的各种API、寄存器、计数器或其它组件(本文统称为“仪表化组件”),并通过从这些仪表化组件收集行为信息,对移动设备行为连续地(或近乎连续地)监测一段时间并且实时地监测。例如,行为观察器模块202可以通过从移动设备102的存储器中存储的日志文件(例如,API日志等等)中读取信息,监测库API调用、系统呼叫API调用、驱动程序API调用和其它仪表化组件。
行为观察器模块202还可以被配置为经由仪表化组件来监测/观察移动设备操作和事件(例如,系统事件、状态改变等等),收集关于所观察的操作/事件的信息,智能地过滤所收集的信息,基于过滤后的信息来生成一个或多个观察量(例如,行为向量等等),并在存储器中(例如,在日志文件等等中)存储所生成的观察量和/或将所生成的观察量或收集的行为信息(例如,经由存储器写、函数调用等等)发送到行为分析器模块204。在各个方面,可以将所生成的观察量存储成行为向量和/或存储在API日志文件或结构中。
行为观察器模块202可以通过收集关于应用框架或运行时库中的库API调用、系统调用API、文件系统和网络化子系统操作、设备(其包括传感器设备)状态改变和其它类似事件的信息,来监测/观察移动设备操作和事件。行为观察器模块202还可以监测文件系统活动,其可以包括:搜索文件名、文件访问的类别(个人信息或通用数据文件)、生成或删除文件(例如,类型exe、zip等等)、文件读/写/查找操作、改变文件许可等等。
此外,行为观察器模块202还可以监测数据网络活动,其可以包括:连接的类型、协议、端口号、该设备连接到的服务器/客户端、连接的数量、通信的量或频率等等。行为观察器模块202可以对电话网络活动进行监测,其可以包括:对发送出、接收到或者中间截获的呼叫或消息(例如,SMS等等)的类型和数量(例如,拨打的高级呼叫的数量)进行监测。
此外,行为观察器模块202还可以监测系统资源使用,其可以包括:对叉(fork)的数量、存储器访问操作、文件打开的数量等等进行监测。行为观察器模块202可以对移动设备的状态进行监测,其可以包括对诸如下面的各种因素进行监测:显示器是打开还是关闭的、该设备是锁定还是未锁的、电池的剩余电量、照相机的状态等等。此外,行为观察器模块202还可以例如通过监测关键服务(浏览器、合同提供商等等)的意图、过程间通信的程度、弹出窗等等,对过程间通信(IPC)进行监测。
此外,行为观察器模块202还可以监测/观察一个或多个硬件组件的驱动器统计和/或状态,其中这些硬件组件可以包括:照相机、传感器、电子显示器、WiFi通信组件、数据控制器、内存控制器、系统控制器、接入端口、定时器、外围设备、无线通信组件、外部存储器芯片、电压调整器、振荡器、锁相环、外围桥接、以及用于支持在移动计算设备上运行的处理器和客户端的其它类似组件。
此外,行为观察器模块202还可以对表示该移动计算设备和/或移动设备子系统的状态或状况的一个或多个硬件计数器进行监测/观察。硬件计数器可以包括处理器/内核的特殊用途寄存器,其被配置为存储在该移动计算设备中发生的与硬件相关活动或事件的计数值或状态。
此外,行为观察器模块202还可以监测/观察:软件应用的动作或操作、来自应用下载服务器(例如,应用商店服务器)的软件下载、软件应用使用的移动设备信息、调用信息、文本消息传递信息(例如,SendSMS、BlockSMS、ReadSMS等等)、媒体消息传递信息(例如,ReceiveMMS等等)、用户账户信息、位置信息、照相机信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线电通信(例如,WiFi等等)、基本文本的通信的内容、记录的音频文件的内容、电话簿或联系人信息、联系人列表等等。
行为观察器模块202可以监测/观察移动设备的传输或通信,其包括下面之类的通信:语音邮件(VoiceMailComm)、设备标识符(DeviceIDComm)、用户账户信息(UserAccountComm)、日历信息(CalendarComm)、位置信息(LocationComm)、记录的音频信息(RecordAudioComm)、加速计信息(AccelerometerComm)等等。
行为观察器模块202可以监测/观察下面信息的使用和更新/改变:指南针信息、移动设备设置、电池寿命、陀螺仪信息、压力传感器、磁传感器、投影式电容触摸传感器、屏幕活动等等。行为观察器模块202可以监测/观察向软件应用传输和/或传输来自软件应用的通知(AppNotifications)、应用更新等等。行为观察器模块202可以监测/观察与第一软件应用有关的状况或事件,其中第一软件应用请求下载和/或安装第二软件应用。行为观察器模块202可以监测/观察与用户验证有关的状况或事件,例如,密码的输入等等。
此外,行为观察器模块202还可以在移动设备的多个层级(其包括应用层级、无线电层级和传感器层级)处对状况或事件进行监测/观察。应用层级观察可以包括:经由人脸识别软件来观察用户、观察社交流媒体、观察用户输入的笔记、观察与诸如PassBook、Wallet和Paypal的金融应用的使用有关的事件、观察软件应用的访问和受保护信息的使用等等。此外,应用层观察还可以包括:观察与虚拟专用网(VPN)的使用有关的事件,以及关于以下各项的事件:同步、语音搜索、语音控制(例如,通过说一个词来锁定/解锁电话)、语言翻译器、数据的卸载以进行计算、视频流媒体、无需用户活动的照相机使用、无需用户活动的麦克风使用等等。此外,应用层级观察还可以包括:监测软件应用对于生物计量传感器(例如,指纹阅读器、语音识别子系统、视网膜扫描仪等等)的使用以授权金融事务,以及与生物计量传感器的访问和使用有关的状况。
无线电层级观察可以包括确定下面中的任何一种或多种的出现、存在或者数量:在建立无线通信链路或者发送信息之前,与移动设备的用户交互、双/多用户识别模块(SIM)卡、互联网无线电装置、移动电话系留、卸载数据以进行计算、设备状态通信、作为游戏控制器或家庭控制器的使用、车辆通信、移动设备同步等等。此外,无线电层级观察还可以包括:监测无线电装置(WiFi、WiMax、蓝牙等等)的使用以进行定位、对等(p2p)通信、同步、车辆对车辆通信和/或机器对机器(m2m)。此外,无线电层级观察还可以包括:对网络业务使用、统计或简档进行监测。
传感器层级观察可以包括:对磁传感器或其它传感器进行监测,以确定该移动设备的使用和/或外部环境。例如,移动设备处理器可以被配置为:判断电话是处于皮套中(例如,经由配置为对皮套中的磁体进行感测的磁传感器)还是处于用户的口袋中(例如,经由照相机或光传感器所检测到的光量)。检测到移动设备处于皮套之中,可以是与认识到可疑的行为有关,例如,由于当移动设备在放入皮套时,与用户的活动使用有关的活动和功能(例如,拍摄照片或视频、发送消息、进行语音呼叫、记录声音等等)发生,可能是可疑的过程在该设备上进行执行(例如,以跟踪或窥探该用户)的标志。
与使用或外部环境有关的传感器层级观察的其它例子,可以包括:检测近场通信(NFC)、从信用卡扫描器、条形码扫描器或者移动标签读取器收集信息、检测通用串行总线(USB)充电电源的存在、检测键盘或者辅助设备已耦合到该移动设备、检测到该移动设备已耦合到计算设备(例如,经由USB等等),判断LED、闪光、闪光灯或者光源是否被修改或者禁用(例如,恶意地禁用紧急信令app等等)、检测扬声器或麦克风是否已打开或加电、检测充电或功率事件、检测到该移动设备被使用成游戏控制器等等。此外,传感器层级观察还可以包括:从医疗或保健传感器或者通过扫描用户的身体来收集信息,从插入到USB/音频插孔的外部传感器收集信息、从触觉或感触传感器收集信息(例如,经由振动器接口等等)、收集与移动设备的热状态有关的信息、从指纹阅读器、语音识别子系统、视网膜扫描仪、投影式电容触摸传感器收集信息等等。
行为观察器模块202还可以监测/观察与选择活动、任务、过程或软件应用相关联的操作系统执行状态,例如,当对移动设备行为进行监测/观察时,正在执行的某些软件应用中的操作系统状态。行为观察器模块202还可以对用户和移动设备之间的用户界面(UI)交互进行监测/观察。例如,如果以后台执行状态进行操作的帮助应用在没有相应的UI交互或事件的情况下发起一个对话框,则该系统可以将该操作标记成可疑的,并收集关于该帮助应用的这些活动和操作的其它信息。
也就是说,每一个软件应用通常在移动设备上执行多个任务或活动,某些任务/活动固有地需要操作系统或软件应用(或过程、线程等等)处于支持这些任务/活动或者与这些任务/活动相兼容的执行状态。例如,照相机的使用、激活麦克风记录音频、发送短消息服务(SMS)消息、以及收集加速计数据,是通常需要与移动设备的某种形式的用户交互的所有任务/活动(例如,用户致动照相机的快门释放按钮、敲入文本、敲打发送按钮等等)。因此,这些活动通常必须在前台执行,或者处于支持与移动设备进行用户交互的执行状态。当在不支持较高程度的与移动设备的用户交互的执行状态下(例如,在后台执行状态下),执行这些或其它类似的任务/活动时,这种操作状况可能是与该活动相关联的移动设备行为是非良性的强指示符,或者其指示进行另外的或更密切的详细审查、监测或分析是有益的。也就是说,在移动设备中执行某些任务/活动的特定操作系统执行状态,可以是对移动设备行为进行另外的或更密切的详细审查、监测和/或分析是否有益的强指示符。因此,在各个方面,移动设备处理器可以被配置为对执行的某些任务/活动的特定操作系统执行状态进行监测。
行为观察器模块202可以被配置为生成行为向量,后者包括观察的行为的简明定义。每一个行为向量可以利用值或向量数据结构(例如,具有数字串的形式等等),简便地描述观察的该移动设备、软件应用或者过程的行为。此外,行为向量还可以充当为标识符,其使移动设备系统能够快速地认识、识别和/或分析移动设备行为。在一个方面,行为观察器模块202可以生成包括一系列符号或数字的行为向量,每一符号或数字表示该移动设备的特征或行为。例如,行为向量中包括的数字可以表明该移动设备的照相机是否在使用(例如,当照相机关闭时作为零,当照相机激活时则作为一),从移动设备发送的网络业务量或者移动设备所生成的网络业务的量(例如,20KB/秒等等),已传输的互联网消息的数量(例如,SMS消息的数量等等)等等。
可能存在大量的对于移动设备的随时间性能下降和功率利用水平具有贡献的各种各样的因素,其包括设计较差的软件应用、恶意软件、病毒、分段存储器和后台过程。由于这些因素的数量、变型和复杂度,通常同时评估所有的使现代移动设备的复杂且资源受限系统的性能和/或功率利用水平下降的各种组件、行为、过程、操作、状况、状态或特征(或者其组合)是不可行的。为了将监测的因素的数量减少到一个可管理的水平,在一个方面,行为观察器模块202可以被配置为:对初始或者精简集合的行为或因素进行监测/观察,其中该初始或精简集合是可能对于该移动设备的性能下降具有贡献的所有因素的一个较小子集。
在一个方面,行为观察器模块202可以从网络服务器116和/或云服务或者云服务提供商网络118中的组件接收该初始集合的行为和/或因素。在一个方面,可以在从网络服务器116接收的完整分类器模型中,指定该初始集合的行为/因素。在另一个方面,可以在基于完整分类器模型而在移动设备中生成的精益分类器模型中,指定该初始集合的行为/因素。在一个方面,可以在基于完整分类器模型或者精益分类器模型而在移动设备中生成的基于应用的分类器模型中,指定该初始集合的行为/因素。在各个方面,该基于应用的分类器模型可以是特定于应用的分类器模型或者特定于应用类型的分类器模型。
行为观察器模块202可以向行为分析器模块204传输(例如,经由存储器写操作、函数调用等等)所收集的行为信息。行为分析器模块204可以接收和使用该行为信息以生成行为向量,基于这些行为向量来生成空间和/或时间相关性,并使用该信息来判断特定的移动设备行为、状况、子系统、软件应用或者过程是良性的、可疑的,还是非良性的(即,恶意的或者使性能下降的)。
行为分析器模块204和/或分类器模块208可以被配置为执行实时行为分析操作,其可以包括向所收集的行为信息执行、运行和/或应用数据、算法、分类器或模型(其统称为“分类器模型”),以判断移动设备行为是良性的,还是非良性的(即,恶意的或者使性能下降的)。每一个分类器模型可以是包括能由移动设备处理器使用,以评估移动设备行为的特定特征或方面的数据和/或信息结构(例如,特征向量、行为向量、组件列表等等)的行为模型。每一个分类器模型还可以包括用于监测(即,经由行为观察器模块202)移动设备102中的多个特征、因素、数据点、条目、API、状态、状况、行为、应用、过程、操作、组件等等(其统称为“特征”)的决策标准。分类器模型可以预安装在移动设备102上,从网络服务器116下载或接收,在移动设备102中生成或者是其任意组合。此外,还可以通过使用众包解决方案、行为建模技术、机器学习算法等等,来生成这些分类器模型。
每一个分类器模型可以被分类成完整分类器模型或者精益分类器模型。完整分类器模型可以是根据大量的训练数据集所生成的健壮数据模型,其可以包括数千特征和数十亿条目。精益分类器模型可以是根据精简数据集生成的更聚焦的数据模型,其包括对判断特定的移动设备行为是良性的还是非良性的(例如,恶意的或使性能下降的)来说非常相关的特征/条目的测试,或者对其划分优先级。
行为分析器模块204和/或分类器模块208可以从行为观察器模块202接收这些观察量或行为信息,将接收的信息(即,观察量)与从外部上下文信息模块206接收的上下文信息进行比较,并识别与接收的观察量相关联的对于该设备的随时间性能下降具有贡献(或者可能具有贡献)、或者可能以其它方式在该设备上造成问题的子系统、过程和/或应用。
在一个方面,行为分析器模块204和/或分类器模块208可以包括用于使用有限集合的信息(即,粗观察),来识别对于该设备的随时间性能下降具有贡献(或者可能具有贡献)、或者可能在该设备上造成问题的行为、过程或者程序的智能。例如,行为分析器模块204可以被配置为对从各个模块(例如,行为观察器模块202、外部上下文信息模块206等等)收集的信息(例如,具有观察量的信息)进行分析,学习该移动设备的正常操作行为,并基于所述比较的结果来生成一个或多个行为向量。行为分析器模块204可以向分类器模块208发送所生成的行为向量以进行进一步分析。
在一个方面,分类器模块208可以被配置为将行为向量应用于分类器模型或与其进行比较,以判断特定的移动设备行为、软件应用或者过程是否是性能下降/恶意的、良性的,还是可疑的。当分类器模块208确定行为、软件应用或过程是恶意的或性能下降的时,分类器模块208可以通知执行器模块210,后者可以执行各种动作或操作以纠正被确定是恶意或性能下降的移动设备行为,和/或执行操作以医治、治疗、隔离或以其它方式解决所识别的问题。
当分类器模块208确定行为、软件应用或过程是可疑的时,分类器模块208可以通知行为观察器模块202,后者可以基于从分类器模块208接收的信息(例如,实时分析操作的结果),调整其观察的粒度(即,对移动设备行为进行观察的细节水平)和/或改变进行观察的行为,生成或收集新的或另外的行为信息,并向行为分析器模块204和/或分类器模块208发送该新的/另外的信息以进行进一步分析/分类。行为观察器模块202和分类器模块208之间的这种反馈通信,使移动设备102能够递归地增加观察的粒度(即,更精细或者更详细地观察),或者改变进行观察的特征/行为,直到识别可疑的或者性能下降的移动设备行为的来源为止、直到达到处理或者电池消耗门限为止、或者直到移动设备处理器确定不能通过进一步增加观察粒度来识别该可疑的或性能下降的移动设备行为的来源为止。此外,这种反馈通信还可以使移动设备102能够调整或修改该移动设备中本地的数据/行为模型,而无需消耗该移动设备的过量的处理资源、存储器资源或能量资源。
在一个方面,行为观察器模块202和行为分析器模块204可以单独地或统一地提供对于计算系统的行为的实时行为分析,以根据有限的和粗观察来识别可疑的行为,更详细地动态确定要进行观察的行为,以及动态地确定这些观察所需要的细节水平。用此方式,行为观察器模块202使移动设备102能够高效地识别问题,并防止这些问题在移动设备上发生,而无需在该设备上具有大量的处理器资源、存储器资源或电池资源。
在各个方面,行为观察器模块202和/或行为分析器模块204可以被配置为通过下面方式来分析移动设备行为:识别需要进行密切监测的关键数据资源,识别与这些关键数据资源相关联的中间资源,监测当访问这些关键数据资源和中间资源时软件所进行的API调用,识别这些API调用所消耗或产生的移动设备资源,识别作为指示该软件应用的恶意活动的API调用的模式,基于所识别的API调用的模式和所识别的移动设备资源来生成轻量级的行为特征,使用该轻量级的行为特征来执行行为分析操作,以及基于这些行为分析操作来判断该软件应用是否是非良性的。
在各个方面,行为观察器模块202和/或行为分析器模块204可以被配置为通过下面操作来分析移动设备行为:识别在该移动设备上执行的软件应用最频繁使用的API,在该移动设备的存储器中的API日志中存储关于所识别的热API的使用的信息,以及基于在API日志中存储的信息来执行行为分析操作,以识别与正常操作模式不一致的移动设备行为。在一个方面,可以生成API日志,使得将其组织成使得跨API的调用保持相同的通用字段的值存储在单独的表中,因为特定字段的值特定于API的每一次调用。此外,还可以生成API日志,使得将特定字段的值存储在表中,连同将散列键存储到用于存储通用字段的值的单独表。
在各个方面,行为观察器模块202和/或行为分析器模块204可以被配置为通过下面操作来分析移动设备行为:接收包括有限状态机的完整分类器模型(其中该有限状态机适合于转换或表达成多个增强型决策树桩),基于完整分类器来在移动设备中生成精益分类器模型,以及在移动设备中使用该精益分类器模型将移动设备的行为分类成良性的或者非良性的(即,恶意的、使性能下降的等等)。在一个方面,基于完整分类器来生成精益分类器模型,可以包括:确定应当进行评估,以对移动设备行为进行分类,而无需消耗过量的移动设备处理资源、存储器资源或能量资源的独特测试状况的数量;通过下面操作来生成测试状况列表:顺序地遍历增强型决策树桩列表,并将与每一个顺序遍历的增强型决策树桩相关联的测试状况插入到该测试状况列表中,直到测试状况列表可以包括所确定数量的独特测试状况为止;以及生成精益分类器模型,以包括用于对所生成的测试状况列表里包括的多个测试状况之一进行测试的那些增强型决策树桩,或者对其划分优先级。
在各个方面,行为观察器模块202和/或行为分析器模块204可以被配置为使用移动设备的特定于设备的信息,来识别多个测试状况中与对该移动设备的行为进行分类有关的特定于移动设备、特定于应用或者特定于应用类型的测试状况,生成包括所识别的特定于移动设备、特定于应用或者特定于应用类型的测试状况或者对它们划分优先级的精益分类器模型,并在移动设备中使用所生成的精益分类器模型来对该移动设备的行为进行分类。在一个方面,可以将精益分类器模型生成为包括用于对移动设备特征(其中该特征与移动设备的当前操作状态或配置有关)进行评估的决策节点,或者对这些决策节点划分优先级。在另外的方面,生成精益分类器模型可以包括:确定应当进行评估,以对行为进行分类,而无需消耗过量的移动设备资源(例如,处理资源、存储器资源或能量资源)的独特测试状况的数量;通过下面操作来生成测试状况列表:顺序地遍历完整分类器模型中的多个测试状况,将与对移动设备的行为进行分类有关的那些测试状况插入到测试状况列表中,直到该测试状况列表包括所确定数量的独特测试状况为止;以及生成精益分类器模型,以包括完整分类器模型中用于对所生成的测试状况列表里包括的条件之一进行测试的决策节点。
在各个方面,行为观察器模块202和/或行为分析器模块204可以被配置为通过下面操作来识别与移动设备的正常操作模式不一致的移动设备行为:监测软件应用或过程的活动,确定软件应用/过程的操作系统执行状态,以及基于在对该活动进行监测期间,该软件应用或过程的活动和/或操作系统执行状态来判断该活动是否是良性的。在另外的方面,行为观察器模块202和/或行为分析器模块204可以判断该软件应用或过程的操作系统执行状态是否与该活动有关,生成用于标识在监测该活动期间,该软件应用或过程的操作系统执行状态的阴影特征值,生成用于将该活动与标识操作系统执行状态的阴影特征值进行关联的行为向量,以及使用该行为向量来判断该活动是良性的、可疑的,还是非良性的(即,恶意的或者使性能下降的)。
如上所述,移动设备处理器可以接收或者生成包括多个测试状况的分类器模型,其中所述多个测试状况适合于评估各种特征,识别特定的软件应用或软件应用类型所使用的移动设备特征,识别所接收/生成的分类器模型中用于对所识别的移动设备特征进行评估的测试状况,以及生成用于包括所识别的测试状况或者对其划分优先级的特定于应用和/或特定于应用类型的分类器模型。特定的软件应用或者特定的软件应用类型所使用的特征,可以通过监测或者评估以下各项来确定:移动设备操作、移动设备事件、数据网络活动、系统资源使用、移动设备状态、过程间通信、驱动器统计、硬件组件状态、硬件计数器、软件应用的动作或操作、软件下载、设备或组件设置的改变、应用层级的状况和事件、无线层级的状况和事件、传感器层级的状况和事件、定位硬件、个人区域网络硬件、麦克风硬件、扬声器硬件、照相机硬件、屏幕硬件、通用串行总线硬件、同步硬件、定位硬件驱动器、个人区域网络硬件驱动器、近场通信硬件驱动器、麦克风硬件驱动器、扬声器硬件驱动器、照相机硬件驱动器、陀螺仪硬件驱动器、浏览器支持硬件驱动器、电池硬件驱动器、通用串行总线硬件驱动器、存储硬件驱动器、用户交互硬件驱动器、同步硬件驱动器、无线电接口硬件驱动器和定位硬件、近场通信(NFC)硬件、屏幕硬件、浏览器支持硬件、存储硬件、加速计硬件、同步硬件、双SIM硬件、无线接口硬件、以及与任何特定硬件有关/无关的特征。
例如,在各个方面,移动设备处理器可以通过从诸如下面之类的一个或多个仪表化组件收集信息,来识别特定的软件应用(或者特定的软件应用类型)使用的移动设备特征:惯性传感器组件、电池硬件组件、浏览器支持硬件驱动器、照相机硬件组件、用户识别模块(SIM)硬件组件、定位硬件组件、麦克风硬件组件、无线电接口硬件组件、扬声器硬件组件、屏幕硬件组件、同步硬件组件、存储组件、通用串行总线硬件组件、用户交互硬件组件、惯性传感器驱动器组件、电池硬件驱动器组件、浏览器支持硬件驱动器组件、照相机硬件驱动器组件、SIM硬件驱动器组件、定位硬件驱动器组件、麦克风硬件驱动器组件、无线电接口硬件驱动器组件、扬声器硬件驱动器组件、屏幕硬件驱动器组件、同步硬件驱动器组件、存储驱动器组件、通用串行总线硬件驱动器组件、通过通用串行总线连接的硬件组件、以及用户交互硬件驱动器组件。
在各个方面,移动设备处理器可以通过监测或者分析下面中的一项或多项,来识别特定软件应用(或者特定软件应用类型)所使用的移动设备特征:应用框架或者运行时库中的库应用程序接口(API)调用、系统调用API、文件系统和网络子系统操作、文件系统活动、文件名的搜索、文件访问的种类、文件许可的改变、与文件的创建或删除有关的操作、以及文件读/写/查操作。
在各个方面,移动设备处理器可以通过监测或者分析下面中的一项或多项,来识别特定软件应用(或者特定软件应用类型)所使用的移动设备特征:连接类型、协议、端口号、该设备连接到的服务器/客户端、连接的数量、通信的量或频率、电话网络活动、发送的呼叫/消息的类型和数量、接收的呼叫/消息的类型和数量、截获的呼叫/消息的类型和数量、呼叫信息、文本消息信息传递、媒体消息传递、用户账户信息、传输、语音邮件和设备标识符。
在各个方面,移动设备处理器可以通过监测或者分析下面中的一项或多项,来识别特定软件应用(或者特定软件应用类型)所使用的移动设备特征:叉(fork)的数量、存储器存取操作、以及该软件应用打开的文件的数量。在各个方面,移动设备处理器可以通过监测或者分析软件应用所造成的状态改变(其包括显示器开/关状态、锁定/未锁定状态、电池电量状态、照相机状态和麦克风状态),来识别特定软件应用(或者特定软件应用类型)所使用的移动设备特征。
在各个方面,移动设备处理器可以通过监测或者分析关键服务、过程间通信的程度、以及软件应用所生成的弹出窗,来识别特定软件应用(或者特定软件应用类型)所使用的移动设备特征。在各个方面,移动设备处理器可以通过针对下面中的一项或多项,监测或者分析来自驱动器的统计值,来识别特定软件应用(或者特定软件应用类型)所使用的移动设备特征:照相机、传感器、电子显示器、WiFi通信组件、数据控制器、内存控制器、系统控制器、接入端口、外围设备、无线通信组件和外部存储器芯片。
在各个方面,移动设备处理器可以通过监测或者分析以下部件的访问或使用,来识别特定软件应用(或者特定软件应用类型)所使用的移动设备特征:照相机、传感器、电子显示器、WiFi通信组件、数据控制器、存储器控制器、系统控制器、接入端口、定时器、外围设备、无线通信组件、外部存储器芯片、电压调整器、振荡器、锁相环、外围桥接、以及用于支持在移动计算设备上运行的处理器和客户端的其它类似组件。
在各个方面,移动设备处理器可以通过监测或者分析硬件计数器的访问或使用,来识别特定软件应用(或者特定软件应用类型)所使用的移动设备特征,其中硬件计数器的访问或使用表示:被配置为存储与硬件有关的活动或事件的计数或状态的移动计算设备和/或移动设备子系统和/或处理器/内核的特殊用途寄存器的状态或状况。
在各个方面,移动设备处理器可以通过监测或者分析软件应用所使用的信息的类型,来识别特定软件应用(或者特定软件应用类型)所使用的移动设备特征,其中该信息的类型包括:位置信息、照相机信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线电通信、基本文本的通信的内容、记录的音频文件的内容、电话簿或联系人信息、联系人列表、日历信息、定位信息、记录的音频信息、加速计信息、向软件应用传输以及传输自软件应用的通知、用户验证和用户密码。
在各个方面,移动设备处理器可以通过监测或者分析下面中的一项或多项,来识别特定软件应用(或者特定软件应用类型)所使用的移动设备特征:来自应用下载服务器的软件下载、以及第一软件应用请求下载和/或安装第二软件应用。
图3示出了包括网络服务器116的系统300中的示例性组件和信息流,其中该网络服务器116配置为结合移动设备102进行工作,以智能地和高效地识别移动设备102上的使性能下降的移动设备行为,而无需消耗过量的该移动设备102的处理资源、存储器资源或者能量资源。在图3所示出的例子中,移动设备102包括特征选择和挑选模块304、精益分类器模型生成器模块306和基于应用的分类器模型生成器模块308,后者可以包括特定于应用的分类器模型生成器模块310和特定于应用类型的分类器模型生成器模块312。网络服务器116包括完整分类器模型生成模块302。
模块304-312中的任何一个或全部可以是实时在线分类器模块和/或包括在图2中所示出的行为分析器模块204或分类器模块208中。在一个方面,基于应用的分类器模型生成器模块308可以包括在精益分类器模型生成器模块306中。在各个方面,特征选择和挑选模块304可以包括在基于应用的分类器模型生成器模块308或者精益分类器模型生成器模块306中。
网络服务器116可以被配置为从云服务/网络118接收关于各种状况、特征、行为和纠正动作的信息,并使用该信息来生成完整分类器模型,其中该完整分类器模型利用移动设备102可以快速地转换成一个或多个精益分类器模型的格式或结构来描述大型行为信息的语料库。例如,网络服务器116中的完整分类器模型生成器模块302可以使用从云服务/网络118接收的行为向量的云语料库来生成完整分类器模型,其可以包括该大型行为信息的语料库的有限状态机描述或表示。该有限状态机可以是能表示成一个或多个决策节点的信息结构,例如,与对移动设备行为进行分类有关的全部或大部分特征和数据点进行共同地识别、描述、测试或者评估的一系列增强型决策树桩。
网络服务器116可以向移动设备102发送完整分类器模型,移动设备102可以接收和使用该完整分类器模型来生成精简特征分类器模型或者不同程度的复杂性或精简性的一系列分类器模型。在各个方面,这些精简特征分类器模型可以在特征选择和挑选模块304、精益分类器模型生成器模块306和基于应用的分类器模型生成器模块308或者其任意组合中生成。也就是说,移动设备102的特征选择和挑选模块304、精益分类器模型生成器模块306和/或基于应用的分类器模型生成器模块308可以共同地或者单独地使用从网络服务器接收的完整分类器模型中包括的信息,来生成包括完整分类器模型中包含的特征和数据点的子集的一个或多个精简特征分类器模型。
例如,精益分类器模型生成器模块306与特征选择和挑选模块304可以共同地挑选从网络服务器116所接收的完整分类器模型的有限状态机中包括的健壮系列的增强型决策树桩,以生成包括精简数量的增强型决策树桩和/或评估有限数量的测试状况的精简特征分类器模型。该健壮系列的增强型决策树桩的挑选,可以通过下面操作来完成:选择增强型决策树桩,识别用于测试或者依赖于与所选定的决策树桩相同的移动设备特征的所有其它增强型决策树桩,以及向信息结构增加所选定的树桩和所有识别的其它增强型决策树桩(其测试或依赖于相同的移动设备特征)。随后,可以针对有限数量的树桩或设备特征,对该过程进行重复,使得该信息结构包括完整分类器模型中测试或者依赖于较小或有限数量的不同特征或状况的所有增强型决策树桩。随后,移动设备可以使用该信息结构作为精益分类器模型,对该移动设备的有限数量的不同特征或状况进行测试,并快速地对移动设备行为进行分类,而无需消耗过量的其处理资源、存储器资源或能量资源。
精益分类器模型生成器模块306还可以被配置为生成特定于该移动设备和可以在该移动设备上执行的特定软件应用或过程的分类器模型。用此方式,可以生成一个或多个精益分类器模型,其中这些精益分类器模型优选地或专有地测试与该移动设备有关并且与该软件应用特别相关的特征或元素。精益分类器模型生成器模块306可以通过选择与该应用有关并且与该移动设备有关的测试状况,来生一次成这些特定于设备和特定于应用/特定于应用类型的精益分类器模型。替代地,精益分类器模型生成器模块306可以生成包括与该移动设备有关的测试状况的特定于设备的精益分类器模型,并根据该精益分类器模型,生成进一步精练的模型,其中该精练的模型包括与该应用有关的那些测试状况或者对这些测试状况划分优先级。作为另一种选择,精益分类器模型生成器模块306可以生成与该应用有关的精益分类器模型,随后删除与移动设备无关的测试状况。为了便于描述起见,首先描述用于生成特定于设备的精益分类器模型的过程,接着是用于生成特定于应用或者特定于应用类型的精益分类器模型的过程。
精益分类器模型生成器模块306可以被配置为通过使用移动设备102的特定于设备的信息,识别与对该特定移动设备102的行为进行分类有关或者相关的特定于移动设备的特征(或者测试状况),来生成特定于设备的分类器模型。精益分类器模型生成器模块306可以使用该信息,来生成优选地或专有地包括、测试或者依赖所识别的特定于移动设备的特征或测试状况的精益分类器模型。随后,移动设备102可以使用这些本地生成的精益分类器模型来对该移动设备的行为进行分类,而无需消耗过量的其处理资源、存储器资源或能量资源。也就是说,通过在移动设备102中本地生成精益分类器模型来说明特定于设备或者特定于设备状态的特征,各个方面允许移动设备102将其监测操作聚焦于对于识别该特定的移动设备102中的非期望行为的源或者原因来说最重要的特征或者因素。
此外,精益分类器模型生成器模块306还可以被配置为:判断软件应用/过程的操作系统执行状态是否与判断监测的移动设备行为中的任何一个是否是恶意的或可疑的有关,并生成精益分类器模型,其中该精益分类器模型包括、识别或者评估用于考虑这些操作系统执行状态的特征或行为。随后,移动设备102可以使用这些本地生成的精益分类器模型,来优选地或专有地监测这些软件应用的操作系统执行状态(其中这些确定是相关的)。这允许移动设备102将其操作聚焦于应用的最重要特征和功能,以便更佳地预测行为是否是良性的。也就是说,通过监测选择的软件应用(或过程、线程等等)的操作系统执行状态,各个方面允许移动设备102更好地预测行为是良性的,还是非良性的。此外,通过智能地判断软件应用的操作系统执行状态是否与判断行为是良性的还是恶意的有关,并在这些确定是相关的时,选择对这些软件应用(或过程、线程等等)进行监测,各个方面允许移动设备102更佳地聚焦于其操作,并识别使性能下降的行为/因素,而无需消耗该移动设备的过量的处理资源、存储器资源或能量资源。
在一个方面,特征选择和挑选模块304可以被配置为允许“在空中”进行分类器模型的特征选择和生成,并且无需移动设备102访问云数据进行重新训练。这允许基于应用的分类器模型生成器模块308在移动设备102中生成/创建分类器模型,其中该分类器模型允许移动设备102将其操作聚焦于评估与特定的软件应用或者软件应用的特定的类型、分类或种类有关的特征。
也就是说,基于应用的分类器模型生成器模块308允许移动设备102生成和使用高度聚焦和精益的分类器模型,其中这些模型优选地或专有地测试或评估该移动设备的特征,其中这些特征与特定的软件应用的操作或者通常由某种类型、分类或种类的软件应用进行执行的操作相关联。为了实现此目的,基于应用的分类器模型生成器模块308可以智能地识别处于滥用的高风险和/或具有安全的特殊需求的软件应用,并针对于这些识别的应用中的每一个,确定该应用可以或者将在其运行期间执行的活动。随后,基于应用的分类器模型生成器模块308可以将这些活动与该移动设备的以数据为中心特征进行关联,以生成非常适合于移动设备用于判断单独的软件应用是否对于该移动设备102的性能下降的行为具有贡献(或者可能具有贡献)的分类器模型。
基于应用的分类器模型生成器模块308可以被配置为在每一次在移动设备中安装或更新新的应用时,生成特定于应用和/或特定于应用类型的分类器模型。这可以通过特定于应用的分类器模型生成器模块310和/或特定于应用类型的分类器模型生成器模块312来完成。
特定于应用类型的模型生成器模块312可以被配置为基于特定的软件应用的种类、类型或分类(例如,游戏、导航、金融等等),生成用于该特定软件应用的分类器模型。特定于应用类型的分类器模型生成器模块312可以通过读取与软件应用相关联的应用商店标签,通过执行静态分析操作和/或通过将软件应用与其它类似的软件应用进行比较,来确定该软件应用的种类、类型或分类。
例如,特定于应用类型的模型生成器模块312可以对第一软件应用的许可(例如,操作系统、文件、访问等等)和/或API使用模式进行评估,将该信息与第二软件应用的许可或API使用模式进行比较,以判断第一软件应用是否包括与第二软件应用相同的许可集合或者使用相同的API集合,并当第一软件应用包括与第二软件应用相同的许可集合或者使用相同的API集合时,使用第二软件应用的标签信息来确定用于第一软件应用的软件应用类型(例如,金融软件、银行应用等等)。随后,特定于应用类型的分类器模型生成器模块312可以基于所确定的软件应用类型,生成、更新或者选择适合于评估第一软件应用的分类器模型。在一个方面,这可以通过基于所确定的软件应用类型,挑选从网络服务器116接收的完整分类器模型中包括的决策节点来实现。
特定于应用的分类器模型生成器模块310可以被配置为基于标签信息、静态分析、安装时间分析,或者通过确定该特定的软件应用的操作系统、文件和/或访问许可,来生成用于该软件应用的分类器模型。例如,移动设备可以在每一次更新软件应用时,执行该软件应用的静态分析,将该分析的结果存储在该移动设备的存储器中,使用该信息来确定对于判断该应用是否对可疑的移动设备行为具有贡献来说最重要的移动设备状况或因素,并挑选完整分类器模型中包括的决策节点以包括用于对该最重要状况或因素进行测试的节点。
图4示出了在移动设备102中生成特定于应用和/或特定于应用类型的分类器模型的一个方面方法400。方法400可以由移动设备102的处理内核来执行。
在方框402中,处理内核可以使用完整分类器模型452中包括的信息,来生成很大数量的决策节点448,其中这些决策节点对于与判断移动设备行为是良性的,还是对于该移动设备102的随时间的性能或功耗特性下降具有贡献的所有或大部分的特征和数据点进行共同地识别、描述、测试或者评估。例如,在方框402中,处理内核可以生成用于对四十(40)个独特状况进行测试的一百个(100)决策节点448。
在一个方面,决策节点448可以是决策树桩(例如,增强型决策树桩等等)。每一个决策树桩可以是具有精确的一个节点(其对一个状况或者移动设备特征进行测试)的单层决策树。由于在决策树桩中只存在一个节点,因此向决策树桩应用特征向量导致二进制的答案(例如,是或否,非良性的等等)。例如,如果决策树桩448b测试的状况是“SMS传输的频率小于每分钟x个?”,则向该决策树桩448b应用“3”的值将导致“是”的应答(对应于“小于3个”SMS传输)或者“否”应答(对应于“3个或更多”SMS传输)。随后,可以使用该二进制“是”或“否”应答来对结果分类成指示该行为是恶意的(M)或者良性的(B)。由于这些树桩是非常简单的评估(基本的二进制),因此用于执行每一个树桩的过程是非常简单的,并可以在具有较少的处理开销的情况下,快速地和/或并行地完成。
在一个方面,每一个决策节点448可以与权重值相关联,其中该权重值指示从该测试问题的回答中获得多少知识,和/或对该测试状况的回答将使处理内核能够判断移动设备行为是良性的可能性。可以基于来自该移动设备中的移动设备行为、软件应用或者过程的先前观察或分析所收集的信息,来计算与决策节点448相关联的权重。在一个方面,还可以基于使用多少单位的数据语料库(例如,数据或者行为向量的云语料库)来构建每个决策节点448,来计算与该节点相关联的权重。在一个方面,可以基于从先前数据/行为模型或分类器的执行/应用所收集的准确性或性能信息,来生成这些权重值。
返回到图4,在方框404中,处理内核可以生成精益分类器模型454,后者包括完整分类器模型452中包含的决策节点448的聚焦的子集。为了实现这一点,处理内核可以执行特征选择操作,其可以包括:生成完整分类器模型452中包含的决策节点448的排序的或划分优先次序的列表;确定应当进行评估,以对移动设备行为进行分类,而无需消耗过量的移动设备102的处理资源、存储器资源或能量资源的独特测试状况的数量;通过顺序地遍历该排序/划分优先次序的决策节点448列表,将与每一个顺序遍历的决策节点448相关联的测试状况插入到测试状况列表中,直到该测试状况列表包括所确定数量的独特测试状况为止,来生成该测试状况列表;以及生成优选地或专有地包括用于对所生成的测试状况列表中包括的测试状况里的一个进行测试的决策节点448的信息结构。在一个方面,处理内核可以生成一系列的分类器模型,使得该系列的分类器模型中的每一个分类器模型454对不同数量的独特测试状况进行评估,和/或包括不同数量的决策节点。
在方框406中,处理内核可以修剪、挑选或者修整精益分类器模型454中的一个里包括的决策节点(即,增强型决策树桩),以生成优选地或专有地包括该精益分类器模型454中的用于对与特定的软件应用(即,钱包)有关的状况或特征进行测试或评估的决策节点的特定于应用的分类器模型456,例如,通过丢弃寻址该应用没有调用或使用的API或函数的决策节点,以及丢弃关于该应用没有访问或者修改的设备资源的决策节点。在一个方面,处理内核可以通过执行特征选择和挑选操作,来生成特定于应用的分类器模型456。在各个方面,处理内核可以基于与软件应用相关联的标签信息、关于该应用执行静态分析操作的结果、执行该应用的安装时间分析的结果,通过评估操作系统、文件和/或该软件应用的访问许可,通过对该应用的API使用进行评估等等,来识别用于包含在特定于应用的分类器模型456之中的决策节点448。
在一个方面,在方框406中,处理内核可以生成多个特定于应用的分类器模型456,其每一个对不同的软件应用进行评估。在一个方面,处理内核可以针对系统中的每一个软件应用,生成特定于应用的分类器模型456,和/或使得在移动设备上运行的每一个应用都具有其自己的活动分类器。在一个方面,在方框406中,处理内核可以生成一系列的特定于应用的分类器模型456。该系列的特定于应用的分类器模型456中的每一个特定于应用的分类器模型456,可以对于与单一软件应用有关的特征的不同组合或者多个特征进行评估。
在方框408中,处理内核可以修剪、挑选或者修整精益分类器模型454中的一个里包括的决策节点(即,增强型决策树桩),以生成特定于应用类型的分类器模型458。所生成的特定于应用类型的分类器模型458可以优选地或者专有地包括该完整或精益分类器模型452、454中所包含的用于对与特定类型、种类或分类的软件应用(例如,游戏、导航、金融等等)有关的状况或特征进行测试或评估的决策节点。在一个方面,处理内核可以通过执行特征选择和挑选操作,来识别要包括在特定于应用类型的分类器模型458中的决策结点。在一个方面,处理内核可以通过读取与每个软件应用相关联的应用商店标签,通过执行静态分析操作,和/或通过将该软件应用与其它类似的软件应用进行比较,来确定该软件应用的种类、类型或分类,和/或识别将包括在特定于应用类型的分类器模型458中的决策节点448。
在方框410中,处理内核可以使用本地生成的分类器模型454、456、458中的一个或者任意组合,来执行实时行为监测和分析操作,并预测复杂的移动设备行为是良性的,还是对于该移动设备的性能或者功耗特性下降具有贡献。在一个方面,移动设备可以被配置为并行地使用或者应用多个分类器模型454、456、458。在一个方面,当对特定的软件应用进行评估时,与通过应用/使用精益分类器模型454所产生的结果相比,处理内核可以给予通过应用或使用基于应用的分类器模型456、458所产生的结果更高的优选或优先级。处理内核可以使用应用分类器模型的结果,来预测复杂的移动设备行为是良性的,还是对于该移动设备随时间的性能或者功耗特性下降具有贡献。
通过在移动设备中动态地本地生成基于应用的分类器模型456、458,来说明特定于应用或特定于应用类型的特征和/或功能,各个方面允许移动设备102将其监测操作聚焦于较小数量的特征,其中这些特征对于判断特定软件应用的操作是否对于该移动设备的非期望行为或者性能退化行为具有贡献来说是最重要的。这提高了移动设备102的性能和功耗特性,并允许移动设备连续地或者近乎连续地执行实时行为监测和分析操作,而无需消耗过量的其处理资源、存储器资源或者能量资源。
图5A示出了可以由一个方面移动设备102使用,以便并行地向多个基于应用的分类器模型应用行为向量的示例性分类器模型500。该分类器模型500可以是完整分类器模型或者本地生成的精益分类器模型。该分类器模型500可以包括与一个或多个软件应用App1-App5相关联的多个决策节点502-504。例如,在图5A中,决策节点502与软件应用App1、App2、App4和App5相关联,决策节点504与软件应用App1相关联,决策节点506与软件应用App1和App2相关联,决策节点508与软件应用App1、App2、App4和App5相关联,决策节点510与软件应用App1、App2和App5相关联,决策节点512与软件应用App1相关联,且决策节点514与软件应用App1、App2、App4和App5相关联。
在一个方面,移动设备中的处理内核可以被配置为使用决策节点502-514和软件应用App1-App5之间的映射,将分类器模型500划分成多个基于应用的分类器模型。例如,处理器可以使用这些映射来确定用于App1的基于应用的分类器应当包括决策节点502-514,而用于App1的基于应用的分类器应当包括决策节点502、506、508、510和514。也就是说,不是针对每一个软件应用都生成和执行不同的分类器模型,而是处理内核可以向分类器模型500中的所有决策节点502-514都应用行为向量,以针对所有分类器执行相同集合的决策节点502-514。对于每一个应用App1-App5,移动设备可以向分类器模型500应用掩码(例如,零一掩码),使得与应用App1-App5有关的决策节点502-514在该相应的应用执行时,其被用于评估设备行为,或者对其划分优先级。
在一个方面,移动设备可以基于决策节点502-514与它们相应的应用App1-App5的关系,计算针对这些决策节点502-514的不同的权重值或者不同的加权平均。计算这种针对恶意软件/良性软件的置信度值,可以包括评估多个决策节点502-514,并采用它们的权重值的加权平均。在一个方面,移动设备可以计算关于相同或不同精益分类器的置信度值。在一个方面,移动设备可以针对组成分类器的决策节点502-514的每一种组合,计算不同的加权平均。
图5B示出了用于生成说明移动设备的特定于应用和特定于应用类型的特征的分类器模型的一个方面方法510。方法510可以由移动设备中的处理内核来执行。
在方框512中,处理内核可以执行联合特征选择和挑选(JFSP)操作,以生成包括精简数量的决策节点和特征/测试状况的精益分类器模型。在方框518中,处理内核可以根据这些特征/测试状况与对该移动设备的行为进行分类的相关性,对这些特征/测试状况划分优先级或者进行排序。
在方框514中,处理内核可以通过评估软件应用的许可集合{Fper},来推导或者确定用于该应用的特征/测试状况。在方框516中,处理内核可以通过评估关于软件应用执行静态或者安装时间分析的结果,来确定用于该应用的特征集或者测试状况{Finstall}。在方框520中,处理内核可以根据每一个应用的特征/测试状况与对移动设备的行为进行分类的相关性,对它们划分优先级或者进行排序。在一个方面,这可以通过下面的公式来完成:
{Fapp}={Fper}U{Finstall}
在方框522中,处理内核可以通过使用JFSP作为排序函数,对每一应用特征{Fapp}划分优先级或者进行排序。例如,处理内核可以关于在方框518中生成的精益分类器执行JFSP操作。在方框524中,处理内核可以生成每一应用特征{Fapp}的经排序列表。在方框526中,处理内核可以应用JFSP来选择感兴趣的特征。在方框528中,处理内核可以生成每一应用的精益分类器模型,以包括感兴趣的特征。
图6A根据一个方面,示出了对在计算设备的处理内核中操作的软件应用进行分析的方法600。在方框602中,处理内核可以对该软件应用的活动进行监测,例如,通过从计算设备的存储器中存储的动作日志中收集行为信息,或者执行上面参照图2所讨论的监测/观察操作中的任何一个。
在方框604中,处理内核可以使用所收集的行为信息来生成行为向量,其中该行为向量描绘所监测的该软件应用的活动的特性。在判断框606中,处理内核可以判断所生成的行为向量是否包括用于标识该软件应用的行为线索或者区分行为。例如,在判断框606中,处理内核可以判断所生成的行为向量是否包括用于标识该软件应用对于非预期的设备特征的使用的信息和/或用于标识该软件应用对于设备特征的不寻常使用的信息。
响应于确定所生成的行为向量不包括区分行为(即,判断框606=“否”),则在方框610中,处理内核可以执行本申请中所讨论的分析或致动操作中的任何一个。例如,处理内核可以向分类器模型应用所生成的行为向量,以判断该软件应用是否是非良性的,并且当向该分类器模型应用该行为向量的结果指示该软件应用是非良性的时,终止该软件应用。
响应于确定所生成的行为向量包括区分行为(即,判断框606=“是”),则在方框610中,处理内核可以将该软件应用分类成关键的、重要的或者容易被滥用的。在方框612中,处理内核可以执行深入行为分析,其可以包括:向聚焦的分类器模型应用该行为向量,收集更详细的观察,执行更深入的日志记录等等。
图6B示出了对在计算设备的处理内核中操作的软件应用进行认证的方面方法620。在方框622中,处理内核可以对该软件应用的活动进行监测,例如,通过从计算设备的存储器中存储的动作日志中收集行为信息,或者执行上面参照图2所讨论的监测/观察操作中的任何一个。
在方框624中,处理内核可以使用所收集的行为信息来生成行为向量,其中该行为向量描绘所监测的该软件应用的活动的特性。在判断框626中,处理内核可以判断所生成的行为向量是否包括用于将该软件应用识别成来自于已知或者受信任供应商的区分行为。例如,在判断框626中,处理内核可以判断所生成的行为向量是否包括用于标识该软件应用对于非预期的设备特征的使用的信息。再举一个例子,处理内核可以判断所生成的行为向量是否包括用于标识该软件应用对于设备特征的不寻常使用的信息。
响应于确定所生成的行为向量包括区分行为(即,判断框626=“是”),在方框628中,处理内核可以通过将该软件应用分类成良性的,来认证该软件应用。响应于确定所生成的行为向量不包括区分行为(即,判断框626=“否”),在方框630中,处理内核可以执行本申请中所讨论的分析或致动操作中的任何一个。例如,处理内核可以向分类器模型应用所生成的行为向量,以判断该软件应用是否是非良性的,并且当向该分类器模型应用该行为向量的结果指示该软件应用是非良性的时,终止该软件应用。
图6C示出了生成精益或聚焦的分类器/行为模型的方面方法650,其中该模型用于说明计算设备的特定于应用和特定于应用类型的特征。方法650可以由计算设备中的处理内核在方法600或方法620之后执行,例如,响应于确定所生成的行为向量不包括区分行为,其中该区分行为可以是行为监测系统使用分类器模型将识别的一种行为的线索。
在方框652中,处理内核可以取回或者接收完整分类器模型,其中该完整分类器模型是或者包括有限状态机,增强型决策树、决策树桩列表,或者用于标识多个测试状况的其它类似信息结构。在一个方面,完整分类器模型包括有限状态机,后者包括适合于表示多个增强型决策树桩的信息和/或包括适合于由移动设备转换成多个增强型决策树桩的信息。在一个方面,该有限状态机可以是(或者可以包括)排序的或者划分优先级的增强型决策树桩列表。这些增强型决策树桩中的每一个可以包括测试状况和权重值。
在方框654中,处理内核可以确定应当进行评估,以准确地将移动设备行为分类成非良性的,而无需消耗过量的移动设备的处理资源、存储器资源或能量资源的独特测试状况的数量。这可以包括:确定移动设备中可用的处理资源、存储器资源和/或能量资源的量,对状况进行测试所需要的该移动设备的处理资源、存储器资源或能量资源的量;确定与移动设备通过对状况进行测试而要进行分析或者评估的行为或状况相关联的优先级和/或复杂度;以及选择/确定所述独特测试状况的数量,以便在该移动设备的可用处理资源、存储器资源或能量资源的消耗、通过测试状况将要实现的行为分类的准确性、以及通过该状况测试的行为的重要性或优先级之间达到平衡或者均衡。
在方框656中,处理内核可以使用特定于设备或者特定于设备状态的信息,来快速地识别应当在精益分类器模型中包括或者排除的特征和/或测试状况。例如,处理内核可以识别对于移动设备中不可能出现的状况、特征或者因素(由于该移动设备的当前硬件或软件配置、操作状态等等)进行测试的测试状况。再举一个例子,处理内核可以识别和从精益分类器模型中排除完整模型中包括的特征/节点/树桩,以及不可能存在于该移动设备之中和/或与该移动设备无关的测试状况。
在一个方面,在方框658中,处理内核可以从开始处遍历增强型决策树桩列表,以利用所确定数量的独特测试状况来填充选定的测试状况列表,并排除在方框626中识别的测试状况。例如,处理内核可以跳过、忽略或者删除完整分类器模型中包括的对于该软件应用不可能使用的状况进行测试的特征。在一个方面,处理内核还可以确定用于所选定的测试状况中的每一个的绝对或相对优先级值,并将该绝对或相对优先级值关联它们相应的测试状况来存储在选定的测试状况列表之中。
在一个方面,在方框658中,处理内核可以通过下面操作来生成测试状况列表:顺序地遍历完整分类器模型中的多个测试状况,并将与对该移动设备的行为进行分类有关的那些测试状况插入到该测试状况列表中,直到该测试状况列表包括所确定数量的独特测试状况为止。在另外的方面,生成测试状况列表可以包括:顺序地遍历完整分类器模型的决策节点,忽略与该软件应用无关的测试状况相关联的决策节点,并将没有被忽略的与每一个顺序遍历的决策节点相关联的测试状况插入到测试状况列表之中,直到该测试状况列表包括所确定数量的独特测试状况为止。
在方框660中,处理内核可以生成精益分类器模型,其中该精益分类器模型包括完整分类器模型中包括的用于对所生成的测试状况列表中标识的所选定测试状况里的一个(因此,其排除了方框656中识别的测试状况)进行测试的所有增强型决策树桩。在一个方面,处理内核可以生成精益分类器模型,以按照增强型决策树桩的重要性或优先级值的顺序,来包括或者表示这些增强型决策树桩。在一个方面,在方框660中,处理内核可以通过下面操作,增加独特测试状况的数量,以便生成另一个更加健壮的(即,不太精简的)精益分类器模型:针对方框658中的更大数量的测试状况,重复遍历增强型决策树桩列表的操作,以及生成另一个精益分类器模式。可以重复这些操作,以生成一系列的精益分类器模型。
在方框662中,处理内核可以使用特定于应用的信息和/或特定于应用类型的信息,来识别精益分类器模型中包括的特征或测试状况,它们与判断软件应用是否对于移动设备的使性能下降行为具有贡献有关。在方框664中,处理内核可以遍历精益分类器模型中的增强型决策树桩,并针对软件应用来选择或者映射用于对该软件应用所使用的特征或状况进行测试的决策树桩,并使用所选定的或映射的决策树桩作为特定于应用的分类器模型或者特定于应用类型的分类器模型。
图7示出了使用精益分类器模型,对移动设备的行为进行分类的一个方面方法700。方法700可以由移动设备中的处理内核来执行。
在方框702中,处理内核可以执行观察,以从各个组件收集在该移动设备系统的各个层级处仪表化的行为信息。在一个方面,这可以通过如上面参照图2所讨论的行为观察器模块202来完成。在方框704中,处理内核可以生成用于描绘这些观察量、所收集的行为信息和/或移动设备行为的特性的行为向量。此外,在方框704中,处理内核可以使用从网络服务器接收的完整分类器模型,来生成精益分类器模型或者不同程度的复杂性(或者“精简性”)的一系列精益分类器模型。为了实现这一点,处理内核可以挑选完整分类器模型中包括的一系列增强型决策树桩,以生成包括精简数量的增强型决策树桩和/或评估有限数量的测试状况的精益分类器模型。
在方框706中,处理内核可以选择该系列的精益分类器模型中该移动设备还没有评估或者应用的最精益分类器(即,基于最小数量的不同移动设备状态、特征、行为或状况的模型)。在一个方面,这可以通过处理内核选择经排序的分类器模型列表中的第一分类器模型来完成。
在方框708中,处理内核可以向所选定的精益分类器模型中的每一个增强型决策树桩应用所收集的行为信息或者行为向量。由于增强型决策树桩是二进制决策,并且精益分类器模型是通过选择多个二进制决策(它们是基于相同的测试状况)来生成的,因此可以以并行操作来执行用于向精益分类器模型中的增强型决策树桩应用行为向量的过程。替代地,可以对方框530中应用的行为向量进行截短或者过滤,以刚好包括该精益分类器模型中包括的有限数量的测试状况参数,从而进一步降低在应用该模型时的计算量。
在方框710中,处理内核可以计算或者确定向精益分类器模型中的每一个增强型决策树桩应用所收集的行为信息的结果的加权平均。在方框712中,处理内核可以将所计算的加权平均与门限值进行比较。在判断框714中,处理内核可以判断该比较的结果和/或应用所选定的精益分类器模型所产生的结果是否是可疑的。例如,处理内核可以判断是否可以使用这些结果,以较高的置信度将行为分类成非良性的(如果没有将该行为对待成可疑的话)。
如果处理内核确定这些结果是可疑的(例如,判断框714=“是”),则处理内核可以重复方框706-712中的操作,以选择和应用更强的(即,不太精简的)分类器模型对更多的设备状态、特征、行为或状况进行评估,直到以较高的置信度将该行为分类成非良性的为止。如果处理内核确定这些结果不是可疑的(例如,判断框714=“否”)(例如,通过以较高的置信度来确定可以将该行为分类成非良性的),则在方框716中,处理内核可以使用在方框712中产生的比较的结果,将该移动设备的行为分类成良性的或者潜在恶意的。
在一个替代的方面方法,上面所描述的操作可以通过以下操作来完成:顺序地选择并不已经处于精益分类器模型之中的增强型决策树桩;识别所有其它依赖于与所选定的决策树桩相同的移动设备状态、特征、行为或状况的增强型决策树桩(因此可以基于一种确定结果来进行应用);在精益分类器模型中,包括所选定的以及所有识别的其它增强型决策树桩(其取决于相同的移动设备状态、特征、行为或状况);以及将该处理重复与所确定的测试状况的数量相等的次数。由于每一次将依赖于与所选定的增强型决策树桩相同的测试状况的所有增强型决策树桩,都增加到精益分类器模型中,因此限制执行该过程的次数,将限制精益分类器模型中包括的测试状况的数量。
图8示出了适合于生成增强型决策树/分类器(其适合于根据各个方面进行使用)的示例性增强方法800。在操作802中,处理器可以生成和/或执行决策树/分类器,通过决策树/分类器的执行来收集训练样本,并基于该训练样本来生成新的分类器模型(h1(x))。该训练样本可以包括:通过该移动设备中的移动设备行为、软件应用或者过程的之前观察或分析所收集的信息。可以基于之前类器包括的测试状况或问题的类型,和/或基于通过行为分析器模块204的分类器模块208中的之前数据/行为模型或者分类器的执行/应用所收集的准确性或性能特性,来生成该训练样本和/或新的分类器模型(h1(x))。在操作804中,处理器可以提升(或者增加)所生成的决策树/分类器(h1(x))所误分类的条目的权重,以生成第二新的树/分类器(h2(x))。在一个方面,可以基于分类器(h1(x))的之前执行或者使用的错误率,来生成该训练样本和/或新的分类器模型(h2(x))。在一个方面,可以基于确定对于该错误率或者分类器的之前执行或使用中的数据点的误分类具有贡献的属性,来生成该训练样本和/或新的分类器模型(h2(x))。
在一个方面,可以基于误分类的条目的相对准确性或者有效性,对它们进行加权。在操作806中,处理器可以提升(或者增加)所生成的第二决策树/分类器(h2(x))所误分类的条目的权重,以生成第三新的树/分类器(h3(x))。在操作808中,可以重复804-806的操作,以生成“t”数量的新树/分类器(ht(x))。
通过提升或者增加第一决策树/分类器(h1(x))、第二树/分类器(h2(x))所误分类的条目的权重,可以更准确地对第一决策树/分类器(h1(x))所误分类的条目进行分类,但其也可能使第一决策树/分类器(h1(x))正确分类的一些条目发生误分类。类似地,第三决策树/分类器(h3(x))可以更准确地对第二决策树/分类器(h2(x))所误分类的条目进行分类,并可能使第二决策树/分类器(h2(x))正确分类的一些条目发生误分类。也就是说,生成该系列的树/分类器h1(x)-ht(x)并不导致系统整体地收敛,而是导致可以并行地执行多个决策树/分类器。
图9根据一个方面,示出了被配置为执行动态和自适应观察的计算系统的行为观察器模块202中的示例性逻辑组件和信息流。行为观察器模块202可以包括自适应过滤器模块902、节流模块904、观察器模式模块906、高级行为检测模块908、行为向量生成器910和安全缓冲器912。高级行为检测模块908可以包括空间相关模块914和时间相关模块916。
观察器模式模块906可以从各种源接收控制信息,其中这些源可以包括分析器单元(例如,上面参照图2所描述的行为分析器模块204)和/或应用API。观察器模式模块906可以向自适应过滤器模块902和高级行为检测模块908发送关于各种观察器模式的控制信息。
自适应过滤器模块902可以从多个源接收数据/信息,并对所接收的信息进行智能过滤以生成从所接收的信息中选择的更小子集的信息。该过滤器可以基于从分析器模块接收的信息或控制、或者通过API进行通信的高级过程,来进行调整。可以将过滤后的信息发送给节流模块904,后者可以负责对于从过滤器流出的信息量进行控制,以确保高级行为检测模块908不会变得被请求或信息淹没或过载。
高级行为检测模块908可以从节流模块904接收数据/信息,从观察器模式模块906接收控制信息,以及从移动设备的其它组件接收上下文信息。高级行为检测模块908可以使用所接收的信息来执行空间和时间相关,以检测或识别可能造成该设备按照次最佳水平进行执行的高级行为。可以将这些空间和时间相关的结果发送到行为向量生成器910,后者可以接收该相关性信息,并生成用于描述特定过程、应用或子系统的行为的行为向量。在一个方面,行为向量生成器910可以生成行为向量,使得特定过程、应用或子系统的每一个高级行为是该行为向量的一个元素。在一个方面,所生成的行为向量可以存储在安全缓冲器912中。高级行为检测的例子可以包括下面信息的检测:特定事件的存在性、另一个事件的数量或频率、多个事件之间的关系、事件发生的顺序、某些事件的发生时间之间的时间差等。
在各个方面,行为观察器模块202可以执行自适应观察,并控制观察粒度。也就是说,行为观察器模块202可以动态地识别要进行观察的相关行为,并动态地确定要对所识别的行为进行观察的细节水平。用此方式,行为观察器模块202使该系统能够按照各种水平(例如,多种粗和细粒度水平)来监测移动设备的行为。行为观察器模块202可以使系统能够针对正在进行观察的内容进行调整。行为观察器模块202可以使系统能够基于聚焦的信息子集(其可以是从各种各样的源中获得的),动态地改变进行观察的因素/行为。
如上面所讨论的,行为观察器模块202可以基于从各种源接收的信息,执行自适应观察技术,并控制观察粒度。例如,高级行为检测模块908可以从节流模块904、观察器模式模块906接收信息,并从移动设备的其它组件(例如,传感器)接收上下文信息。举例而言,执行时间相关的高级行为检测模块908可以检测到照相机已被使用,并且移动设备正在尝试向服务器上传图片。高级行为检测模块908还可以执行空间相关性,以判断移动设备上的应用是否拍摄了该图片,但此时该设备正放置在皮套之中并悬挂在用户的腰带上。高级行为检测模块908可以判断所检测到的该高级行为(例如,在放置在皮套中时,使用了照相机)是否是可接受的或通常的行为,这可以通过将当前行为与该移动设备的过去行为进行比较和/或访问从多个设备收集的信息(例如,从众包服务器接收的信息)来实现。由于在皮套中时,拍摄图片并将它们上传到服务器是一件异常行为(可以根据在处于皮套时的背景,所观察到的正常行为来进行确定),因此在该情形下,高级行为检测模块908可以认识到这是潜在的威胁性行为,故发起适当的响应(例如,关闭照相机、发出警报声等等)。
在一个方面,行为观察器模块202可以在实现在多个部分之中。
图10更详细地示出了实现一个方面观察器后台进程的计算系统1000中的逻辑组件和信息流。在图10所示出的例子中,计算系统1000包括位于用户空间中的行为检测器模块1002、数据库引擎模块1004和行为分析器模块1004,以及位于内核空间中的环形缓冲器1014、过滤器规则模块1016、节流规则模块1018和安全缓冲器1020。此外,计算系统1000还可以包括观察器后台进程,后者包括位于用户空间中的行为检测器1002和数据库引擎1004,以及位于内核空间中的安全缓冲器管理器1006、规则管理器1008和系统健康监测器1010。
各个方面可以提供移动设备上的跨层观察,其涵盖webkit、SDK、NDK、内核、驱动程序和硬件,以便描述系统行为的特性。可以实时地进行行为观察。
观察器模块可以执行自适应观察技术,并控制观察粒度。如上面所讨论的,存在可能对于移动设备的性能下降具有贡献的很大数量(即,数千)的因素,故对于可能影响设备的性能下降的所有不同因素都进行监测/观察不是切实可行的。为了克服该问题,各个方面动态地识别要进行观察的相关行为,并动态地确定对于所识别的行为要进行观察的细节水平。
图11根据一个方面,示出了用于执行动态和自适应观察的示例性方法1100。在方框1102中,移动设备处理器可以通过对可能对于该移动设备的性能下降具有贡献的很大数量的因素/行为的子集进行监测/观察,来执行粗观察。在方框1103中,移动设备处理器可以基于该粗观察,生成用于描绘粗观察和/或移动设备行为的特性的行为向量。在方框1104中,移动设备处理器可以识别与这些粗观察相关联的可能潜在地对于该移动设备的性能下降具有贡献的子系统、过程和/或应用。例如,这可以通过将从多个源接收的信息与从移动设备的传感器接收的上下文信息进行比较来实现。在方框1106中,移动设备处理器可以基于粗观察,来执行行为分析操作。在一个方面,作为方框1103和1104的一部分,移动设备处理器可以执行上面参照图2-10所讨论的操作中的一个或多个。
在判断框1108,移动设备处理器可以判断是否可以基于该行为分析的结果,来识别和纠正可疑的行为或潜在的问题。当移动设备处理器确定可以基于该行为分析的结果来识别和纠正可疑的行为或潜在的问题时(即,判断框1108=“是”),则在方框1118中,处理器可以发起用于对该行为进行纠正的处理,并返回到方框1102来执行另外的粗观察。
当移动设备处理器确定不能基于该行为分析的结果来识别和/或纠正可疑的行为或潜在的问题时(即,判断框1108=“否”),则在判断框1109中,移动设备处理器可以判断存在问题的可能性。在一个方面,移动设备处理器可以通过计算该移动设备的遭遇到潜在问题和/或参与可疑行为的概率,并判断所计算的概率是否大于预定的门限,来确定存在问题的可能性。当移动设备处理器确定所计算的概率不大于预定的门限,和/或不存在可疑行为或潜在问题的可能性和/或不能检测到这些情形时(即,判断框1109=“否”),则处理器可以返回到方框1102以执行另外的粗观察。
当移动设备处理器确定存在可疑行为或潜在问题的可能性和/或可检测到这些情形时(即,判断框1109=“是”),则在方框1110中,移动设备处理器可以关于所识别的子系统、过程或应用,执行更深层次的记录/观察或者最终的记录。在方框1112中,移动设备处理器可以关于所识别的子系统、过程或应用,执行更深入和更详细的观察。在方框1114中,移动设备处理器可以基于更深入和更详细的观察,来执行进一步和/或更深入的行为分析。在判断框1108中,移动设备处理器可以再次判断是否能够基于更深入行为分析的结果,来识别和纠正可疑的行为或潜在的问题。当移动设备处理器确定基于该更深入的行为分析的结果,不能识别和纠正这些可疑的行为或潜在的问题时(即,判断框1108=“否”),则处理器可以重复方框1110-1114中的操作,直到细节水平足够精细以便能够识别该问题为止,或者直到确定不能利用另外的细节来识别该问题或者不存在问题为止。
当移动设备处理器确定基于该更深入的行为分析的结果,能够识别和纠正这些可疑的行为或潜在的问题时(即,判断框1108=“是”),则在方框1118中,移动设备处理器可以执行操作以纠正该问题/行为,并且处理器可以返回到方框1102以执行另外的操作。
在一个方面,作为方法1100的方框1102-1118的一部分,移动设备处理器可以执行该系统的行为的实时行为分析,以根据有限的粗观察来识别可疑的行为,动态地确定要进行更详细地观察的行为,以及动态地确定这些观察所需要的精确的细节水平。这使移动设备处理器能够高效地识别和防止发生问题,而无需使用该设备上的大量的处理器、存储器或电池资源。
各个方面可以在各种各样的计算设备上实现,在图12中利用智能电话的形式来示出了其一个例子。智能电话1200可以包括耦合到内部存储器1204、显示器1212,以及耦合到扬声器1214的处理器1202。另外,智能电话1200还可以包括用于发送和接收电磁辐射的天线,后者可以连接到无线数据链路和/或耦合到处理器1202的蜂窝电话收发机1208。通常,智能电话1200还包括用于接收用户输入的菜单选择按键或者摇杆开关1220。
典型的智能电话1200还包括声音编码/解码(CODEC)电路1206,后者对于将从麦克风接收的声音数字化成适合于无线传输的数据分组,并对接收的声音数据分组进行解码,以生成将提供给扬声器来生成声音的模拟信号。此外,处理器1202、无线收发机1208和CODEC1206中的一个或多个可以包括数字信号处理器(DSP)电路(没有单独地示出)。
这些方面方法的几部分可以利用客户端-服务器架构来实现,其中的一些处理在服务器中发生,例如,维持正常操作行为的数据库,其中移动设备处理器在执行这些方面方法时可以访问该数据库。可以在各种各样的商业可用的服务器设备中的任何一种(例如,图13中所示出的服务器1300)上实现这些方面。通常,这种服务器1300包括耦合到易失性存储器1302和大容量非易失性存储器(例如,磁盘驱动器1303)的处理器1301。此外,服务器1300还可以包括耦合到处理器1301的软盘驱动器、压缩光盘(CD)或DVD磁盘驱动器1304。此外,服务器1300还可以包括耦合到处理器1301的网络接入端口1306,以便与网络1305(例如,耦合到其它广播系统计算机和服务器的局域网)建立数据连接。
处理器1202、1301可以是任何可编程微处理器、微计算机或多处理器芯片或芯片集,它们可以由软件指令(应用)进行配置以执行各种各样的功能,其包括下面所描述的各个方面的功能。在一些移动设备中,可以提供多个处理器1202,例如,一个处理器专用于无线通信功能,一个处理器专用于运行其它应用。通常,在访问软件应用并将它们装载到处理器1202、1301之前,可以将这些软件应用存储在内部存储器1204、1302、1303中。处理器1202、1301可以包括足够用于存储这些应用软件指令的内部存储器。
多种不同的蜂窝和移动通信服务和标准在未来是可用的或者是可预期的,所有这些服务和标准都可以实现本申请的各个方面,并从各个方面中受益。例如,这些服务和标准包括第三代合作伙伴计划(3GPP)、长期演进(LTE)系统、第三代无线移动通信技术(3G)、第四代无线移动通信技术(4G)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、3GSM、通用分组无线服务(GPRS)、码分多址(CDMA)系统(例如,cdmaOne、CDMA1020TM)、增强型数据速率GSM演进(EDGE)、高级移动电话系统(AMPS)、数字AMPS(IS-136/TDMA)、演进-数据优化(EV-DO)、数字增强型无绳电信(DECT)、全球微波互通接入(WiMAX)、无线局域网(WLAN)、Wi-Fi保护访问I&II(WPA、WPA2)和综合数字增强网络(iden)。例如,这些技术中的每一种都涉及语音、数据、信令和/或内容消息的传输和接收。应当理解的是,对于术语的任何引用和/或与各个电信标准或技术有关的技术细节,只是为了说明目的,而不是旨在将权利要求的范围限制于特定的通信系统或技术,除非在权利要求语言中进行了明确陈述。
本申请中使用术语“性能下降”来指代各种各样的非期望移动设备操作和特性,例如,更长的处理时间、减慢的实时响应速度、更短的电池寿命、私人数据的丢失、恶意经济活动(例如,发送未授权的高级SMS消息)、拒绝服务(DoS)、与征用移动设备或者使用电话来进行窥探或僵尸活动有关的操作等等。
用于在可编程处理器上运行以执行各个方面的操作的计算机程序代码或“程序代码”,可以利用诸如C、C++、C#、Smalltalk、Java、JavaScript、VisualBasic、结构化查询语言(例如,Transact-SQL)、Perl之类的高级编程语言来编写,或者利用各种其它编程语言来编写。如本申请中所使用的计算机可读存储介质上所存储的程序代码或程序,可以指代其格式是处理器可理解的机器语言代码(例如,目标代码)。
将很多移动计算设备操作系统内核组织到用户空间(非特权代码运行的空间)和内核空间(特权代码运行的空间)。这种分隔在和其它通用公共许可证(GPL)环境中具有特别的重要性,其中在这些环境中,作为内核空间的一部分的代码必须是GPL许可的,而在用户空间中运行的代码可以不是GPL许可的。应当理解的是,这里所讨论的各种软件组件/模块可以实现在内核空间中,也可以实现在用户空间中,除非另外明确指出。
上述的方法描述和过程流程图仅仅是用作为说明性例子提供,而不是旨在要求或者隐含着必须以所给出的顺序来执行各个方面的步骤。如本领域普通技术人员所应当理解的,可以以任何顺序来执行上述的方面中的步骤顺序。此外,诸如“其后”、“转而”、“接着”等等之类的词语,并不旨在限制这些步骤的顺序;这些词语仅仅只是用于引导读者遍历该方法的描述。此外,任何对权利要求元素的单数引用(例如,使用冠词“a”、“an”或者“the”),不应被解释为将该元素限制为单数形式。
如本申请中所使用的,术语“组件”、“模块”、“系统”、“引擎”、“生成器”、“管理器”等等旨在包括与计算机相关的实体,例如但不限于:配置为执行特定的操作或功能的硬件、固件、硬件和软件的结合、软件或运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的过程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。举例而言,在计算设备上运行的应用和该计算设备都可以称为组件。一个或多个组件可以存在于过程和/或执行线程中,且组件可以位于一个处理器或内核中和/或分布在两个或更多处理器或内核之间。此外,这些组件能够从其上存储有各种指令和/或数据结构的各种非临时性计算机可读介质中执行。组件可以通过本地和/或远程过程、函数或过程调用、电信号、数据分组、存储器读/写、以及其它已知网络、计算机、处理器和/或与过程有关的通信方法的方式进行通信。
结合本文所公开的方面描述的各种示例性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或二者的组合。为了清楚地表示硬件和软件之间的这种可交换性,上面对各种示例性的组件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本发明的范围。
用于执行本文所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件部件或者其任意组合,可以用来实现或执行结合本文所公开的方面描述的用于实现各种示例性的逻辑、逻辑框、模块和电路的硬件。通用处理器可以是多处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和多处理器的组合、若干多处理器、一个或多个多处理器与DSP内核的结合,或者任何其它此种结构。替代地,一些步骤或方法可以由特定于给定的功能的电路来执行。
在一个或多个示例性方面,本文所述功能可以用硬件、软件、固件或它们任意组合的方式来实现。当在软件中实现时,可以将这些功能存储成非临时性计算机可读存储介质或者非临时性处理器可读存储介质上的一个或多个处理器可执行指令或代码。本文所公开的方法或算法的步骤,可以体现在处理器可执行软件模块中,后者可以位于非临时性计算机可读存储介质或处理器可读存储介质上。非临时性计算机可读或处理器可读存储介质可以是计算机或处理器能够存取的任何存储介质。举例而言,但非做出限制,这种非临时性计算机可读介质或者处理器可读介质可以包括RAM、ROM、EEPROM、闪存、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。如本文所使用的,磁盘(disk)和光盘(disc)包括压缩光盘(CD)、激光光盘、光盘、数字多用途光盘(DVD)、软盘和蓝光碟,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在非临时性计算机可读介质和处理器可读介质的范围之内。另外,一种方法或算法的操作可以作为代码和/或指令之一或者其任意组合或者其集合,位于非临时性处理器可读介质和/或计算机可读介质上,其中该非临时性处理器可读介质和/或计算机可读介质可以并入到计算机程序产品中。
为使本领域任何普通技术人员能够实现或者使用本发明,上面围绕所公开的方面进行了描述。对于本领域普通技术人员来说,对这些方面的各种修改将是显而易见的,并且,本文定义的总体原理也可以在不脱离本发明的精神或范围的基础上应用于其它方面。因此,本发明并不旨在限于本申请所示出的方面,而是被赋予与所附权利要求书和本文公开的原理和新颖性特征相一致的最广范围。

Claims (30)

1.一种对在计算设备的处理器中操作的软件应用进行分析的方法,所述方法包括:
通过从所述计算设备的存储器中存储的动作日志收集行为信息,在所述处理器中,对所述软件应用的活动进行监测;
基于所收集的行为信息来生成行为向量,其中所述行为向量描绘所监测的所述软件应用的活动的特性;以及
判断所生成的行为向量是否包括用于将所述软件应用标识为来自于已知供应商的区分行为。
2.根据权利要求1所述的方法,其中,判断所生成的行为向量是否包括所述区分行为包括:判断所生成的行为向量是否包括用于标识所述软件应用对于非预期的设备特征的使用的信息。
3.根据权利要求1所述的方法,其中,判断所生成的行为向量是否包括所述区分行为包括:判断所生成的行为向量是否包括用于标识所述软件应用对于设备特征的不寻常使用的信息。
4.根据权利要求1所述的方法,还包括:
响应于确定所生成的行为向量包括所述区分行为,通过将所述软件应用分类成良性的,对所述软件应用进行认证。
5.根据权利要求1所述的方法,还包括:
响应于确定所生成的行为向量不包括所述区分行为,通过向聚焦的分类器模型应用所生成的行为向量,来执行深入行为分析操作,以判断所述软件应用是否是非良性的;以及
响应于确定所生成的行为向量不包括所述区分行为,向分类器模型应用所生成的行为向量,以判断所述软件应用是否是非良性的。
6.根据权利要求5所述的方法,还包括:
接收包括多个测试状况的完整分类器模型;
识别所述软件应用所使用的设备特征;
识别所述多个测试状况中用于评估所识别的设备特征的测试状况;以及
生成用于对所识别的测试状况划分优先级的基于应用的分类器模型,
其中,向所述分类器模型应用所生成的行为向量,以判断所述软件应用是否是非良性的包括:向所生成的基于应用的分类器模型应用所生成的行为向量。
7.根据权利要求6所述的方法,其中:
基于所收集的行为信息来生成所述行为向量包括:使用所收集的行为信息来生成特征向量;以及
向所生成的基于应用的分类器模型应用所生成的行为向量包括:
向所述基于应用的分类器模型应用所生成的特征向量,以便评估所述基于应用的分类器模型中包括的每一个测试状况;
计算评估所述基于应用的分类器模型中的测试状况的每一个结果的加权平均;以及
基于所述加权平均,判断所述行为是否是非良性的。
8.根据权利要求6所述的方法,其中:
接收包括所述多个测试状况的所述完整分类器模型包括:接收有限状态机,其中所述有限状态机包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况;以及
生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型包括:生成所述基于应用的分类器模型以包括用于对以下各项中的一项进行评估的决策节点:
与所述软件应用有关的设备特征;以及
与所述软件应用的应用类型有关的设备特征。
9.一种计算设备,包括:
存储器;以及
耦合到所述存储器的处理器,其中,所述处理器配置有处理器可执行指令,以执行包括以下各项的操作:
通过从所述存储器中存储的动作日志收集行为信息,对所述软件应用的活动进行监测;
基于所收集的行为信息来生成行为向量,其中所述行为向量描绘所监测的所述软件应用的活动的特性;以及
判断所生成的行为向量是否包括用于将所述软件应用标识为来自于已知供应商的区分行为。
10.根据权利要求9所述的计算设备,其中,所述处理器配置有处理器可执行指令,使得判断所生成的行为向量是否包括所述区分行为包括:判断所生成的行为向量是否包括用于标识所述软件应用对于非预期的设备特征的使用的信息。
11.根据权利要求9所述的计算设备,其中,所述处理器配置有处理器可执行指令,使得判断所生成的行为向量是否包括所述区分行为包括:判断所生成的行为向量是否包括用于标识所述软件应用对于设备特征的不寻常使用的信息。
12.根据权利要求9所述的计算设备,其中,所述处理器配置有处理器可执行指令,以执行还包括以下项的操作:
响应于确定所生成的行为向量包括所述区分行为,通过将所述软件应用分类成良性的,对所述软件应用进行认证。
13.根据权利要求9所述的计算设备,其中,所述处理器配置有处理器可执行指令,以执行还包括以下各项的操作:
响应于确定所生成的行为向量不包括所述区分行为,通过向聚焦的分类器模型应用所生成的行为向量,来执行深入行为分析操作,以判断所述软件应用是否是非良性的;以及
响应于确定所生成的行为向量不包括所述区分行为,向分类器模型应用所生成的行为向量,以判断所述软件应用是否是非良性的。
14.根据权利要求13所述的计算设备,其中,所述处理器配置有处理器可执行指令,以执行还包括以下各项的操作:
接收包括多个测试状况的完整分类器模型;
识别所述软件应用所使用的设备特征;
识别所述多个测试状况中用于评估所识别的设备特征的测试状况;以及
生成用于对所识别的测试状况划分优先级的基于应用的分类器模型,
其中,向所述分类器模型应用所生成的行为向量,以判断所述软件应用是否是非良性的包括:向所生成的基于应用的分类器模型应用所生成的行为向量。
15.根据权利要求14所述的计算设备,其中,所述处理器配置有处理器可执行指令,使得:
基于所收集的行为信息来生成所述行为向量包括:使用所收集的行为信息来生成特征向量;以及
向所生成的基于应用的分类器模型应用所生成的行为向量包括:
向所述基于应用的分类器模型应用所生成的特征向量,以便评估所述基于应用的分类器模型中包括的每一个测试状况;
计算评估所述基于应用的分类器模型中的测试状况的每一个结果的加权平均;以及
基于所述加权平均,判断所述行为是否是非良性的。
16.根据权利要求14所述的计算设备,其中,所述处理器配置有处理器可执行指令,使得:
接收包括所述多个测试状况的所述完整分类器模型包括:接收有限状态机,其中所述有限状态机包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况;以及
生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型包括:生成所述基于应用的分类器模型以包括用于对以下各项中的一项进行评估的决策节点:
与所述软件应用有关的设备特征;以及
与所述软件应用的应用类型有关的设备特征。
17.一种其上存储有处理器可执行软件指令的非临时性计算机可读存储介质,其中所述处理器可执行软件指令被配置为使计算设备的处理器执行用于对在所述处理器中操作的软件应用进行分析的操作,所述操作包括:
通过从所述计算设备的存储器中存储的动作日志收集行为信息,对所述软件应用的活动进行监测;
基于所收集的行为信息来生成行为向量,其中所述行为向量描绘所监测的所述软件应用的活动的特性;以及
判断所生成的行为向量是否包括用于将所述软件应用标识为来自于已知供应商的区分行为。
18.根据权利要求17所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得判断所生成的行为向量是否包括所述区分行为包括:判断所生成的行为向量是否包括用于标识所述软件应用对于非预期的设备特征的使用的信息。
19.根据权利要求17所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得判断所生成的行为向量是否包括所述区分行为包括:判断所生成的行为向量是否包括用于标识所述软件应用对于设备特征的不寻常使用的信息。
20.根据权利要求17所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行包括以下项的操作:
响应于确定所生成的行为向量包括所述区分行为,通过将所述软件应用分类成良性的,对所述软件应用进行认证。
21.根据权利要求17所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行包括以下各项的操作:
响应于确定所生成的行为向量不包括所述区分行为,通过向聚焦的分类器模型应用所生成的行为向量,来执行深入行为分析操作,以判断所述软件应用是否是非良性的;以及
响应于确定所生成的行为向量不包括所述区分行为,向分类器模型应用所生成的行为向量,以判断所述软件应用是否是非良性的。
22.根据权利要求21所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行包括以下各项的操作:
接收包括多个测试状况的完整分类器模型;
识别所述软件应用所使用的设备特征;
识别所述多个测试状况中用于评估所识别的设备特征的测试状况;以及
生成用于对所识别的测试状况划分优先级的基于应用的分类器模型,
其中,向所述分类器模型应用所生成的行为向量,以判断所述软件应用是否是非良性的包括:向所生成的基于应用的分类器模型应用所生成的行为向量。
23.根据权利要求22所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得:
基于所收集的行为信息来生成所述行为向量包括:使用所收集的行为信息来生成特征向量;以及
向所生成的基于应用的分类器模型应用所生成的行为向量包括:
向所述基于应用的分类器模型应用所生成的特征向量,以便评估所述基于应用的分类器模型中包括的每一个测试状况;
计算评估所述基于应用的分类器模型中的测试状况的每一个结果的加权平均;以及
基于所述加权平均,判断所述行为是否是非良性的。
24.根据权利要求22所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得:
接收包括所述多个测试状况的所述完整分类器模型包括:接收有限状态机,其中所述有限状态机包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况;以及
生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型包括:生成所述基于应用的分类器模型以包括用于对以下各项中的一项进行评估的决策节点:
与所述软件应用有关的设备特征;以及
与所述软件应用的应用类型有关的设备特征。
25.一种计算设备,包括:
用于通过从所述计算设备的存储器中存储的动作日志收集行为信息,对软件应用的活动进行监测的单元;
用于基于所收集的行为信息来生成行为向量的单元,其中所述行为向量描绘所监测的所述软件应用的活动的特性;以及
用于判断所生成的行为向量是否包括用于将所述软件应用标识为来自于已知供应商的区分行为的单元。
26.根据权利要求25所述的计算设备,其中,用于判断所生成的行为向量是否包括所述区分行为的单元包括:用于判断所生成的行为向量是否包括用于标识所述软件应用对于非预期的设备特征的使用的信息的单元。
27.根据权利要求25所述的计算设备,其中,用于判断所生成的行为向量是否包括所述区分行为的单元包括:用于判断所生成的行为向量是否包括用于标识所述软件应用对于设备特征的不寻常使用的信息的单元。
28.根据权利要求25所述的计算设备,还包括:
用于响应于确定所生成的行为向量包括所述区分行为,通过将所述软件应用分类成良性的,对所述软件应用进行认证的单元。
29.根据权利要求25所述的计算设备,还包括:
用于响应于确定所生成的行为向量不包括所述区分行为,通过向聚焦的分类器模型应用所生成的行为向量,来执行深入行为分析操作,以判断所述软件应用是否是非良性的单元;以及
用于响应于确定所生成的行为向量不包括所述区分行为,向分类器模型应用所生成的行为向量,以判断所述软件应用是否是非良性的单元。
30.根据权利要求29所述的计算设备,还包括:
用于接收包括多个测试状况的完整分类器模型的单元;
用于识别所述软件应用所使用的设备特征的单元;
用于识别所述多个测试状况中用于评估所识别的设备特征的测试状况的单元;以及
用于生成对所识别的测试状况划分优先级的基于应用的分类器模型的单元,
其中,用于向所述分类器模型应用所生成的行为向量,以判断所述软件应用是否是非良性的单元包括:用于向所生成的基于应用的分类器模型应用所生成的行为向量的单元。
CN201480066232.5A 2013-12-06 2014-12-05 生成用于有针对性地保护重要应用的特定于应用的模型的方法和系统 Active CN105830081B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361912624P 2013-12-06 2013-12-06
US61/912,624 2013-12-06
US14/451,597 2014-08-05
US14/451,597 US9606893B2 (en) 2013-12-06 2014-08-05 Methods and systems of generating application-specific models for the targeted protection of vital applications
PCT/US2014/068946 WO2015085267A1 (en) 2013-12-06 2014-12-05 Methods and systems of generating application-specific models for the targeted protection of vital applications

Publications (2)

Publication Number Publication Date
CN105830081A true CN105830081A (zh) 2016-08-03
CN105830081B CN105830081B (zh) 2018-10-26

Family

ID=53271284

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480066232.5A Active CN105830081B (zh) 2013-12-06 2014-12-05 生成用于有针对性地保护重要应用的特定于应用的模型的方法和系统
CN201480066161.9A Active CN105830080B (zh) 2013-12-06 2014-12-05 使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201480066161.9A Active CN105830080B (zh) 2013-12-06 2014-12-05 使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统

Country Status (6)

Country Link
US (2) US9652362B2 (zh)
EP (2) EP3077948A1 (zh)
JP (2) JP6231688B2 (zh)
KR (2) KR101840156B1 (zh)
CN (2) CN105830081B (zh)
WO (2) WO2015085265A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111971933A (zh) * 2018-04-06 2020-11-20 本特利内华达有限责任公司 诊断仪器与机器保护系统的集成
CN112307475A (zh) * 2020-09-29 2021-02-02 北京软慧科技有限公司 一种系统检测方法及装置
CN112334875A (zh) * 2018-11-30 2021-02-05 华为技术有限公司 一种功耗预测方法及装置

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9215423B2 (en) 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
US9426123B2 (en) 2012-02-23 2016-08-23 Time Warner Cable Enterprises Llc Apparatus and methods for content distribution to packet-enabled devices via a network bridge
US9467723B2 (en) 2012-04-04 2016-10-11 Time Warner Cable Enterprises Llc Apparatus and methods for automated highlight reel creation in a content delivery network
US10089582B2 (en) * 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
US20140250048A1 (en) 2013-03-01 2014-09-04 RedOwl Analytics, Inc. Analyzing behavior in light of social context
WO2014134630A1 (en) 2013-03-01 2014-09-04 RedOwl Analytics, Inc. Modeling social behavior
US9652362B2 (en) 2013-12-06 2017-05-16 Qualcomm Incorporated Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors
US10614373B1 (en) 2013-12-23 2020-04-07 Groupon, Inc. Processing dynamic data within an adaptive oracle-trained learning system using curated training data for incremental re-training of a predictive model
US10657457B1 (en) 2013-12-23 2020-05-19 Groupon, Inc. Automatic selection of high quality training data using an adaptive oracle-trained learning framework
US11210604B1 (en) 2013-12-23 2021-12-28 Groupon, Inc. Processing dynamic data within an adaptive oracle-trained learning system using dynamic data set distribution optimization
WO2015116138A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company Application test using attack suggestions
CN103984538B (zh) 2014-03-27 2017-04-26 华为技术有限公司 应用场景的识别方法、功耗管理方法、装置及终端设备
US9715663B2 (en) * 2014-05-01 2017-07-25 International Business Machines Corporation Predicting application performance on hardware accelerators
US9900342B2 (en) * 2014-07-23 2018-02-20 Cisco Technology, Inc. Behavioral white labeling
US10102374B1 (en) * 2014-08-11 2018-10-16 Sentinel Labs Israel Ltd. Method of remediating a program and system thereof by undoing operations
US11507663B2 (en) * 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US9710648B2 (en) 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US10650326B1 (en) * 2014-08-19 2020-05-12 Groupon, Inc. Dynamically optimizing a data set distribution
US9692748B2 (en) * 2014-09-24 2017-06-27 Oracle International Corporation Unified provisioning of applications on devices in an enterprise system
US10783254B2 (en) * 2014-10-02 2020-09-22 Massachusetts Institute Of Technology Systems and methods for risk rating framework for mobile applications
US10339468B1 (en) 2014-10-28 2019-07-02 Groupon, Inc. Curating training data for incremental re-training of a predictive model
CN105989283B (zh) * 2015-02-06 2019-08-09 阿里巴巴集团控股有限公司 一种识别病毒变种的方法及装置
WO2016129863A1 (en) * 2015-02-12 2016-08-18 Samsung Electronics Co., Ltd. Payment processing method and electronic device supporting the same
US10116676B2 (en) * 2015-02-13 2018-10-30 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and service modification based on online activity
KR102460459B1 (ko) 2015-02-27 2022-10-28 삼성전자주식회사 전자 장치를 이용한 카드 서비스 방법 및 장치
WO2016137277A1 (en) 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
US10659479B2 (en) * 2015-03-27 2020-05-19 Mcafee, Llc Determination of sensor usage
US9763024B2 (en) 2015-04-09 2017-09-12 Yahoo Holdings, Inc. Mobile ghosting
US20160306971A1 (en) * 2015-04-15 2016-10-20 Los Alamos National Security, Llc Automated identification and reverse engineering of malware
US9800590B1 (en) * 2015-06-25 2017-10-24 Symantec Corporation Systems and methods for threat detection using a software program update profile
US20160379136A1 (en) * 2015-06-26 2016-12-29 Qualcomm Incorporated Methods and Systems for Automatic Extraction of Behavioral Features from Mobile Applications
US10021123B2 (en) * 2015-06-29 2018-07-10 Qualcomm Incorporated Customized network traffic models to detect application anomalies
CN106325985B (zh) * 2015-06-30 2020-02-21 北京展讯高科通信技术有限公司 一种定时器调整方法及系统以及移动终端
US9705909B2 (en) * 2015-07-29 2017-07-11 Verizon Digital Media Services Inc. Automatic detection and mitigation of security weaknesses with a self-configuring firewall
EP3335160A1 (en) * 2015-08-14 2018-06-20 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
KR101715759B1 (ko) * 2015-09-22 2017-03-15 한국전자통신연구원 멀티코어 환경에서의 악성코드 분석 장치 및 방법
WO2017065627A1 (en) * 2015-10-12 2017-04-20 Huawei Technologies Co., Ltd. Early classification of network flows
US20170134405A1 (en) * 2015-11-09 2017-05-11 Qualcomm Incorporated Dynamic Honeypot System
GB2545008B (en) 2015-12-03 2017-11-22 F Secure Corp Behaviour based malware prevention
US10567396B2 (en) * 2015-12-15 2020-02-18 Webroot Inc. Real-time scanning of IP addresses
SE542513C2 (en) 2015-12-15 2020-05-26 Saab Ab A method for authenticating software
US10419458B2 (en) * 2016-01-21 2019-09-17 Cyiot Ltd Distributed techniques for detecting atypical or malicious wireless communications activity
US10067861B2 (en) 2016-02-19 2018-09-04 International Business Machines Corporation Efficient software testing
KR102465543B1 (ko) * 2016-02-19 2022-11-10 삼성전자 주식회사 어플리케이션 및 컴포넌트를 제어하는 방법 및 전자장치
US11023363B2 (en) 2016-03-11 2021-06-01 Spirent Communications, Inc. Performance test application sequence script
US10318887B2 (en) 2016-03-24 2019-06-11 Cisco Technology, Inc. Dynamic application degrouping to optimize machine learning model accuracy
US10528734B2 (en) 2016-03-25 2020-01-07 The Mitre Corporation System and method for vetting mobile phone software applications
US10826933B1 (en) * 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
WO2017177035A1 (en) * 2016-04-07 2017-10-12 IDfusion, LLC Identity based behavior measurement architecture
CN106095593B (zh) 2016-05-31 2019-04-16 Oppo广东移动通信有限公司 一种前、后景应用程序行为同步方法及装置
US10452840B2 (en) * 2016-07-14 2019-10-22 Qualcomm Incorporated Devices and methods for classifying an execution session
US20180039779A1 (en) * 2016-08-04 2018-02-08 Qualcomm Incorporated Predictive Behavioral Analysis for Malware Detection
US10621333B2 (en) * 2016-08-08 2020-04-14 International Business Machines Corporation Install-time security analysis of mobile applications
US20180060569A1 (en) * 2016-08-26 2018-03-01 Qualcomm Incorporated Detection and Prevention of Malicious Shell Exploits
US10534925B2 (en) * 2016-10-05 2020-01-14 Microsoft Technology Licensing, Llc Detection of compromised devices via user states
US10380348B2 (en) 2016-11-21 2019-08-13 ZingBox, Inc. IoT device risk assessment
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
CN106843941B (zh) * 2016-12-31 2019-02-05 Oppo广东移动通信有限公司 信息处理方法、装置和计算机设备
CN106874574B (zh) * 2017-01-22 2019-10-29 清华大学 基于决策树的移动应用性能瓶颈分析方法及装置
US10915644B2 (en) 2017-05-15 2021-02-09 Forcepoint, LLC Collecting data for centralized use in an adaptive trust profile event via an endpoint
US10623431B2 (en) 2017-05-15 2020-04-14 Forcepoint Llc Discerning psychological state from correlated user behavior and contextual information
US11888859B2 (en) 2017-05-15 2024-01-30 Forcepoint Llc Associating a security risk persona with a phase of a cyber kill chain
US10862927B2 (en) 2017-05-15 2020-12-08 Forcepoint, LLC Dividing events into sessions during adaptive trust profile operations
US9882918B1 (en) 2017-05-15 2018-01-30 Forcepoint, LLC User behavior profile in a blockchain
US10999296B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Generating adaptive trust profiles using information derived from similarly situated organizations
US10917423B2 (en) 2017-05-15 2021-02-09 Forcepoint, LLC Intelligently differentiating between different types of states and attributes when using an adaptive trust profile
US10129269B1 (en) 2017-05-15 2018-11-13 Forcepoint, LLC Managing blockchain access to user profile information
US10447718B2 (en) 2017-05-15 2019-10-15 Forcepoint Llc User profile definition and management
US10999297B2 (en) 2017-05-15 2021-05-04 Forcepoint, LLC Using expected behavior of an entity when prepopulating an adaptive trust profile
RU2651196C1 (ru) * 2017-06-16 2018-04-18 Акционерное общество "Лаборатория Касперского" Способ обнаружения аномальных событий по популярности свертки события
US20190014137A1 (en) * 2017-07-10 2019-01-10 ZingBox, Inc. IoT DEVICE SECURITY
US11095678B2 (en) * 2017-07-12 2021-08-17 The Boeing Company Mobile security countermeasures
US10318729B2 (en) 2017-07-26 2019-06-11 Forcepoint, LLC Privacy protection during insider threat monitoring
WO2019032728A1 (en) 2017-08-08 2019-02-14 Sentinel Labs, Inc. METHODS, SYSTEMS AND DEVICES FOR DYNAMICALLY MODELING AND REGROUPING END POINTS FOR ONBOARD NETWORKING
US10878144B2 (en) * 2017-08-10 2020-12-29 Allstate Insurance Company Multi-platform model processing and execution management engine
CN107563201B (zh) * 2017-09-08 2021-01-29 北京奇宝科技有限公司 基于机器学习的关联样本查找方法、装置及服务器
CN107729407B (zh) * 2017-09-26 2020-06-05 平安科技(深圳)有限公司 用户行为分析方法及服务器
US11070568B2 (en) 2017-09-27 2021-07-20 Palo Alto Networks, Inc. IoT device management visualization
US10929534B2 (en) * 2017-10-18 2021-02-23 AO Kaspersky Lab System and method detecting malicious files using machine learning
RU2679785C1 (ru) 2017-10-18 2019-02-12 Акционерное общество "Лаборатория Касперского" Система и способ классификации объектов
CN107742079B (zh) * 2017-10-18 2020-02-21 杭州安恒信息技术股份有限公司 恶意软件识别方法及系统
US10803178B2 (en) 2017-10-31 2020-10-13 Forcepoint Llc Genericized data model to perform a security analytics operation
US20190156024A1 (en) * 2017-11-20 2019-05-23 Somansa Co., Ltd. Method and apparatus for automatically classifying malignant code on basis of malignant behavior information
US10795648B2 (en) * 2017-11-30 2020-10-06 Google Llc Systems and methods of developments, testing, and distribution of applications in a computer network
US11855971B2 (en) * 2018-01-11 2023-12-26 Visa International Service Association Offline authorization of interactions and controlled tasks
US10853232B2 (en) * 2018-01-19 2020-12-01 Spirent Communications, Inc. Adaptive system for mobile device testing
EP3525509B1 (en) * 2018-02-07 2021-03-31 Rohde & Schwarz GmbH & Co. KG Method and test system for mobile network testing
US11470115B2 (en) 2018-02-09 2022-10-11 Attivo Networks, Inc. Implementing decoys in a network environment
CN108536572B (zh) * 2018-04-16 2020-05-12 浙江大学 基于AppUsage2Vec模型的智能手机App使用预测方法
US11314787B2 (en) 2018-04-18 2022-04-26 Forcepoint, LLC Temporal resolution of an entity
CN110391925A (zh) * 2018-04-20 2019-10-29 阿里巴巴集团控股有限公司 一种数据采集方法、数据采集装置及服务器
WO2019246169A1 (en) 2018-06-18 2019-12-26 ZingBox, Inc. Pattern match-based detection in iot security
US11436512B2 (en) 2018-07-12 2022-09-06 Forcepoint, LLC Generating extracted features from an event
US10949428B2 (en) 2018-07-12 2021-03-16 Forcepoint, LLC Constructing event distributions via a streaming scoring operation
US11810012B2 (en) 2018-07-12 2023-11-07 Forcepoint Llc Identifying event distributions using interrelated events
US10771485B2 (en) 2018-07-12 2020-09-08 Bank Of America Corporation Systems and methods for cross-channel electronic communication security with dynamic targeting
US11755584B2 (en) 2018-07-12 2023-09-12 Forcepoint Llc Constructing distributions of interrelated event features
EP3818680A1 (en) * 2018-07-18 2021-05-12 Bitdefender IPR Management Ltd. Systems and methods for reporting computer security incidents
US11025638B2 (en) 2018-07-19 2021-06-01 Forcepoint, LLC System and method providing security friction for atypical resource access requests
US11050770B2 (en) * 2018-08-02 2021-06-29 Bae Systems Information And Electronic Systems Integration Inc. Network defense system and method thereof
JP7011551B2 (ja) 2018-08-07 2022-01-26 フジテック株式会社 マンコンベヤ
US20200065513A1 (en) * 2018-08-24 2020-02-27 International Business Machines Corporation Controlling content and content sources according to situational context
US11811799B2 (en) 2018-08-31 2023-11-07 Forcepoint Llc Identifying security risks using distributions of characteristic features extracted from a plurality of events
US10706708B2 (en) * 2018-09-17 2020-07-07 Truemotion, Inc. Systems and methods detecting use of mounted phones in motor vehicles
US11641406B2 (en) * 2018-10-17 2023-05-02 Servicenow, Inc. Identifying applications with machine learning
US11025659B2 (en) 2018-10-23 2021-06-01 Forcepoint, LLC Security system using pseudonyms to anonymously identify entities and corresponding security risk related behaviors
US11171980B2 (en) 2018-11-02 2021-11-09 Forcepoint Llc Contagion risk detection, analysis and protection
CN109412898B (zh) * 2018-11-16 2021-02-02 网宿科技股份有限公司 特征数据库生成方法和装置及对应的流量分拣方法和装置
US10992701B2 (en) 2018-11-20 2021-04-27 Bank Of America Corporation Systems and methods for dynamic targeting of secure repurposed cross-channel electronic communications
US11475370B2 (en) * 2018-11-29 2022-10-18 Microsoft Technology Licensing, Llc Providing custom machine-learning models
US11451571B2 (en) 2018-12-12 2022-09-20 Palo Alto Networks, Inc. IoT device risk assessment and scoring
CN109783337B (zh) * 2018-12-19 2022-08-30 北京达佳互联信息技术有限公司 模型服务方法、系统、装置和计算机可读存储介质
US11689573B2 (en) 2018-12-31 2023-06-27 Palo Alto Networks, Inc. Multi-layered policy management
US11307950B2 (en) * 2019-02-08 2022-04-19 NeuShield, Inc. Computing device health monitoring system and methods
WO2020174565A1 (ja) * 2019-02-26 2020-09-03 日本電気株式会社 情報処理装置、情報処理方法、及びコンピュータ可読媒体
US10853496B2 (en) 2019-04-26 2020-12-01 Forcepoint, LLC Adaptive trust profile behavioral fingerprint
US11082525B2 (en) * 2019-05-17 2021-08-03 Intel Corporation Technologies for managing sensor and telemetry data on an edge networking platform
US10762200B1 (en) 2019-05-20 2020-09-01 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
US11119786B2 (en) * 2019-05-30 2021-09-14 International Business Machines Corporation Automated multidimensional elasticity for streaming application runtimes
RU2750627C2 (ru) * 2019-06-28 2021-06-30 Акционерное общество "Лаборатория Касперского" Способ поиска образцов вредоносных сообщений
JP7309533B2 (ja) * 2019-09-06 2023-07-18 株式会社日立製作所 モデル改善支援システム
TWI776094B (zh) * 2019-11-11 2022-09-01 財團法人資訊工業策進會 用於室內空間之連網行為偵測器及其連網行為偵測方法
US11416585B2 (en) * 2019-12-18 2022-08-16 Disney Enterprises, Inc. Define return value at runtime
FR3105483B1 (fr) * 2019-12-19 2023-03-24 Thales Sa Procede de controle d'un systeme electronique par compteurs de performance bas niveaux et comprenant au moins un ensemble d'applicatif(s) logiciels non maitrises s'executant sur un processeur et un dispositif de controle
US20210201191A1 (en) * 2019-12-27 2021-07-01 Stmicroelectronics, Inc. Method and system for generating machine learning based classifiers for reconfigurable sensor
US11489862B2 (en) 2020-01-22 2022-11-01 Forcepoint Llc Anticipating future behavior using kill chains
US11630901B2 (en) 2020-02-03 2023-04-18 Forcepoint Llc External trigger induced behavioral analyses
US11080109B1 (en) 2020-02-27 2021-08-03 Forcepoint Llc Dynamically reweighting distributions of event observations
US11429697B2 (en) 2020-03-02 2022-08-30 Forcepoint, LLC Eventually consistent entity resolution
US11836265B2 (en) 2020-03-02 2023-12-05 Forcepoint Llc Type-dependent event deduplication
US11531911B2 (en) * 2020-03-20 2022-12-20 Kpn Innovations, Llc. Systems and methods for application selection using behavioral propensities
US11080032B1 (en) 2020-03-31 2021-08-03 Forcepoint Llc Containerized infrastructure for deployment of microservices
US11568136B2 (en) 2020-04-15 2023-01-31 Forcepoint Llc Automatically constructing lexicons from unlabeled datasets
US11516206B2 (en) 2020-05-01 2022-11-29 Forcepoint Llc Cybersecurity system having digital certificate reputation system
US11544390B2 (en) 2020-05-05 2023-01-03 Forcepoint Llc Method, system, and apparatus for probabilistic identification of encrypted files
EP3910479A1 (en) * 2020-05-15 2021-11-17 Deutsche Telekom AG A method and a system for testing machine learning and deep learning models for robustness, and durability against adversarial bias and privacy attacks
US11895158B2 (en) 2020-05-19 2024-02-06 Forcepoint Llc Cybersecurity system having security policy visualization
US11115799B1 (en) 2020-06-01 2021-09-07 Palo Alto Networks, Inc. IoT device discovery and identification
CN111737118B (zh) * 2020-06-11 2024-02-20 百度在线网络技术(北京)有限公司 一种流水线测试方法、装置、电子设备及存储介质
US11886320B2 (en) * 2020-06-19 2024-01-30 Netapp, Inc. Diagnosing application problems by learning from fault injections
KR102370483B1 (ko) * 2020-06-19 2022-03-04 숭실대학교 산학협력단 하드웨어 추상화 계층을 이용하는 자원 모니터링 장치 및 방법
US11366739B2 (en) * 2020-07-16 2022-06-21 T-Mobile Innovations Llc Pipeline for validation process and testing
US11704387B2 (en) 2020-08-28 2023-07-18 Forcepoint Llc Method and system for fuzzy matching and alias matching for streaming data sets
US11190589B1 (en) 2020-10-27 2021-11-30 Forcepoint, LLC System and method for efficient fingerprinting in cloud multitenant data loss prevention
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks
CN116522416B (zh) * 2023-05-09 2023-11-24 深圳市银闪科技有限公司 一种基于大数据的移动存储安全智能监管系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085854A1 (en) * 2004-10-19 2006-04-20 Agrawal Subhash C Method and system for detecting intrusive anomalous use of a software system using multiple detection algorithms
US20100281248A1 (en) * 2007-02-16 2010-11-04 Lockhart Malcolm W Assessment and analysis of software security flaws
US20110145920A1 (en) * 2008-10-21 2011-06-16 Lookout, Inc System and method for adverse mobile application identification
US8266698B1 (en) * 2009-03-09 2012-09-11 Symantec Corporation Using machine infection characteristics for behavior-based detection of malware
US20130247187A1 (en) * 2012-03-19 2013-09-19 Qualcomm Incorporated Computing device to detect malware

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890581B2 (en) * 1996-12-16 2011-02-15 Ip Holdings, Inc. Matching network system for mobile devices
US8612479B2 (en) 2004-02-13 2013-12-17 Fis Financial Compliance Solutions, Llc Systems and methods for monitoring and detecting fraudulent uses of business applications
JP2007114837A (ja) * 2005-10-18 2007-05-10 Seiko Epson Corp Hri文字付きバーコードの生成方法、hri文字付きバーコードの生成装置、印刷装置、プログラム
US9069967B2 (en) 2007-02-16 2015-06-30 Veracode, Inc. Assessment and analysis of software security flaws
US8245295B2 (en) 2007-07-10 2012-08-14 Samsung Electronics Co., Ltd. Apparatus and method for detection of malicious program using program behavior
US8132056B2 (en) * 2008-02-28 2012-03-06 International Business Machines Corporation Dynamic functional testing coverage based on failure dependency graph
US8370931B1 (en) * 2008-09-17 2013-02-05 Trend Micro Incorporated Multi-behavior policy matching for malware detection
US20100192222A1 (en) 2009-01-23 2010-07-29 Microsoft Corporation Malware detection using multiple classifiers
US20120137367A1 (en) 2009-11-06 2012-05-31 Cataphora, Inc. Continuous anomaly detection based on behavior modeling and heterogeneous information analysis
US8892896B2 (en) 2010-01-08 2014-11-18 Microsoft Corporation Capability and behavior signatures
US8949674B2 (en) 2010-01-28 2015-02-03 Drexel University Detection, diagnosis, and mitigation of software faults
CN101924761B (zh) 2010-08-18 2013-11-06 北京奇虎科技有限公司 一种依据白名单进行恶意程序检测的方法
US8875286B2 (en) 2010-12-01 2014-10-28 Cisco Technology, Inc. Method and apparatus for detecting malicious software using machine learning techniques
US9218461B2 (en) 2010-12-01 2015-12-22 Cisco Technology, Inc. Method and apparatus for detecting malicious software through contextual convictions
US9323928B2 (en) 2011-06-01 2016-04-26 Mcafee, Inc. System and method for non-signature based detection of malicious processes
ES2755780T3 (es) 2011-09-16 2020-04-23 Veracode Inc Análisis estático y de comportamiento automatizado mediante la utilización de un espacio aislado instrumentado y clasificación de aprendizaje automático para seguridad móvil
US9202047B2 (en) 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9324034B2 (en) 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
US8931101B2 (en) 2012-11-14 2015-01-06 International Business Machines Corporation Application-level anomaly detection
US9684870B2 (en) * 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors
US9171253B1 (en) 2013-01-31 2015-10-27 Symantec Corporation Identifying predictive models resistant to concept drift
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US8913838B2 (en) * 2013-02-28 2014-12-16 Alcatel Lucent Visual information processing allocation between a mobile device and a network
CN103533546B (zh) 2013-10-29 2017-03-22 无锡赛思汇智科技有限公司 基于多维度行为特征的隐式用户验证及隐私保护方法
US9652362B2 (en) 2013-12-06 2017-05-16 Qualcomm Incorporated Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085854A1 (en) * 2004-10-19 2006-04-20 Agrawal Subhash C Method and system for detecting intrusive anomalous use of a software system using multiple detection algorithms
US20100281248A1 (en) * 2007-02-16 2010-11-04 Lockhart Malcolm W Assessment and analysis of software security flaws
US20110145920A1 (en) * 2008-10-21 2011-06-16 Lookout, Inc System and method for adverse mobile application identification
US8266698B1 (en) * 2009-03-09 2012-09-11 Symantec Corporation Using machine infection characteristics for behavior-based detection of malware
US20130247187A1 (en) * 2012-03-19 2013-09-19 Qualcomm Incorporated Computing device to detect malware

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111971933A (zh) * 2018-04-06 2020-11-20 本特利内华达有限责任公司 诊断仪器与机器保护系统的集成
CN111971933B (zh) * 2018-04-06 2023-09-19 本特利内华达有限责任公司 诊断仪器与机器保护系统的集成
CN112334875A (zh) * 2018-11-30 2021-02-05 华为技术有限公司 一种功耗预测方法及装置
CN112307475A (zh) * 2020-09-29 2021-02-02 北京软慧科技有限公司 一种系统检测方法及装置

Also Published As

Publication number Publication date
EP3077949A1 (en) 2016-10-12
CN105830080A (zh) 2016-08-03
US9606893B2 (en) 2017-03-28
JP2017504102A (ja) 2017-02-02
JP2017505935A (ja) 2017-02-23
US20150161386A1 (en) 2015-06-11
US20150161024A1 (en) 2015-06-11
KR101840156B1 (ko) 2018-03-19
CN105830081B (zh) 2018-10-26
KR101848576B1 (ko) 2018-04-12
JP6231688B2 (ja) 2017-11-15
JP6320532B2 (ja) 2018-05-09
EP3077949B1 (en) 2018-08-22
CN105830080B (zh) 2018-10-12
KR20160095022A (ko) 2016-08-10
EP3077948A1 (en) 2016-10-12
WO2015085265A1 (en) 2015-06-11
US9652362B2 (en) 2017-05-16
WO2015085267A1 (en) 2015-06-11
KR20160094387A (ko) 2016-08-09

Similar Documents

Publication Publication Date Title
CN105830081A (zh) 生成用于有针对性地保护重要应用的特定于应用的模型的方法和系统
CN106133642B (zh) 在移动设备中通过执行行为分析操作推断应用状态的方法和系统
CN104541293B (zh) 用于客户端‑云行为分析器的架构
CN107077547B (zh) 使用针对高效连续认证的行为分析的方法和系统
CN106716382B (zh) 用于移动装置行为的聚集多应用程序行为分析的方法和系统
CN107567628B (zh) 用于使用针对增强型决策树桩的因果分析来识别和响应非良性行为的方法和系统
CN106104555B (zh) 用于保护外围设备的行为分析
CN104885099B (zh) 使用推升式决策树桩和联合特征选择及剔选算法来对移动设备行为进行高效分类的方法和系统
CN107580699A (zh) 用于特定于行为的致动以实时白名单化的方法和系统
US10089582B2 (en) Using normalized confidence values for classifying mobile device behaviors
US9787695B2 (en) Methods and systems for identifying malware through differences in cloud vs. client behavior
CN106663172A (zh) 用于检测以移动设备的行为安全机制为目标的恶意软件和攻击的方法和系统
US20170024660A1 (en) Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors
US20160379136A1 (en) Methods and Systems for Automatic Extraction of Behavioral Features from Mobile Applications
US20160078362A1 (en) Methods and Systems of Dynamically Determining Feature Sets for the Efficient Classification of Mobile Device Behaviors
CN107209832A (zh) 基于相似装置中的恶意代码检测来确定装置上的模型保护等级
KR20170115532A (ko) 개선된 멀웨어 보호를 위해 모바일 디바이스와의 페이크 사용자 상호작용들을 검출하기 위한 방법들 및 시스템들
CN107209825A (zh) 经由存储器监测的数据流跟踪
CN107924492A (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