CN107690627A - 交叉模块行为验证 - Google Patents
交叉模块行为验证 Download PDFInfo
- Publication number
- CN107690627A CN107690627A CN201680031345.0A CN201680031345A CN107690627A CN 107690627 A CN107690627 A CN 107690627A CN 201680031345 A CN201680031345 A CN 201680031345A CN 107690627 A CN107690627 A CN 107690627A
- Authority
- CN
- China
- Prior art keywords
- module
- behavior
- observed
- observation
- processor
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
各个方面的系统、方法和设备实现了交叉模块行为验证的方法。系统的多个观测方模块可以观测该系统的被观测模块的行为。这些观测方模块中的每个观测方模块可以基于被观测模块的行为来生成行为表示。每个观测方模块可以向适合于每个观测方模块的行为分类器模型应用该行为表示。这些观测方模块可以对由这些观测方模块中的每个观测方模块所确定的被观测模块的行为的分类进行聚合。观测方模块可以基于该聚合的分类,确定被观测模块是否是行为异常的。
Description
背景技术
便携式电子设备、计算设备和通信设备的激增已经彻底改变了人们生活、工作和娱乐的环境。便携式设备现在能够提供各种各样的功能和服务,这些功能和服务向它们的用户提供对信息、资源和通信的空前水平的访问。诸如车辆和电器的通常使用的工具,越来越多地包括嵌入式或者集成电子系统。此外,越来越依赖于电子设备执行重要任务,例如,监测位置的物理安全、患者状况、儿童的安全以及机器的物理状况,以存储和处理敏感信息(例如,信用卡信息、联系人等等),以及完成安全非常重要的任务(例如,购买商品、发送和接收敏感通信、支付帐单、管理银行帐户和进行其它敏感交易)。
电子设备和电器已经演变成复杂的电子系统,并且现在通常包括一些强大的处理器、大存储器、以及允许执行复杂的软件应用的其它资源。这些复杂的电子系统可以包括多个模块或组件,每个模块或组件都提供有一个或多个处理模块,以单独地以及与其它系统组件组合地执行各种任务。由于这种电子系统的重要性日益增加,因此维护系统完整性,防止故障和恶意攻击变得日益重要。
发明内容
各个实施例的系统、方法和设备使一个或多个计算设备能够执行交叉模块行为验证。各个方面可以包括:通过系统的多个观测方模块来观测系统的被观测模块的行为(即,一个或多个行为);由这些观测方模块中的每个观测方模块基于被观测模块的行为来生成行为表示;通过这些观测方模块中的每个观测方模块,向用于被观测模块的行为分类器模型应用该行为表示;由这些观测方模块中的每个观测方模块对这些观测方模块中的每个观测方模块所确定的被观测模块的行为的分类进行聚合,以生成聚合的分类;基于该聚合的分类,确定被观测模块是否是行为异常的。
在一些方面,这些观测方模块中的每个观测方模块可以观测被观测模块的不同行为。在一些方面,由观测方模块对观测方模块中的每个观测方模块所确定的被观测模块的行为的分类进行聚合,可以包括:基于每个观测方模块对被观测模块的行为的观点,对来自观测方模块中的每个观测方模块的分类进行加权。
在一些方面,每个观测方模块对被观测模块的行为的观点,可以包括:观测方模块中的每个观测方模块观测的被观测模块的行为的数量。在一些方面,每个观测方模块对被观测模块的行为的观点,可以包括:观测方模块中的每个观测方模块观测的被观测模块的一种或多种类型的行为。在一些方面,每个观测方模块对被观测模块的行为的观点,可以包括:观测方模块中的每个观测方模块对被观测模块的行为进行观测的持续时间。在一些方面,每个观测方模块对被观测模块的行为的观点,可以包括:观测方模块中的每个观测方模块对被观测模块的行为进行观测的复杂度。
一些方面还可以包括:响应于确定被观测模块是行为异常的,由观测方模块中的每个观测方模块采取动作。在一些方面,响应于确定被观测模块是行为异常的,由观测方模块中的每个观测方模块采取动作,可以包括:由观测方模块中的每个观测方模块基于由观测方模块中的每个观测方模块所观测的相应行为,来采取动作。在一些方面,由观测方模块中的每个观测方模块采取动作可以是基于以下各项中的一项或多项的:由观测方模块中的每个观测方模块观测的被观测模块的行为的数量、由观测方模块中的每个观测方模块观测的被观测模块的一种或多种类型的行为、由观测方模块中的每个观测方模块对被观测模块的行为进行观测的持续时间、以及观测方模块中的每个观测方模块对被观测模块的行为进行观测的复杂度。
在一些方面,由观测方模块中的每个观测方模块基于被观测模块的行为来生成行为表示,可以包括:由观测方模块中的每个观测方模块基于被观测模块的行为来生成行为向量;以及由观测方模块中的每个观测方模块,向用于被观测模块的行为分类器模型应用行为表示,可以包括:由观测方模块中的每个观测方模块,向用于被观测模块的行为分类器模型应用行为向量。
各个方面可以包括包含处理器的计算设备,该处理器被配置有处理器可执行指令以执行上面所描述的实施例方法的操作。各个方面可以包括其上存储有处理器可执行软件指令的非临时性处理器可读存储介质,处理器可执行软件指令被配置为使处理器执行上面所描述的实施例方法的操作。各个方面可以包括系统(例如,计算设备系统或者计算设备的系统)中的处理器,该处理器包括用于执行上面所描述的实施例方法的操作的功能的单元。
附图说明
并入本文并且构成本说明书一部分的附图,描绘了示例性方面,并且连同上面给出的概括描述以及下面给出的详细描述一起,用作解释各个方面的特征。
图1A是适合于实现各个方面的示例性片上系统的架构图。
图1B是示出适合于实现各个方面的车辆系统的逻辑组件的组件方块图。
图1C是示出适合于实现各个方面的无人飞行器系统的逻辑组件的组件方块图。
图2是示出可以用于实现各个方面的行为表征系统中的示例性逻辑组件和信息流的方块图。
图3是示出用于交叉模块行为验证的方面方法的处理流程图。
图4是示出用于交叉模块行为验证的方面方法的处理流程图。
图5是适合于结合各个方面使用的示例性移动设备的组件方块图。
具体实施方式
将参照附图来详细地描述各个方面。在可能的任何地方,贯穿附图将使用相同的附图标记来指代相同或者类似的组件。对于特定示例和实施方式的引用只是用于说明目的,而不是旨在限制各个方面或者权利要求的保护范围。
各个方面包括被配置为通过以下方式,实现连续地监测和分析经由系统中的各种通信链路连接在一起的多个计算模块(例如,处理器、SoC、计算设备)的行为的方法的方法和计算设备和系统:每个模块监测系统中的每个其它模块,与系统中的其它模块共享结果和/或结论,并且基于这些模块中的每个模块的观测和分析的组合,确定被观测模块中的行为异常。可以在包括彼此之间进行通信的多个可编程处理器的任何系统中,实现各个方面。这些处理器可以是诸如应用处理器的通用处理器和诸如调制解调器处理器、数字信号处理器(DSP)以及移动通信设备中的图形处理器的专用处理器。还可以在例如汽车中的各个计算设备和专用处理器中的系统的系统中,实现各个方面。为了便于描述起见,实现各个方面的各种类型的计算设备和处理器通常称为“模块”。此外,使用术语“观测模块”来指代执行监测操作的模块,使用术语“被观测模块”来指代被观测的模块。由于大部分或者所有的模块都观测计算系统中的大部分或所有其它模块,因此系统中的任何模块都可以是观测模块和被观测模块两者。
本文互换地使用术语“计算设备”和“移动设备”以指代以下各项中的任何一项或全部项:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、超级本、掌上型计算机、无线电子邮件接收机、具备多媒体互联网能力的蜂窝电话、无线游戏控制器、以及包括存储器、可编程处理器和RF传感器的类似个人电子设备。
本文使用术语“组件”、“系统”等等以指代与计算机相关的实体,例如但不限于:被配置为执行特定的操作或功能的硬件、固件、硬件和软件的结合、软件或运行中的软件。例如,模块、组件可以是,但不限于:在处理器上运行的处理、处理器、对象、可执行文件、执行的线程、程序和/或计算机。举例而言,在通信设备上运行的应用和通信设备两者都可以称为组件。一个或多个组件可以驻留在处理和/或执行的线程中,并且组件可以位于一个处理器或内核中和/或分布在两个或更多个处理器或内核之间。此外,这些组件可以从其上存储有各种指令和/或数据结构的各种非临时性计算机可读介质中执行。组件可以通过本地和/或远程处理、函数或过程调用、电信号、数据分组、存储器读/写、以及其它已知的计算机、处理器和/或与处理有关的通信方法的方式进行通信。
系统可以包括多个模块。例如,系统可以包括应用处理器(AP)、调制解调器处理器、图形处理单元(GPU)和数字信号处理器(DSP),上述各项各可视作为模块。每个模块可以与每个其它模块进行交互(例如,通过通信总线),并且每个模块可以独立地观测和分析每个其它模块的行为。因此如上所述,每个模块可以是“观测方模块”和“被观测模块”两者。换言之,每个模块都可以充当行为分析系统的组件。
每个模块与其它模块的交互可以包括不同数量和质量的交互。每个模块(例如,AP、GPU和DSP)可以具有执行系统中的不同功能的任务,和/或可以基于运行在该系统上的应用来执行任务。例如,AP可以与GPU和DSP进行差别地交互,而GPU和DSP可以以受限方式进行交互。因此,AP、GPU和DSP可以各观测其它两个模块的不同行为。因此,不同的观测方模块可以观测来自被观测模块的至少一些不同的行为。由每个观测方模块所观测的行为还可以至少部分地重叠。
每个观测方模块可以对其观测进行分析,并且独立地生成被观测模块的分析结果。可以在每个模块中,对被观测模块的独立分析进行组合(例如,由每个观测方模块独立地进行),并基于所组合的观测,系统或者每个模块可以独立地确定特定的模块是否是行为异常的(例如,具有故障,或者已经受到恶意软件损害)。
在一些方面,每个观测方模块可以与其它观测方模块共享被观测模块行为异常的确定结果。因此,用作一起工作的观测方模块的模块中的每一个模块可以充当计算系统中的这些模块中的每一个模块的整体分类器。
可以基于其它模块(观测方模块)中的每个模块的观测的加权平均,来做出被观测模块是行为异常的确定。可以将这种加权平均与门限进行比较,以确定组合的观测是否上升到异常行为的水平。作为示例,分配给每个模块的结论的权重,可以取决于该观测方模块和被观测模块之间的交互的程度。交互的程度可以包括交互的数量和/或交互的类型。因此,例如,调制解调器处理器对于GPU的观测可以进行较低的加权,这是由于调制解调器处理器和GPU并不频繁地交互(例如,在特定的系统中,或者如特定的应用所指示的),但调制解调器对于DSP的观测(即,处于相同系统和/或应用中)可以进行较高的加权,如果调制解调器处理器和DSP频繁地交互的话。替代地或另外地,可以基于对于被观测模块进行观测的模块中的每个模块(即,观测方模块)的投票,来确定被观测模块是行为异常的,并且观测方模块中的每个观测方模块的汇总投票可以产生整体分类。
在一些方面,可以将每个被观测模块的模型装载到或者提供给每个观测方模块。换言之,可以向系统中的每个模块提供行为分析模型,可以针对系统中的每个其它模块唯一地配置这些行为分析模型。随后,每个观测方模块可以基于表征该观测方模块与被观测模块的交互的模型的特征,适配、调整或者定制其针对被观测模块的模型。每个观测方模块还可以基于该观测方模块与被观测模块的交互,来独立地分析被观测模块。再一次地,由于每个模块都可以观测系统中的每个其它模块,因此这里对于一个观测方模块观测另一被观测模块的引用,旨在描述实现方面的系统中的很多观测器/被观测关系中的仅仅一个关系。
在一些方面,当在各个模块中实现的行为分析系统确定模块的行为是异常的时,每个观测方模块可以基于每个观测方模块与该模块的交互来采取不同的动作。例如,调制解调器处理器可以限制AP对于该调制解调器的功能的访问,而GPU可以显示该AP行为异常的提醒。作为另一示例,调制解调器处理器可能不关于确定行为异常的GPU采取任何动作,但AP可以限制与GPU的大部分交互,如果不是所有交互的话。
每个模块都可以被配置有可以包括行为观测方模块和行为分析器模块的行为分析功能。行为观测方模块可以被配置为观测与其它模块的交互的行为(例如,消息传送、指令、存储器存取、请求、数据转换和其它模块行为),以便监测每个被观测模块(例如,被观测模块事件、状态改变等等)的行为(例如,活动、状况、操作和事件)。行为观测方模块可以收集关于被观测模块的行为信息,并且可以将所收集的信息以行为表示的形式存储在存储器中(例如,日志文件等等中),在一些方面,该行为表示可以是行为向量。在各个方面,分析器模块可以将生成的行为表示与一个或多个分类器模型进行比较,以评估被观测模块的行为,表征被观测模块行为,并且确定被观测模块行为是否指示该被观测模块是行为异常的。
每一个行为表示可以是包括或者封装一个或多个特征的数据结构或者信息结构。在一些方面,该行为表示可以是行为向量。行为向量可以包括表示由观测模块所观测的被观测模块行为的全部或者一部分的抽象数字或符号(即,特征)。每一个行为特征可以与以下内容相关联:标识一系列可能的值的数据类型、可以关于这些值执行的操作、这些值的含义和其它类似的信息。可以由观测模块使用数据类型以确定应当如何对相应的特征(或者特征值)进行测量、分析、加权或者使用。
在行为表示是行为向量的方面,观测方模块可以被配置为生成大小为“n”的行为向量,该行为向量将观测器实时数据映射到n维空间。行为向量中的每个数字或者符号(即,该向量所存储的“n”个值中的每个值)可以表示特征的值。观测方模块可以对行为向量进行分析(例如,通过向各个被观测模块的模型应用行为向量),以评估每个被观测模块的行为。在一些方面,观测方模块还可以对所有所观测行为的行为评分进行组合或者聚合,例如,组合或者聚合成平均行为评分、加权的平均行为评分或者另一聚合。在一些方面,可以基于所观测行为的特征,来选择一个或多个权重。
在一方面,观测方模块可以被配置为存储被观测模块的模型。被观测模块的模型可以标识该被观测模块的可观测行为的一个或多个特征,这些特征可以指示该被观测模块是行为异常的。在一些方面,被观测模块行为的模型可以存储在云服务器或者网络中,在大量的设备的模块之间共享,定期地或者按需地发送给每个观测模块,并基于被观测模块的所观测行为,在观测模块中进行定制。被观测模块行为的一个或多个模型可以是分类器模型,或者可以包括在分类器模型中。在一些方面,行为分析系统可以调整行为向量的大小,以改变从被观测模块行为中提取的特征的粒度。
分类器模型可以是行为模型,该行为模型包括可以由设备处理器进行使用,以快速地和高效地测试或者评估被观测实时数据的特征(例如,特定的因素、数据点、条目、API、状态、状况、行为、软件应用、进程、操作和/或组件等等)的数据、条目、决策节点、决策标准和/或信息结构。分类器模型可以包括较大或者较小的数据集,数据集的大小可能影响向该分类器模型应用行为表示所需要的处理的量。例如,“完整”的分类器模型可以是可以根据较大的训练数据集来生成的较大并健壮的数据模型,其中该较大的训练数据集可以包括例如数千个特征和数十亿个条目。作为另一示例,“精益”分类器模型可以是从精简的数据集生成的更聚焦的数据模型,该精简的数据集包括或者优先化关于与确定和表征特定的被观测模块的行为最有关的特征/条目的测试。在一些方面,行为分析系统可以改变用于分析行为表示的分类器模型的健壮性和/或大小。
本地分类器模型可以是在观测方模块中生成的精益分类器模型。通过在使用该模型的观测方模块中生成分类器模型,各个方面允许每个观测模块准确地识别对于确定和表征具体被观测模块的行为来说最重要的特定特征,这些特定的行为可由特定的观测模块观测。这些方面还允许每个观测模块根据它们对于被观测模块的行为进行分类的相对重要性,准确地对分类器模型中的特征划分优先级。
基于所生成的行为表示与一个或多个分类器模型的比较,每个观测方模块的行为分析系统可以发起动作。在一些方面,根据观测方模块和被观测模块之间的交互的数量和/或质量,每个观测方模块的动作可以是不同的。
各个方面可以在包括单个处理器和多处理器系统以及片上系统(SOC)的多种不同的计算设备中实现。图1A是示出可以在实现各个方面的计算设备和系统中使用的示例性SOC 100A架构的架构图。SOC 100A可以包括多个异构处理器,例如,数字信号处理器(DSP)102、调制解调器处理器104、图形处理器106和应用处理器108。SOC 100A还可以包括连接到异构处理器102、104、106、108中的一个或多个处理器的一个或多个协处理器110(例如,向量协处理器)。每一个处理器102、104、106、108、110可以包括一个或多个内核,并且每一个处理器/内核可以独立于其它处理器/内核来执行操作。例如,SOC 100A可以包括执行第一类型的操作系统(例如,FreeBSD、LINUX、OS X等等)的处理器和执行第二类型的操作系统(例如,微软Windows 8)的处理器。
每个处理器102、104、106、108、110可以包括或者提供有小型软件应用102a、104a、106a、108a,这些小型软件应用102a、104a、106a、108a可以被配置为观测其它处理器的行为,并且独立地生成每个被观测的其它处理器的分析结果。每个处理器可以与每个其它处理器进行交互(例如,通过通信总线124),并且每个处理器可以独立地观测和分析每个其它处理器的行为。
SOC 100A还可以包括用于管理传感器数据、模数转换、无线数据传输,以及用于执行其它专用操作(例如,对用于游戏和电影的编码音频信号进行处理)的模拟电路和定制电路114。SOC 100A还可以包括系统组件和资源116,例如电压调整器、振荡器、锁相环、外围桥接、数据控制器、存储器控制器、系统控制器、接入端口、定时器、以及用于支持这些处理器和客户端在计算设备上运行的其它类似组件。系统组件116和定制电路114可以包括用于与外围设备进行交互的电路,外围设备例如是,照相机、电子显示器、无线通信设备、外部存储器芯片等等。处理器102、104、106和108可以经由互连/总线模块124来互连到一个或多个存储器元件112、系统组件和资源116和定制电路114,该互连/总线模块124可以包括可再配置逻辑门阵列和/或可以实现总线架构(例如,CoreConnect、AMBA等等)。可以通过诸如高性能片上网络(NoC)的高级互连来提供通信。
SOC 100A还可以包括用于与该SOC之外的资源进行通信的输入/输出模块(没有示出),例如,时钟118和电压调整器120。SOC之外的资源(例如,时钟118、电压调整器120)可以由内部SOC处理器/内核(例如,DSP 102、调制解调器处理器104、图形处理器106、应用处理器108等等)中的两者或更多者来共享。
SOC 100A还可以包括适合于从传感器收集传感器数据的硬件和/或软件组件,这些传感器包括扬声器、用户接口元件(例如,输入按键、触摸屏显示器等等)、麦克风阵列、用于监测物理状况(例如,位置、方向、运动、方位、振动、压力等等)的传感器、照相机、指南针、GPS接收机、通信电路(例如,蓝牙、WLAN、Wi-Fi等等)、以及现代电子设备的其它公知组件(例如,加速计等等)。
除了上面所讨论的SOC 100A之外,可以在各种各样的计算系统和计算设备的系统中实现各个方面,该计算系统和计算设备的系统可以包括单个处理器、多个处理器、多核处理器或者其任意组合。例如,车辆系统可以包括一个或多个电子控制单元(ECU)。
图1B是载人车辆系统100B的组件方块图。该车辆系统可以包括信息娱乐系统模块130、环境系统模块132(例如,空调系统)、导航系统模块134、语音/数据通信模块136、引擎控制模块138、踏板模块140和传输控制模块142。环境系统模块132可以与环境传感器132a进行通信,该环境传感器132a可以提供关于车辆中的环境状况的信息。信息娱乐系统模块130和语音/数据通信模块136可以与扬声器/麦克风130a进行通信,以接收和/或生成车辆中的声音。导航系统模块134可以与显示器134a进行通信,以显示导航信息。前述的模块仅仅是示例性的,并且该行为系统可以包括为了清楚说明起见没有示出的一个或多个另外的模块。这些另外的模块可以包括车辆系统的与模块有关的其它另外功能,这些功能包括:仪表、安全气囊、巡航控制、其它引擎系统、稳定控制停车系统、胎压监测、防抱死制动、主动悬架、电池电平和/或管理、以及各种其它模块。每个模块130-142可以经由一个或多个通信链路与一个或多个其它模块进行通信,这些通信链路可以包括有线通信链路(例如,遵循控制器区域网络(CAN)协议的总线、通用串行总线(USB)连接、火线连接等等)和/或无线通信链路(例如,链路、链路、链路、链路等等)。
每个模块130-142可以包括至少一个处理器和至少一个存储器(没有示出)。每个模块的存储器可以存储处理器可执行指令和其它数据,该其它数据包括被配置为观测其它模块的行为和独立地生成每个被观测其它模块的分析结果的软件应用。每个模块可以与每个其它处理器进行交互(例如,通过通信链路),并且每个模块可以独立地观测和分析每个其它模块的行为。
作为也可以实现各个方面的系统的另一示例,图1C是无人飞行器系统100C的组件方块图。该无人飞行器系统可以包括航空电子模块150、GPS/NAV模块152、陀螺仪/加速计模块154、发动机控制模块156、照相机模块158和RF收发机模块160、一个或多个负载模块164、一个或多个着陆传感器模块166和传感器控制模块168。前述的模块150-168仅仅是示例性的,并且该无人飞行器系统可以包括各种各样的另外的或替代的模块。模块150-168中的每一个模块可以经由一个或多个通信链路与一个或多个其它模块进行通信,这些通信链路可以包括有线或无线通信链路。
航空电子模块150、陀螺仪/加速计模块154和GPS/NAV模块各可以被配置有处理器可执行指令,以控制该无人飞行器系统的飞行操作和其它操作。传感器模块168可以被配置有处理器可执行指令,以从诸如照相机模块158、着陆传感器模块166和/或负载模块164的一个或多个传感器接收输入。发动机控制模块156可以从无人飞行器系统的一个或多个发动机接收信息并向无人飞行器系统的一个或多个发动机提供指令。RF收发机模块160可以与天线160a进行通信,以使无人飞行器系统能够经由无线通信链路172与控制系统170进行通信。负载模块164可以从可以耦合到或者提供给无人飞行器系统的一个或多个负载模块接收信息并向可以耦合到或者提供给无人飞行器系统的一个或多个负载模块提供指令。
每个模块150-168可以包括至少一个处理器和至少一个存储器(没有示出)。每个模块的存储器可以存储处理器可执行指令和其它数据,该其它数据包括可以被配置为观测其它模块的行为和独立地生成每个被观测其它模块的分析结果的软件应用。每个模块可以与每个其它处理器进行交互(例如,通过通信链路),并且每个模块可以独立地观测和分析每个其它模块的行为。
图2根据各个方面,示出了包括模块行为表征系统220的一方面模块200中的示例性逻辑组件和信息流,该模块行为表征系统220被配置为使用行为分析技术来表征被观测模块的行为。在图2所示出的示例中,该模块包括被配置有可执行指令模块的设备处理器(例如,图1A的处理器102a、104a、106a、108a、或者图1B的模块130-142的处理器、或者图1C的模块150-168的处理器),这些可执行指令模块包括行为观测方模块202、特征提取器模块204、分析器模块206、执行器模块208和行为表征模块210。
在各个方面,行为表征模块210中的全部或者一部分模块可以实现成行为观测方模块202、特征提取器模块204、分析器模块206或者执行器模块208的一部分。模块202-210中的每一个模块可以是利用软件、硬件或者其组合来实现的线程、进程、守护进程、模块、子系统或者组件。在各个方面,可以将模块202-210实现在操作系统的一部分中(例如,实现在内核中、实现在内核空间中、实现在用户空间中等等)、实现在单独的程序或应用中、实现在专用硬件缓冲区或处理器中、或者实现在其任意组合中。在一方面,模块202-210中的一个或多个模块可以实现成在模块200的一个或多个处理器上执行的软件指令。
行为表征模块210可以被配置为表征被观测模块的行为,基于被观测模块的行为来生成至少一个行为模型,将观测的行为与行为模型进行比较,将由其它观测方模块执行的,被观测模块的行为和相应的行为模型的比较结果进行聚合,以及基于所聚合的比较结果来确定被观测模块是否是行为异常的。行为表征模块210可以使用行为观测方模块202所收集的信息来确定被观测模块的行为,并且使用任何或者所有这种信息来表征被观测模块的行为。
行为观测方模块202可以被配置为:基于在观测方模块和被观测模块之间的通信链路上观测的消息、指令、存储器访问、请求、数据转换、活动、状况、操作、事件和其它模块行为,来观测被观测模块的行为。
为了将监测的行为元素的数量减少到可管理的水平,在一方面,行为观测方模块202可以被配置为:通过对行为或因素的初始集合进行监测或观测,来执行粗观测,该初始集合是被观测模块的所有可观测行为的一个较小子集。在一些方面,行为观测方模块202可以从服务器和/或云服务或网络中的组件接收行为和/或因素的初始集合。在一些方面,可以利用机器学习分类器模型,来指示该行为和/或因素的初始集合。
行为观测方模块202可以将所收集的被观测行为数据传输给特征提取器模块204(例如,经由存储器写操作、函数调用等等)。特征提取器模块204可以被配置为接收或者获取被观测行为数据,并使用该信息来生成一个或多个行为表示。每一个行为表示可以利用一个值或者向量数据结构,来简洁地描述被观测行为数据。在行为表示是行为向量的一些方面,该向量数据结构可以包括一系列数字,每一个数字表示行为由观测方模块202所收集的实时数据的部分或者完整表示。
在一些方面,特征提取器模块204可以被配置为生成行为表示,使得它们充当使行为分析系统(例如,分析器模块206)能够快速地认识、识别或者分析该设备的实时传感器数据的标识符。在行为表示是行为向量的方面,特征提取器模块204可以被配置为生成大小为“n”的行为向量,该行为向量中的每一个行为向量将传感器或硬件或软件行为的实时数据映射到n维空间。在一方面,特征提取器模块204可以被配置为生成行为表示,以包括信息,可以将该信息输入到行为表征模块中的特征/决策节点,以生成针对关于该行为数据的一个或多个特征的查询的应答,从而表征被观测模块的行为。
特征提取器模块204可以将所生成的行为表示传输给分析器模块206(例如,经由存储器写操作、函数调用等等)。分析器模块206可以被配置为:将这些行为表示应用于分类器模型,以表征被观测模块的所观测的行为,例如,表征成在正常操作参数内、或者表征成异常的。此外,行为分析器模块206可以被配置为将行为表示应用于分类器模型,以表征被观测模块的行为。
每一个分类器模型可以是包括可以由观测模块(例如,由观测模块中的处理器)进行使用,以评估所观测的行为数据的特定特征或方面的数据和/或信息结构(例如,特征表示、行为向量、组件列表等等)的行为模型。每一个分类器模型还可以包括用于监测被观测模块中的多种特征、因素、数据点、条目、消息、指令、存储器调用、状态、状况、行为、进程、操作、组件等等(本文统称为“特征”)的决策标准。分类器模型可以预安装在观测方模块上,从网络服务器下载或接收,在观测方模块中生成或者是其任意组合。可以通过使用行为建模技术、机器学习算法、或者生成分类器模型的其它方法,来生成分类器模型。
每一个分类器模型可以是完整分类器模型或者精益分类器模型。完整分类器模型可以是根据大量的训练数据集所生成的健壮数据模型,该数据集可以包括数千个特征和数十亿个条目。精益分类器模型可以是从精简数据集生成的更聚焦的数据模型,该数据集仅仅分析或者测试对评估所观测的行为数据来说最相关的特征/条目。可以使用精益分类器模型来分析行为表示,该行为表示包括能够在被观测模块中观测到的全部数量的特征和行为的子集。作为示例,模块可以被可以被配置为接收完整分类器模型,基于该完整分类器来生成该模块中的精益分类器模型,以及使用本地生成的精益分类器模型,对行为表示中收集的被观测模块的行为数据进行评估。
本地生成的精益分类器模型是在模块中生成的精益分类器模型。可以由系统中的每个观测方模块针对每个被观测模块,开发不同的精益分类器模型,这是由于每个观测方模块可以与每个被观测模块进行不同地交互,因此观测到每个被观测模块的不同的行为。此外,特征的不同组合可能在每一个观测方模块中进行监测和/或分析,以便该模块快速地和高效地评估该观测模块的行为。通常可以仅仅使用特定的观测方模块从特定的被观测模块获得的信息,来确定需要监测和分析的特征的精确组合,以及每一个特征或者特征组合的相对优先级或重要性。由于这些和其它原因,各个方面可以在使用分类器模型的移动设备中,生成这些模型。
本地分类器模型可以使设备处理器能够准确地识别对于评估该被观测模块的行为来说最重要的那些特定特征。本地分类器模型还可以允许观测方模块根据特征对于该被观测模块的行为进行评估的相对重要性,对测试或者评估的特征划分优先级。
在一些方面,可以使用特定于每个被观测模块的分类器模型,该模型是包括聚焦的数据模型的分类器模型,该聚焦的数据模型仅仅包括/测试:确定对于评估该被观测模块的行为来说最相关的特定于被观测模块的特征/条目。通过在观测方模块中本地地动态生成特定于被观测模块的分类器模型,各个方面允许观测方模块将监测和分析操作聚焦于很少数量的特征上,这些很少数量的特征对于评估该被观测模块的行为来说是最重要、最适用和/或最相关的。
在一方面,分析器模块206可以被配置为:调整该分析器模块所评估的被观测行为的特征的细节的粒度或者水平,特别是当被观测模块行为的分析是非决定的时。例如,分析器模块206可以被配置为:响应于确定其不能表征被观测模块的行为,向行为观测方模块202进行通知。作为响应,行为观测方模块202可以基于从分析器模块206发送的通知(例如,基于所观测的行为特征的分析结果的通知),改变进行监测的因素或者行为,和/或调整其观测的粒度(即,细节水平和/或对被观测行为进行观测的频率)。
此外,行为观测方模块还可以观测新的或者另外的行为,并向特征提取器模块204和分析器模块206发送新的/另外的所观测的行为数据来进行进一步分析/分类。行为观测方模块202和分析器模块206之间的这种反馈通信,可以使模块行为表征系统220能够递归地增加观测的粒度(即,进行更精细或者更频繁地观测),或者改变进行观测的实时数据,直到分析器模块能够评估和表征被观测模块的行为在可靠性的范围之内或者达到可靠性的门限水平为止。此外,这种反馈通信还可以使模块行为表征系统220能够调整或修改行为表示和分类器模型,而无需消耗该观测方模块的过度量的处理、存储器或能量资源。
观测方模块可以使用完整分类器模型,来生成不同程度的复杂度(或者“精简性”)的一系列精益分类器模型。可以例行地应用最精简系列的精益分类器模型(即,基于最少数量的测试条件的精益分类器模型),直到分析器模块确定其不能可靠地表征被观测模块的行为为止。响应于这种确定,分析器模块可以向行为观测方模块和/或特征提取器模块提供反馈(例如,通知或者指令),以便使用该系列的所生成的精益分类器模型中的更健壮的分类器模型,直到分析器模块能够做出对被观测模块的行为的明确表征为止。用此方式,模块行为表征系统220可以通过将最完整、但资源密集型分类器模型的使用,限制于需要健壮的分类器模型来明确地表征被观测模块的行为的那些情形,在效率和准确性之间取得平衡。
在各个方面,观测方模块可以被配置为:通过将完整分类器模型中包括的所观测行为数据的表示或者表达转换成增强型决策树桩,来生成精益分类器模型。观测方模块可以基于被观测模块的行为的特定特征,来修剪或剔除该完全集合的增强型决策树桩,以生成包括完整分类器模型中所包括的增强型决策树桩的子集的精益分类器模型。随后,观测方模块可以使用该精益分类器模型,对被观测模块的行为进行智能地监测和表征。
增强型决策树桩是可以仅有一个节点(即,一个测试问题或者测试条件)和一个权重值的一级决策树,并且可以非常适合于在数据/行为的轻量级、非处理器密集型二进制分类中使用。向增强型决策树桩应用行为表示可以导致二进制应答(例如,1或0、是或否等等)。例如,由增强型决策树桩测试的问题/条件可以包括:由设备麦克风所检测到的词语或者声音是否是RF敏感型环境的特性;或者设备照相机所捕捉的另一设备的图像是否可识别成产生危险的RF辐射,针对它们的应答可以是二进制的。由于增强型决策树桩不需要显著的处理资源来生成二进制应答,因此它们是高效的。增强型决策树桩还可以高度可并行化,并因此可以并行地/在同一时间,应用或者测试多个树桩(例如,通过模块、计算设备或者系统中的内核或者处理器)。
图3根据各个方面,示出了用于交叉模块行为验证的方法300。方法300可以由诸如片上系统上的处理器(例如,图1A中所示出的SOC 100上的处理器101、104、106和108)或者任何类似的处理器(例如,图1B的模块130-142的处理器、或者图1C的模块150-168的处理器)的处理内核或者模块的设备处理器来执行,并且方法300可以使用行为分析系统来观测和表征被观测模块的行为(例如,图2中的模块行为表征系统220)。
在方块302中,每个观测方模块可以观测被观测模块的行为。每个观测方模块可以观测多个被观测模块的行为。每个观测方模块可以关于被观测模块的行为具有不同的观点,这是由于每个观测方模块可能与被观测模块具有不同数量和/或质量的交互。因此,不同的观测方模块可能从被观测模块观测到不同的行为。由观测方模块中的每个观测方模块所观测的行为还可能至少部分地重叠。被观测模块的行为可以包括或者可以基于以下各项中的一项或多项:在观测方模块和被观测模块之间的通信链路上观测的消息、指令、存储器存取、请求、数据转换、活动、状况、操作、事件和其它模块行为。
在方块304中,每个观测方模块可以生成表征由每个观测方模块所观测到的被观测模块的行为的行为表示。每个观测方模块可以生成表征多个被观测模块中的每个被观测模块的行为表示。在一些方面,该行为表示可以是行为向量。行为向量可以是表征多个行为特征中的每个行为特征的序列值。
在方块306中,每个观测方模块可以向被观测模块的相应的行为分类器模型应用表征该被观测模块的行为的行为表示(例如,行为向量)。通过向被观测模块的相应的行为分类器模型应用行为表示,每个观测方模块可以生成被观测模块的行为的一个或多个行为分类。在行为分类器模型是增强型决策树桩阵列的方面,该操作可以涉及:向相应的决策树桩使用行为表示中的每个值以确定结果,并且应用与每个决策树桩的结果相关联的权重,并且基于所有决策树桩来累加或者以其它方式获得整体的结论,以达到行为的分类,例如,良性的或者非良性的。
由于每个模块可以观测系统中的大部分模块或者所有其它模块,因此可以重复方块302-306的操作和/或,或多或少地同时地针对任何一个模块正在观测的所有模块,执行方块302-306的操作。因此,方块306的操作的成果(即,结果或者输出)可以是由给定的模块所观测的模块中的每一个模块的行为的分类。例如,GPU可以维持DSP和调制解调器处理器的连续更新的行为分类(例如,“正常”或者“异常”)。
在方块307中,这些模块中的每一个模块可以向系统中的所有或者大部分其它模块发送它们的对于所有被观测模块的行为分类(即,行为分类结果),并且可以从系统中的所有或者大部分其它模块接收被观测模块的行为分类结果。
在方块308中,观测方模块可以对从其它模块接收的每个模块的行为的分类和其自己的分类进行聚合。在一些方面,观测方模块可以对观测方模块中的一个或多个观测方模块处的它们的相应分类进行聚合。在一些方面,每个观测方模块可以接收其它观测方模块中的每个观测方模块的行为分类。例如,被观测模块(例如,GPU)可能由系统或者设备中的其它模块(例如,AP、调制解调器处理器和DSP)进行观测。AP、调制解调器处理器和DSP可以各向彼此提供它们对于GPU的行为的行为分类,并以使AP、调制解调器处理器和DSP中的每一者可以对其它观测方模块的分析进行组合。例如,AP可以接收调制解调器处理器和DSP所执行的分类,并且调制解调器处理器可以接收AP和DSP所执行的分类,并且DSP可以接收AP和调制解调器处理器所执行的分类。每个观测方模块可以对独立的分析结果进行组合。在一些实施例中,观测方模块可以对从其它模块接收的每个模块的行为的分类和其自己的分类进行聚合,以及对每个模块的相应行为模型和其自己的行为模型进行聚合。例如,每个观测方模块可以基于从一个或多个其它观测方模块接收的行为模型,调整和/或更新其用于被观测模块的行为模型。
在确定方块310中,这些模块中的一个或多个模块可以基于聚合的分类,确定被观测模块是否是行为异常的。在一些方面,每个观测方模块可以与其它观测方模块共享被观测模块是行为异常的确定。因此,一起进行工作的观测方模块中的每一个观测方模块可以充当被观测模块中的每一个被观测模块的整体分类器。可以基于观测方模块中的每一个观测方模块的分类的加权平均,来进行被观测模块是行为异常的确定。可以将加权平均与门限进行比较,以确定组合的观测量是否上升到异常行为的水平。作为示例,向每个模块的结论分配的权重,可以取决于观测方模块和被观测模块之间的交互的程度。交互的程度可以包括交互的数量和/或交互的类型。因此,例如,调制解调器处理器对于GPU的观测可以进行较低的加权,这是由于调制解调器处理器和GPU并不频繁地交互(例如,在特定的系统中,或者如特定的应用所指示的),但调制解调器对于DSP的观测(即,处于相同系统和/或应用中)可以进行较高的加权,如果调制解调器处理器和DSP频繁地交互的话。替代地,可以基于观测方模块中的每一个观测方模块的投票,来进行被观测模块是行为异常的确定,并且观测方模块中的每一个观测方模块的汇总投票可以产生整体分类。
响应于确定被观测模块不是行为异常的(即,确定方块310=“否”),这些模块可以重复方块302-310中的操作,以便连续地监测系统中的模块的行为。
响应于确定被观测模块是行为异常的(即,确定方块310=“是”),在方块312中,每个模块可以采取动作。在一些方面,每个模块可以基于每个观测方模块所观测的特定行为和/或每个观测方模块与该被观测模块的交互的具体细节,采取不同的动作。作为一个示例,响应于确定(独立地或者整体地)AP 108是行为异常的,DSP 102、调制解调器104和GPU106可以各采取不同的动作。在一些方面,每个模块可以减少或者限制其与行为异常的模块的交互。模块还可以拒绝执行从行为异常的模块发送的指令。另外地或替代地,模块可以限制或者阻止由行为异常的模块对于其功能和/或存储器地址的访问。例如,DSP可能不向AP提供对于DSP存储器地址的访问,或者DSP可以拒绝对由AP发送的数据进行处理。作为另一示例,调制解调器处理器可以拒绝AP访问外部通信(例如,经由调制解调器)。作为另一示例,GPU可能不显示或者处理从AP发送的视觉或图形数据。作为另一示例,调制解调器处理器可能不关于确定为是行为异常的GPU采取任何动作,而AP可以限制与GPU的大部分交互(如果不是所有交互的话)。作为另外的示例,模块(例如,GPU或者AP)可以指示向用户显示消息。作为另一示例,调制解调器处理器可以经由通信链路,向服务器发送诸如通知或报警的消息,例如,向企业服务器发送通知,或者向电子邮件地址或者消息地址发送通知。观测方模块可以在方块302中,观测另一被观测模块的行为,并且重复方块302-312的操作,如上所述。
图4根据一方面,示出了用于根据各个方面进行交叉模块行为验证的方法400。方法400可以由诸如片上系统上的处理器(例如,图1A中所示出的SOC 100上的处理器101、104、106和108)或者任何类似的处理器(例如,图1B的模块130-142的处理器、或者图1C的模块150-168的处理器)的处理内核或者模块的设备处理器来执行,方法400可以使用行为分析系统来观测和表征被观测模块的行为(例如,图2中的模块行为表征系统220)。在一些方面,设备处理器可以执行类似于参照方法300的方块302-310所描述的那些操作的方块302-310中的操作(参见图3)。
在方块402中,每个观测方模块可以确定每个观测方模块可以观测的被观测模块的行为的数量。在方块404中,每个观测方模块可以确定每个观测方模块观测的被观测模块的一种或多种类型的行为。
在方块406中,每个观测方模块可以确定这些观测方模块中的每个观测方模块对被观测模块进行观测的持续时间。在方块408中,每个观测方模块可以确定由这些观测方模块中的每个观测方模块对被观测模块进行观测的复杂度。例如,与其它观测方模块和被观测模块的交互相比,每个观测方模块和被观测模块可以发送和/或接收指令、消息、命令、信息、存储器地址访问、通知、数据、或者可能在复杂度、细节、长度、信息量、需要处理的量或者另一形式的复杂度中发生变化的其它信息。
每个观测方模块可以对被观测模块的行为具有不同的观点,这是因为每个观测方模块可能与被观测模块具有不同数量和/或质量的交互。因此,不同的观测方模块可能从被观测模块观测到不同的行为。所观测的行为的类型的示例可以包括以下各项中的一项或多项:在观测方模块和被观测模块之间的通信链路上观测的消息、指令、存储器访问、请求、数据转换、活动、状况、操作、事件和其它模块行为。
在方块308中,观测方模块可以对于被观测模块的所观测行为向相应的行为模型的分类进行聚合。观测方模块可以对观测方模块中的一个或多个观测方模块处的分类进行聚合。
在方块410中,观测方模块基于每个观测方模块对于被观测模块的行为(即,每个观测方模块所观测到的行为)的观点,对来自观测方模块中的每一个观测方模块的分类进行加权。在一些方面,每个观测方模块的分类的权重可以是基于以下各项中的一项或多项:所确定的每个观测方模块观测的被观测模块的行为的数量、所确定的每个观测方模块观测的被观测模块的一种或多种类型的行为、以及所确定的观测方模块中的每一个观测方模块对被观测模块进行观测的持续时间。例如,针对于对被观测模块进行较少观测、观测到被观测模块的次要行为或者非关键类型行为、和/或对被观测模块的行为观测了相对较短的一段时间的模块的分类,可以给予较少的权重。相反,针对于进行较多的观测、或者观测到关键类型的行为、或者对行为观测了相对较长的一段时间的模块的分类,可以给予较多的权重。例如,由于GPU与DSP的相对有限数量、有限类型、有限持续时间和/或有限复杂度的交互,因此对于GPU对DSP行为的观测可能进行相对较低的加权,而由于AP通常与所有其它模块都进行交互,并且进一步由于AP通常可以对其它模块进行较大数量、较大类型、较大持续时间和/或较大复杂度的观测,因此可以对于AP对DSP(或者任何其它模块)的观测进行相对较高的加权。
在一些方面,可以在对分类进行聚合之后,对给予每个观测方模块的分类的权重进行分配,因此,所分配的权重可以基于每个观测方模块的观测量与其它观测方模块相比的相对质量和数量。
在一些方面,可以在方块308的操作之前执行方块410的操作,使得在对观测方模块中的每一个观测方模块的比较结果进行聚合之前,基于所确定的所观测行为的数量、所确定的所观测行为的一种或多种类型、所确定的观测的持续时间和/或所确定的由每个观测方模块对于所观测行为进行观测的复杂度,向每个观测方模块的分类给予权重。
在确定方块310中,观测方模块中的一个或多个观测方模块可以基于加权的聚合分类,确定被观测模块是否是行为异常的。响应于确定被观测模块不是行为异常的(即,确定方块310=“否”),观测方模块可以返回到方块302,并且观测方模块可以重复方块302-410的操作。
响应于确定被观测模块是行为异常的(即,确定方块310=“是”),在方块412中,每个观测方模块可以采取不同的动作。在一些方面,每个观测方模块可以基于每个观测方模块所观测的具体行为、和/或每个观测方模块与被观测模块的交互的具体细节,来采取不同的动作。在一些方面,每个观测方模块采取的动作可以基于:所确定的所观测的行为的数量、所确定的所观测的一种或多种类型的行为、和/或所确定的观测方模块中的每一个观测方模块进行观测的持续时间。因此,每个观测方模块采取的动作可以包括:由观测方模块中的每一个观测方模块基于这些观测方模块中的每一个观测方模块所观测的相应行为来采取动作。随后,观测方模块可以返回到方块302,并且这些观测方模块可以重复方块302-410的操作。
各个方面通过以下方式来改进了现有的解决方案:在系统的每个模块处使用行为分析和/或机器学习技术,来监测和评估系统中的每个其它模块的行为,以确定被观测模块是否是行为异常的。观测方模块使用行为分析或者机器学习技术来评估被观测模块的行为是重要的,这是因为当前的计算设备和电子系统是极端复杂的系统,并且从每个观测方模块的角度可观测的每个被观测模块的行为、以及从这些行为中可提取的特征,在每个计算设备或者系统中可能是不同的。此外,可观测行为/特征/因素的不同组合可能需要在每个设备或系统中进行不同的分析,以便该设备评估被观测模块的行为。在一些情况下,可以使用从特定的被观测模块获得的信息,来确定观测方模块所监测的行为和/或特征的精确组合。由于这些和其它原因,在不消耗大量的系统或者设备的处理资源、存储器资源和/或功率资源的情况下,现有的解决方案是不足以针对高度复杂和不同的系统或设备中的异常行为来评估被观测模块的。
包括上面参照图1A-4所讨论的方面的各个方面可以在各种各样的计算设备上实现,计算设备的示例是图5中所示出的移动通信设备500。移动计算设备500可以包括耦合到内部存储器504、显示器512,以及扬声器514的处理器502。处理器502可以是被指定为实现通用任务或特定处理任务的一个或多个多核集成电路。内部存储器504可以是易失性存储器或非易失性存储器,并且还可以是安全和/或加密存储器,或者非安全和/或非加密存储器、或者其任意组合。移动通信设备500可以具有用于发送和接收通信的两个或更多个无线信号收发机508(例如,Peanut、蓝牙、Zigbee、Wi-Fi、RF无线电等等)和天线510,它们彼此之间相耦合并耦合到处理器502。另外,移动通信设备500可以包括用于发送和接收电磁辐射的天线510,该天线510可以连接到耦合到处理器502的无线数据链路和/或收发机508。移动通信设备500可以包括耦合到处理器502和天线510的一个或多个蜂窝网络无线调制解调器芯片516,该处理器502和天线510实现经由两种或更多无线接入技术,经由两个或更多蜂窝网络的通信。
移动通信设备500可以包括耦合到处理器502的外围设备连接接口518。外围设备连接接口518可以单独地被配置为接受一种类型的连接,或者可以被配置为接受各种类型的物理和通信连接、共同或专有连接,例如,USB、火线、Thunderbolt或PCIe。外围设备连接接口518还可以耦合到类似配置的外围设备连接端口(没有示出)。移动通信设备500还可以包括用于提供音频输出的扬声器514。移动通信设备500还可以包括塑料、金属、或材料的组合构成的壳体520,以包含本文所讨论的所有组件或者一些组件。移动通信设备500可以包括耦合到处理器502的电源522,例如一次性或可充电电池。此外,可充电电池还可以耦合到外围设备连接端口,以便从移动通信设备500之外的源接收充电电流。移动通信设备500还可以包括用于接收用户输入的物理按键524。移动通信设备500还可以包括用于打开和关闭移动通信设备500的电源按键526。
处理器502可以是任何可编程微处理器、微计算机或者多处理器芯片或芯片集,上述各项能够由软件指令(应用)进行配置以执行各种各样的功能,包括下面所描述的各个方面的功能。在一些移动通信设备中,可以提供多个处理器502,例如,一个处理器专用于无线通信功能,一个处理器专用于运行其它应用。通常,在访问软件应用并将它们装载到处理器502之前,可以将这些软件应用存储在内部存储器504中。处理器502可以包括足够用于存储这些应用软件指令的内部存储器。在各个方面,处理器512可以是设备处理器、处理内核或者SOC(例如,图1A中所示出的示例性SOC 100)。在一方面,移动通信设备700可以包括SOC,并且处理器702可以是SOC中包括的处理器中的一个处理器(例如,图1A中所示出的处理器102、104、106、108和110中的一个处理器)。
用于在可编程处理器上运行以执行各个方面的操作的计算机代码或程序代码,可以利用诸如C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、结构化查询语言(例如,Transact-SQL)、Perl的高级编程语言或者利用各种其它编程语言来编写。如本申请所使用的计算机可读存储介质上所存储的程序代码或程序,可以指代其格式是处理器可理解的机器语言代码(例如,目标代码)。
将很多移动计算设备操作系统内核组织到用户空间(非特权代码运行的空间)和内核空间(特权代码运行的空间)。这种分隔在和其它通用公共许可证(GPL)环境中具有特别的重要性,其中作为内核空间的一部分的代码必须是GPL许可的,而在用户空间中运行的代码可以不是GPL许可的。应当理解的是,这里所讨论的各种软件组件/模块可以实现在内核空间中,也可以实现在用户空间中,除非另外明确指出。
上述的方法描述和处理流程图仅仅是用作为说明性示例而提供,而不是旨在要求或者隐含着必须以所给出的顺序来执行各个方面的操作。如本领域技术人员所应当理解的,可以以任何顺序来执行上述的方面中的操作顺序。诸如“其后”、“随后”、“接着”等等之类的词语,并不旨在限制这些操作的顺序;这些词语仅仅只是用于引导读者遍历该方法的描述。此外,任何对权利要求要素的单数引用,例如使用冠词“一个”、“一”或者“该”,不应被解释为将该要素限制为单数形式。
结合本文所公开的方面描述的各种示例性的逻辑方块、模块、电路和算法操作均可以实现成电子硬件、计算机软件或二者的组合。为了清楚地表示硬件和软件之间的这种可交换性,上面已经对各种示例性组件、方块、模块、电路和操作围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。本领域技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应被解释为导致背离各个方面的范围。
利用被设计为执行本文所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意组合,可以实现或执行结合本文所公开的方面描述的用于实现各种示例性的逻辑、逻辑方块、模块和电路的硬件。通用处理器可以是多处理器,但是在替代方案中,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和多处理器的组合、多个多处理器、一个或多个多处理器与DSP内核的结合,或者任何其它此种结构。替代地,一些操作或方法可以由特定于给定的功能的电路来执行。
在一个或多个示例性方面中,所述的功能可以用硬件、软件、固件或它们任意组合的方式来实现。当在软件中实现时,可以将这些功能存储成非临时性计算机可读存储介质或者非临时性处理器可读存储介质上的一个或多个处理器可执行指令或代码。本文所公开的方法或算法的操作,可以体现在处理器可执行软件模块中,该模块可以驻留在非临时性计算机可读存储介质或处理器可读存储介质上。非临时性计算机可读或处理器可读存储介质可以是可以由计算机或处理器存取的任何存储介质。举例而言,但非做出限制,这种非临时性计算机可读介质或者处理器可读介质可以包括RAM、ROM、EEPROM、闪存、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者可以用于存储具有指令或数据结构形式的期望的程序代码并可以由计算机进行存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在非临时性计算机可读介质和处理器可读介质的保护范围之内。另外,方法或算法的操作可以作为代码和/或指令集中的一者或者其任意组合,驻留在非临时性处理器可读介质和/或计算机可读介质上,其中该非临时性处理器可读介质和/或计算机可读介质可以并入到计算机程序产品中。
为使本领域技术人员能够实现或者使用各个方面,上面围绕所公开的方面进行了描述。对于本领域技术人员来说,对这些方面的各种修改是显而易见的,并且,本文定义的总体原理也可以在不脱离各个方面的精神或保护范围的基础上应用于其它方面。因此,各个方面并不旨在限于本申请所示出的方面,而是要符合与所附权利要求和本文公开的原理和新颖性特征相一致的最广范围。
Claims (30)
1.一种交叉模块行为验证的方法,包括:
通过系统的多个观测方模块,来观测所述系统的被观测模块的行为;
由所述观测方模块中的每个观测方模块,基于所述被观测模块的所述行为来生成行为表示;
通过所述观测方模块中的每个观测方模块,向用于所述被观测模块的行为分类器模型应用所述行为表示;
由所述观测方模块中的每个观测方模块对由所述观测方模块中的每个观测方模块所确定的所述被观测模块的行为的分类进行聚合,以生成聚合的分类;以及
基于所述聚合的分类,确定所述被观测模块是否是行为异常的。
2.根据权利要求1所述的方法,其中,所述观测方模块中的每个观测方模块观测所述被观测模块的所述行为中的不同行为。
3.根据权利要求1所述的方法,其中,由所述观测方模块对由所述观测方模块中的每个观测方模块所确定的所述被观测模块的行为的分类进行聚合,包括:基于每个观测方模块对所述被观测模块的所述行为的观点,对来自所述观测方模块中的每个观测方模块的分类进行加权。
4.根据权利要求3所述的方法,其中,每个观测方模块对所述被观测模块的所述行为的观点,包括:由所述观测方模块中的每个观测方模块观测的所述被观测模块的行为的数量。
5.根据权利要求3所述的方法,其中,每个观测方模块对所述被观测模块的所述行为的观点,包括:由所述观测方模块中的每个观测方模块观测的所述被观测模块的一种或多种类型的行为。
6.根据权利要求3所述的方法,其中,每个观测方模块对所述被观测模块的所述行为的观点,包括:由所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的持续时间。
7.根据权利要求3所述的方法,其中,每个观测方模块对所述观测方模块的所述行为的观点,包括:由所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的复杂度。
8.根据权利要求1所述的方法,还包括:
响应于确定所述被观测模块是行为异常的,由所述观测方模块中的每个观测方模块采取动作。
9.根据权利要求8所述的方法,其中,响应于确定所述被观测模块是行为异常的,由所述观测方模块中的每个观测方模块采取动作,包括:由所述观测方模块中的每个观测方模块基于由所述观测方模块中的每个观测方模块所观测的相应行为,来采取动作。
10.根据权利要求9所述的方法,其中,由所述观测方模块中的每个观测方模块采取动作是基于以下各项中的一项或多项的:由所述观测方模块中的每个观测方模块观测的所述被观测模块的行为的数量、由所述观测方模块中的每个观测方模块观测的所述被观测模块的一种或多种类型的行为、由所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的持续时间、以及由所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的复杂度。
11.根据权利要求1所述的方法,其中:
由所述观测方模块中的每个观测方模块基于所述被观测模块的所述行为来生成行为表示,包括:由所述观测方模块中的每个观测方模块基于所述被观测模块的所述行为来生成行为向量;以及
通过所述观测方模块中的每个观测方模块,向用于所述被观测模块的行为分类器模型应用所述行为表示,包括:通过所述观测方模块中的每个观测方模块,向用于所述被观测模块的行为分类器模型应用所述行为向量。
12.一种计算设备,包括:
处理器,其被配置有处理器可执行指令以执行包括以下内容的操作:
观测所述计算设备的被观测模块的行为;
基于所述被观测模块的所述行为来生成行为表示;
向用于所述被观测模块的行为分类器模型应用所述行为表示;
对由所述处理器和多个观测方模块中的每个观测方模块所确定的所述被观测模块的行为的分类进行聚合,以生成聚合的分类;以及
确定所述被观测模块是否是行为异常的。
13.根据权利要求12所述的计算设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得与由所述多个观测方模块观测的行为相比,所述计算设备观测所述被观测模块的不同行为。
14.根据权利要求12所述的计算设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得对由所述处理器和多个观测方模块中的每个观测方模块所确定的所述被观测模块的行为的分类进行聚合,包括:基于所述处理器和每个观测方模块对所述被观测模块的所述行为的观点,对来自所述处理器和所述观测方模块中的每个观测方模块的分类进行加权。
15.根据权利要求14所述的计算设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得所述处理器和每个观测方模块对所述被观测模块的所述行为的观点,包括:由所述处理器和所述观测方模块中的每个观测方模块观测的所述被观测模块的行为的数量。
16.根据权利要求14所述的计算设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得所述处理器和每个观测方模块对所述被观测模块的所述行为的观点,包括:由所述处理器和所述观测方模块中的每个观测方模块观测的所述被观测模块的一种或多种类型的行为。
17.根据权利要求14所述的计算设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得所述处理器和每个观测方模块对所述被观测模块的所述行为的观点,包括:由所述处理器和所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的持续时间。
18.根据权利要求14所述的计算设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得所述处理器和每个观测方模块对所述观测方模块的所述行为的观点,包括:由所述处理器和所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的复杂度。
19.根据权利要求12所述的计算设备,其中,所述处理器被配置有处理器可执行指令以执行还包括以下内容的操作:
响应于确定所述被观测模块是行为异常的而采取动作。
20.根据权利要求19所述的计算设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得响应于确定所述被观测模块是行为异常的而采取动作,包括:基于所观测的行为而采取动作。
21.根据权利要求20所述的计算设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得基于所观测的行为而采取动作是基于以下各项中的一项或多项的:由所述观测方模块中的每个观测方模块观测的所述被观测模块的行为的数量、由所述观测方模块中的每个观测方模块观测的所述被观测模块的一种或多种类型的行为、由所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的持续时间、以及由所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的复杂度。
22.根据权利要求12所述的计算设备,其中:
由所述观测方模块中的每个观测方模块基于所述被观测模块的所述行为来生成行为表示,包括:由所述观测方模块中的每个观测方模块基于所述被观测模块的所述行为来生成行为向量;以及
通过所述观测方模块中的每个观测方模块,向用于所述被观测模块的行为分类器模型应用所述行为表示,包括:通过所述观测方模块中的每个观测方模块,向用于所述被观测模块的行为分类器模型应用所述行为向量。
23.一种其上存储有处理器可执行软件指令的非临时性处理器可读存储介质,所述处理器可执行软件指令被配置为使系统中的处理器执行交叉模块行为验证的操作,其包括:
观测所述系统的被观测模块的行为;
基于所述被观测模块的所述行为来生成行为表示;
向用于所述被观测模块的行为分类器模型应用所述行为表示;
对由所述处理器和多个观测方模块中的每个观测方模块所确定的所述被观测模块的行为的分类进行聚合,以生成聚合的分类;以及
确定所述被观测模块是否是行为异常的。
24.根据权利要求23所述的非临时性处理器可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得与由所述多个观测方模块观测的行为相比,所述处理器观测所述被观测模块的不同行为。
25.根据权利要求23所述的非临时性处理器可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得对由所述处理器和多个观测方模块中的每个观测方模块所确定的所述被观测模块的行为的分类进行聚合,包括:基于所述处理器和每个观测方模块对所述被观测模块的所述行为的观点,对来自所述处理器和所述观测方模块中的每个观测方模块的分类进行加权。
26.根据权利要求25所述的非临时性处理器可读存储介质,其中,所述处理器被配置有处理器可执行指令以执行操作,使得所述处理器和每个观测方模块对所述被观测模块的所述行为的观点,包括以下各项中的一项或多项:由所述处理器和所述观测方模块中的每个观测方模块观测的所述被观测模块的行为的数量、由所述处理器和所述观测方模块中的每个观测方模块观测的所述被观测模块的一种或多种类型的行为、由所述处理器和所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的持续时间、以及由所述处理器和所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的复杂度。
27.一种系统中的处理器,包括:
用于观测所述系统的被观测模块的行为的单元;
用于基于所述被观测模块的所述行为来生成行为表示的单元;
用于向用于所述被观测模块的行为分类器模型应用所述行为表示的单元;
用于对由所述处理器和所述系统中的多个观测方模块中的每一者所确定的所述被观测模块的行为的分类进行聚合,以生成聚合的分类的单元;以及
用于确定所述被观测模块是否是行为异常的单元。
28.根据权利要求27所述的处理器,其中,与所述多个观测方模块观测的行为相比,所述处理器观测所述被观测模块的不同行为。
29.根据权利要求27所述的处理器,其中,用于对由所述处理器和多个观测方模块中的每个观测方模块所确定的所述被观测模块的行为的分类进行聚合的单元,包括:用于基于所述处理器和每个观测方模块对所述被观测模块的所述行为的观点,对来自所述处理器和所述观测方模块中的每个观测方模块的分类进行加权的单元。
30.根据权利要求29所述的计算设备,其中,所述处理器和每个观测方模块对所述被观测模块的所述行为的观点,包括以下各项中的一项或多项:由所述处理器和所述观测方模块中的每个观测方模块观测的所述被观测模块的行为的数量、由所述处理器和所述观测方模块中的每个观测方模块观测的所述被观测模块的一种或多种类型的行为、由所述处理器和所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的持续时间、以及由所述处理器和所述观测方模块中的每个观测方模块对所述被观测模块的所述行为进行观测的复杂度。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/726,855 | 2015-06-01 | ||
US14/726,855 US20160350657A1 (en) | 2015-06-01 | 2015-06-01 | Cross-Module Behavioral Validation |
PCT/US2016/029710 WO2016195860A1 (en) | 2015-06-01 | 2016-04-28 | Cross-module behavioral validation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107690627A true CN107690627A (zh) | 2018-02-13 |
Family
ID=55953430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680031345.0A Pending CN107690627A (zh) | 2015-06-01 | 2016-04-28 | 交叉模块行为验证 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20160350657A1 (zh) |
EP (1) | EP3304316A1 (zh) |
JP (1) | JP2018522334A (zh) |
KR (1) | KR20180013940A (zh) |
CN (1) | CN107690627A (zh) |
WO (1) | WO2016195860A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383766B (zh) * | 2016-09-09 | 2018-09-11 | 北京百度网讯科技有限公司 | 系统监控方法和装置 |
WO2019102911A1 (ja) * | 2017-11-27 | 2019-05-31 | 日本電信電話株式会社 | 異常通信検知装置、異常通信検知方法、プログラム |
US10747259B2 (en) * | 2017-12-29 | 2020-08-18 | Intel IP Corporation | Multichip reference logging synchronization |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070110292A1 (en) * | 2005-11-14 | 2007-05-17 | Jinbo Bi | System and method for computer aided detection via asymmetric cascade of sparse linear classifiers |
US20070156320A1 (en) * | 2000-09-08 | 2007-07-05 | Automotive Technologies International, Inc. | Vehicular Tire Monitoring Based on Sensed Acceleration |
CN102034050A (zh) * | 2011-01-25 | 2011-04-27 | 四川大学 | 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 |
US20140188781A1 (en) * | 2013-01-02 | 2014-07-03 | 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 |
US20140187177A1 (en) * | 2013-01-02 | 2014-07-03 | Qualcomm Incorporated | Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors |
CN104541293A (zh) * | 2012-05-14 | 2015-04-22 | 高通股份有限公司 | 用于客户端-云行为分析器的架构 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0613290B2 (ja) * | 1983-07-08 | 1994-02-23 | 日産自動車株式会社 | 車両用制御装置の自己診断回路 |
US9558452B2 (en) * | 2013-11-08 | 2017-01-31 | Microsoft Technology Licensing, Llc | Hierarchical statistical model for behavior prediction and classification |
-
2015
- 2015-06-01 US US14/726,855 patent/US20160350657A1/en not_active Abandoned
-
2016
- 2016-04-28 JP JP2017561656A patent/JP2018522334A/ja active Pending
- 2016-04-28 CN CN201680031345.0A patent/CN107690627A/zh active Pending
- 2016-04-28 KR KR1020177034593A patent/KR20180013940A/ko unknown
- 2016-04-28 WO PCT/US2016/029710 patent/WO2016195860A1/en active Application Filing
- 2016-04-28 EP EP16721600.1A patent/EP3304316A1/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156320A1 (en) * | 2000-09-08 | 2007-07-05 | Automotive Technologies International, Inc. | Vehicular Tire Monitoring Based on Sensed Acceleration |
US20070110292A1 (en) * | 2005-11-14 | 2007-05-17 | Jinbo Bi | System and method for computer aided detection via asymmetric cascade of sparse linear classifiers |
CN102034050A (zh) * | 2011-01-25 | 2011-04-27 | 四川大学 | 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法 |
CN104541293A (zh) * | 2012-05-14 | 2015-04-22 | 高通股份有限公司 | 用于客户端-云行为分析器的架构 |
US20140188781A1 (en) * | 2013-01-02 | 2014-07-03 | 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 |
US20140187177A1 (en) * | 2013-01-02 | 2014-07-03 | Qualcomm Incorporated | Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors |
Also Published As
Publication number | Publication date |
---|---|
US20160350657A1 (en) | 2016-12-01 |
EP3304316A1 (en) | 2018-04-11 |
KR20180013940A (ko) | 2018-02-07 |
WO2016195860A1 (en) | 2016-12-08 |
JP2018522334A (ja) | 2018-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106133642B (zh) | 在移动设备中通过执行行为分析操作推断应用状态的方法和系统 | |
CN107567628B (zh) | 用于使用针对增强型决策树桩的因果分析来识别和响应非良性行为的方法和系统 | |
CN107077547B (zh) | 使用针对高效连续认证的行为分析的方法和系统 | |
CN105830080B (zh) | 使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统 | |
CN107851154B (zh) | 存储器层次结构监测系统和方法 | |
CN104885099B (zh) | 使用推升式决策树桩和联合特征选择及剔选算法来对移动设备行为进行高效分类的方法和系统 | |
EP3191960B1 (en) | Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors | |
Hamm et al. | Crowd-ML: A privacy-preserving learning framework for a crowd of smart devices | |
CN104541293B (zh) | 用于客户端‑云行为分析器的架构 | |
CN107710687A (zh) | 用于检测应用异常的定制网络业务模型 | |
CN107408178A (zh) | 用于通过云与客户端行为的差异来识别恶意软件的方法及系统 | |
US20170024660A1 (en) | Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors | |
CN106663172A (zh) | 用于检测以移动设备的行为安全机制为目标的恶意软件和攻击的方法和系统 | |
US20160379136A1 (en) | Methods and Systems for Automatic Extraction of Behavioral Features from Mobile Applications | |
CN107250945A (zh) | 用于检测由于rf干扰引起的故障的设备上行为分析 | |
CN107690627A (zh) | 交叉模块行为验证 | |
CN104504334B (zh) | 用于评估分类规则选择性的系统及方法 | |
Ghosh et al. | A cloud intrusion detection system using novel PRFCM clustering and KNN based dempster-shafer rule | |
CN110197375A (zh) | 一种相似用户识别方法、装置、相似用户识别设备和介质 | |
CN115130887B (zh) | 水库大坝环境影响评价方法和装置、电子设备和存储介质 | |
Ahanger et al. | Cognitive decision-making in smart police industry | |
AU2021218217A1 (en) | Systems and methods for preventative monitoring using AI learning of outcomes and responses from previous experience. | |
CN117370819A (zh) | 对象信息识别方法、装置、设备、存储介质及程序产品 | |
Kozel | Hierarchical models of network traffic | |
Verma | Generating Synthetic Automotive Data and Detecting Abnormal Vehicle Behavior Using Unsupervised Machine Learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180213 |
|
WD01 | Invention patent application deemed withdrawn after publication |