CN107851154A - 存储器层次结构监测系统和方法 - Google Patents
存储器层次结构监测系统和方法 Download PDFInfo
- Publication number
- CN107851154A CN107851154A CN201680042287.1A CN201680042287A CN107851154A CN 107851154 A CN107851154 A CN 107851154A CN 201680042287 A CN201680042287 A CN 201680042287A CN 107851154 A CN107851154 A CN 107851154A
- Authority
- CN
- China
- Prior art keywords
- application
- computing device
- memory access
- storage
- risk level
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
各个方面的系统、方法和设备通过监测由在计算设备上运行的应用进行的存储器访问,来实现对异常应用行为的识别。在各个方面,存储器访问监测的水平可以是基于在计算设备上运行的应用的风险水平的。可以基于由计算设备中选择的一个或多个存储器层次结构层的地址监测单元所监测的应用的存储器地址访问,来确定风险水平。被选择用于监测针对应用的存储器地址访问的存储器层次结构层,可以是基于所确定的该应用的风险水平的。可以通过启用与所选择的一个或多个存储器层次结构层相关联的一个或多个地址监测单元(AMU),来监测所选择的存储器层次结构层。对选择的AMU的启用可以是由AMU选择模块来完成的。
Description
背景技术
便携式电子设备、计算设备和通信设备提供各种各样的特征和服务,所述特征和服务向它们的用户提供对信息、资源和通信的空前水平的访问。为了提供这种服务,计算设备可以在设备上执行一个或多个应用,以及计算设备可以与一个或多个通信网络进行通信,通常来发送和/或接收针对一个或多个应用的信息。提供高级信息服务的计算设备越来越普遍,以及越来越依赖所述计算设备来执行可能涉及机密或敏感信息(例如,信用卡信息、联系人等等)的重要的安全敏感操作。监测针对故障和恶意攻击的这种计算设备的完整性越来越重要。
安全敏感操作可以与对一个或多个代码线程的执行(例如,调用敏感API或者从外围设备读取敏感数据)相对应。在监测执行事件的一种方法中,处理器可以监测CPU指令流以识别存储器中对特定地址的执行。该方法可以是精确的,但实现起来可能较复杂,以及可能是不必要的资源密集型的。在监测执行事件的另一种方法中,处理器可以监测高速缓存访问流以识别存储器中的特定地址的状态。该方法可以是高效的,但由于CPU预取优化而可能是不准确的。此外,这些已知方法中的任何一种都不可以被动态地调整,以对(除了其它事物之外)测量的准确性或者进行测量可以具有的效率作出说明。
发明内容
各个方面的系统、方法和设备使计算设备的处理器能够通过以下步骤来使计算设备的处理器来监测存储器层次结构(hierarchy):基于由计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在计算设备上运行的应用的风险水平;以及基于所确定的应用的风险水平,来选择一个或多个存储器层次结构层以监测应用的存储器地址访问。在一个方面,基于由计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在计算设备上运行的应用的风险水平,可以包括以下操作:从地址监测单元接收存储器访问事件,所述存储器访问事件将由计算设备上运行的应用进行的存储器访问特性化;以及基于接收的存储器访问事件来确定应用的风险水平。
在一个方面,确定在计算设备上运行的应用的风险水平可以包括以下操作:接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由计算设备上运行的应用进行的存储器访问特性化;以及基于上下文信息,来确定应用的风险水平。在一个方面,基于所确定的应用的风险水平,来选择一个或多个存储器层次结构层以监测应用的存储器地址访问,可以包括以下操作:基于所确定的应用的风险水平,来使所选择的一个或多个存储器层次结构层中的一个或多个地址监测单元能够监测应用的存储器地址访问。
在一个方面,确定在计算设备上运行的应用的风险水平可以以下操作:基于应用的存储器地址访问来生成行为向量;将一个或多个分类器模型应用于所生成的行为向量;以及基于将一个或多个分类器模型应用于所生成的行为向量的结果,来确定应用的风险水平。在一个方面,基于应用的存储器地址访问来生成行为向量可以包括基于与应用的存储器访问有关的上下文信息来生成行为向量。
在一个方面,基于由计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在计算设备上运行的应用的风险水平,可以包括以下操作:接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由计算设备上运行的应用进行的存储器访问特性化;以及基于存储器地址事件和所接收的上下文信息,来推断应用的未观测的存储器访问。在一个方面,基于由计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在计算设备上运行的应用的风险水平,可以包括以下操作:接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由计算设备上运行的应用进行的存储器访问特性化;以及基于存储器地址事件和所接收的上下文信息,来推断未观测的应用行为。
进一步的方面包括计算设备,所述计算设备包括被配置具有处理器可执行指令以执行上文所描述的方面方法的操作的处理器。进一步的方面包括一种其上存储有处理器可执行软件指令的非暂时性处理器可读存储介质,所述处理器可执行软件指令被配置为使处理器执行上文所描述的方面方法的操作。进一步的方面包括计算设备,所述计算设备包括有用于执行上文所描述的方面方法的操作的功能的单元。
附图说明
被并入本文并且构成本说明书一部分的附图,说明了示例性方面,并且与上文给出的概括描述以及下文给出的详细描述一起用于解释各个方面的特征。
图1是示出可以用于实现各个方面的以片上系统的形式的示例计算设备的架构图。
图2是示出在应用行为特性化系统中的示例逻辑组件和信息流的框图。
图3是示出可以用于实现各个方面的方面多核处理器架构的功能框图。
图4是示出可以用于实现各个方面的方面存储器架构的功能框图。
图5是根据各个方面,示出监测计算设备的存储器层次结构的方面方法的过程流程图。
图6是根据各个方面,示出监测计算设备的存储器层次结构的方面方法的另一个过程流程图。
图7是在各方面适合于使用的示例移动设备的组件框图。
具体实施方式
将参照附图来详细地描述各个方面。在可能的情况下,贯穿附图将使用相同的附图标记来指代相同或者类似的部分。对于特定示例和实现方式的提及是出于说明性目的的,并且不是旨在限制各个方面或者权利要求书的保护范围。
各个方面包括被配置为通过以下操作来实现对在计算设备上运行的应用的行为进行监测和分析的方法的方法、计算设备和系统:由计算设备的处理器来检测应用的网络通信活动,以及使用对存储器层的存储器访问的分析,来确定应用是否行为异常,所述分析是基于评估的风险水平来调整的,以便匹配适合于冒险的分析开销。
本文互换地使用术语“计算设备”、“移动设备”和“通信设备”来指代以下各项中的任何一项或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、超级本、掌上型计算机、无线电子邮件接收机、实现多媒体互联网的蜂窝电话、无线游戏控制器以及包括存储器和可编程处理器的类似的个人电子设备。
本文使用术语“组件”、“模块”、“系统”等等用于指代与计算机相关的实体,例如但不限于被配置为执行特定的操作或功能的硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,模块、组件可以是,但不限于:在处理器上运行的过程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过说明的方式,在通信设备上运行的应用和通信设备二者都可以称为组件。一个或多个组件可以位于过程和/或执行线程内,以及组件可以位于一个处理器或内核上和/或分布在两个或更多个处理器或内核之间。此外,这些组件能够从其上存储有各种指令和/或数据结构的各种非暂时性计算机可读介质执行。组件可以通过以下方式来通信:本地和/或远程处理、功能或过程调用、电子信号、数据分组、存储器读/写以及其它已知的与计算机、处理器和/或与过程有关的通信方法。
提供高级信息服务的移动计算设备越来越普遍,以及越来越依赖所述移动计算设备来执行可能触及机密或敏感信息(例如,信用卡信息、联系人等等)的重要的安全敏感操作。安全敏感操作可以与对一个或多个代码线程的执行(例如,调用敏感API或者从外围设备读取敏感数据)相对应。因此,需要保护计算设备和敏感数据免受恶意软件和滥用的监测系统和软件。但是,移动计算设备具有有限的处理和功率资源,并且因此需要在这种设备中实现的安全系统的开销投入和对于系统、软件和数据所施加的相对风险之间实现平衡。
在各个方面中,计算设备行为分析系统可以基于应用的风险水平,来动态地调整对存储器层次结构的监测水平,以及可以基于对存储器层次结构的监测,来检测应用的行为异常。在一些方面,计算设备的处理器可以分析在计算设备上运行的应用的行为,以及可以使用行为分析系统来确定应用的风险水平。设备处理器可以基于由行为分析系统所识别的风险水平,来激活或者停用存储器地址访问的监测器(例如,地址监测单元(AMU))。行为分析系统可以动态地确定(以及周期性地重新确定)应用的风险水平。基于所确定的应用的风险水平,行为分析可以激活针对存储器层次结构内的适当的或对应的级别的存储器访问监测。随后,行为分析系统可以基于对存储器层次结构的所确定级别内的存储器访问进行监测,来检测应用的行为异常或者非良性行为。
在一些方面,行为分析系统可以通过从上下文确定模块获得关于应用行为的信息以及从存储器层次结构的多个级别获得信息,来确定在计算设备上运行的应用的风险水平。可以将存储器组织成或者包括多个级别或者层,比如中央处理单元(CPU)高速缓存、级别0(L0)高速缓存、级别1(L1)高速缓存、级别2(L2)高速缓存、动态随机存取存储器(DRAM)等等。行为分析引擎可以通过激活与存储器层次结构级别相关联的AMU,来从监测单元(例如,AMU)获得关于在存储器层次结构的级别中的一个或多个级别处的存储器访问的信息。当激活存取监测时,每个激活的AMU可以向上下文确定模块提供关于其各自存储器层次结构层的存储器访问的信息。该信息可以以使由在计算设备上运行的应用的存储器访问特性化的存储器访问事件的形式。
上下文确定模块还可以获得关于与应用有关的其它操作系统事件的信息。因此,应用行为可以包括对存储器层次结构层中的一个或多个层的访问,所述访问可以与关于操作系统事件的上下文信息相关,所述操作系统事件与存储器访问有关。
上下文确定模块可以向行为安全引擎提供存储器访问事件、其它操作系统事件信息和/或置信水平(即,准确度水平)。行为安全引擎可以使用从上下文确定模块提供的信息中的一个或多个元素,来确定应用的风险水平。
在一些方面,行为分析引擎可以基于所确定的应用的风险水平,来激活与存储器层次结构级别相关联的AMU。激活AMU可以使得AMU来监测所选择的存储器层中的应用活动,以及向行为观测器模块报告存储器访问活动。基于所确定的应用的风险水平来激活AMU,使得行为分析系统能够在来自存储器访问监测的行为分析结论的准确度与通过监测所选择的存储器层次结构层所施加的开销和资源利用率之间进行平衡。监测的存储器的层越多,提供的用于分析的数据就越多,并且因此对应用行为的评估/分析越好。但是,因为可用于分析的存储器访问数据的增加要求由行为分析系统进行更多的处理,所以对应用行为的评估或分析的该改进是以设备资源利用率、功率消耗和性能为代价的。例如,监测较靠近CPU(例如,L0或L1高速缓存)的存储器层提供更准确的信息,但是要求较多的系统资源和处理开销,而监测较远离CPU高速缓存的存储器层(例如,L3或DRAM)要求较少的系统资源,但提供相对较少的准确信息。
在一些方面,行为分析引擎可以动态地重新确定应用的风险水平,以及随着所确定的风险水平改变,重新选择用于监测的一个或多个存储器层次结构层。随着在计算设备上运行的应用的活动发生改变,其活动的风险水平可以改变。通过随着风险水平的改变来动态地重新选择用于监测的存储器层次结构层,行为分析系统可以随着风险下降来节约资源,并且随着风险的增加来增加检查和置信的级别。
在一些方面,行为分析引擎可以推断关于应用的行为的信息,以增加从较高级别存储器层次结构层(例如,L3高速缓存或DRAM)获得的信息的准确度。例如,上下文收集器模块(或者另一个软件模块或其它模块)可以获得操作系统上下文信息和/或分析计算设备的存储器状态(例如,通过从存储器栈或存储器堆获取信息或者获取关于它们的信息),以及可以推断(即,计算)关于应用的未观测的存储器访问(即,在可能未被监测的存储器层次结构层中)的信息。行为分析引擎还可以使用例如以下各项来推断额外的应用行为:操作系统上下文信息和/或关于可能未被主动监测到的对存储器层次结构层的访问的信息,或由所述访问提供的信息。行为分析引擎可以使用所推断的关于应用行为的额外信息,来确定(或者重新确定)应用的风险水平。随后,行为分析引擎可以基于监测所选择的存储器层次结构层的存储器访问,来识别应用的行为异常或者非良性行为。
各个方面可以在包括单个处理器和多处理器系统以及片上系统(SOC)的若干不同的计算设备中实现。图1是示出可以在实现各个方面的计算设备和系统中使用的示例SOC100架构的架构图。SOC 100可以包括若干异构处理器,例如,数字信号处理器(DSP)102、调制解调器处理器104、图形处理器106和应用处理器108。SOC 100还可以包括连接到异构处理器102、104、106、108中的一个或多个异构处理器的一个或多个协处理器110(例如,向量协处理器)。每一个处理器102、104、106、108、110可以包括一个或多个内核,以及每一个处理器/内核可以独立于其它处理器/内核来执行操作。例如,SOC 100可以包括执行第一类型的操作系统(例如,FreeBSD、LINUX、OS X等等)的处理器和执行第二类型的操作系统(例如,微软Windows 8)的处理器。调制解调器处理器104可以与天线104a进行通信,以实现例如与另一个设备或者与通信网络的对无线通信的发送和接收。
SOC 100还可以包括用于管理传感器数据、模数转换、无线数据传输以及用于执行其它专用操作(比如,对针对游戏和电影的编码音频信号进行处理)的模拟电路和定制电路114。SOC 100还可以包括系统组件和资源116,比如稳压器、振荡器、锁相环、外围桥、数据控制器、内存控制器、系统控制器、接入端口、定时器以及用于支持在计算设备上运行的处理器和客户端的其它类似组件。系统组件116和定制电路114可以包括用于与外围设备(例如,照相机、电子显示器、无线通信设备、外部存储器芯片等等)进行连接的电路。处理器102、104、106和108可以经由互连/总线模块124(其可以包括可重新配置的逻辑门阵列和/或实现总线架构(例如,CoreConnect、AMBA等等))来互连到一个或多个存储器元件112、系统组件和资源116以及定制电路114。可以通过诸如高性能片上网络(NoC)之类的高级互连来提供通信。
SOC 100还可以包括用于与SOC外部的资源(例如,时钟118和稳压器120)进行通信的输入/输出模块(未示出)。SOC外部的资源(例如,时钟118、稳压器120)可以由内部SOC处理器/内核(例如,DSP 102、调制解调器处理器104、图形处理器106、应用处理器108等等)中的两个或更多个处理器/内核来共享。
SOC 100还可以包括适合于从传感器收集传感器数据的硬件和/或软件组件,所述传感器包括扬声器、用户接口元件(例如,输入按钮、触摸屏显示器等等)、麦克风阵列、用于监测物理状况(例如,位置、方向、运动、方位、振动、压力等等)的传感器、照相机、指南针、GPS接收机、通信电路(例如,蓝牙、WLAN、Wi-Fi等等)以及现代电子设备的其它公知组件(例如,加速计等等)。
除了上文所讨论的SOC 100之外,可以在各种各样的计算系统(其可以包括单个处理器、多个处理器、多核处理器或者其任意组合)中来实现各个方面。
图2根据各个方面,示出了在方面计算设备200中的示例逻辑组件和信息流,所述计算设备200包括被配置为使用行为分析技术来将应用的行为特性化的应用行为特性化系统220。在图2所示出的例子中,计算设备包括被配置有可执行指令模块的设备处理器(例如,图1的处理器102、104、106、108、110中的任何处理器),所述可执行指令模块包括行为观测器模块202、特征提取器模块204、分析器模块206、执行器模块208和行为特性化模块210。
行为观测器模块可以被配置为获得对存储器访问的观测和关于应用的其它行为的信息(例如,网络通信活动、消息传送、指令、存储器访问、请求、数据转换、进程优先级(即,实时、最大努力等等)、进程标识符、线程标识符、用于处理指令或线程的资源的数量或百分比、用于处理指令或线程的处理内核的数量、输入或输出(即,I/O)活动和其它应用行为)。行为观测器模块可以收集关于应用的观测和行为信息,以及关于计算设备的额外信息,以及可以将所收集的信息存储在存储器中(例如,存储在日志文件等等中)。特征提取器模块可以使用所收集的关于应用的观测和行为信息和关于计算设备的额外信息,来以一个或多个行为向量的形式来生成对这种信息的表示。分析器模块可以将生成的行为向量与一个或多个分类器模型进行比较,以进行以下操作:评估应用的行为、特性化应用行为以及确定观测到的行为是否指示应用行为异常。在一些方面,分析器模块还可以确定应用的类别。响应于关于应用行为异常的确定,执行器模块可以发起或者推荐用于修改应用行为的动作。
每一个行为向量可以是包括或者封装一个或多个特征的数据结构或者信息结构。行为向量可以包括表示观测到的应用行为的全部或者一部分的抽象数字或符号(即,特征)。每一个特征可以与以下各项相关联:识别一系列可能的值的数据类型、可以在那些值上执行的操作、值的含义和其它类似的信息。行为特性化系统可以使用数据类型来确定应当如何对相应的特征(或者特征值)进行测量、分析、加权或者使用。
在一个方面,行为特性化系统可以被配置为生成大小为“n”的行为向量,所述行为向量将观测器实时数据映射到n维空间。行为向量中的每个数字或者符号(即,向量所存储的“n”个值中的每个值)可以表示特征的值。行为特性化系统可以对行为向量进行分析(例如,通过将行为向量应用于应用的各个类别的模型)以评估观测应用的行为。在一些方面,行为特性化系统还可以将所有应用行为和/或设备状态的行为得分组合或者聚合为例如,平均行为得分、加权平均行为得分或者另一种聚合。在一些方面,可以基于观测到的行为的特征,来选择一个或多个权重。
在一个方面,行为特性化系统可以被配置为存储各种类别的应用的模型。应用类别的模型可以识别应用类别的可观测行为中的一个或多个特征,所述特征可以指示应用行为异常。在一些方面,应用类别行为的模型可以进行以下操作:存储在云服务器或者网络中,在大量的设备之间共享,周期性地或者按需地发送给每个通信设备以及基于应用的观测到的行为,来在行为特性化系统中进行定制。应用行为中的一个或多个模型可以是分类器模型,或者可以包括在分类器模型中。在一些方面,行为分析系统可以调整行为向量的大小,以改变从应用行为中提取的特征的粒度。
通过在行为特性化系统中生成分类器模型(在所述行为特性化系统中使用所述生成分类器模型),各个方面允许每个计算设备基于由行为特性化系统可观测的特定应用行为,来准确地识别在确定和特性化特定被观测应用的存储器访问和其它行为中最重要的特定特征。这些方面还可以允许每个计算设备根据特征相对于对应用的行为进行分类的重要性,来准确地对分类器模型中的特征划分优先级。
基于所生成的行为向量与一个或多个分类器模型的比较,每个通信设备的行为分析系统可以发起动作。在一些方面,响应于确定应用行为异常,动作可以修改应用的行为。在一些方面,动作可以用于限制或者停止应用的任何行为或方面。
在各个方面,行为特性化模块210中的全部或者部分可以实现成以下各项的一部分:行为观测器模块202、特征提取器模块204、分析器模块206或者执行器模块208。模块202-210中的每一个模块可以是在软件、硬件或者其组合中来实现的线程、进程、守护进程、模块、子系统或者组件。在各个方面,可以将模块202-210实现在操作系统的部分内(例如,在内核内、在内核空间内、在用户空间内等等)、在单独的程序或应用内、在专用硬件缓冲区或处理器内或在其任意组合内。在一方面,模块202-210中的一个或多个模块可以实现成在模块200中的一个或多个处理器上执行的软件指令。
行为特性化模块210可以被配置为进行以下操作:将应用的存储器访问和其它行为特性化,基于观测的应用的行为来生成至少一个行为向量,将应用的行为向量与至少一个分类器模型进行比较,以及基于至少一个行为向量与至少一个分类器模型的比较来确定应用是行为异常的。行为特性化模块210可以使用由行为观测器模块202所收集的信息来确定应用的行为,以及使用这种信息中的任何或者所有信息来将应用的行为特性化。
行为观测器模块202可以通过监测对于计算设备的存储器层次结构中的一个或多个层(例如,CPU高速缓存、L0高速缓存、L1高速缓存、L2高速缓存、DRAM等等)的存储器访问(其可以包括读操作、写操作、存储操作、查询、命令、消息、指令和其它存储器操作),来监测应用的活动。行为观测器模块202还可以将观测的行为与和应用的被观测存储器操作有关的上下文信息进行相关,所述上下文信息可以包括以下各项:进程标识符、进程的优先级(即,实时、最大努力等等)、线程标识符、用于处理指令或线程的资源的数量或百分比、用于处理指令或线程的处理内核的数量、输入或输出(即,I/O)活动、性能信息(每个CPU周期的存储器访问事件的数量、事件传送的延迟以及其它性能信息)以及其它应用行为(诸如消息传送、指令、存储器访问、请求、数据转换、网络通信活动和其它应用行为)。行为观测器模块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能够在不消耗过量的计算设备的处理、存储器或能量资源的情况下,调整或修改行为向量和分类器模型。在一些方面,行为特性化系统还可以基于诸如以下各项的其它设备状况,来减少或者限制进行观测和分析的特征的数量和/或类型:电池电量(例如,高于或低于门限的电池电量)、网络连接速度(例如,数据速率和/或可用/可实现的带宽)、计算设备中的处理器的处理速度(例如,可用/可实现处理速度、或者处理的/排队的线程的数量是高于还是低于门限的)。
计算设备可以使用完整分类器模型,来生成不同程度的复杂度(或者“精益度”)的一系列精益(lean)分类器模型。可以例行地应用精益分类器模型中的最精简系列的模型(即,基于最少数量的测试条件的精益分类器模型),直到分析器模块确定其不能可靠地将应用的行为特性化为止。响应于这种确定,分析器模块可以向行为观测器模块和/或特征提取器模块提供反馈(例如,通知或者指令),以使用所生成的精益分类器模型系列内的较健壮的分类器模型,直到分析器模块能够实现对应用的行为的明确的特性化为止。用此方式,行为特性化系统220可以通过将最完整、但资源密集型分类器模型的使用,限制于需要健壮的分类器模型来明确地特性化被观测应用的行为的那些情形,来在效率和准确性之间取得平衡。
在各个方面,计算设备可以被配置为通过将完整分类器模型中包括的所观测行为数据的表示或者表达转换成增强型决策树桩,来生成精益分类器模型。例如,计算设备可以基于被观测应用的行为的特定特征,来修剪或剔除增强型决策树桩的完整集合,以生成包括完整分类器模型中所包括的增强型决策树桩的子集的精益分类器模型。随后,计算设备可以使用该精益分类器模型,来对被观测应用的行为进行智能地监测和特性化。增强型决策树桩是可以具有一个节点(即,一个测试问题或者测试条件)和权重值的一级决策树,并且因此可以非常适合于在数据/行为的轻量级、非处理器密集型二进制分类中使用。向增强型决策树桩应用行为向量可以导致二进制应答(例如,1或0、是或否等等)。例如,增强型决策树桩测试的问题/条件可以包括以下各项,针对所述问题/条件的应答可以是二进制的:应用是否正在通过通信网络上发送或接收信息、或者应用是否正在使用诸如照相机的设备硬件组件。由于增强型决策树桩不要求显著的处理资源来生成二进制应答,所以它们是高效的。此外,增强型决策树桩还可以是高度可并行化的,并且因此可以并行地/在相同时间,应用或者测试许多树桩(例如,通过模块、计算设备或者系统中的多个内核或者处理器)。
在各个方面,设备处理器可以动态地生成特定于应用的分类器模型,所述分类器模型识别与特定的软件应用相关的和/或与特定类型的软件应用(其可以是安全敏感的)(例如,银行、金融、文档生成和编辑、生产力、联系人和其它个人信息处理器等等)有关的条件或特征。在各个方面,可以生成这种分类器模型以包括以下决策节点的精简并且更加关注的子集:完整分类器模型中包括的决策节点或者从所接收的完整分类器模型所生成的精益分类器模型中包括的那些决策节点。在各个方面,设备处理器可以被配置为针对系统中的每个软件应用和/或针对系统中的每个类别的软件应用,来生成基于应用的分类器模型。在各个方面,设备处理器可以被配置为动态地、反应性地、主动地和/或在每次安装或更新新的应用时,生成基于应用的分类器模型。
图3示出了可以用于实现各个方面的示例多核处理器架构300。多核处理器302可以包括紧密相邻的两个或更多个独立的处理内核304、306、330、332(例如,在单个衬底、管芯、集成芯片等等上)。处理内核304、306、330、332的邻近性允许存储器以比信号必须在芯片外传送时可能实现的高得多的频率/时钟速率来操作。处理内核304、306、330、332的邻近性考虑到对片上存储器和资源(例如,电压轨)的共享,以及考虑到内核之间的更协调的协作。虽然在图3中示出了四个处理内核,但将理解的是,这不是限制,以及多核处理器可以包括更多或者更少的处理内核。
多核处理器302可以包括多级高速缓存,所述多级高速缓存包括级别1(L1)高速缓存312、314、338和340和级别2(L2)高速缓存316、326和342。虽然在图3中只示出了两级的存储器高速缓存(L1和L2),但多核处理器架构可以包括额外级别的存储器层次结构,比如CPU高速缓存、DRAM高速缓存和L3高速缓存以及其它存储器层次结构级别。多核处理器302还可以包括总线/互连接口318、主存储器320以及输入/输出模块322。L2高速缓存316、326、342可以比L1高速缓存312、314、338、340更大(和更慢),但比主存储器单元320更小(并且实质上更快)。每个处理内核304、306、330、332可以包括处理单元308、210、334、336,所述处理单元具有对L1高速缓存312、314、338、340的私有访问。处理内核304、306、330、332可以共享对L2高速缓存(例如,L2高速缓存342)的访问,或者可以具有对独立的L2高速缓存(例如,L2高速缓存316、326)的访问。
L1和L2高速缓存(以及其它存储器高速缓存,如果存在的话)可以用于存储由处理单元频繁访问的数据,而主存储器320可以用于存储由处理内核304、306、330、332所访问的较大的文件和数据单元。多核处理器302可以被配置,使得处理内核304、306、330、332按顺序地从存储器中寻找数据,首先查询L1高速缓存,随后是L2高速缓存,以及随后是主存储器(如果信息未存储在高速缓存中的话)。如果信息未存储在高速缓存或者主存储器320中,则多核处理器202可以从外部存储器和/或硬盘存储器224中查找信息。
图4示出了可以用于实现各个方面的示例存储器架构400。存储器架构可以包括操作系统402、行为安全模块404、上下文终止模块406、AMU选择模块408和存储器层次结构410。以下各项可以使用存储器架构:SOC 100(见图1)、计算设备200(见图2)、多核处理器架构300(见图3)或者另一种计算设备或架构。
存储器层次结构410可以包括一个或多个存储器层次结构层,包括DRAM 412、L3高速缓存414、L2高速缓存416、L1高速缓存418、L0高速缓存420和CPU高速缓存422。每个存储器层次结构层可以包括地址监测单元(AMU),比如DRAM AMU 424、L3AMU 426、L2AMU 420、L1AMU430、L0AMU 432和CPU AMU 434。每个AMU可以是与其各自的存储器层次结构层的存储器电路(即,DRAM、L3高速缓存等等)相通信的硬件组件。
AMU可以监测存储器层次结构层所接收的用于在存储器位置(例如,存储器地址)处执行存储器操作(例如,读操作、写操作、存储操作或者另一种存储器操作)的请求。AMU可以是可配置的以监测一个或多个地址或者地址类型(其包括虚拟地址和/或物理地址)。在一些方面,AMU可以被动地监测对其存储器层次结构层的存储器访问。
当AMU监测的地址中的任何地址被访问时,AMU可以生成存储器访问事件。所生成的存储器访问事件可以利用诸如以下各项的信息来将应用进行的存储器访问特性化:操作的类型、特定命令、与操作的类型相关的性能数据、地址或者地址范围以及与存储器访问有关的其它信息。每个AMU可以例如经由中断、或者经由片上调试机制,来向上下文确定模块提供所生成的存储器访问事件。AMU可以在从上下文确定模块的请求时、或者响应于检测到事件、或者在另一个适当的触发事件时,提供存储器访问事件。
操作系统还可以将可以与由AMU向上下文确定模块报告的存储器访问事件中的每个存储器访问事件有关的上下文信息提供给上下文确定模块(和/或上下文确定模块可以从操作系统获得所述上下文信息)。
该上下文信息可以包括一个或多个进程标识符、进程优先级(即,实时、最大努力等等)、线程标识符、用于处理指令或线程的资源的数量或者百分比、用于处理指令或线程的处理内核的数量、输入或输出(即,I/O)活动、性能信息(每个CPU周期的存储器访问事件的数量、事件传送的延迟以及其它性能信息)、以及其它应用行为(诸如消息、指令、存储器访问、请求、数据转换、网络通信活动和其它应用行为)。
上下文确定模块可以对来自AMU的存储器访问事件和来自操作系统的上下文信息进行相关。在一些方面,上下文确定模块可以利用上下文信息来注释存储器访问事件以生成相关性。
不同于CPU AMU的AMU可以监测应用的所有存储器访问的子集。随着存储器层次结构层与CPU的距离的增加,AMU可以监测的存储器访问数量减少(即,远离CPU的AMU可以比靠近CPU的AMU监测更小的应用的存储器访问的子集)。因此,当监测较靠近CPU的存储器层次结构层时,与存储器访问和上下文相关的信息的准确度通常增加,以及在监测较远离CPU的存储器层次结构层时,所述准确度减小。
在一些方面,上下文确定模块可以基于从其接收到事件信息的AMU的存储器层次结构层,或者上下文信息与其相关的AMU的存储器层次结构层,来计算事件信息和/或上下文信息的一个或多个置信度水平。上下文确定模块可以将一个或多个计算出的置信度水平与上下文信息一起包括,并可以将计算出的置信度水平提供给行为安全模块404。
行为安全模块404可以从上下文确定模块获得或者接收事件信息和/或上下文信息,以及可以基于事件信息和/或上下文信息来确定应用的风险水平。在一些方面,行为安全模块404可以使用行为分析系统(例如,应用行为特性化系统220(见图2))。
行为安全模块404可以基于由应用到和从存储器层次结构410所进行的存储器访问、以及与存储器访问有关的上下文信息,来确定和动态地调整应用的风险水平。在一些方面,行为安全模块404可以基于存储器访问事件和/或上下文信息来生成一个或多个行为向量,以及可以将行为向量与一个或多个分类器模型进行比较,以评估应用的行为和确定应用的风险水平。
行为安全模块404可以将所确定的风险水平发送或者提供给AMU选择模块408。在一些方面,行为安全模块404还可以提供关于存储器访问事件和/或上下文信息的额外信息。使用所确定的风险水平和/或关于存储器访问事件和/或上下文信息的信息,AMU选择模块408可以选择用于监测的一个或多个存储器层次结构层。AMU选择模块408可以向所选择的一个或多个存储器层次结构层的AMU发送消息、命令或者另一个指令,以启用(或者禁用)所选择的存储器层次结构层的AMU来监测存储器访问。例如,AMU选择模块408可以选择CPU高速缓存422用于监测,以及可以发送使CPU AMU 434能够监测CPU高速缓存422的存储器访问的指令。在一些方面,AMU选择模块408可以使用行为分析系统(例如,应用行为特性化系统220(见图2))。在一些方面,AMU选择模块408可以基于以下各项来生成一个或多个行为向量,以及可以将行为向量与一个或多个分类器模型进行比较,来选择用于存储器访问监测的存储器层次结构中的一个或多个层:存储器访问事件、上下文信息和/或确定的应用的风险水平。
在一些方面,随着行为安全引擎计算的风险水平的提高,行为分析系统可以提高对应用行为的监测的准确性。当监测在较靠近CPU的存储器层次结构层时,与存储器访问和上下文相关的信息的准确性通常增加。例如,经由CPU AMU 434来监测CPU高速缓存422可以提供关于存储器访问的最准确的信息,而经由DRAM AMU 444来监测DRAM 412可以提供关于存储器访问的最不准确的信息。由于靠近CPU的每个存储器层次结构层的AMU可以监测应用的所有存储器访问的较大子集,所以朝向CPU监测准确度可以增加。例如,CPU AMU通常可以监测所有存储器访问,L0AMU可以监测比CPU AMU更少的存储器访问,L1AMU可以监测比L0AMU更少的存储器访问等等。但是,通过监测较靠近CPU的存储器层次结构层来获得增加的准确度,还要求增加的处理器开销和功耗,以及因此存储器层次结构监测的准确度通常可以与针对处理器利用率和功率存储评估的成本来取得平衡。相应地,AMU选择模块408可以持续地监测所确定的应用的风险水平以及性能开销,以及可以随着所确定的风险改变来选择性地启用和/或禁用与各个存储器层次结构级别相关联的AMU。
因此,上下文确定模块可以持续地从一个或多个AMU获得事件信息,和/或从操作系统获得上下文信息,以及可以向行为安全模块404提供事件信息和/或上下文信息。行为安全模块404可以动态地确定(和重新确定)应用的风险水平,以及可以将重新确定的应用的风险水平提供给AMU选择模块408。AMU选择模块408可以基于由行为分析系统所计算的风险水平和/或与在一个或多个存储器层次结构层处监测应用行为的影响有关的性能信息,来激活或者停用一个或多个AMU。行为分析系统可以基于对存储器层次结构的存储器访问的监测,来检测应用的行为异常和非良性行为。
图5根据各个方面,示出了监测在计算设备的存储器层次结构内的各个级别处的存储器访问的方法500。方法500可以由以下各项来执行:处理内核或者设备处理器(例如,片上系统上的处理器(例如,图1中所示出的SOC 100上的处理器102、104、106、108和110))或者任何类似的设备处理器,以及方法500可以使用行为分析系统(例如,图2中的行为特性化系统220),以通过以下操作来观测和特性化应用的行为:监测在一个或多个存储器层次结构层处的存储器访问,以及获得与所监测的存储器访问有关的上下文信息。
在方框502中,处理器可以执行计算设备上的应用。应用可以执行与例如用户的机密或敏感信息有关的一个或多个安全敏感操作。在方框504中,处理器可以初始地选择用于存储器地址监测的一个或多个存储器层次结构层,以及在方框506中,处理器可以使一个或多个AMU能够监测所选择的一个或多个存储器层次结构层的存储器访问。例如,处理器可以初始地选择层412-422中的一个或多个层,以及可以使对应的AMU 424-434中的一个或多个AMU能够监测各自的存储器层次结构层的存储器访问。
在方框508中,处理器可以接收与应用的行为相关的针对存储器访问的存储器访问事件。例如,上下文确定模块406可以从一个或多个启用的AMU 424-434获得事件信息。在方框510中,处理器可以接收与存储器访问相关的上下文信息。例如,上下文确定模块406可以从操作系统402获得与事件信息相关的上下文信息。
在方框512中,处理器可以确定应用的风险水平。在一些方面,处理器可以基于一个或多个AMU所监测的应用的存储器地址访问,来确定应用的风险水平。例如,行为安全模块404可以从上下文确定模块406获得事件信息和/或上下文信息,以及可以基于事件信息和/或上下文信息来计算应用的风险水平。在一些方面,行为安全模块404可以使用行为分析系统(例如,应用行为特性化系统220)。
在方框514中,处理器可以选择用于存储器地址监测的一个或多个存储器层次结构层。在一些方面,处理器可以基于所确定的应用的风险水平,以及基于上下文信息和/或性能信息(比如,基于选择哪个存储器层次结构层来进行监测而对计算设备的性能影响),来选择一个或多个存储器层次结构层。例如,基于行为安全模块404所确定的应用的风险水平,处理器可以选择一个或多个存储器层次结构层来进行存储器地址监测。在一些方面,AMU选择模块408可以基于所确定的应用的风险水平和性能信息,使用行为分析系统(例如,应用行为特性化系统220)来确定要启用或者禁用哪些AMU。
在方框516中,处理器可以使AMU选择模块408来启用所选择的存储器层次结构层或者一些层中的一个或多个AMU。例如,AMU选择模块408可以向所选择的一个或多个存储器层次结构层的AMU发送消息、命令或者另一个指令以使所选择的存储器层次结构层的AMU能够监测存储器访问,以及还可以发送消息、命令或另一个指令以禁用先前所选择的不再进行监测的存储器层次结构层的AMU。
处理器可以重复方框508-516的操作,以持续地和动态地确定应用的风险水平,以及基于以下各项来激活或者停用一个或多个AMU:所计算的应用的风险水平、上下文信息和/或与在一个或多个存储器层次结构层处监测应用行为的影响有关的性能信息。
图6根据各个方面,示出了监测计算设备的存储器层次结构的方法600。方法600可以由以下各项来执行,以及可以使用行为分析系统(例如,图2中的行为特性化系统220)来观测和特性化被观测模块的行为:处理内核或者模块的设备处理器(例如,片上系统上的处理器(例如,图1中所示出的SOC 100上的处理器102、104、106、108和110中的任何处理器))或者任何类似的设备处理器。在一些方面,设备处理器可以执行方框502-516中的操作,类似于参照方法500的方框502-516所描述的那些操作(见图5)。
在方框602中,处理器可以推断在计算设备上运行的应用的未观测的存储器访问。未观测的存储器访问可以是在未被监测的一个或多个存储器层次结构层(例如,AMU尚未在其上启用)上的应用执行的存储器访问。例如,处理器可以接收与存储器访问事件(即,由应用进行的存储器访问)有关的上下文信息,以及基于上下文信息,处理器可以推断应用在一个或多个存储器层次结构层上的未观测的存储器访问。上下文信息可以包括以下各项:进程标识符、进程优先级(即,实时、最大努力等等)、线程标识符、用于处理指令或线程的资源的数量或者百分比、用于处理指令或线程的处理内核的数量、输入或输出(即,I/O)活动、性能信息(每个CPU周期的存储器访问事件的数量、事件传送的延迟以及其它性能信息)以及其它应用行为(诸如消息、指令、存储器访问、请求、数据转换、网络通信活动和其它应用行为)。
处理器还可以针对应用的行为的以下各项中的一个或多个执行路径的指示符来分析存储器状态(例如,栈状态或者堆状态):指令、命令、消息、线程、进程或者其它方面。例如,不同于CPU层的存储器层次结构层的AMU(例如,L0AMU、L1AMU等等)可以只监测由在计算设备上运行的应用进行的所有存储器访问的子集。为了向监测的存储器访问(其可以不是应用的所有存储器访问)提供额外的准确度,处理器可以通过分析额外的应用行为信息来推断未观测的存储器访问。例如,处理器可以分析来自存储器栈的信息,所述存储器栈可以提供关于应用可能正在使用和/或尝试使用的处理器和/或设备功能的信息。再举一个例子,处理器可以分析来自存储器堆的信息,所述存储器堆可以提供关于例如遍历了多少次循环的信息。因此,处理器可以使用与应用行为有关的额外信息,并基于该额外的应用行为信息,处理器可以推断由应用在一个或多个监测的存储器层次结构层上的未观测的存储器访问。
在方框604中,处理器可以通过使用从未监测的存储器层次结构层提供的信息,来推断应用行为。例如,存储器高速缓存(例如,L0高速缓存、L1高速缓存等等)可以提供关于它们所接收的存储器访问的可用的运行时统计信息。在一些方面,上下文确定模块可以接收(例如,直接从每个高速缓存或者由操作系统提供的)由未监测的存储器层次结构层所提供的额外信息。基于从未监测的存储器层次结构层提供的额外信息,处理器可以推断应用行为,以及可以使用所推断的应用行为来改进所监测的存储器访问和其它信息的准确度,所述其它信息可能不代表在计算设备上运行的应用的所有存储器访问和其它行为。例如,存储器高速缓存可以包括一个或多个高速缓存计数器(例如,L0高速缓存可以包括L0I计数器),以及存储器高速缓存可以将来自一个或多个高速缓存计数器的信息提供给上下文确定模块和/或操作系统。除了事件信息和/或上下文信息之外,处理器还可以使用由一个或多个高速缓存计数器提供的信息,来确定应用指令、命令、消息、进程、线程等等的可能的或大概的执行路径。此外,处理器可以将应用的大概执行路径与事件信息和/或上下文信息一起进行使用,以改进以下各项的置信水平:存储器访问事件、上下文信息或者存储器访问事件与上下文信息的相关性。
在确定框606中,处理器可以判断应用是否行为异常或者呈现非良性行为。例如,处理器可以基于对所接收的存储器访问事件和/或上下文信息的分析(其可以包括行为分析)来进行该确定。在一些方面,上下文信息可以包括:推断的观测的存储器访问和/或推断的应用行为。
响应于确定应用不行为异常(即,确定框606=“否”),处理器可以重复如上所述的方框508-516的操作,以持续地和动态地确定应用的风险水平,以及基于所计算的风险水平来激活或者停用一个或多个AMU。
响应于确定应用行为异常(即,确定框606=“是”),在方框608中,处理器可以采取动作来修改应用行为。在一些方面,处理器可以采取动作来限制或者停止应用的行为、指令、命令、消息、进程、线程或者其它活动。
各个方面(其包括上文参照图1-6所讨论的方面)可以在各种各样的计算设备上实现,其例子是图7中所示出的移动通信设备700。移动计算设备700可以包括耦合到内部存储器704、显示器712以及耦合到扬声器714的处理器702。处理器702可以是被指定用于通用或特定处理任务的一个或多个多核集成电路。内部存储器704可以是易失性存储器或非易失性存储器,以及还可以是安全和/或加密存储器、或者非安全和/或非加密存储器、或者其任意组合。移动通信设备700可以具有用于发送和接收通信的两个或更多个无线电信号收发机708(例如,Peanut、蓝牙、Zigbee、Wi-Fi、RF无线电等等)和天线710,它们彼此之间相耦合并耦合到处理器702。另外,移动通信设备700还可以包括用于发送和接收电磁辐射的天线710,所述天线可以连接到无线数据链路和/或耦合到处理器702的收发机708。移动通信设备700可以包括耦合到处理器702和天线710的一个或多个蜂窝网络无线调制解调器芯片716,所述蜂窝网络无线调制解调器芯片实现了经由两种或更多个无线接入技术,经由两个或更多个蜂窝网络的通信。
移动通信设备700可以包括耦合到处理器702的外围设备连接接口718。外围设备连接接口718可以被单独地配置为接受一种类型的连接,或者被配置为接受各种类型的物理和通信连接、共同连接或专有连接(例如,USB、火线、雷电接口(Thunderbolt)或PCIe)。外围设备连接接口718还可以耦合到类似配置的外围设备连接端口(未示出)。移动通信设备700还可以包括用于提供音频输出的扬声器714。移动通信设备700还可以包括使用塑料、金属、或材料的组合构成的壳体720,应用包含本文所讨论的组件中的所有组件或者一些组件。移动通信设备700可以包括耦合到处理器702的电源722,例如一次性电池或可充电电池。可充电电池还可以耦合到外围设备连接端口,以从移动通信设备700外部的源接收充电电流。移动通信设备700还可以包括用于接收用户输入的物理按钮724。移动通信设备700还可以包括用于打开和关闭移动通信设备700的功率按钮726。
处理器702可以是任何可编程微处理器、微计算机或者多处理器芯片或芯片集,它们可以由软件指令(应用)进行配置以执行各种各样的功能,其包括下文所描述的各个方面的功能。在一些移动通信设备中,可以提供多个处理器702,例如,一个处理器专用于无线通信功能,以及一个处理器专用于运行其它应用。通常,在访问软件应用并将它们载入到处理器702中之前,可以将软件应用存储在内部存储器704中。处理器702可以包括足够用于存储应用软件指令的内部存储器。在各个方面,处理器712可以是设备处理器、处理内核或者SOC(例如,图1中所示出的示例SOC 100)。在一个方面,移动通信设备700可以包括SOC,以及处理器702可以是SOC中包括的处理器中的一个处理器(例如,图1中所示出的处理器102、104、106、108和110中的一个处理器)。
用于实现各个方面的操作的、针对在可编程处理器上的执行计算机程序代码或程序代码可以用高级编程语言来编写,比如以C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、结构化查询语言(例如,Transact-SQL)、Perl或以各种其它编程语言。存储于本申请中使用的计算机可读存储介质上的程序代码或程序可以指其格式是由处理器可理解的机器语言代码(例如目标代码)。
许多移动计算设备操作系统内核被组织成用户空间(其中运行非特权代码)和内核空间(其中运行特权代码)。在和其它通用公共许可(GPL)环境中(其中作为内核空间的一部分的代码必须是GPL许可的,而在用户空间中运行的代码可以不是GPL许可的)这种分离是特别重要的。应该理解的是,这里讨论的各种软件组件/模块可以在内核空间或用户空间中实现,除非另有明确说明。
前述方法描述和过程流程图仅作为说明性示例被提供,并且不旨在要求或暗示各个方面的操作必须按所给出的次序执行。如本领域技术人员将理解的,前述方面中的操作次序可以以任何次序来执行。诸如“此后”、“随后”、“接下来”等的词语不旨在限制操作的次序;这些词语只是用来指导读者通过对方法的描述。此外,例如使用冠词“一(a)”、“一(an)”或“该(the)”的对权利要求元素的单数形式的任何引用不应被解释为将该元素限制为单数。
结合本文公开的方面描述的各种说明性逻辑块、模块、电路和算法操作可以实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,上文已经在其功能方面一般地描述了各种说明性的组件、块、模块、电路和操作。至于这样的功能是以硬件还是软件来实现取决于特定应用和施加在整个系统上的设计约束。技术人员可以针对每个特定应用以各种方式实现所描述的功能,但是这样的实现决定不应该被解释为导致偏离各方面的范围。
用于实现结合本文公开的方面描述的各种说明性逻辑、逻辑块、模块和电路的硬件可以利用被设计成执行本文所述功能的以下各项来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或者其任何组合。通用处理器可以是多处理器,但是在替代方式中,处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如,DSP和多处理器的组合、多个多处理器的组合、一个或多个多处理器与DSP核心的结合或者任何其它这样的配置。替代地,一些操作或方法可以由特定于给定功能的电路来执行。
在一个或多个示例性方面中,所描述的功能可以在硬件、软件、固件或其任何组合中来实现。如果在软件中实现,则可将功能作为一个或多个处理器可执行的指令或代码存储在非暂时性计算机可读存储介质或非暂时性处理器可读存储介质上。本文公开的方法或算法的操作可以体现在可以驻留在非暂时性计算机可读或处理器可读存储介质上的处理器可执行软件模块中。非暂时性计算机可读或处理器可读存储介质可以是可以由计算机或处理器访问的任何存储介质。通过示例而非限制,这种非暂时性计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪存、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可以用于以指令或数据结构的形式存储期望程序代码并且可以由计算机访问的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上文的组合也包括在非暂时性计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为代码和/或指令中的一者或任何组合或集合来驻留在非暂时性处理器可读介质和/或计算机可读介质上,所述操作可以并入到计算机程序产品中。
提供所公开方面的先前描述是为了使得本领域的任何技术人员能够实现或使用权利要求。对这些方面的各种修改对于本领域技术人员来说将是显而易见的,并且在不脱离权利要求的范围的情况下,可以将本文定义的一般原理应用于其它方面。因此,各方面不旨在受限于本文所示的方面,而是应符合与所附权利要求书以及本文所公开的原理和新颖性特征相一致的最宽范围。
Claims (30)
1.一种由计算设备的处理器监测存储器层次结构的方法,包括以下操作:
基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平;以及
基于所确定的所述应用的风险水平,来选择一个或多个存储器层次结构层以监测所述应用的所述存储器地址访问。
2.根据权利要求1所述的方法,其中,基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平,包括以下操作:
从所述地址监测单元接收存储器访问事件,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于接收的存储器访问事件来确定所述应用的所述风险水平。
3.根据权利要求1所述的方法,其中,确定在所述计算设备上运行的应用的风险水平,包括以下操作:
接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于所述上下文信息,来确定所述应用的所述风险水平。
4.根据权利要求1所述的方法,其中,基于所确定的所述应用的风险水平,来选择一个或多个存储器层次结构层以监测所述应用的所述存储器地址访问,包括以下操作:
基于所确定的所述应用的风险水平,来使所选择的一个或多个存储器层次结构层中的一个或多个地址监测单元能够监测所述应用的所述存储器地址访问。
5.根据权利要求1所述的方法,其中,确定在计算设备上运行的应用的风险水平,包括以下操作:
基于所述应用的所述存储器地址访问来生成行为向量;
将一个或多个分类器模型应用于所生成的行为向量;以及
基于将所述一个或多个分类器模型应用于所生成的行为向量的结果,来确定所述应用的所述风险水平。
6.根据权利要求5所述的方法,其中,基于所述应用的所述存储器地址访问来生成行为向量包括基于与所述应用的所述存储器访问有关的上下文信息来生成行为向量。
7.根据权利要求1所述的方法,其中,基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平,包括以下操作:
接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于所述存储器地址事件和接收的上下文信息,来推断所述应用的未观测的存储器访问。
8.根据权利要求1所述的方法,其中,基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平,包括以下操作:
接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于所述存储器地址事件和接收的上下文信息,来推断未观测的应用行为。
9.一种移动计算设备,包括:
处理器,其被配置具有处理器可执行指令以执行包括以下各项的操作:
基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平;以及
基于所确定的所述应用的风险水平,来选择一个或多个存储器层次结构层以监测所述应用的所述存储器地址访问。
10.根据权利要求9所述的移动计算设备,其中,所述处理器被配置具有处理器可执行指令来执行操作,使得基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平,包括以下操作:
从所述地址监测单元接收存储器访问事件,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于接收的存储器访问事件来确定所述应用的所述风险水平。
11.根据权利要求9所述的移动计算设备,其中,所述处理器被配置具有处理器可执行指令来执行操作,使得确定在所述计算设备上运行的应用的风险水平,包括以下操作:
接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于所述上下文信息,来确定所述应用的所述风险水平。
12.根据权利要求9所述的移动计算设备,其中,所述处理器被配置具有处理器可执行指令来执行操作,使得基于所确定的所述应用的风险水平,来选择一个或多个存储器层次结构层以监测所述应用的所述存储器地址访问,包括以下操作:
基于所确定的所述应用的风险水平,来使所选择的一个或多个存储器层次结构层中的一个或多个地址监测单元能够监测所述应用的所述存储器地址访问。
13.根据权利要求9所述的移动计算设备,其中,所述处理器被配置具有处理器可执行指令来执行操作,使得确定在计算设备上运行的应用的风险水平,包括以下操作:
基于所述应用的所述存储器地址访问来生成行为向量;
将一个或多个分类器模型应用于所生成的行为向量;以及
基于将所述一个或多个分类器模型应用于所生成的行为向量的结果,来确定所述应用的所述风险水平。
14.根据权利要求13所述的移动计算设备,其中,所述处理器被配置具有处理器可执行指令来执行操作,使得基于所述应用的所述存储器地址访问来生成行为向量包括基于与所述应用的所述存储器访问有关的上下文信息来生成行为向量。
15.根据权利要求9所述的移动计算设备,其中,所述处理器被配置具有处理器可执行指令来执行操作,使得基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平,包括以下操作:
接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于所述存储器地址事件和接收的上下文信息,来推断所述应用的未观测的存储器访问。
16.根据权利要求9所述的移动计算设备,其中,所述处理器被配置具有处理器可执行指令来执行操作,使得基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平,包括以下操作:
接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于所述存储器地址事件和接收的上下文信息,来推断未观测的应用行为。
17.一种其上存储有处理器可执行软件指令的非暂时性处理器可读存储介质,所述处理器可执行软件指令被配置为使得处理器执行用于由计算设备的处理器来监测存储器层次结构的操作,包括以下操作:
基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平;以及
基于所确定的所述应用的风险水平,来选择一个或多个存储器层次结构层以监测所述应用的所述存储器地址访问。
18.根据权利要求17所述的非暂时性处理器可读存储介质,其中,所述存储的处理器可执行软件指令被配置为使处理器执行操作,使得基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平,包括以下操作:
从所述地址监测单元接收存储器访问事件,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于接收的存储器访问事件来确定所述应用的所述风险水平。
19.根据权利要求17所述的非暂时性处理器可读存储介质,其中,所述存储的处理器可执行软件指令被配置为使处理器执行操作,使得确定在所述计算设备上运行的应用的风险水平,包括以下操作:
接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于所述上下文信息,来确定所述应用的所述风险水平。
20.根据权利要求17所述的非暂时性处理器可读存储介质,其中,所述存储的处理器可执行软件指令被配置为使处理器执行操作,使得基于所确定的所述应用的风险水平,来选择一个或多个存储器层次结构层以监测所述应用的所述存储器地址访问,包括以下操作:
基于所确定的所述应用的风险水平,来使所选择的一个或多个存储器层次结构层中的一个或多个地址监测单元能够监测所述应用的所述存储器地址访问。
21.根据权利要求17所述的非暂时性处理器可读存储介质,其中,所述存储的处理器可执行软件指令被配置为使处理器执行操作,使得确定在计算设备上运行的应用的风险水平,包括以下操作:
基于所述应用的所述存储器地址访问来生成行为向量;
将一个或多个分类器模型应用于所生成的行为向量;以及
基于将所述一个或多个分类器模型应用于所生成的行为向量的结果,来确定所述应用的所述风险水平。
22.根据权利要求21所述的非暂时性处理器可读存储介质,其中,所述存储的处理器可执行软件指令被配置为使处理器执行操作,使得基于所述应用的所述存储器地址访问来生成行为向量包括基于与所述应用的所述存储器访问有关的上下文信息来生成行为向量。
23.根据权利要求17所述的非暂时性处理器可读存储介质,其中,所述存储的处理器可执行软件指令被配置为使处理器执行操作,使得基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平,包括以下操作:
接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于所述存储器地址事件和接收的上下文信息,来推断所述应用的未观测的存储器访问。
24.根据权利要求17所述的非暂时性处理器可读存储介质,其中,所述存储的处理器可执行软件指令被配置为使处理器执行操作,使得所述存储的处理器可执行软件指令被配置为使处理器执行操作,使得基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平,包括以下操作:
接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
基于所述存储器地址事件和接收的上下文信息,来推断未观测的应用行为。
25.一种移动计算设备,包括:
用于基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平的单元;以及
用于基于所确定的所述应用的风险水平,来选择一个或多个存储器层次结构层以监测所述应用的所述存储器地址访问的单元。
26.根据权利要求25所述的计算设备,其中,用于基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平的单元包括:
用于从所述地址监测单元接收存储器访问事件的单元,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
用于基于接收的存储器访问事件来确定所述应用的所述风险水平的单元。
27.根据权利要求25所述的计算设备,其中,用于确定在所述计算设备上运行的应用的风险水平的单元,包括:
用于接收与存储器访问事件有关的上下文信息的单元,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化;以及
用于基于所述上下文信息,来确定所述应用的所述风险水平的单元。
28.根据权利要求25所述的计算设备,其中,用于基于所确定的所述应用的风险水平,来选择一个或多个存储器层次结构层以监测所述应用的所述存储器地址访问的单元,包括:
用于基于所确定的所述应用的风险水平,来使所选择的一个或多个存储器层次结构层中的一个或多个地址监测单元能够监测所述应用的所述存储器地址访问的单元。
29.根据权利要求25所述的计算设备,其中,用于确定在计算设备上运行的应用的风险水平的单元,包括:
用于基于所述应用的所述存储器地址访问来生成行为向量的单元;
用于将一个或多个分类器模型应用于所生成的行为向量的单元;以及
用于基于将所述一个或多个分类器模型应用于所生成的行为向量的结果,来确定所述应用的所述风险水平的单元。
30.根据权利要求25所述的计算设备,其中,用于基于由所述计算设备的一个或多个选择的存储器层次结构层的地址监测单元来监测的应用的存储器地址访问,来确定在所述计算设备上运行的所述应用的风险水平的单元,包括:
用于接收与存储器访问事件有关的上下文信息,所述存储器访问事件将由所述计算设备上运行的所述应用进行的存储器访问特性化的单元;以及
用于基于所述存储器地址事件和接收的上下文信息,来推断所述应用的未观测的存储器访问的单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/806,842 US9823843B2 (en) | 2015-07-23 | 2015-07-23 | Memory hierarchy monitoring systems and methods |
US14/806,842 | 2015-07-23 | ||
PCT/US2016/038664 WO2017014896A1 (en) | 2015-07-23 | 2016-06-22 | Memory hierarchy monitoring systems and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107851154A true CN107851154A (zh) | 2018-03-27 |
CN107851154B CN107851154B (zh) | 2019-04-30 |
Family
ID=56345247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680042287.1A Expired - Fee Related CN107851154B (zh) | 2015-07-23 | 2016-06-22 | 存储器层次结构监测系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9823843B2 (zh) |
CN (1) | CN107851154B (zh) |
WO (1) | WO2017014896A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874193A (zh) * | 2018-08-31 | 2020-03-10 | 奈瑞尔德有限公司 | 使用非易失性锁定存储器的块设备接口 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9407443B2 (en) | 2012-06-05 | 2016-08-02 | Lookout, Inc. | Component analysis of software applications on computing devices |
US10313217B2 (en) * | 2015-03-13 | 2019-06-04 | Samsung Electronics Co., Ltd. | System on chip (SoC) capable of sharing resources with network device and devices having the SoC |
US11140167B1 (en) | 2016-03-01 | 2021-10-05 | Exabeam, Inc. | System, method, and computer program for automatically classifying user accounts in a computer network using keys from an identity management system |
KR102610058B1 (ko) * | 2017-01-10 | 2023-12-06 | 삼성전자주식회사 | 프로세스의 권한 상승을 검출하는 전자 장치 및 저장 매체 |
US10887325B1 (en) * | 2017-02-13 | 2021-01-05 | Exabeam, Inc. | Behavior analytics system for determining the cybersecurity risk associated with first-time, user-to-entity access alerts |
US10645109B1 (en) | 2017-03-31 | 2020-05-05 | Exabeam, Inc. | System, method, and computer program for detection of anomalous user network activity based on multiple data sources |
US10841338B1 (en) | 2017-04-05 | 2020-11-17 | Exabeam, Inc. | Dynamic rule risk score determination in a cybersecurity monitoring system |
US10218697B2 (en) * | 2017-06-09 | 2019-02-26 | Lookout, Inc. | Use of device risk evaluation to manage access to services |
US10754696B1 (en) * | 2017-07-20 | 2020-08-25 | EMC IP Holding Company LLC | Scale out capacity load-balancing for backup appliances |
US11423143B1 (en) | 2017-12-21 | 2022-08-23 | Exabeam, Inc. | Anomaly detection based on processes executed within a network |
US11431741B1 (en) | 2018-05-16 | 2022-08-30 | Exabeam, Inc. | Detecting unmanaged and unauthorized assets in an information technology network with a recurrent neural network that identifies anomalously-named assets |
US11178168B1 (en) | 2018-12-20 | 2021-11-16 | Exabeam, Inc. | Self-learning cybersecurity threat detection system, method, and computer program for multi-domain data |
US11625366B1 (en) | 2019-06-04 | 2023-04-11 | Exabeam, Inc. | System, method, and computer program for automatic parser creation |
US11956253B1 (en) | 2020-06-15 | 2024-04-09 | Exabeam, Inc. | Ranking cybersecurity alerts from multiple sources using machine learning |
CN112306810B (zh) * | 2020-11-09 | 2023-08-22 | 北京车和家信息技术有限公司 | 功能监控方法和装置、异构多核soc、电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150128262A1 (en) * | 2011-10-28 | 2015-05-07 | Andrew F. Glew | Taint vector locations and granularity |
WO2015094189A1 (en) * | 2013-12-17 | 2015-06-25 | Intel Corporation | Detection of unauthorized memory modification and access using transactional memory |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886291B1 (en) | 2003-06-11 | 2011-02-08 | Symantec Corporation | Layer typed prioritizing application layered systems |
US20040205419A1 (en) | 2003-04-10 | 2004-10-14 | Trend Micro Incorporated | Multilevel virus outbreak alert based on collaborative behavior |
US7725934B2 (en) | 2004-12-07 | 2010-05-25 | Cisco Technology, Inc. | Network and application attack protection based on application layer message inspection |
US8607344B1 (en) | 2008-07-24 | 2013-12-10 | Mcafee, Inc. | System, method, and computer program product for initiating a security action at an intermediate layer coupled between a library and an application |
US8955107B2 (en) | 2008-09-12 | 2015-02-10 | Juniper Networks, Inc. | Hierarchical application of security services within a computer network |
US9690928B2 (en) * | 2014-10-25 | 2017-06-27 | Mcafee, Inc. | Computing platform security methods and apparatus |
US10659479B2 (en) * | 2015-03-27 | 2020-05-19 | Mcafee, Llc | Determination of sensor usage |
-
2015
- 2015-07-23 US US14/806,842 patent/US9823843B2/en not_active Expired - Fee Related
-
2016
- 2016-06-22 WO PCT/US2016/038664 patent/WO2017014896A1/en active Application Filing
- 2016-06-22 CN CN201680042287.1A patent/CN107851154B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150128262A1 (en) * | 2011-10-28 | 2015-05-07 | Andrew F. Glew | Taint vector locations and granularity |
WO2015094189A1 (en) * | 2013-12-17 | 2015-06-25 | Intel Corporation | Detection of unauthorized memory modification and access using transactional memory |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874193A (zh) * | 2018-08-31 | 2020-03-10 | 奈瑞尔德有限公司 | 使用非易失性锁定存储器的块设备接口 |
Also Published As
Publication number | Publication date |
---|---|
US20170024135A1 (en) | 2017-01-26 |
US9823843B2 (en) | 2017-11-21 |
CN107851154B (zh) | 2019-04-30 |
WO2017014896A1 (en) | 2017-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107851154B (zh) | 存储器层次结构监测系统和方法 | |
CN106133642B (zh) | 在移动设备中通过执行行为分析操作推断应用状态的方法和系统 | |
US11775637B2 (en) | Recurrent neural network based anomaly detection | |
EP3191960B1 (en) | Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors | |
CN106104555B (zh) | 用于保护外围设备的行为分析 | |
US9787695B2 (en) | Methods and systems for identifying malware through differences in cloud vs. client behavior | |
US9774614B2 (en) | Methods and systems for side channel analysis detection and protection | |
CN107209825A (zh) | 经由存储器监测的数据流跟踪 | |
CN105830080B (zh) | 使用特定于应用和特定于应用类型的模型进行移动设备行为的高效分类的方法和系统 | |
US20180039779A1 (en) | Predictive Behavioral Analysis for Malware Detection | |
CN104885099A (zh) | 使用推升式决策树桩和联合特征选择及剔选算法来对移动设备行为进行高效分类的方法和系统 | |
CN109478218A (zh) | 用于分类执行会话的装置和方法 | |
US10021123B2 (en) | Customized network traffic models to detect application anomalies | |
CN107567628A (zh) | 用于使用针对增强型决策树桩的因果分析来识别和响应非良性行为的方法和系统 | |
CN104541293A (zh) | 用于客户端-云行为分析器的架构 | |
CN112860484A (zh) | 容器运行时异常行为检测、模型训练方法及相关装置 | |
CN107250945A (zh) | 用于检测由于rf干扰引起的故障的设备上行为分析 | |
CN108027859A (zh) | 检测对计算设备中的进程的软件攻击 | |
CN107690627A (zh) | 交叉模块行为验证 | |
CN105930703A (zh) | 鼠标键盘双指标复合安全身份认证系统 | |
CN113743580B (zh) | 人工免疫模型获得方法和终端设备 | |
WO2022204939A1 (en) | Machine learning and reject inference techniques utilizing attributes of unlabeled data samples | |
Wickramasinghe et al. | A Framework for Tracking And Summarizing Daily Activities with Mobile Phone for Healthy Life of a User | |
CN117035979A (zh) | 事务策略的确定方法、装置、设备以及存储介质 | |
Kour | Security Risk Analysis of Google Play Applications |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190430 Termination date: 20200622 |