CN105830080A - 使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统 - Google Patents

使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统 Download PDF

Info

Publication number
CN105830080A
CN105830080A CN201480066161.9A CN201480066161A CN105830080A CN 105830080 A CN105830080 A CN 105830080A CN 201480066161 A CN201480066161 A CN 201480066161A CN 105830080 A CN105830080 A CN 105830080A
Authority
CN
China
Prior art keywords
application
mobile device
sorter model
test status
behavior
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
CN201480066161.9A
Other languages
English (en)
Other versions
CN105830080B (zh
Inventor
R·古普塔
A·甘特曼
V·斯里哈拉
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 CN105830080A publication Critical patent/CN105830080A/zh
Application granted granted Critical
Publication of CN105830080B publication Critical patent/CN105830080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/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
    • 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的优先权利益,故以引用方式将该申请的全部内容并入本文。
背景技术
蜂窝和无线通信技术在最近几年出现了爆炸性的增长。更佳的通信、硬件、更大的网络和更可靠的协议推动了这种增长。结果,无线服务提供商现在能够向它们的客户提供信息、资源和通信的空前水平的访问。
为了跟上这些服务的增强,移动电子设备(例如,蜂窝电话、平板设备、膝上型计算机等等)与过去相比变得更强大和更复杂。这种复杂度使恶意软件、软件冲突、硬件故障产生了新的机会,以及产生负面地影响移动设备的长期持续性能和功率利用水平的其它类似错误或现象。因此,识别和纠正负面地影响移动设备的长期持续性能和功率利用水平的状况和/或移动设备行为对于消费者来说是有益的。
发明内容
各个方面包括在移动设备中生成数据模型的方法,其包括:在移动设备的处理器中,接收包括多个测试状况的完整分类器模型;识别移动设备的软件应用或者可以在该移动设备上执行的软件应用的类型所使用的移动设备特征:识别所述多个测试状况中用于评估所识别的移动设备特征的测试状况;生成用于对所识别的测试状况划分优先级的基于应用的分类器模型(该基于应用的分类器模型是特定于应用的分类器模型或者特定于应用类型的分类器模型);以及在移动设备中使用所生成的基于应用的分类器模型,对移动设备的行为进行分类。
在一个方面,识别移动设备特征,可以包括:识别所述软件应用使用的移动设备特征;以及生成基于应用的分类器模型,可以包括:生成所述特定于应用的分类器模型。在另外的方面,识别移动设备特征,可以包括:识别可以在该移动设备上执行的一种类型的软件应用所使用的移动设备特征;以及生成基于应用的分类器模型,可以包括:生成所述特定于应用类型的分类器模型。
在另外的方面,该方法可以包括:通过从移动设备组件收集行为信息,对所述行为监测一段时间。在另外的方面,在移动设备中使用基于应用的分类器模型,对移动设备的行为进行分类,可以包括:使用所述行为信息来生成特征向量;通过向所述基于应用的分类器模型应用所生成的特征向量,来评估基于应用的分类器模型中包括的每一个测试状况;计算评估所述基于应用的分类器模型中的测试状况的每一个结果的加权平均;以及基于所述加权平均,判断所述行为是恶意的还是良性的。
在另外的方面,接收识别所述多个测试状况的完整分类器模型,可以包括接收有限状态机,其中该有限状态机可以包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况。在一个方面,生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,可以包括:生成所述基于应用的分类器模型以包括用于对下面中的一项进行评估的决策节点:与所述软件应用有关的移动设备特征和/或与所述软件应用的所述类型有关的移动设备特征。
在另外的方面,生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,可以包括:确定应当进行评估,以对所述行为进行分类,而无需消耗过量的移动设备资源(例如,存储器资源、处理资源和电池资源)的独特测试状况的数量;通过下面操作来生成测试状况列表:顺序地遍历所述完整分类器模型中的所述多个测试状况,并将与所述软件应用可以访问和使用的特征有关的那些测试状况插入到所述测试状况列表中,直到所述测试状况列表包括所确定的数量的独特测试状况为止;以及生成所述基于应用的分类器模型,以便包括所述完整分类器模型中包括的决策节点,并对所生成的测试状况列表中包括的所述测试状况之一进行测试。
在另外的方面,接收识别所述多个测试状况的完整分类器模型,可以包括接收有限状态机。在另外的方面,该方法包括:将该有限状态机转换成增强型决策树桩(boosteddecisionstumps),其每一个对所述多个测试状况中的一个测试状况进行评估;基于这些增强型决策树桩,在移动设备中生成一系列精益(lean)分类器模型;从该一系列的精益分类器模型中,选择精益分类器模型;以及向所述基于应用的分类器模型和所选定的精益分类器模型,并行地应用收集的行为信息。
在另外的方面,识别移动设备特征,可以包括识别所述软件应用使用的移动设备特征。在另外的方面,该方法可以包括:监测所述软件应用以检测以下各项中的一项的改变:该软件应用的状态、该软件应用的配置、该软件应用的操作、以及该软件应用的功能。在另外的方面,该方法可以包括:响应于检测到所述改变,修改基于应用的分类器模型,以包括更新的测试状况集合;以及使用所修改的基于应用的分类器模型,对移动设备的行为进行重新分类。
在另外的方面,监测所述软件应用,并响应于检测到所述改变,修改所述基于应用的分类器模型,以包括所更新的测试状况集合,可以包括:识别与所检测的改变相关联的特征;判断所识别的特征是否包括在所述基于应用的分类器模型中;识别所述多个测试状况中用于对所识别的特征进行评估的测试状况;以及响应于确定所识别的特征没有包括在所述基于应用的分类器模型中,将所识别的测试状况增加到所述基于应用的分类器模型中。在另外的方面,该方法可以包括:通过下面方式,在服务器中生成所述完整分类器模型:在服务器中,接收行为信息语料库;基于所述行为信息语料库来生成有限状态机,以包括适合于转换成多个增强型决策树桩的数据;以及将该有限状态机作为所述完整分类器模型发送给所述移动设备。
另外的方面包括一种具有处理器的移动计算设备,该处理器配置有处理器可执行指令,以执行可以包括以下各项的操作:接收包括多个测试状况的完整分类器模型;识别移动计算设备的软件应用和可以在该移动设备上执行的软件应用的类型所使用的移动设备特征;识别所述多个测试状况中用于评估所识别的移动设备特征的测试状况;生成用于对所识别的测试状况划分优先级的基于应用的分类器模型(即,特定于应用的分类器模型或者特定于应用类型的分类器模型);以及使用所生成的基于应用的分类器模型,对移动计算设备的行为进行分类。
在一个方面,所述处理器可以配置有处理器可执行指令以执行操作,使得识别移动设备特征,可以包括:识别所述软件应用使用的移动设备特征;以及生成所述基于应用的分类器模型,可以包括:生成所述特定于应用的分类器模型。在另外的方面,所述处理器可以配置有处理器可执行指令以执行操作,使得识别移动设备特征,可以包括:识别可以在所述移动计算设备上执行的一种类型的软件应用所使用的移动设备特征;以及生成所述基于应用的分类器模型,可以包括:生成所述特定于应用类型的分类器模型。
在另外的方面,所述处理器可以配置有处理器可执行指令以执行还包括下面的操作:通过从移动设备组件收集行为信息,对所述行为监测一段时间。在另外的方面,所述处理器可以配置有处理器可执行指令以执行操作,使得使用所述基于应用的分类器模型,对所述行为进行分类,可以包括:使用所述行为信息来生成特征向量;通过向所述基于应用的分类器模型应用所生成的特征向量,来评估所述基于应用的分类器模型中包括的每一个测试状况;计算评估所述基于应用的分类器模型中的测试状况的每一个结果的加权平均;以及基于所述加权平均,判断所述行为是恶意的还是良性的。
在另外的方面,所述处理器可以配置有处理器可执行指令以执行操作,使得:接收识别所述多个测试状况的完整分类器模型,可以包括接收有限状态机,其中该有限状态机包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况;以及生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,可以包括:生成所述基于应用的分类器模型以包括用于对下面中的一项进行评估的决策节点:与所述软件应用有关的移动设备特征和与所述软件应用的所述类型有关的移动设备特征。
在另外的方面,所述处理器可以配置有处理器可执行指令以执行操作,使得生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,还可以包括:确定应当进行评估,以对所述行为进行分类,而无需消耗过量的移动设备资源的独特测试状况的数量;通过下面操作来生成测试状况列表:顺序地遍历所述完整分类器模型中的所述多个测试状况,并将与所述软件应用可以访问和使用的特征有关的那些测试状况插入到所述测试状况列表中,直到所述测试状况列表包括所述数量的独特测试状况为止;以及生成所述基于应用的分类器模型,以便包括所述完整分类器模型中用于对所生成的测试状况列表里包括的所述测试状况之一进行测试的所述决策节点。
另外的方面包括一种其上存储有处理器可执行软件指令的非临时性计算机可读存储介质,其中所述处理器可执行软件指令被配置为使处理器执行操作,这些操作包括:接收包括多个测试状况的完整分类器模型;识别软件应用或者可以在该移动设备上执行的软件应用的类型所使用的移动设备特征;识别所述多个测试状况中用于评估所识别的移动设备特征的测试状况;生成用于对所识别的测试状况划分优先级的基于应用的分类器模型(即,特定于应用的分类器模型或者特定于应用类型的分类器模型);以及使用所生成的基于应用的分类器模型,对移动计算设备的行为进行分类。
在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得:识别移动设备特征可以包括:识别所述软件应用使用的移动设备特征;以及生成所述基于应用的分类器模型,可以包括:生成所述特定于应用的分类器模型。在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得:识别移动设备特征,可以包括:识别可以在所述移动设备上执行的一种类型的软件应用所使用的移动设备特征;以及生成所述基于应用的分类器模型,可以包括:生成所述特定于应用类型的分类器模型。
在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行还包括下面的操作:通过从移动设备组件收集行为信息,对所述行为监测一段时间。在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得,使用所述基于应用的分类器模型,对所述移动设备的行为进行分类,可以包括:使用所述行为信息来生成特征向量;通过向所述基于应用的分类器模型应用所生成的特征向量,来评估所述基于应用的分类器模型中包括的每一个测试状况;计算评估所述基于应用的分类器模型中的测试状况的每一个结果的加权平均;以及基于所述加权平均,判断所述行为是恶意的还是良性的。
在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得:接收识别所述多个测试状况的所述完整分类器模型,可以包括接收有限状态机,其中该有限状态机包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况;以及生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,可以包括:生成所述基于应用的分类器模型以包括用于对与所述软件应用有关的移动设备特征或者与所述软件应用的类型有关的移动设备特征进行评估的决策节点。
在另外的方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,还可以包括:确定应当进行评估,以对所述行为进行分类,而无需消耗过量的移动设备资源的独特测试状况的数量;通过下面操作来生成测试状况列表:顺序地遍历所述完整分类器模型中的多个测试状况,并将与所述软件应用可以访问和使用的特征有关的那些测试状况插入到所述测试状况列表中,直到所述测试状况列表包括所述数量的独特测试状况为止;以及生成所述基于应用的分类器模型,以便包括所述完整分类器模型中用于对所生成的测试状况列表里包括的所述测试状况之一进行测试的所述决策节点。
另外的方面包括一种计算设备,该计算设备可以包括:用于接收包括多个测试状况的完整分类器模型的单元;用于识别软件应用或者可以在该移动设备上执行的软件应用的类型所使用的移动设备特征的单元:用于识别所述多个测试状况中用于评估所识别的移动设备特征的测试状况的单元;用于生成对所识别的测试状况划分优先级的基于应用的分类器模型的单元;以及用于使用所生成的基于应用的分类器模型,对移动设备的行为进行分类的单元。
在一个方面,用于识别移动设备特征的单元,可以包括:用于识别所述软件应用使用的移动设备特征的单元。在另外的方面,用于生成所述基于应用的分类器模型的单元,可以包括:用于生成所述特定于应用的分类器模型的单元。在一个方面,用于识别移动设备特征的单元,可以包括:用于识别可以在所述移动计算设备上执行的一种类型的软件应用所使用的移动设备特征的单元;以及用于生成所述基于应用的分类器模型的单元,可以包括:生成所述特定于应用类型的分类器模型。
在另外的方面,所述计算设备可以包括:用于通过从移动设备组件收集行为信息,对所述行为监测一段时间的单元。在另外的方面,用于使用所述基于应用的分类器模型,对所述移动计算设备的行为进行分类的单元,可以包括:用于使用所述行为信息来生成特征向量的单元;用于通过向所述基于应用的分类器模型应用所生成的特征向量,来评估所述基于应用的分类器模型中包括的每一个测试状况的单元;用于计算评估所述基于应用的分类器模型中的测试状况的每一个结果的加权平均的单元;以及用于基于所述加权平均,判断所述行为是恶意的还是良性的单元。
在另外的方面,用于接收识别所述多个测试状况的所述完整分类器模型的单元,可以包括用于接收有限状态机的单元,其中该有限状态机包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况;以及用于生成对所识别的测试状况划分优先级的所述基于应用的分类器模型的单元,可以包括:用于生成所述基于应用的分类器模型,以包括用于对与所述软件应用有关的移动设备特征或者与所述软件应用的类型有关的移动设备特征进行评估的决策节点的单元。
在另外的方面,用于生成对所识别的测试状况划分优先级的所述基于应用的分类器模型的单元,还可以包括:用于确定应当进行评估,以对所述行为进行分类,而无需消耗过量的移动设备资源的独特测试状况的数量的单元;用于通过下面操作来生成测试状况列表的单元:顺序地遍历所述完整分类器模型中的所述多个测试状况,并将与所述软件应用可以访问和使用的特征有关的那些测试状况插入到所述测试状况列表中,直到所述测试状况列表包括所述数量的独特测试状况为止;以及用于生成所述基于应用的分类器模型,以便包括所述完整分类器模型中用于对所生成的测试状况列表里包括的所述测试状况之一进行测试的所述决策节点的单元。
在另外的方面,用于接收识别所述多个测试状况的所述完整分类器模型的单元,可以包括用于接收有限状态机的单元。在另外的方面,所述移动计算设备还可以包括:用于将该有限状态机转换成增强型决策树桩的单元,每一个决策树桩对所述多个测试状况中的一个测试状况进行评估;用于基于所述增强型决策树桩,生成一系列精益分类器模型的单元;用于从所述一系列的精益分类器模型中,选择精益分类器模型的单元;以及用于向所述基于应用的分类器模型和所选定的精益分类器模型,并行地应用收集的行为信息的单元。
在另外的方面,用于识别移动设备特征的单元,可以包括用于识别所述软件应用使用的移动设备特征的单元。在另外的方面,所述移动计算设备还可以包括:用于监测所述软件应用以检测以下各项中的一项的改变的单元:该软件应用的状态、该软件应用的配置、该软件应用的操作、以及该软件应用的功能。在另外的方面,所述计算设备可以包括:用于响应于检测到所述改变,修改所述基于应用的分类器模型,以包括更新的测试状况集合的单元;以及用于使用所修改的基于应用的分类器模型,对所述行为进行重新分类的单元。
附图说明
被并入本文并且构成本说明书一部分的附图,描绘了本发明的示例性方面,并且连同上面给出的概括描述以及下面给出的详细描述一起用来解释本发明的特征。
图1是示出适合于结合各个方面使用的示例性电信系统的网络组件的通信系统框图。
图2是示出一个方面移动设备中的示例性逻辑组件和信息流的框图,其中该移动设备配置为判断特定的移动设备行为是恶意的、使性能下降的、可疑的,还是良性的。
图3是示出包括网络服务器的一个方面系统中的示例性组件和信息流的框图,其中该网络服务器配置为结合移动设备进行工作,以判断特定的移动设备行为是恶意的、使性能下降的、可疑的,还是良性的。
图4是示出包括移动设备的一个方面系统中的示例性组件和信息流的框图,其中该移动设备配置为生成基于应用的分类器模型,而不重新训练数据、行为向量或者分类器模块。
图5A是映射到多个软件应用的示例性分类器模型的视图。
图5B是示出在移动设备中本地地生成基于应用的分类器模型的另一个方面移动设备方法的过程流程图。
图6是示出在移动设备中本地地生成基于应用的分类器模型的另一个方面移动设备方法的另一个过程流程图。
图7是示出在移动设备中生成基于应用的或者精益(lean)分类器模型的另一个方面移动设备方法的过程流程图。
图8是可以由一个方面服务器处理器生成,并由移动设备处理器使用以生成精益分类器模型的示例性增强型决策树桩(boosteddecisionstumps)的视图。
图9是根据一个方面,示出观察器模块中的示例性逻辑组件和信息流的框图,其中该观察器组件被配置为执行动态和自适应观察。
图10是根据另一个方面,示出实现观察器后台进程(daemon)的计算系统中的逻辑组件和信息流的框图。
图11是示出用于在移动设备上执行自适应观察的一个方面方法的过程流程图。
图12是适合于在一个方面中使用的移动设备的组件框图。
图13是适合于在一个方面中使用的服务器设备的组件框图。
具体实施方式
现在将参照附图来详细地描述各个方面。在可以的地方,贯穿附图将使用相同的附图标记来指代相同或者类似的部件。对于特定示例和实现的引用只是用于说明目的,而不是旨在限制本发明或者权利要求的范围。
总的来说,各个方面包括使用特定于应用和/或特定于应用类型的分类器模型(即,数据或行为模型)来提高综合行为监测和分析系统的效率和性能的方法,以及配置为实现这些方法的移动设备,使该移动设备能够更好地预测软件应用是否是该移动设备的非期望行为或者性能退化行为的源或者原因。为了便于引用起见,本文以及权利要求书中使用术语“基于应用的分类器模型”来指代如下所述的特定于应用和特定于应用类型的分类器模型中的任意一个或二者。
该综合行为监测和分析系统可以包括配置为彼此之间协作工作,以智能地和高效地识别、分类、建模、防止和/或纠正通常使移动设备的性能和/或功率利用水平随时间发生下降的状况和/或移动设备行为的网络服务器和移动设备。网络服务器可以被配置为从中央数据库(例如,“云”)接收关于各种状况、特征、行为和纠正动作的信息,并使用该信息来生成完整或健壮的分类器模型(例如,数据/行为模型),其中该模型利用移动设备可以快速地转换成一个或多个精益分类器模型的格式或结构来描述大型语料库的信息(例如,行为信息)。例如,网络服务器可以生成完整分类器模型以包括多个决策节点(例如,增强型决策树、增强型决策树桩等等),每一个决策节点对该移动设备的特征进行评估或者测试,并且其可以包括在精益分类器模型中。
网络服务器可以向移动设备发送该完整分类器。移动设备可以被配置为接收和使用该完整分类器模型来生成精益分类器模型或者不同程度的复杂性(或者“精简性”)的一系列精益分类器模型。为了实现这一点,移动设备可以修剪、挑选(cull)或修整该完整分类器模型中包括的决策节点,以生成包括精简数量的决策节点和/或评估有限数量的测试状况的精益分类器模型。
此外,移动设备还可以动态地生成特定于应用和/或特定于应用类型的分类器模型,这些模型识别和测试与特定的软件应用(钱包)和/或特定类型的软件应用(例如,游戏、导航、金融、新闻、生产力等等)有关的状况或特征。在一个方面,可以生成这些基于应用的分类器模型(即,特定于应用和特定于应用类型的分类器模型),以包括:包括在所接收的完整分类器模型中的决策节点的精简的和更聚焦的子集,或者包括在根据所接收的完整分类器模型所生成的精益分类器模型中的决策节点的精简的和更聚焦的子集。
在各个方面,移动设备可以被配置为针对系统中的每一个软件应用和/或针对系统中的每一种类型的软件应用,生成基于应用的分类器模型。此外,移动设备还可以被配置为动态地识别具有高风险或者容易受到滥用的软件应用和/或应用类型(例如,金融应用、销售点应用、生物计量传感器应用等等),并仅仅针对于被识别成具有高风险或者容易受到滥用的软件应用和/或应用类型,才生成基于应用的分类器模型。在各个方面,移动设备可以被配置为动态地、被动地、主动地和/或在每一次安装或更新新的应用时,生成这些基于应用的分类器模型。
移动设备可以被配置为使用本地生成的精益的和/或基于应用的分类器模型,来执行实时行为监测和分析操作。在一个方面,移动设备可以被配置为并行地使用或者应用多个分类器模型。在各个方面,移动设备可以被配置为:当评估特定的软件应用时,与向行为向量/特征向量使用/应用更通用的精益分类器模型所生成的结果相比,给予向相同的或不同的行为向量/特征向量使用或者应用该基于应用的分类器模型所生成的结果更优选或者具有优先级。在各个方面,移动设备可以使用应用这些分类器模型的结果,来预测软件应用、过程或复杂的移动设备行为是良性的,还是对于使该移动设备的性能或功耗特性的下降具有贡献。
通过在移动设备中动态地本地生成分类器模型,使得它们聚焦于或者基于特定于应用或特定于应用类型的特征,各个方面允许移动设备将其监测和分析操作聚焦于较小数量的特征,其中该较小数量的特征对于判断特定的软件应用的操作是否对该移动设备的非期望行为或性能退化行为具有贡献是最重要的。这提高了移动设备的性能和功耗特性,并且允许移动设备连续地或者近乎连续地执行实时行为监测和分析操作,而无需消耗过量的移动设备资源(例如,处理资源、存储器资源或能量资源)。
本文所使用的“示例性的”一词意味着“用作例子、实例或说明”。本文中描述为“示例性”的任何实现不应被解释为比其它实现更优选或更具优势。
本文通常使用短语“基于应用的分类器模型”来指代特定于应用的分类器模型和特定于应用类型的分类器模型(统一地或者替代地)。也就是说,基于应用的分类器模型可以是特定于应用的分类器模型或者特定于应用类型的分类器模型。特定于应用的分类器模型可以是识别或者包括能用于评估单个软件应用的数据、信息结构(例如,特征向量、行为向量、组件列表等等)和/或决策标准的分类器模型。特定于应用类型的分类器模型可以是识别或者包括与评估特定分类、类型或者种类的软件应用(例如,金融应用、生产力应用等等)有关的数据、信息结构和/或决策标准的分类器模型。
本文可互换地使用术语“移动计算设备”和“移动设备”指代下面中的任何一种或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、超级本、掌上型计算机、无线电子邮件接收机、具备多媒体互联网能力的蜂窝电话、无线游戏控制器、以及包括存储器、可编程处理器(其性能是非常重要的)并在电池供电情形下进行操作,使得省电方法有益的类似个人电子设备。虽然各个方面在诸如智能电话之类的移动计算设备(其具有有限的资源并在电池电源上运行)中是特别有用的,但这些方面通常在包括处理器并执行应用程序的任何电子设备中也是有用的。
通常,移动设备的性能和功率效率随时间发生下降。最近,防病毒公司(例如,McAfee、Symantec等等)已开始着手开发目标针对于减慢这种性能下降的移动防病毒、防火墙和加密产品。但是,很多的这些解决方案依赖于在移动设备上定期执行运算密集的扫描引擎,其可能消耗移动设备的很大的处理和电池资源,减慢或者致使移动设备在延长的时间段无法使用,和/或以其它方式使用户体验下降。此外,这些解决方案通常受限于检测已知病毒和恶意软件,而不能解决通常组合地对移动设备的随时间性能下降具有贡献的多种复杂因素和/或交互行为(例如,当病毒或恶意软件不造成性能下降时)。由于这些和其它原因,现有的防病毒、防火墙和加密产品不能提供充分的解决方案,来识别对移动设备的随时间性能下降具有贡献的众多因素,防止移动设备性能下降,或者高效地将老化的移动设备恢复到其原始状况。
当前,存在用于对计算设备上执行的应用程序的行为进行建模的各种解决方案,这些解决方案可以连同机器学习技术一起使用,以判断软件应用是恶意的还是良性的。但是,这些解决方案并不适合于在移动设备上使用,这是由于它们需要评估非常大的行为信息语料库,而不生成用于动态地说明该计算设备的特定于应用或者特定于应用类型的特征的行为模型,不能智能地对该行为模型中的特征划分优先级,受限于对单个应用程序或过程进行评估,和/或需要在移动设备中执行计算密集型过程。因此,在移动设备中实现或者执行这些现有的解决方案,可能对于该移动设备的响应性、性能或者功耗特性具有显著的负面影响和/或用户可感知的影响。
例如,计算设备可以被配置为使用现有的基于机器学习的解决方案,来访问和利用大型训练数据语料库,推导用于将特征向量作为输入的模型,并使用该模型来判断该计算设备的软件应用是恶意的还是良性的。但是,该解决方案并不生成完整分类器模型(即,健壮的数据或行为模型),其中该完整分类器模型利用移动设备可以快速地用来生成精益分类器模型的格式或信息结构(例如,有限状态机等等)来描述大型行为信息语料库。至少由于该原因,该解决方案并不允许移动设备生成包括决策节点的精益分类器模型,其中这些决策节点聚焦于对于各个应用或应用类型来说特定的状况或特征,或者对这些状况或特征划分优先级。此外,该解决方案并不允许移动设备根据下面特性,生成智能地识别特征或者对特征划分优先级的精益分类器模型:它们的用于对使用该模型的特定移动设备中的特定行为、软件应用或者软件应用类型进行分类的相关性。由于这些和其它原因,移动设备不能使用该解决方案来快速地和高效地将软件应用识别、分析或者分类成对于复杂的移动设备行为具有贡献(其对于该移动设备的响应性、性能或功耗特性具有显著的负面影响或用户可感知的影响)。
除了现有解决方案的上面所提及的限制之外,很多行为建模解决方案实现“一体适用”方法来对计算设备的行为进行建模,故因此不适合在移动设备中使用。也就是说,这些解决方案通常生成使它们是通用的行为模型,并且可以用于很多计算设备中和/或结合各种各样的不同硬件和软件配置来使用。因此,这些通用的行为模型通常包括/测试非常大量的特征,但这些特征中的大部分与对于实际使用它们的特定计算设备中的特定软件应用或应用类型的行为进行识别、分析或者分类无关(故不能用于这些操作)。此外,这些解决方案并不基于特征与对于使用该模型的特定移动设备中的特定行为进行分类的相关性,来向特征分配相对优先级。因此,这些解决方案通常需要计算设备应用包括大量的无组织的、未适当划分优先级的或者无关的特征的行为模型。这些模型并不适合于在资源受限的移动设备中使用,这是由于它们可能造成移动设备处理器分析大量的特征,而这些特征对于识别该移动设备的随时间性能下降的原因或者源并不有用。因此,这些现有的解决方案并不适合于在复杂的且资源受限的移动设备中使用。
现代移动设备是高度可配置的和复杂的系统。因此,对于判断特定的移动设备行为是良性的还是非良性的(例如,恶意的或者使性能下降的)来说,最重要的特征在每一个移动设备中可能是不同的。此外,不同的特征组合可能需要在每一个移动设备中进行监测和/或分析,以便该移动设备快速地和高效地判断特定的行为是良性的还是非良性的。此外,需要进行监测和分析的特征的精确组合,以及每一个特征或者特征组合的相对优先级或重要性,通常能够仅仅使用特定于应用、特定于应用类型和/或特定于设备的信息来确定,其中该信息是从其行为被进行监测或分析的特定移动设备所获得的。由于这些和其它原因,在不同于使用行为模型的特定设备的任何计算设备中所生成的行为模型,不可能包括标识对于该设备中的软件应用或移动设备行为进行分类来说最重要的特征的精确组合的信息。
例如,如果第一移动设备被配置为使用其生物计量传感器(例如,指纹阅读器、语音识别子系统、视网膜扫描仪等等)来授权金融交易,则用于测试与访问和使用这些生物计量传感器有关的状况的特征,很可能与判断观察的访问金融软件的行为在该移动设备中是恶意的还是良性的有关。例如,第一移动设备中的生物计量传感器的访问和使用可以指示恶意应用正在用户不知情或者不同意的情况下,授权金融交易。另一方面,用于测试与这些传感器的访问和使用有关的状况的特征,可能与判断观察的访问金融软件的行为在第二移动设备中是恶意的还是良性的无关,其中第二移动设备没有被配置为使用其生物计量传感器来授权金融交易。也就是说,由于除了对于使用生物计量传感器的配置不同之外,第一和第二设备在所有方面都是相同的(即,为相同类型、模型、操作系统、软件等),因此针对这两个设备来生成通用的行为模型,来准确地识别用于评估与生物计量传感器的访问和使用有关的状况的特征是具有挑战的。甚至更具挑战的是,关于数十万(或者数百万)个具有类似装备但可独立配置的移动设备,生成用于对于更复杂的状况或特征进行测试的通用模型。
此外,移动设备是具有相对有限的处理资源、存储器资源和能量资源的资源受限系统。此外,现代移动设备还是具有大量的各种各样的因素的复杂系统,其中这些因素对于该移动设备随时间的性能和功率利用水平的下降具有贡献。可能对于性能下降具有贡献的因素的例子,包括:设计不佳的软件应用、恶意软件、病毒、分片的存储器和后台进程。由于这些因素的数量、变型和复杂度,通常评估所有的可能使现代移动设备的复杂的且资源受限系统的性能和/或功率利用水平下降的各种组件、行为、过程、操作、状况、状态或特征(或者其组合)是不可行的。因此,用户、操作系统或应用程序(例如,防病毒软件等等)很难准确地和高效地识别这些问题的源。结果,移动设备用户当前具有很少的补救措施来防止移动设备随时间的性能和功率利用水平下降,或者将老化的移动设备恢复到其原始性能和功率利用水平。
各个方面包括用于智能地和高效地识别、防止和/或纠正通常随时间使移动设备的性能和/或功率利用水平下降的状况、因素和/或移动设备行为的综合行为监测与分析系统。在一个方面,移动设备的观察器过程、后台进程、模块或子系统(本文统称为“模块”)可以仪表化或协调该移动设备系统的各个层级处的各个应用程序接口(API)、寄存器、计数器或其它移动设备组件(本文统称为“仪表化组件”)。观察器模块可以通过从仪表化组件收集行为信息,来连续地(或者近乎连续地)监测移动设备行为。此外,移动设备还可以包括分析器模块,观察器模块可以(例如,经由存储器写操作、函数调用等等)将所收集的行为信息传输给分析器模块。分析器模块可以接收和使用该行为信息来生成特征或行为向量,基于这些特征/行为向量来生成空间和/或时间相关性,并使用该信息来判断特定的移动设备行为、状况、子系统、软件应用或过程是良性的、可疑的,还是非良性的(即,恶意的或者使性能下降)。随后,移动设备可以使用该分析的结果来医治、治疗、隔离或以其他方式解决或者响应所识别的问题。
分析器模块还可以被配置为执行实时行为分析操作,其中该实时行为分析操作可以包括:对于所收集的行为信息执行、运行和/或应用数据、算法、分类器或模型(本文统称为“分类器模型”),以判断软件应用或移动设备行为是良性的,还是非良性的(例如,恶意的或者使性能下降)。每一个分类器模型可以是包括移动设备处理器能用于评估移动设备的行为的特定特征或方面的数据和/或信息结构(例如,特征向量、行为向量、组件列表等等)。每一个分类器模型还可以包括用于监测移动设备中的多个特征、因素、数据点、条目、API、状态、状况、行为、应用、过程、操作、组件等等(本文统称为“特征”)的决策标准。这些分类器模型可以预安装在移动设备上,从网络服务器下载或接收,在移动设备中生成或者是其任意组合。可以通过使用众包解决方案、行为建模技术、机器学习算法等等,来生成这些分类器模型。
每一个分类器模型可以被分类成完整分类器模型或者精益分类器模型。完整分类器模型可以是根据大量的训练数据集所生成的健壮数据模型,其可以包括数千特征和数十亿条目。精益分类器模型可以是根据精简数据集生成的更聚焦的数据模型,其包括对判断特定的移动设备行为是良性的还是非良性的(例如,恶意的或使性能下降的)来说非常相关的特征/条目的测试,或者对其划分优先级。
本地生成的精益分类器模型是在移动设备中生成的精益分类器模型。基于应用的分类器模型可以是特定于应用的分类器模型或者特定于应用类型的分类器模型。特定于应用的分类器模型是包括聚焦的数据模型的分类器模型,其包括对于判断特定的软件应用是良性的还是非良性的(例如,恶意的或使性能下降的)来说最相关的特征/条目的测试,或者对其划分优先级。特定于应用类型的分类器模型是包括聚焦的或划分优先级的数据模型的分类器模型,其包括对于判断特定类型的软件应用是良性的还是非良性的(例如,恶意的或使性能下降的)来说最相关的特征/条目的测试,或者对其划分优先级。
如上面所提及的,可能存在数千个特征/因素和数十亿个数据点需要进行分析,以适当地识别移动设备的性能下降的原因或者来源。因此,可以关于非常大数量的特征,对分类器模型进行训练,以支持移动设备的所有构成和模型,以便每一个移动设备关于特定的移动设备行为是良性的还是非良性的(例如,恶意的或使性能下降的)进行准确的决定。此外,由于移动设备是资源受限的系统,因此移动设备对所有这些特征都进行评估通常是不可行的。此外,移动设备具有很多不同的配置和变形,并可能包括很大数量的不同的软件应用或应用类型。此外,很少移动设备(如果有的话)会包括完整分类器模型中列出的每一个特征或功能。各个方面生成精益的基于应用的分类器模型,分析器模块可以将其应用于评估与特定的移动设备的软件应用最相关的特征的目标子集,限制测试状况的数量,并分析当对移动设备行为进行分类时,如果使用通用或完整分类器模型而另外执行的操作。
各个方面包括配置为彼此之间协作工作,以智能地和高效地识别对于判断移动设备行为是良性的还是非良性的(例如,恶意的或使性能下降的)来说最相关的移动设备和网络服务器。通过在移动设备中本地生成说明特定于设备的特征和/或特定于设备状态的特征的精益分类器模型,各个方面允许移动设备处理器应用聚焦的分类器模型,以快速地和高效地识别、分析或分类复杂移动设备行为(例如,经由观察器和分析器模块等等),而不会对于该移动设备的响应性、性能或功耗特性造成显著的负面改变或者用户可感知改变。
完整分类器模型可以由网络服务器来生成,其中网络服务器被配置为从云服务/网络接收关于移动设备行为和状态、特征和状况的大量信息或者用于描绘这些行为的大量信息。该信息可以具有非常大型的移动设备行为向量的云语料库的形式。网络服务器可以使用该信息,来生成用于准确地描述该非常大型的行为向量的云语料库的完整分类器模型(即,健壮的数据/行为模型)。网络服务器可以生成该完整分类器模型,以包括对于移动设备的多种不同的构成、模型和配置中的任何一种随时间性能下降可能具有贡献的所有或大部分的特征、数据点和/或因素。
在一个方面,网络服务器可以生成完整分类器模型以包括有限状态机表达或表示,其可以是包括增强型决策树/树桩或者一系列的增强型决策树/树桩的信息结构,其中这些增强型决策树/树桩能被快速地和高效地挑选、修改或者转换成适合于在移动设备处理器中使用或执行的精益分类器模型。该有限状态机表达或表示(简写为“有限状态机”)可以是包括测试状况、状态信息、状态转换规则和其它类似信息的信息结构。在一个方面,该有限状态机可以是包括较大或者健壮的一系列增强型决策树桩的信息结构,每一个增强型决策树桩对移动设备行为的特征、状况或方面进行评估或测试。
移动设备可以被配置为从网络服务器接收完整分类器模型,并使用所接收的完整分类器模型来生成特定于该移动设备的特征和功能的精益分类器模型(即,数据/行为模型)。
在各个方面,移动设备可以使用行为建模和机器学习技术来智能地和动态地生成精益分类器模型,使得它们说明该移动设备的特定于设备和/或特定于设备状态的特征(例如,与该移动设备配置、功能、连接的/包括的硬件等等有关的特征),其包括:测试或者评估聚焦的和目标子集的特征(其中,确定这些特征对于识别该移动设备的随时间性能下降的原因或源来说是重要的),和/或基于标识它们成功地对使用/评估它们的特定移动设备中的行为进行分类的相对重要性的概率或置信度值,对该目标子集的特征划分优先级。
通过在使用这些模型的移动设备中生成分类器模型,各个方面允许移动设备准确地识别对于判断下面情形来说最重要的特定特征:判断该特定移动设备上的行为是良性的,还是对于设备的性能下降具有贡献的。这些方面还允许移动设备根据精益分类器模型中的特征对于分类该特定移动设备中的行为的相对重要性,对精益分类器模型中的特征准确地划分优先级。
特定于应用、特定于应用类型、特定于设备和/或特定于设备状态的信息的使用,允许移动设备快速地识别应当包括在精益分类器模型中的特征,并对其划分优先级,以及识别应当从精益分类器模型中排除的特征。例如,移动设备可以被配置为基于其特定的特征集,识别精益分类器模型,从精益分类器模型中排除完整模型中包括的用于测试与在该移动设备上运行的软件应用无关(因此与该移动设备无关)的状况的特征/节点/树/树桩。例如,不包括生物计量传感器的移动设备可以从精益分类器模型中排除:用于测试或评估与软件应用对于生物计量传感器的使用有关的状况的所有特征/节点/树桩。
此外,由于精益分类器模型包括必须进行评估的精简子集的状态、特征、行为或状况(即,与完整分类器模型相比),因此观察器和/或分析器模块可以使用精益分类器模型来快速地和准确地判断移动设备行为是良性的还是非良性的(例如,恶意的或者使性能下降的),而不会消耗过量的该移动设备的处理资源、存储器资源或能量资源。
在一个方面,移动设备可以被配置为使用完整分类器模型来生成不同程度的复杂性(或者“精简性”)的一系列精益分类器模型。可以例行地应用最精简系列的精益分类器模型(即,基于最少数量的测试状况的精益分类器模型),直到遇到该模型不能对一个行为分类成良性的或者恶意的(因此,该模型将其分类成可疑的)为止,在该时间,可以尝试应用更健壮(即,不太精简)的精益分类器模型,来将该行为分类成良性的或者恶意的。可以应用所生成的一系列的精益分类器模型中的甚至更健壮的精益分类器模型的应用,直到实现该行为的明确分类为止。用此方式,观察器和/或分析器模块当需要健壮的分类器模型来对行为进行明确地分类时,可以通过限制向这些情形使用最完整的但资源密集的精益分类器模型,在效率和准确性之间达到平衡。
在各个方面,移动设备可以被配置为通过以下操作来生成一个或多个精益分类器模型:将有限状态机表达/表示转换成增强型决策树桩,基于特定于特定应用或应用类型的应用状态、特征、行为、状况或者配置,修剪或者挑选该完全集合的增强型决策树桩,以包括完整分类器模型中包括的增强型决策树桩的一个或多个子集,并使用该一个或多个子集的增强型决策树桩来智能地监测、分析和/或分类移动设备行为。
增强型决策树桩的使用允许观察器和/或分析器模块在无需与云或网络进行通信以重新训练数据的情况下,生成和应用精益数据模型,这显著地减少了移动设备对于网络服务器和云的依赖。这消除了移动设备和网络服务器之间的反馈通信,其进一步提高了移动设备的性能和功耗特性。
增强型决策树桩是具有精确的一个节点(因此一个测试问题或测试状况)和权重值的单层决策树,因此其非常适合于在数据/行为的二进制分类中使用。也就是说,向增强型决策树桩应用行为向量导致二进制答案(例如,是或否)。例如,如果增强型决策树桩测试的问题/状况是“短消息服务(SMS)传输的频率小于每分钟x个”,则向该增强型决策树桩应用“3”的值将导致“是”的应答(对应于“小于3个”SMS传输)或者“否”应答(对应于“3个或更多”SMS传输)。
由于增强型决策树桩非常简单和是最初的(故不需要显著的处理资源),因此它们是高效的。此外,增强型决策树桩还是非常并行化的,因此可以并行地/同时地应用或者测试很多树桩(例如,通过移动设备中的多个内核或处理器)。
如下面所描述的,网络服务器(或另一个计算设备)可以根据另一个更加复杂的移动设备行为的模型(例如,增强型决策树模型),来生成增强型决策树桩类型的完整分类器模型。这种复杂的模型可以对利用复杂精密分类系统来描绘移动设备行为的设备状态、操作和监测的节点之间的交互的完整(或者近乎完整)集合进行相关。如上面所提及的,服务器或其它计算设备可以通过应用机器学习技术,生成用于描述从很大数量的移动设备收集的移动设备行为向量的云语料库,来生成完整的、复杂的分类器模型。举例而言,增强型决策树分类器模型可以通过可测试状况的决策节点跟踪数百条路径,以达到判断当前移动设备行为是恶意的还是良性的。可以使用多种已知的学习和相关建模技术,在服务器中生成这些复杂的模型。虽然这些复杂的模型在准确地识别恶意行为方面可以变得非常有效(通过学习来自很多的数百个移动设备的数据),但将它们应用于特定的移动设备的配置和行为,则可能需要大量的处理(特别是当该模型涉及复杂的多层决策树时)。由于移动设备通常是资源受限的,因此使用这些模型可能影响设备性能和电池寿命。
为了实现更有益于由移动设备使用的健壮的分类器模型,服务器(例如云服务器或网络服务器)或另一个计算设备(例如,移动设备或将耦合到该移动设备的计算机)可以将复杂的分类器模型转换成大量的增强型决策树桩模型。决策树桩中所涉及的更简单确定以及在并行过程中应用这些分类器模型的能力,可以使移动设备能够更好地从网络服务器执行的分析中获益。此外,如下面所讨论的,移动设备可以使用增强型决策树桩完整分类器模型来生成精益分类器模型,以包括(或者排除)基于特定于设备或特定于设备状态的信息的特征。这可以通过配置移动设备处理器执行下面所描述的方面方法来完成。
在另外的方面,移动设备可以包括:配置为将特定于该移动设备或者该移动设备的当前状态的特征合并到用于检测该移动设备上的恶意行为的精益分类器模型或者一组精益分类器模型的各种组件。
在一个方面,移动设备可以被配置为生成精益分类器模型以包括完整分类器模型中包含的分类器标准的子集,其对于与该移动设备配置、功能和连接/包括的硬件有关的特征相对应的分类器标准划分优化级。移动设备可以使用该精益分类器模型来优选地或者专有地监测该设备呈现的或者与该设备有关的那些特征和功能。随后,移动设备可以基于该移动设备的当前状态和配置,定期地修改或者重新生成该精益分类器模型,以便包括或者删除各种特征和相应的分类器标准。
举例而言,在一个方面,在移动设备上操作的行为分析器模块可以接收较大的增强型决策树桩分类器模型(其中决策树桩与行为模型的完整特征集合相关联),且行为分析器模块可以通过下面操作,根据该较大的分类器模型来推导一个或多个精益分类器模型:从该较大的分类器模型中选择与该移动设备的当前配置、功能、操作状态和/或连接/包括的硬件有关的特征,或者对其划分优先级,并在精益分类器模型中包括与所选定的特征相对应的一个子集的增强型决策树桩。在该方面,与本移动设备有关的特征相对应的分类器标准,可以是较大分类器模型中包括的用于对所选定的特征中的至少一个进行测试的那些增强型决策树桩。在一个方面,行为分析器模块然后可以基于该移动设备的当前状态和配置,随后定期地修改或者重新生成增强型决策树桩精益分类器模型,以包括或者删除各种特征,使得该精益分类器模型继续包括特定于设备的特征的增强型决策树桩。
在一个方面,在移动计算设备上操作的设备状态监测引擎可以针对于该移动设备的配置和/或状态的改变,对该移动设备进行持续地监测。在另外的方面,设备状态监测引擎可以查找可能影响行为分析器模块(或分类器模块)检测恶意行为的性能或效果的配置和/或状态改变。例如,设备状态监测引擎可以对移动设备的行为进行监测,直到检测到“低电池状态”为止,在该时间点,行为分析器模块可以改变精益分类器模型,以便针对于恶意行为来分析该移动设备上的更少特征,从而节约能量。
在另一个方面,当设备状态监测引擎检测到状态改变时,设备状态监测引擎可以向设备状态特定特征生成器进行通知,且该设备状态特定特征生成器可以基于该移动设备的状态改变,向行为分析器模块发送信号,以增加或者删除某些特征。
在另一个方面,移动设备可以包括:配置为确定与该移动设备自身有关的特征的设备特定特征生成器。例如,该设备特定特征生成器可以确定该移动设备包括近场通信、Wi-Fi和蓝牙能力。在另外的方面,该设备特定特征生成器可以基于与该移动设备自身有关的特征,向行为分析器发送信号,以便在精益分类器模型中包括或者删除特征。因此,移动设备上的各种组件可以修改精益分类器模型,以反映特定于该移动设备的配置和/或该移动设备的当前状态的特征,这可以使各种组件能够更好地检测恶意行为,或者提高该移动设备的整体性能(通过基于移动设备的当前状态,对监测的特征划分优先级)。
如上所述,移动设备可以进行处理以生成在监测行为时使用的精益分类器模型的一种类型的较大分类器模型的一个例子,是增强型决策树桩分类器模型。但是,在下面引用增强型决策树桩分类器模型所进行的详细描述中,这些引用只是用于例如示例目的,而不是旨在限制权利要求的范围,除非权利要求明确地阐述了一种增强型决策树桩分类器模型。
在一个方面,移动设备可以被配置为通过下面方式来生成基于应用的分类器模型:接收包括来自网络服务器的多个测试状况的完整分类器模型,识别移动设备的软件应用(或者可以在该移动设备上执行的软件应用的类型)所使用的移动设备特征,识别完整分类器模型中用于评估所识别的移动设备特征中的一个的测试状况,确定所识别的测试状况的优先级、重要性或成功率,根据它们的重要性或成功率来对所识别的测试状况划分优先级或者排序,并且生成包括所识别的测试状况的分类器模型,使得根据它们确定的优先级、重要性或成功率来对其进行排序。
移动设备可以被配置为使用本地生成的精益分类器模型和/或基于应用的分类器模型,来执行实时行为监测和分析操作。例如,移动设备可以通过下面操作,使用基于应用的分类器模型对执行相应应用的该移动设备的行为进行分类:从移动设备收集行为信息,使用所收集的行为信息来生成特征向量,向基于应用的分类器模型应用所生成的特征向量,以评估该基于应用的分类器模型中包括的每一个测试状况。此外,移动设备还可以计算对基于应用的分类器模型中的测试状况进行评估的每一个结果的加权平均,并使用该加权平均来判断移动设备行为是恶意的还是良性的。
各个方面可以在多种多样的通信系统(例如,图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可以生成包括一系列数字的行为向量,每一数字表示该移动设备的特征或行为。例如,行为向量中包括的数字可以表明该移动设备的照相机是否在使用(例如,当照相机关闭时作为零,当照相机激活时则作为一),从移动设备发送的网络业务量或者移动设备所生成的网络业务的量(例如,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中要包括的决策节点。在一个方面,处理内核可以通过读取与每个软件应用相关联的应用商店标签,通过执行静态分析操作,和/或通过将该软件应用与其它类似的软件应用进行比较,来确定该软件应用的种类、类型或分类,和/或识别将包括在特定于应用类型的分类器模型456中的决策节点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中,处理内核可以生成每一应用的精益分类器模型,以包括感兴趣的特征。
图6示出了用于生成精益或聚焦的分类器/行为模型的一个方面方法600,其中该分类器/行为模型说明移动设备的特定于应用和特定于应用类型的特征。
在方法600的方框602中,处理内核可以接收完整分类器模型,其中该完整分类器模型是或者包括有限状态机,增强型决策树、决策树桩列表,或者用于标识多个测试状况的其它类似信息结构。在一个方面,完整分类器模型包括有限状态机,后者包括适合于表示多个增强型决策树桩的信息和/或包括适合于由移动设备转换成多个增强型决策树桩的信息。在一个方面,该有限状态机可以是(或者可以包括)排序的或者划分优先级的增强型决策树桩列表。这些增强型决策树桩中的每一个可以包括测试状况和权重值。
在方框604中,处理内核可以确定应当进行评估,以准确地将移动设备行为分类成恶意的或者良性的,而无需消耗过量的移动设备的处理资源、存储器资源或能量资源的独特测试状况的数量。这可以包括:确定移动设备中可用的处理资源、存储器资源和/或能量资源的量,对状况进行测试所需要的该移动设备的处理资源、存储器资源或能量资源的量;确定与移动设备中通过对状况进行测试而要进行分析或者评估的行为或状况相关联的优先级和/或复杂度;以及选择/确定所述独特测试状况的数量,以便在该移动设备的可用处理资源、存储器资源或能量资源的消耗、通过测试状况将实现的行为分类的准确性、以及通过该状况测试的行为的重要性或优先级之间达到平衡或者均衡。
在方框606中,处理内核可以使用特定于设备或者特定于设备状态的信息,来快速地识别应当在精益分类器模型中包括或者排除的特征和/或测试状况。例如,处理内核可以识别对于移动设备中不可能出现的状况、特征或者因素(由于该移动设备的当前硬件或软件配置、操作状态等等)进行测试的测试状况。再举一个例子,处理内核可以识别和从精益分类器模型中排除完整模型中包括的特征/节点/树桩,以及不可能存在于该移动设备之中和/或与该移动设备无关的测试状况。
在一个方面,在方框608中,处理内核可以从开始处遍历增强型决策树桩列表,以填充具有所确定数量的独特测试状况的选定的测试状况列表,并排除在方框606中识别的测试状况。例如,处理内核可以跳过、忽略或者删除完整分类器模型中包括的对于该软件应用不可能使用的状况进行测试的特征。在一个方面,处理内核还可以确定用于所选定的测试状况中的每一个的绝对或相对优先级值,并将该绝对或相对优先级值关联它们相应的测试状况来存储在选定的测试状况列表之中。
在一个方面,在方框608中,处理内核可以通过下面操作来生成测试状况列表:顺序地遍历完整分类器模型中的多个测试状况,并将与对该移动设备的行为进行分类有关的那些测试状况插入到该测试状况列表中,直到该测试状况列表包括所确定数量的独特测试状况为止。在另外的方面,生成测试状况列表可以包括:顺序地遍历完整分类器模型的决策节点,忽略与该软件应用无关的测试状况相关联的决策节点,并将没有被忽略的与每一个顺序遍历的决策节点相关联的测试状况插入到测试状况列表之中,直到该测试状况列表包括所确定数量的独特测试状况为止。
在方框610中,处理内核可以生成精益分类器模型,其中该精益分类器模型包括完整分类器模型中包括的用于对所生成的测试状况列表中标识的所选定测试状况之一(因此,其排除了方框606中识别的测试状况)进行测试的所有增强型决策树桩。在一个方面,处理内核可以生成精益分类器模型,以按照增强型决策树桩的重要性或优先级值的顺序,来包括或表达这些增强型决策树桩。在一个方面,在方框610中,处理内核可以通过下面操作,增加独特测试状况的数量,以便生成另一个更加健壮的(即,不太精简的)精益分类器模型:针对方框608中的更大数量的测试状况,重复遍历增强型决策树桩列表的操作,并生成另一个精益分类器模式。可以重复这些操作,以生成一系列的精益分类器模型。
在方框612中,处理内核可以使用特定于应用的信息和/或特定于应用类型的信息,来识别精益分类器模型中包括的特征或测试状况,它们与判断软件应用是否对于移动设备的使性能下降行为具有贡献有关。在方框614中,处理内核可以遍历精益分类器模型中的增强型决策树桩,并针对软件应用来选择或者映射用于对该软件应用所使用的特征或状况进行测试的决策树桩,并使用所选定的或映射的决策树桩作为特定于应用的分类器模型或者特定于应用类型的分类器模型。
图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.根据权利要求1所述的方法,其中,接收识别所述多个测试状况的所述完整分类器模型,包括:接收有限状态机,所述方法还包括:
将所述有限状态机转换成增强型决策树桩,每一个增强型决策树桩对所述多个测试状况中的一个测试状况进行评估;
基于所述增强型决策树桩,在所述移动设备中生成一系列精益分类器模型;
从所述系列的精益分类器模型中,选择精益分类器模型;以及
向所述基于应用的分类器模型和所选择的精益分类器模型,并行地应用所收集的行为信息。
8.根据权利要求1所述的方法,其中,识别移动设备特征,包括:识别所述软件应用使用的移动设备特征,所述方法还包括:
监测所述软件应用以检测以下各项中的一项的改变:所述软件应用的状态、所述软件应用的配置、所述软件应用的操作、以及所述软件应用的功能;
响应于检测到所述改变,修改所述基于应用的分类器模型,以包括更新的测试状况集合;以及
使用所修改的基于应用的分类器模型,对所述移动设备的所述行为进行重新分类。
9.根据权利要求8所述的方法,其中,监测所述软件应用,并响应于检测到所述改变,修改所述基于应用的分类器模型,以包括所述更新的测试状况集合,包括:
识别与所检测的改变相关联的特征;
判断所识别的特征是否包括在所述基于应用的分类器模型中;以及
识别所述多个测试状况中用于对所识别的特征进行评估的测试状况,并响应于确定所识别的特征没有包括在所述基于应用的分类器模型中,将所识别的测试状况增加到所述基于应用的分类器模型中。
10.根据权利要求1所述的方法,还包括通过以下方式,在服务器中生成所述完整分类器模型:
在所述服务器中,接收行为信息语料库;
基于所述行为信息语料库来生成有限状态机,以包括适合于转换成多个增强型决策树桩的数据;以及
将所述有限状态机作为所述完整分类器模型发送给所述移动设备。
11.一种移动计算设备,包括:
处理器,其配置有处理器可执行指令,以执行包括以下各项的操作:
接收包括多个测试状况的完整分类器模型;
识别以下各项中的一项所使用的移动设备特征:
所述移动计算设备的软件应用;以及
能够在所述移动计算设备上执行的软件应用的类型;
识别所述多个测试状况中用于评估所识别的移动设备特征的测试状况;
生成用于对所识别的测试状况划分优先级的基于应用的分类器模型,所述基于应用的分类器模型是从包括以下各项的组中选择的:
特定于应用的分类器模型;以及
特定于应用类型的分类器模型;以及
使用所生成的基于应用的分类器模型,对所述移动计算设备的行为进行分类。
12.根据权利要求11所述的移动计算设备,其中,所述处理器是配置有处理器可执行指令以执行操作的,使得:
识别移动设备特征,包括:识别所述软件应用使用的移动设备特征;以及
生成所述基于应用的分类器模型,包括:生成所述特定于应用的分类器模型。
13.根据权利要求11所述的移动计算设备,其中,所述处理器是配置有处理器可执行指令以执行操作的,使得:
识别移动设备特征,包括:识别能够在所述移动计算设备上执行的一种类型的软件应用所使用的移动设备特征;以及
生成所述基于应用的分类器模型,包括:生成所述特定于应用类型的分类器模型。
14.根据权利要求11所述的移动计算设备,其中:
所述处理器是配置有处理器可执行指令以执行还包括以下的操作的:通过从移动设备组件收集行为信息,对所述行为监测一段时间;以及
所述处理器是配置有处理器可执行指令以执行操作的,使得使用所述基于应用的分类器模型,对所述行为进行分类,包括:
使用所述行为信息来生成特征向量;
通过向所述基于应用的分类器模型应用所生成的特征向量,来评估所述基于应用的分类器模型中包括的每一个测试状况;
计算评估所述基于应用的分类器模型中的测试状况的每一个结果的加权平均;以及
基于所述加权平均,判断所述行为是恶意的还是良性的。
15.根据权利要求11所述的移动计算设备,其中,所述处理器是配置有处理器可执行指令以执行操作的,使得:
接收识别所述多个测试状况的所述完整分类器模型,包括:接收有限状态机,其中所述有限状态机包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况;以及
生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,包括:生成所述基于应用的分类器模型以包括用于对以下各项中的一项进行评估的决策节点:
与所述软件应用有关的移动设备特征;以及
与所述软件应用的类型有关的移动设备特征。
16.根据权利要求15所述的移动计算设备,其中,所述处理器是配置有处理器可执行指令以执行操作的,使得生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,还包括:
确定应当进行评估,以对所述行为进行分类,而无需消耗过量的移动设备资源的独特测试状况的数量;
通过以下方式来生成测试状况列表:顺序地遍历所述完整分类器模型中的所述多个测试状况,并将与所述软件应用能够访问和使用的特征有关的那些测试状况插入到所述测试状况列表中,直到所述测试状况列表包括所述数量的独特测试状况为止;以及
生成所述基于应用的分类器模型,以包括所述完整分类器模型中用于对所生成的测试状况列表里包括的所述测试状况中的一个测试状况进行测试的所述决策节点。
17.一种其上存储有处理器可执行软件指令的非临时性计算机可读存储介质,其中所述处理器可执行软件指令是被配置为使处理器执行用于在移动设备中生成数据模型的操作的,所述操作包括:
接收包括多个测试状况的完整分类器模型;
识别以下各项中的一项所使用的移动设备特征:
所述移动设备的软件应用;以及
能够在所述移动设备上执行的软件应用的类型;
识别所述多个测试状况中用于评估所识别的移动设备特征的测试状况;
生成用于对所识别的测试状况划分优先级的基于应用的分类器模型,所述基于应用的分类器模型是从包括以下各项的组中选择的:
特定于应用的分类器模型;以及
特定于应用类型的分类器模型;以及
使用所生成的基于应用的分类器模型,对所述移动设备的行为进行分类。
18.根据权利要求17所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令是被配置为使处理器执行操作的,使得:
识别移动设备特征,包括:识别所述软件应用使用的移动设备特征;以及
生成所述基于应用的分类器模型,包括:生成所述特定于应用的分类器模型。
19.根据权利要求17所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令是被配置为使处理器执行操作的,使得:
识别移动设备特征,包括:识别能够在所述移动设备上执行的一种类型的软件应用所使用的移动设备特征;以及
生成所述基于应用的分类器模型,包括:生成所述特定于应用类型的分类器模型。
20.根据权利要求17所述的非临时性计算机可读存储介质,其中:
所存储的处理器可执行软件指令是被配置为使处理器执行还包括以下的操作的:通过从移动设备组件收集行为信息,对所述行为监测一段时间;以及
所存储的处理器可执行软件指令是被配置为使处理器执行操作的,使得,使用所述基于应用的分类器模型,对所述移动设备的所述行为进行分类,包括:
使用所述行为信息来生成特征向量;
通过向所述基于应用的分类器模型应用所生成的特征向量,来评估所述基于应用的分类器模型中包括的每一个测试状况;
计算评估所述基于应用的分类器模型中的测试状况的每一个结果的加权平均;以及
基于所述加权平均,判断所述行为是恶意的还是良性的。
21.根据权利要求17所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令是被配置为使处理器执行操作的,使得:
接收识别所述多个测试状况的所述完整分类器模型,包括:接收有限状态机,其中所述有限状态机包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况;以及
生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,包括:生成所述基于应用的分类器模型以包括用于对以下各项中的一项进行评估的决策节点:
与所述软件应用有关的移动设备特征;以及
与所述软件应用的类型有关的移动设备特征。
22.根据权利要求21所述的非临时性计算机可读存储介质,其中,所存储的处理器可执行软件指令是被配置为使处理器执行操作的,使得生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型,还包括:
确定应当进行评估,以对所述行为进行分类,而无需消耗过量的移动设备资源的独特测试状况的数量;
通过以下方式来生成测试状况列表:顺序地遍历所述完整分类器模型中的所述多个测试状况,并将与所述软件应用能够访问和使用的特征有关的那些测试状况插入到所述测试状况列表中,直到所述测试状况列表包括所述数量的独特测试状况为止;以及
生成所述基于应用的分类器模型,以包括所述完整分类器模型中用于对所生成的测试状况列表里包括的所述测试状况中的一个测试状况进行测试的所述决策节点。
23.一种移动计算设备,包括:
用于接收包括多个测试状况的完整分类器模型的单元;
用于识别以下各项中的一项所使用的移动设备特征的单元:
所述移动计算设备的软件应用;以及
能够在所述移动计算设备上执行的软件应用的类型;
用于识别所述多个测试状况中用于评估所识别的移动设备特征的测试状况的单元;
用于生成用于对所识别的测试状况划分优先级的基于应用的分类器模型的单元,其中所述基于应用的分类器模型是从包括以下各项的组中选择的:
特定于应用的分类器模型;以及
特定于应用类型的分类器模型;以及
用于使用所生成的基于应用的分类器模型,对所述移动计算设备的行为进行分类的单元。
24.根据权利要求23所述的移动计算设备,其中:
用于识别移动设备特征的单元,包括:用于识别所述软件应用使用的移动设备特征的单元;以及
用于生成所述基于应用的分类器模型的单元,包括:用于生成所述特定于应用的分类器模型的单元。
25.根据权利要求23所述的移动计算设备,其中:
用于识别移动设备特征的单元,包括:用于识别能够在所述移动计算设备上执行的一种类型的软件应用所使用的移动设备特征的单元;以及
用于生成所述基于应用的分类器模型的单元,包括:生成所述特定于应用类型的分类器模型。
26.根据权利要求23所述的移动计算设备,还包括:
用于通过从移动设备组件收集行为信息,对所述行为监测一段时间的单元,
其中,用于使用所述基于应用的分类器模型,对所述移动计算设备的所述行为进行分类的单元,包括:
用于使用所述行为信息来生成特征向量的单元;
用于通过向所述基于应用的分类器模型应用所生成的特征向量,来评估所述基于应用的分类器模型中包括的每一个测试状况的单元;
用于计算评估所述基于应用的分类器模型中的测试状况的每一个结果的加权平均的单元;以及
用于基于所述加权平均,判断所述行为是恶意的还是良性的单元。
27.根据权利要求23所述的移动计算设备,其中:
用于接收识别所述多个测试状况的所述完整分类器模型的单元,包括用于接收有限状态机的单元,其中所述有限状态机包括适合于转换成多个决策节点的信息,每一个决策节点评估所述多个测试状况中的一个测试状况;以及
用于生成对所识别的测试状况划分优先级的所述基于应用的分类器模型的单元,包括:用于生成所述基于应用的分类器模型以包括用于对以下各项中的一项进行评估的决策节点的单元:
与所述软件应用有关的移动设备特征;以及
与所述软件应用的类型有关的移动设备特征。
28.根据权利要求27所述的移动计算设备,其中,用于生成用于对所识别的测试状况划分优先级的所述基于应用的分类器模型的单元,还包括:
用于确定应当进行评估,以对所述行为进行分类,而无需消耗过量的移动设备资源的独特测试状况的数量的单元;
用于通过以下方式来生成测试状况列表的单元:顺序地遍历所述完整分类器模型中的所述多个测试状况,并将与所述软件应用能够访问和使用的特征有关的那些测试状况插入到所述测试状况列表中,直到所述测试状况列表包括所述数量的独特测试状况为止;以及
用于生成所述基于应用的分类器模型,以包括所述完整分类器模型中用于对所生成的测试状况列表里包括的所述测试状况中的一个测试状况进行测试的所述决策节点的单元。
29.根据权利要求23所述的移动计算设备,其中,用于接收识别所述多个测试状况的所述完整分类器模型的单元,包括用于接收有限状态机的单元,所述移动计算设备还包括:
用于将所述有限状态机转换成增强型决策树桩的单元,每一个增强型决策树桩对所述多个测试状况中的一个测试状况进行评估;
用于基于所述增强型决策树桩,生成一系列精益分类器模型的单元;
用于从所述系列的精益分类器模型中,选择精益分类器模型的单元;以及
用于向所述基于应用的分类器模型和所选择的精益分类器模型,并行地应用所收集的行为信息的单元。
30.根据权利要求23所述的移动计算设备,其中,用于识别移动设备特征的单元,包括用于识别所述软件应用使用的移动设备特征的单元,所述移动计算设备还包括:
用于监测所述软件应用以检测以下各项中的一项的改变的单元:所述软件应用的状态、所述软件应用的配置、所述软件应用的操作、以及所述软件应用的功能;
用于响应于检测到所述改变,修改所述基于应用的分类器模型,以包括更新的测试状况集合的单元;以及
用于使用所修改的基于应用的分类器模型,对所述行为进行重新分类的单元。
CN201480066161.9A 2013-12-06 2014-12-05 使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统 Active CN105830080B (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/259,501 US9652362B2 (en) 2013-12-06 2014-04-23 Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors
US14/259,501 2014-04-23
PCT/US2014/068944 WO2015085265A1 (en) 2013-12-06 2014-12-05 Methods and systems of using application-specific and application -type-specific models for the efficient classification of mobile device behaviors

Publications (2)

Publication Number Publication Date
CN105830080A true CN105830080A (zh) 2016-08-03
CN105830080B CN105830080B (zh) 2018-10-12

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 Before (1)

Application Number Title Priority Date Filing Date
CN201480066232.5A Active CN105830081B (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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325985A (zh) * 2015-06-30 2017-01-11 北京展讯高科通信技术有限公司 一种定时器调整方法及系统以及移动终端
CN106843941A (zh) * 2016-12-31 2017-06-13 广东欧珀移动通信有限公司 信息处理方法、装置和计算机设备
CN106874574A (zh) * 2017-01-22 2017-06-20 清华大学 基于决策树的移动应用性能瓶颈分析方法及装置
CN109255211A (zh) * 2017-07-12 2019-01-22 波音公司 移动安全对策
CN109791587A (zh) * 2016-10-05 2019-05-21 微软技术许可有限责任公司 经由用户状态检测受危害设备
CN111737118A (zh) * 2020-06-11 2020-10-02 百度在线网络技术(北京)有限公司 一种流水线测试方法、装置、电子设备及存储介质
CN116522416A (zh) * 2023-05-09 2023-08-01 深圳市银闪科技有限公司 一种基于大数据的移动存储安全智能监管系统及方法

Families Citing this family (145)

* 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
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
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
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
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
US10649879B2 (en) * 2018-04-06 2020-05-12 Bently Nevada, Llc Integration of diagnostic instrumentation with machine protection system
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
CN112334875B (zh) * 2018-11-30 2022-04-29 华为技术有限公司 一种功耗预测方法及装置
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
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
CN112307475A (zh) * 2020-09-29 2021-02-02 北京软慧科技有限公司 一种系统检测方法及装置
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

Citations (4)

* 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
US8266698B1 (en) * 2009-03-09 2012-09-11 Symantec Corporation Using machine infection characteristics for behavior-based detection of malware
US8370931B1 (en) * 2008-09-17 2013-02-05 Trend Micro Incorporated Multi-behavior policy matching for malware detection
US20130247187A1 (en) * 2012-03-19 2013-09-19 Qualcomm Incorporated Computing device to detect malware

Family Cites Families (26)

* 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文字付きバーコードの生成装置、印刷装置、プログラム
US20100281248A1 (en) 2007-02-16 2010-11-04 Lockhart Malcolm W Assessment and analysis of software security flaws
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
US8984628B2 (en) 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification
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 (4)

* 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
US8370931B1 (en) * 2008-09-17 2013-02-05 Trend Micro Incorporated Multi-behavior policy matching for malware detection
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 (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325985A (zh) * 2015-06-30 2017-01-11 北京展讯高科通信技术有限公司 一种定时器调整方法及系统以及移动终端
CN109791587A (zh) * 2016-10-05 2019-05-21 微软技术许可有限责任公司 经由用户状态检测受危害设备
CN109791587B (zh) * 2016-10-05 2023-05-05 微软技术许可有限责任公司 经由用户状态检测受危害设备
CN106843941A (zh) * 2016-12-31 2017-06-13 广东欧珀移动通信有限公司 信息处理方法、装置和计算机设备
CN106874574A (zh) * 2017-01-22 2017-06-20 清华大学 基于决策树的移动应用性能瓶颈分析方法及装置
CN106874574B (zh) * 2017-01-22 2019-10-29 清华大学 基于决策树的移动应用性能瓶颈分析方法及装置
CN109255211A (zh) * 2017-07-12 2019-01-22 波音公司 移动安全对策
CN109255211B (zh) * 2017-07-12 2023-09-15 波音公司 移动安全对策
CN111737118A (zh) * 2020-06-11 2020-10-02 百度在线网络技术(北京)有限公司 一种流水线测试方法、装置、电子设备及存储介质
CN111737118B (zh) * 2020-06-11 2024-02-20 百度在线网络技术(北京)有限公司 一种流水线测试方法、装置、电子设备及存储介质
CN116522416A (zh) * 2023-05-09 2023-08-01 深圳市银闪科技有限公司 一种基于大数据的移动存储安全智能监管系统及方法
CN116522416B (zh) * 2023-05-09 2023-11-24 深圳市银闪科技有限公司 一种基于大数据的移动存储安全智能监管系统及方法

Also Published As

Publication number Publication date
EP3077949A1 (en) 2016-10-12
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
CN105830081A (zh) 2016-08-03
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
CN105830080A (zh) 使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统
KR101826865B1 (ko) 모바일 디바이스 거동들의 효율적인 분류를 위해 부스트 결정 그루터기들 및 공동의 특징 선택 및 선별 알고리즘들을 사용하는 방법들 및 시스템들
US10089582B2 (en) Using normalized confidence values for classifying mobile device behaviors
CN106133642B (zh) 在移动设备中通过执行行为分析操作推断应用状态的方法和系统
CN104541293B (zh) 用于客户端‑云行为分析器的架构
CN104303538B (zh) 使用签名高速缓冲存储器来最小化行为分析的时延
US20170046510A1 (en) Methods and Systems of Building Classifier Models in Computing Devices
US20160078362A1 (en) Methods and Systems of Dynamically Determining Feature Sets for the Efficient Classification of Mobile Device Behaviors
US20170024660A1 (en) Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors
CN107580699A (zh) 用于特定于行为的致动以实时白名单化的方法和系统
CN107408178A (zh) 用于通过云与客户端行为的差异来识别恶意软件的方法及系统
CN104272788A (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