CN106415580B - 阻止侧信道攻击的方法和系统 - Google Patents
阻止侧信道攻击的方法和系统 Download PDFInfo
- Publication number
- CN106415580B CN106415580B CN201580033880.5A CN201580033880A CN106415580B CN 106415580 B CN106415580 B CN 106415580B CN 201580033880 A CN201580033880 A CN 201580033880A CN 106415580 B CN106415580 B CN 106415580B
- Authority
- CN
- China
- Prior art keywords
- computing device
- processor
- activity
- channel attack
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/42—User authentication using separate channels for security data
- G06F21/43—User authentication using separate channels for security data wireless channels
-
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2125—Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
计算设备可以使用机器学习技术来确定其易受侧信道攻击的等级、程度和严重性。计算设备可以智能地并且选择性地执行混淆操作(例如,提高噪声基底的操作),以基于所确定的其易受侧信道攻击的等级、程度或严重性来防止侧信道攻击。计算设备还可以:监测由设备产生的自然混淆的当前等级,这确定在正在进行的关键活动期间是否存在足够的自然混淆来防止侧信道攻击;以及在正在进行的关键活动期间并且响应于确定不存在足够的自然混淆来充分保护计算设备免受侧信道攻击,来执行混淆操作。
Description
相关申请
本申请与和本申请同时提交的题目为“Methods and Systems for Side ChannelAnalysis Detection and Protection”的美国专利申请No.14/312,957有关。
背景技术
蜂窝和无线通信技术在过去几年中已经出现爆炸式增长。无线服务提供商现在提供广泛的功能和服务,所述功能和服务向其用户提供对信息、资源和通信的前所未有的等级的访问。为了跟上这些增强,消费电子设备(例如,蜂窝电话、手表、耳机、遥控器等)已经变得比以往更加强大和复杂,并且现在通常包括强大的处理器、大的存储器、以及允许在其设备上执行复杂而强大的软件应用的其他资源。这些设备还使得他们的用户能够从应用下载服务(例如,App Store、Store、Play等)或因特网下载并执行各种软件应用。
由于这些和其他改进,越来越多的移动和无线设备用户现在使用其设备来存储敏感信息(例如,信用卡信息、联系人等)和/或完成对其来说安全性是重要的任务。例如,移动设备用户经常使用他们的设备来购买商品、发送和接收敏感通信、支付帐单、管理银行帐户、以及进行其他敏感交易。由于这些趋势,移动设备正快速地成为侧信道攻击的下一个前沿,侧信道攻击越来越多地被窃贼和黑客用来从计算设备窃取机密信息。因此,更好地保护资源受限的计算设备(例如移动和无线设备)的新的和改进的安全解决方案将对消费者是有利的。
发明内容
各个方面包括保护计算设备免受侧信道攻击的方法。在一个方面,所述方法可以包括:在所述计算设备的处理器中执行行为分析操作以确定所述计算设备是否易受侧信道攻击;响应于确定所述计算设备易受侧信道攻击,确定是否需要混淆;以及响应于确定需要混淆,执行混淆操作。在一个方面,执行所述行为分析操作以确定所述计算设备是否易受侧信道攻击可以包括:监测所述计算设备的活动;基于所监测的活动生成行为向量;以及向分类器模型应用所生成的行为向量以确定所监测的活动是否是关键活动。在一个方面,响应于确定需要混淆来执行混淆操作可以包括响应于确定所监测的活动是正在进行的关键活动来执行混淆操作。
在一个方面,所述方法可以包括确定所监测的活动是否是正在进行的关键活动。在一个方面,响应于确定需要混淆来执行混淆操作可以包括:响应于确定所监测的活动是正在进行的关键活动来执行混淆操作。
在一个方面,确定是否需要混淆包括监测由所述计算设备产生的自然混淆的当前等级;以及确定在所述正在进行的关键活动期间是否存在足够的自然混淆来防止侧信道攻击。在一个方面,确定所监测的活动是否是关键活动可以包括确定所监测的活动是否被标记为所述分类器模型中的关键活动。在一个方面,确定是否需要混淆可以包括:向可测量资源分类器模型应用行为向量以确定所述计算设备的自然混淆等级。在一个方面,响应于确定需要混淆来执行混淆操作可以包括:响应于确定所确定的自然混淆等级不够高而不能防止在关键活动期间的侧信道攻击来执行混淆操作。
在一个方面,响应于确定需要混淆来执行混淆操作可以包括:响应于确定需要混淆来增加所述计算设备的噪声基底。在一个方面,增加所述计算设备的所述噪声基底可以包括:激活生成噪声信号的硬件组件。在一个方面,增加所述计算设备的所述噪声基底可以包括:与所述计算设备中的所测量的自然混淆的等级相称地来增加所述噪声基底。在一个方面,执行所述行为分析操作以确定所述计算设备是否易受侧信道攻击可以包括:与行为操作并行地执行所述行为分析操作,以确定所述计算设备的行为是否是非良性的。
进一步的方面包括具有处理器的计算设备,所述处理器配置有用于执行包括以下各项的操作的处理器可执行指令:执行行为分析操作以确定所述计算设备是否易受侧信道攻击;响应于确定所述计算设备易受侧信道攻击来确定是否需要混淆;以及响应于确定需要混淆,执行混淆操作。在一个方面,所述处理器可以配置有处理器可执行指令以执行操作,使得执行所述行为分析操作以确定所述计算设备是否易受侧信道攻击包括:监测所述计算设备的活动;基于所监测的活动生产行为向量;以及向分类器模型应用所生成的行为向量以确定所监测的活动是否是关键活动;并且响应于确定需要混淆来执行混淆操作包括响应于确定所监测的活动是关键活动来执行混淆操作。
在一个方面,所述处理器可以配置有处理器可执行指令以执行还包括确定所监测的活动是否是正在进行的关键活动的操作。在一个方面,所述处理器可以配置有处理器可执行指令以执行操作,使得响应于确定需要混淆来执行混淆操作包括响应于确定所监测的活动是正在进行的关键活动来执行混淆操作。在一个方面,所述处理器可以配置有处理器可执行指令以执行操作,使得确定是否需要混淆包括:监测由所述计算设备产生的自然混淆的当前等级;以及确定在所述正在进行的关键活动期间是否存在足够的自然混淆来防止侧信道攻击。在一个方面,所述处理器可以配置有处理器可执行指令以执行操作,使得确定所监测的活动是否是关键活动包括确定所监测的活动是否被标记为所述分类器模型中的关键活动。
在一个方面,所述处理器可以配置有处理器可执行指令以执行操作,使得:确定是否需要混淆包括向可测量资源分类器模型应用行为向量以确定所述计算设备的自然混淆等级;以及响应于确定需要混淆来执行混淆操作包括响应于确定所确定的自然混淆等级不够高而不能防止在关键活动期间的侧信道攻击来执行混淆操作。
在一个方面,所述处理器可以配置有处理器可执行指令以执行操作,使得响应于确定需要混淆来执行混淆操作包括响应于确定需要混淆来增加所述计算设备的噪声基底。在一个方面,所述处理器可以配置有处理器可执行指令以执行操作,使得增加所述计算设备的所述噪声基底包括激活生成噪声信号的硬件组件。在一个方面,所述处理器可以配置有处理器可执行指令以执行操作,使得增加所述计算设备的所述噪声基底包括与所述计算设备中的所测量的自然混淆的等级相称地来增加所述噪声基底。
在一个方面,所述处理器配置有处理器可执行指令以执行操作,使得执行所述行为分析操作以确定所述计算设备是否易受侧信道攻击包括与行为操作并行地执行所述行为分析操作,以确定所述计算设备的行为是否是非良性的。
进一步的方面包括具有存储在其上的处理器可执行软件指令的非暂时性计算机可读存储介质,所述处理器可执行软件指令被配置为使处理器执行用于保护计算设备免受侧信道攻击的操作,所述操作包括:执行行为分析操作以确定所述计算设备是否易受侧信道攻击;响应于确定所述计算设备易受侧信道攻击,确定是否需要混淆;以及响应于确定需要混淆,执行混淆操作。在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得执行行为分析操作以确定所述计算设备是否易受侧信道攻击包括:监测所述计算设备的活动;基于所监测的活动生成行为向量;以及向分类器模型应用所生成的行为向量,以确定所监测的活动是否是关键活动;并且响应于确定需要混淆来执行混淆操作包括响应于确定所监测的活动是正关键活动来执行混淆操作。
在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行包括确定所监测的活动是否是正在进行的关键活动的操作。在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得响应于确定需要混淆来执行混淆操作包括响应于确定所监测的活动是正在进行的关键活动来执行混淆操作。
在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得确定是否需要混淆包括:监测由所述计算设备产生的自然混淆的当前等级;以及确定在正在进行的关键活动期间是否存在足够的自然混淆来防止侧信道攻击。在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得确定所监测的活动是否是关键活动包括确定所监测的活动是否被标记为所述分类器模型中的关键活动。
在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得:确定是否需要混淆包括向可测量资源分类器模型应用行为向量以确定所述计算设备的自然混淆等级;以及响应于确定需要混淆来执行混淆操作包括响应于确定所确定的自然混淆等级不够高而不能防止在关键活动期间的侧信道攻击来执行混淆操作。
在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得响应于确定需要混淆来执行混淆操作包括:响应于确定需要混淆来增加所述计算设备的噪声基底。在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得增加所述计算设备的所述噪声基底包括激活生成噪声信号的硬件组件。在一个方面,所存储的处理器可执行软件指令可以被配置为使处理器执行操作,使得执行所述行为分析操作以确定所述计算设备是否易受侧信道攻击包括与行为操作并行地执行所述行为分析操作,以确定所述计算设备的行为是否是非良性的。
进一步的方面包括一种计算设备,其包括:用于执行行为分析操作以确定所述计算设备是否易受侧信道攻击的单元;用于响应于确定所述计算设备易受侧信道攻击来确定是否需要混淆的单元;以及用于响应于确定需要混淆来执行混淆操作的单元。在一个方面,所述计算设备可以包括用于执行与以上讨论的方法操作相对应的功能的各种单元。
附图说明
并入本文并构成本说明书的一部分的附图示出了本发明的示例性方面,并且与上面给出的一般描述和下面给出的详细描述一起用于解释本发明的特征。
图1是适于实现各个方面的示例性片上系统的架构图。
图2是示出了被配置为使用行为分析和机器学习技术来分类行为并确定是否执行混淆操作的方面计算设备中的示例性逻辑组件和信息流的框图。
图3是示出了根据各个方面被配置为在计算设备中本地生成不同类型的分类器模型的所述计算设备中的示例性组件和信息流的框图。
图4到图6是示出了根据各个方面智能地和选择性地执行混淆操作的方法的过程流程图。
图7是示出了在计算设备中生成基于应用的或精细(lean)分类器模型的方面方法的过程流程图。
图8是示出了用于在计算设备上执行自适应观测以确定活动或行为是否是非良性的方面方法的过程流程图。
图9是适用于一个方面的移动设备的组件框图。
图10是适用于一个方面的服务器设备的组件框图。
具体实施方式
将参照附图来详细描述各个方面。尽可能地,将贯穿附图使用相同的附图标记来指代相同或相似的部件。对特定示例和实现的参考是出于说明的目的,并且不旨在限制本发明或权利要求的范围。
总而言之,各个方面包括被配置为使用行为分析或机器学习技术来智能地和选择性地执行混淆操作以便防止(或防御)侧信道攻击的计算设备,而不会导致该计算设备变得过大或者热,并且不会导致该计算设备的响应性、可用性、性能、或功耗特性中的显著负面或用户可感知的变化。因此,各个方面特别良好地适用于具有有限处理和电池资源并且令人愉快的用户体验非常重要的消费电子设备和资源受限的计算系统,例如移动通信设备(例如,智能电话)。
词语“示例性”在本文中用于表示“用作示例、实例或说明”。本文中描述为“示例性”的任何实现不必被解释为比其它实现更优选或更有优势。
本文中使用的术语“性能降级”来指代计算设备的各种不期望的操作和特性,诸如较长的处理时间、较慢的实时响应性、较低的电池寿命、私人数据的丢失、恶意的经济活动(例如,发送未授权的高价(premium)SMS消息)、拒绝服务(DoS)、写得不好或设计不佳的软件应用、恶意软件、流氓软件、病毒、碎片存储器、与命令移动设备或利用电话进行间谍或僵尸网络活动有关的操作等。另外,由于这些原因中的任何原因而降低性能的行为、活动、以及状况在本文中被称为“不是良性的”或“非良性的”。
在本文中一般地并且可互换地使用术语“无线设备”、“移动设备”和“用户设备”来指代以下各项中的任意一项或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、超极本、掌上型计算机、无线电子邮件接收器、支持多媒体因特网的蜂窝电话、无线游戏控制器,以及包括存储器、性能重要的可编程处理器、并且在电池供电的情况下进行操作从而功率节约的方法是有益的类似电子设备。尽管各个方面对于移动设备(其为资源受限的系统)是特别有用的,但是这些方面在包括处理器和执行软件应用的任何计算设备中通常也是有用的。
越来越多的黑客和窃贼使用侧信道攻击从计算设备窃取机密信息。侧信道攻击可以是基于从计算设备的可观测信号发射(例如,声音、磁场、热等)获得的信息的任何网络攻击。例如,计算设备通常由于其电子组件中的振动(例如,在读取和写入操作期间)发射高音调的声音。这些声音和其他发射是可以由黑客检测、记录、分析、以及使用的可观测的计算机测量,以解码存储在该计算设备中和/或由该计算设备使用的密码密钥。
作为侧信道攻击的示例,包括麦克风、热传感器、或磁力计的第一计算设备(攻击方设备)可以被放置为紧邻(例如几英尺)第二计算设备(受攻击设备)。随后,攻击方设备可以向受攻击设备发送一系列加密的电子邮件,并且在受攻击设备接收和解密邮件时监测/记录该受攻击设备的可观测的信号发射(例如,声音、磁场、热等)中的变化。随后,可以分析这些变化以确定在该受攻击设备解密电子邮件时执行的精确操作,并且使用该信息来确定受攻击设备用于解密电子邮件的密码密钥。使用这种不正当获得的密码密钥,攻击方设备可以拦截去往和来自受攻击设备的通信,并且使用该密码密钥来解密所拦截的通信。
可以使用各种混淆技术来保护计算设备免受这些和其他侧信道攻击。例如,针对侧信道攻击的一个防御是确保计算设备的噪声基底(即,由计算设备生成的所有噪声信号的和)足够高,使得攻击方设备不能容易地识别和测量由设备中的特定活动随时间推移而生成的声音、字段、或信号。这种防御通常防止攻击方设备从可观测的信号发射(例如,声音、磁场、热等)的变化获得有用的信息,和/或使得攻击方设备更难以确定由受攻击设备执行的精确操作。这转而使窃贼和黑客更难以从受攻击设备窃取机密信息。
尽管这样的混淆技术在保护计算设备免受侧信道攻击方面通常是有效的,但是使用这样的混淆技术的现有方案是低效的和/或不适于在资源受限的计算系统(诸如移动设备)中连续使用。这是因为,为了引入足够的混淆以充分保护设备免受侧信道攻击,可能需要计算设备执行消耗大量的设备电量和处理资源的数个功率和处理器密集型操作。此外,由于现代计算设备的复杂性和多样性,对设备设计者来说,预先预测将会易受侧信道攻击的特定设备活动通常是有挑战性的。针对所有这些原因,现有的方案通常需要计算设备连续地或重复地执行功率和处理器密集型混淆操作。这通常导致这些计算设备变得过大声、发热、或不响应。
各个方面通过配置计算设备使用行为分析或机器学习技术来有效地确定计算设备对侧信道攻击的易受损害性(vulnerability)的等级、程度、和严重性,并且基于所确定的易受损害性的等级、程度、或严重性来选择性地执行混淆操作来克服现有方案的这些和其他限制。各个方面还可以使用行为分析或机器学习技术来确定系统中是否存在足够的自然混淆来防御侧信道攻击,并且仅响应于确定系统中不存在足够的自然混淆来防止侧信道攻击来执行混淆操作。
通过使用行为分析或机器学习技术来选择性地将混淆引入到系统中,各个方面通过减少由计算设备产生的噪声、声音、热、和辐射的总量来改进用于防止侧信道攻击的现有方案。各个方面还通过在主动对策(active countermeasures)是不必要的时在不消耗设备的过多处理资源和电池资源的情况下保护计算设备免受侧信道攻击来改进现有方案。因此,各个方面良好地适于在诸如移动计算设备等资源受限的计算系统中使用。
在一方面,计算设备可以被配置为基于其当前行为或活动的关键性或安全重要性来确定其是否易受侧信道攻击(和/或其对侧信道攻击的易受损害性的等级、程度、或严重性)。另外,计算设备可以被配置为监测计算设备的活动,基于所监测的活动生成行为向量,向所生成的行为向量应用关键活动的模型以确定所监测的活动是否是易受侧信道攻击的、正在进行的关键活动。随后,系统可以在(例如,仅在)正在进行的关键活动期间执行混淆操作以将额外的混淆引入系统。
在一方面,计算设备可以被配置为监测由计算设备的可测量组件产生的自然混淆(例如,噪声信号)的等级,向所产生的行为向量应用可测量组件的模型以确定在正在进行的关键活动期间是否存在足够的自然混淆来防止侧信道攻击,并且响应于确定不存在足够防止侧通道攻击以正在进行的关键活动为目标的自然混淆,来引入额外的或人为的混淆(例如,通过提高噪声基底等)。因此,计算设备可以被配置为使得其仅在正在进行的关键活动的执行期间并且响应于确定在该正在进行的关键活动期间不存在足够的自然混淆来保护计算设备免受侧信道攻击,来向该计算系统中引入额外的或人为的混淆。
计算设备可以被配置为执行各种各样的混淆操作以保护该设备免受侧信道攻击,所述混淆操作包括用于提高计算设备的噪声基底的操作。这些操作可以包括例如通过激活硬件组件(例如,风扇、协处理器等)或执行产生噪声信号的辅助操作来增加由计算设备发射的噪声信号的数量、音量、和/或强度。噪声信号可以是除了由正在进行的关键活动生成的信号之外的任何可观测到的信号发射(例如,声音、磁场、热等)。
如上所讨论的,各个方面通过使用行为分析或机器学习技术以在关键活动期间向设备中选择性地引入混淆来在现有方案上改进。对行为分析或机器学习技术的使用是重要的,这是因为现代计算设备是高度可配置的且复杂的系统,并且用于确定特定活动是否是关键活动的最重要因素在每个设备中可能是不同的。此外,可能需要在每个设备中分析设备特征/因素的不同组合,以便该设备确定特定活动是否是正在进行的关键活动。然而,需要进行监测和分析的特征/因素的精确组合通常只能使用来自执行该活动的特定计算设备并且在该活动正在进行时所获得的信息来确定。由于这些和其他原因,基于规则的方案不适合用于确定正在进行的活动是否是易受侧信道攻击的关键活动或用于确定在正在进行的关键活动期间是否存在足够的自然混淆来防止侧信道攻击。
为了克服基于规则的方案的限制,在各个方面,计算设备可以配备有综合的行为监测和分析系统,后者被配置为使用机器学习技术(与基于规则的方法相反)来确定活动是否是正在进行的关键活动、是否存在足够的自然混淆来防止侧信道、以及该活动是否是非良性的。
行为监测和分析系统可以包括被配置为在计算设备系统的各个等级处装配(instrument)或协调各种应用编程接口、寄存器、计数器、或其他组件(本文统称为“装配的组件”)的观测器进程、守护进程、模块、或子系统(本文统称为“模块”)。观测器模块可以通过从所装配的组件收集行为信息来连续地(或接近连续地)监测计算设备的活动。行为监测和分析系统还可以包括分析器模块,并且观测器模块可以将所收集的行为信息传输至(例如,经由存储器写操作、函数调用等)分析器模块。分析器模块可以被配置为执行实时行为分析操作,该实时行为分析操作可以包括对所收集的行为信息实行、执行、和/或应用数据、算法、分类器或模型(本文中统称为“分类器模型”),以确定设备行为是否是正在进行的关键活动。随后,计算设备可以使用该分析的结果来确定是否执行混淆操作以将额外的或人为的混淆引入到系统中。
在一些方面,行为监测和分析系统可以被配置成智能地和有效地识别、防止、和/或纠正有助于计算设备随时间推移的性能降级和/或功率利用等级下降的条件、因素、和/或设备行为。在这些方面中,分析器模块还可以被配置为执行实时行为分析操作以确定活动或设备行为是否是非良性的(例如,恶意的、写得不好、性能降级等)。在一些方面,分析器模块可以被配置为在不执行当确定活动是否是非良性的时所执行的大量额外的/不同的操作的情况下,确定活动是否是正在进行的关键活动和/或是否存在足够的自然混淆来防止侧信道。因此,分析器模块可以在不导致对计算设备的响应性、性能、或功率消耗特性的显着负面变化或用户可感知的变化的情况下,确定计算设备当前是否易受到侧信道攻击(和/或其对侧信道攻击的易受损害性的等级、程度、或严重性)。
一些方面可以包括网络服务器和计算设备被配置为互相结合地进行工作以有效地识别、分类、建模、防止和/或纠正随着时间推移可能降低计算设备的性能和/或功率利用等级的条件和/或设备行为。作为这些操作的一部分,网络服务器和计算设备可以互相结合地进行工作以例如通过确定活动是否是正在进行的关键活动以及确定系统中存在的自然混淆的等级,来确定计算设备对侧信道攻击的易受损害性的等级、程度、或严重性。
在一些方面,网络服务器可以被配置为从中央数据库(例如,“云”)接收关于各种条件、特征、行为和纠正动作的信息,并使用该信息来生成全分类器(full classifier)模型(即,数据或行为模型),所述全分类器模型描述以可以由计算设备快速转换成一个或多个精细分类器模型的格式或结构(例如,有限状态机等)的行为信息的大语料库。网络服务器可以被配置为生成全分类器模型以包括可以由计算设备用以确定行为、软件应用、过程、或操作是否是正在进行的关键活动的一部分的活动标签和/或分类。例如,网络服务器可以生成全分类器模型,使得其包括适于识别高风险或易受滥用的软件应用和/或应用类型的信息,所述软件应用和/或应用类型例如金融应用、销售点应用、生物测定传感器应用、存储敏感数据的应用、加密/解密应用等。
在一些方面,全分类器模型可以是行为信息的大语料库的有限状态机描述或表示。在一方面,有限状态机可以包括适于表达为多个节点、提升的决策树或决策树桩的信息,其中的每个测试一个或多个特征。例如,有限状态机可以是可以表示为提升决策树桩的族的信息结构,所述提升的决策树桩共同地识别、描述、测试或评估与确定以下各项相关的全部或许多特征和数据点:活动是否是关键活动、自然混淆的等级、和/或设备行为是否是非良性的相关的。随后,网络服务器可以向计算设备发送全分类器模型(即,包括有限状态机和/或提升决策树桩的族的信息结构等)。
计算设备可以接收和使用全分类器模型来生成设备特定的精细分类器模型或者具有不同复杂性等级(或“精细度”)的精细分类器模型的族。为了实现这一点,计算设备可以删减或剔除从网络服务器接收的全分类器模型中包括的提升决策树的鲁棒族,以生成精细分类器模型,所述精细分类器模型包括减少数量的增强决策点和/或评估对计算设备特定的、对计算设备的软件应用特定的、和/或对软件应用的类型或类别特定的有限数量的测试条件或特征。随后,计算设备可以使用这些本地生成的分类器模型来执行实时行为监测和分析操作,以确定活动是否是易受侧信道攻击的关键活动、系统中存在的自然混淆的等级、活动是否是非良性的等。
通过将描述或表达信息的大语料库的全分类器模型生成为有限状态机、决策点、决策树或可以被修改、剔除、增强、或用于以其他方式生成精细分类器模型的其它类似信息结构,各个方面允许计算设备快速、有效地生成精细分类器模型,并且无需访问训练数据或进一步与网络服务器、中央数据库、或云网络/服务器通信。这显着降低了计算设备对网络的依赖性,并且提高了设备的性能和功耗特性。
此外,通过在计算设备中本地生成精细分类器模型以考虑应用特定或设备特定的特征,各个方面允许计算设备将其操作集中在对于确定设备是否易受侧信道攻击和/或是否必须执行混淆操作来说最重要的特征或因素上。这允许计算设备既防止侧信道攻击又对不期望的行为进行响应,而不会引起计算设备的响应性、性能、或功耗特性中的显着的负面或用户可感知的变化。
各个方面可以在数个不同的计算设备中实现,所述不同的计算设备包括单处理器和多处理器系统以及片上系统(SOC)。图1是示出了可以在实现各个方面的计算设备中使用的示例性片上系统(SOC)100架构的架构图。SOC 100可以包括数个异构处理器,诸如数字信号处理器(DSP)102、调制解调器处理器104、图形处理器106和应用处理器108。SOC 100还可以包括一个或多个协处理器110(例如矢量协处理器),该协处理器110连接到异构处理器102、104、106、108中的一个或多个。
处理器102、104、106、108、110中的每个可以包括一个或多个核,并且每个处理器/核可以独立于其他处理器/核执行操作。例如,SOC 100可以包括执行第一类型的操作系统(例如,FreeBSD、LINUX、OS X等)的处理器和执行第二类型的操作系统(例如,MicrosoftWindows 8)的处理器。此外,处理器102、104、106、108、110中的每个可以被配置为执行各种混淆操作,包括提高SOC 100的噪声基底的辅助操作。处理器102、104、106、108、110还可以是被配置为检测、测量和报告自然混淆的等级的可测量组件。
SOC 100还可以包括用于管理传感器数据、模数转换、无线数据传输以及用于执行其他专门操作(例如处理用于游戏和电影的编码音频信号)的模拟电路和定制电路114。SOC100还可以包括系统组件和资源116,例如电压调节器、振荡器、锁相环、外围桥接器、数据控制器、存储器控制器、系统控制器、访问端口、定时器和用于支持处理器的其他类似组件和在计算设备上运行的客户端。在各个方面中,可以激活或控制这些组件/资源中的任何或全部以在执行操作时将混淆引入SOC 100和/或检测、测量和报告自然混淆的等级。
资源/系统组件116和定制电路114可以包括用于与外围设备接口的电路,所述外围设备例如相机、电子显示器、无线通信设备、外部存储器芯片等。处理器102、104、106、108可以经由互连/总线模块124互连到一个或多个存储器元件112、系统组件和资源116以及定制电路114,该互连/总线模块124可以包括可重配置逻辑门的阵列和/或实现总线架构(例如,CoreConnect、AMBA等等)。通信可以由诸如高性能片上网络(NoC)等高级互连来提供。
SOC 100还可以包括用于与SOC外部的资源(诸如时钟118和电压调节器120)通信的输入/输出模块(未示出)。SOC外部的资源(例如,时钟118、电压调节器120)可以由两个或更多个内部SOC处理器/核(例如,DSP 102、调制解调器处理器104、图形处理器106、应用处理器108等)共享。
SOC 100还可以包括适于从传感器收集传感器数据的硬件和/或软件组件,所述组件包括扬声器、用户接口元件(例如,输入按钮、触摸屏显示器等))、麦克风阵列、用于监测物理条件(例如,位置、方向、运动、定向、振动、压力等)、相机、罗盘、全球定位系统(GPS)接收器、通信电路(例如,WLAN、WiFi等)和现代电子设备的其他公知的组件(例如,加速度计等)。在各个方面,可以配置、激活或控制SOC 100的硬件和软件组件中的任何一个或全部,以将混淆引入SOC 100和/或和/或检测、测量和报告自然混淆的等级。
图2示出了方面计算设备200中的示例性逻辑组件和信息流,方面计算设备200包括被配置为使用机器学习技术来确定是否执行混淆操作以防御侧信道攻击的综合行为监测和分析系统。在图2所示的示例中,计算设备200包括行为观测器模块202、行为分析器模块204、执行器模块206、以及混淆模块208。
模块202到模块208中的每一个可以以软件、硬件或其任何组合来实现。在各个方面中,模块202到模块208可以在操作系统的一部分内(例如,在内核内、在内核空间中、在用户空间等中)、在单独的程序或应用内、在专用硬件缓冲器或处理器中、或其任何组合中实现。在一方面,模块202到模块208中的一个或多个可以被实现为在计算设备200的一个或多个处理器上执行的软件指令。
行为观测器模块202可以被配置为在设备的各个等级/模块处装配应用编程接口(API),并经由装配的API在各个等级/模块处监测一段时间上的活动、条件、操作和事件(例如,系统事件、状态改变等)。行为观测器模块202可以收集关于所监测的活动、条件、操作、或事件的行为信息,并将所收集的信息存储在存储器中(例如,在日志文件等中)。行为观测器模块202还可以被配置为基于收集的信息生成行为向量,并且向行为分析器模块204发送(例如,经由存储器写入、函数调用等)该行为向量以用于分析。
行为分析器模块204可以被配置为使用所存储的行为信息来生成行为向量,并且向分类器模块应用所生成或接收的行为向量,以识别有助于(或者可能有助于)设备随时间的降级和/或否则可能导致关于设备的问题的子系统、过程、和/或应用。作为这些操作的一部分,行为分析器模块204还可以确定计算设备200是否易受侧信道攻击。例如,行为分析器模块204可以确定活动是否是正在进行的关键活动和/或在正在进行的关键活动期间是否存在足够的自然混淆来保护计算设备免受侧信道攻击。
行为分析器模块204可以通知执行器模块206活动或行为是非良性的、活动/行为是正在进行的关键活动、和/或系统中是否存在足够的自然混淆来防止侧通道攻击。作为响应,执行器模块206可以执行各种动作或操作以处理(heal)、解决(cure)、隔离、或者以其他方式修复所识别的问题。例如,执行器模块206可以被配置为当将行为向量应用于机器学习分类器模型(例如,由分析器模块)的结果指示软件应用或过程是非良性时,终止该软件应用或过程。
另外,行为分析器模块204和/或执行器模块206可以被配置为通知混淆模块208所监测的活动是易受侧信道攻击的正在进行的关键活动和/或在计算设备200执行该正在进行的关键活动时系统中不存在足够的自然混淆来防止侧信道攻击。混淆模块208可以被配置为执行各种各样的混淆操作以保护设备免受侧信道攻击,包括用于提高计算设备的噪声基底的操作。例如,混淆模块208可以激活各种硬件组件(例如,风扇、协处理器等)或执行产生噪声信号的辅助操作。混淆模块208还可以执行增加由计算设备200发射的噪声信号的数量、音量、和/或强度的操作。在一方面,混淆模块208可以被配置为执行混淆操作,以便仅在正在进行的关键活动的执行期间将额外的混淆引入系统。混淆模块208还可以被配置为执行混淆操作,以便仅在在正在进行的关键活动期间没有足够的自然混淆来保护计算设备免受侧信道攻击时,引入额外的或人为的混淆。
行为观测器模块202可以被配置为监测计算设备200的活动和/或由计算设备200的可测量组件产生的自然混淆(例如,噪声)的当前等级。在各个方面,这可以通过监测计算设备200的各种软件和硬件组件并且收集关于与计算设备200的活动相关联的被监测和可测量组件的通信、事务、事件、或操作的信息来实现。这样的活动包括操作或任务的软件应用的执行、计算设备200的处理核心中的软件应用的执行、进程的执行、任务或操作的执行、设备行为、硬件组件的使用等。
在各个方面,行为观测器模块202可以被配置为通过收集关于应用框架或运行时库中的库API调用、系统调用API、文件系统和联网子系统操作、设备(包括传感器设备)状态变化、以及其它类似事件来监测计算设备200的活动。另外,行为观测器模块202可以监测文件系统活动,所述文件系统活动可以包括:搜索文件名、文件访问类别(个人信息或正常数据文件)、创建或删除文件(例如,类型exe,zip等)、文件读/写/查找操作、更改文件权限等。
行为观测器模块202还可以通过监测数据网络活动来监测计算设备200的活动,数据网络活动可以包括连接类型、协议、端口号、设备所连接到的服务器/客户端、连接的数量、通信的音量或频率等。行为观测器模块202可以监测电话网络活动,这可以包括监测发出、接收、或拦截的呼叫或消息(例如,SMS等)的类型和数量(拨出的高价电话的数量)。
行为观测器模块202还可以通过监测系统资源使用来监测计算设备200的活动,这可以包括监测叉的数量、存储器访问操作、打开的文件的数量等。行为观测器模块202可以监测计算设备200的状态,这可以包括监测各种因素,诸如显示器是开还是关、设备是被锁定还是解锁、电池剩余量、相机的状态等。行为观测器模块202还可以通过例如监测关键服务(浏览器、合同提供商等)的意图、进程间通信的程度、弹出窗口等来监测进程间通信(IPC)。
行为观测器模块202还可以通过监测驱动统计数据和/或一个或多个硬件组件的状态来监测计算设备200的活动,这些硬件组件可以包括相机、传感器、电子显示器、WiFi通信组件、数据控制器、存储器控制器、系统控制器、访问端口、定时器、外围设备、无线通信组件、外部存储器芯片、电压调节器、振荡器、锁相环、外围桥接器、以及用于支持运行在计算设备200上的处理器和客户端的其他类似组件。
行为观测器模块202还可以通过监测表示计算设备200和/或计算设备子系统的状态或多个状态的一个或多个硬件计数器来监测计算设备200的活动。硬件计数器可以包括处理器/核的专用寄存器,其被配置为存储在计算设备200中发生的硬件相关活动或事件的计数值或状态。
行为观测器模块202还可以通过监测以下各项来监测计算设备200的活动:软件应用的动作或操作、来自应用下载服务器(例如,App Store服务器)的软件下载、由软件应用使用的计算设备信息、呼叫信息、文本消息信息(例如,SendSMS、BlockSMS、ReadSMS等)、媒体消息信息(例如,ReceiveMMS)、用户帐户信息、位置信息、相机信息、加速计信息、浏览器信息、基于浏览器的通信的内容、基于语音的通信的内容、短距离无线电通信(例如,蓝牙、WiFi等)、基于文本的通信的内容、记录的音频文件的内容、电话簿或联系人信息、联系人列表等。
行为观测器模块202还可以通过监测计算设备200的传输或通信来监测计算设备200的活动,所述传输或通信包括:包括语音邮件(VoiceMailComm)、设备标识符(DeviceIDComm)、用户帐户信息(UserAccountComm)、日历信息(CalendarComm)、位置信息(LocationComm)、记录的音频信息(RecordAudioComm)、加速度计信息(AccelerometerComm)等的通信。
行为观测器模块202还可以通过监测对罗盘信息、计算设备设置、电池寿命、陀螺仪信息、压力传感器、磁体传感器、屏幕活动等的使用和更新/改变来监测计算设备200的活动等。行为观测器模块202可以监测传送至软件应用(AppNotifications)以及从该软件应用传输的通知、应用更新等。行为观测器模块202可以监测与请求进行下载的第一软件应用和/或安装第二软件应用有关的条件或事件。行为观测器模块202可以监测与用户验证有关的条件或事件,诸如输入密码等。
行为观测器模块202还可以通过监测计算设备200的多个等级处的条件或事件(包括应用等级、无线等级和传感器等级)来监测计算设备200的活动。应用等级观测可以包括经由面部识别软件来观测用户、观测社交流、观测由用户输入的注释、观测与使用钱包、和其他类似应用或服务有关的事件。应用等级观测还可以包括观测与虚拟专用网络(VPN)的使用有关的事件以及与同步、语音搜索、语音控制(例如,通过说话来锁定/解锁电话)、语言翻译器、对用于计算的数据的卸载、视频流、在没有用户活动的情况下的相机使用、在没有用户活动情况下的麦克风使用等有关的事件。
无线级观测可以包括确定以下各项中的任意一项或多项的出现、存在或数量:在建立无线电通信链路或传输信息之前与计算设备200的用户交互、双/多用户标识模块(SIM)卡、因特网无线装置、移动电话共享、对卸载用于计算的数据、设备状态通信、用作游戏控制器或家庭控制器、车辆通信、计算设备同步等。无线级观测还可以包括监测对用于定位、对等(p2p)通信、同步、车对车通信和/或机器对机器(m2m)的无线装置(WiFi、WiMax、蓝牙等)的使用。无线等级观测还可以包括监测网络流量的使用、统计或者简档。
传感器等级观测可以包括监测磁传感器或其他传感器以确定计算设备200的使用和/或外部环境。例如,计算设备处理器可以被配置为确定设备是否处于皮套中(例如,经由被配置为感测机箱内的磁体的磁体传感器)中或在用户的口袋中(例如,经由由相机或光传感器检测到的光量)。检测到计算设备200处于皮套中可以与识别可疑行为相关,这是由于例如与用户的主动使用相关的活动和功能(例如,拍摄照片或视频、发送消息、进行语音呼叫、记录声音等等)在计算设备200处于皮套中时发生可以是在设备上执行的恶意进程的标志(例如,对用户跟踪或进行间谍活动)。
与使用或外部环境相关的传感器等级观测的其他示例可以包括:检测NFC信令,从信用卡扫描器、条形码扫描器或移动标签读取器收集信息,检测通用串行总线(USB)电源充电源的存在,检测键盘或辅助设备已经耦合到计算设备200,检测到计算设备200已经耦合到另一计算设备(例如,经由USB等),确定LED、闪光灯、手电筒、或光源已经被修改或禁用(例如,恶意地禁用紧急信号传递的应用程序等),检测扬声器或麦克风已经开启或供电,检测充电或电力事件,检测计算设备200被用作游戏控制器等。传感器等级观测还可以包括从医疗或保健传感器或从扫描用户的身体来收集信息,从插入到USB/音频插孔中的外部传感器收集信息,从触觉或知觉传感器收集信息(例如,经由振动器接口等),收集关于计算设备200的热状态的信息等。
为了将所监测的因素的数量减少到可管理的水平,在一方面中,行为观测器模块202可以被配置为通过监测/观测行为或因素的初始集合来执行粗略观测,所述行为或因素的初始集合是可能有助于计算设备的退化的所有因素的小的子集。在一个方面,行为观测器模块202可以从云服务或网络中的服务器和/或组件接收行为和/或因素的所述初始集合。在一方面,可以在机器学习分类器模型中指定行为和/或因素的所述初始集合。
每个分类器模型可以是包括数据和/或信息结构(例如,特征向量、行为向量、组件列表等)的行为模型,所述数据和/或信息结构可以由计算设备处理器用来评估计算设备的行为的特定特征或方面。每个分类器模型还可以包括用于监测计算设备中的数个特征、因素、数据点、条目、API、状态、条件、行为、应用、过程、操作、组件等(这里统称为“特征”)的决策标准。分类器模型可以预先安装在计算设备上、从网络服务器下载或接收、在计算设备中生成、或其任何组合。分类器模型可以通过使用众包方案、行为建模技术、机器学习算法等来生成。
每个分类器模型可以被分类为全分类器模型或精细分类器模型。全分类器模型可以是作为大训练数据集的函数而生成的鲁棒数据模型,其可以包括数千个特征和数十亿条目。精细分类器模型可以是从简化数据集生成的更集中的(focused)数据模型,其仅包括/测试与确定特定活动是否是正在进行的关键活动和/或特定计算设备行为是否是非良性的最相关的特征/条目。
本地生成的精细分类器模型是在计算设备中生成的精细分类器模型。应用特定分类器模型是包括集中数据模型的分类器模型,其包括/仅测试与评估特定软件应用最相关的特征/条目。应用特定分类器模型是包括集中的数据模型的分类器模型,其仅包括/测试与评估特定软件应用最相关的特征/条目。设备特定分类器模型是包括集中的数据模型的分类器模型,其仅包括/测试被确定为与对特定计算设备中的活动或行为进行分类最相关的计算设备特定特征/条目。
在各个方面中,本申请中讨论的任何或所有分类器模型(例如,完整、本地、设备特定、应用特定等)可以包括或可以是“关键活动的模型”或“可测量组件的模型”。“关键活动的模型”可以是包括/测试与确定活动是否是关键活动最相关的特征/条目的分类器模型,对所述关键活动来说安全性是重要的和/或其易受侧信道攻击。“可测量组件的模型”可以是包括/测试对确定系统中是否存在足够的自然混淆来防御侧信道攻击来说最相关的特征/条目的分类器模型。该模型可以包括各种测量和/或包括适于确定跨多个可测量组件(即,多个传感器、组件等)的混淆的信息。此外,该模型不需要包括、测量、或使用针对被评估的每个传感器的阈值。
参照图2,行为分析器模块204可以被配置为响应于确定所监测的活动或行为是可疑的来通知行为观测器模块202。作为响应,行为观测器模块202可以调整其观测的粒度(即,以其来监测计算设备特征的细节等级)和/或基于从行为分析器模块204接收的信息(例如,实时分析操作的结果)来改变所观测的因素/行为204,生成或收集新的或额外的行为信息,以及将所述新的/额外的信息发送到行为分析器模块204用于进一步分析/分类。行为观测器模块202和行为分析器模块204之间的这种反馈通信使得计算设备200递归地增加观测的粒度(即,做出更精细或更详细的观测)或改变所观测的特征/行为,直到对活动进行了分类、识别了可疑的或性能降级的计算设备行为的源、直到达到了处理或电池消耗门限、或者直到计算设备处理器确定可疑或性能降级的计算设备行为的源不能从观测粒度的进一步增加来识别。这样的反馈通信还使计算设备200能够在计算设备中本地调整或修改分类器模型,而不消耗计算设备的过多量的处理、存储器、或能量资源。
在一个方面,行为观测器模块202和行为分析器模块204可以单独地或共同地提供对计算系统的行为的实时行为分析,以从有限和粗略的观测中识别可疑行为、动态地确定要更详细观测的行为、以及动态地确定观测所需的细节等级。这允许计算设备200在不需要设备上的大量处理器、存储器、或电池资源的情况下有效地识别和防止问题。
在各个方面中,行为观测器模块202和/或行为分析器模块204可以被配置为通过以下各项行为来监测、分析和/或分类活动或行为:识别需要密切监测的关键数据资源,识别与所述关键数据资源相关联的中间资源,监测在访问所述关键数据资源和所述中间资源时由软件应用进行的API调用,识别由所述API调用消耗或产生的计算设备资源,将API调用的模式识别为指示着由软件应用进行的非良性活动,基于所识别的API调用的模式和所识别的计算设备资源来生成轻加权的行为签名,使用所述轻加权的行为签名来执行行为分析操作,以及基于行为分析操作来确定所述软件应用是良性的还是非良性的。
在各个方面中,行为观测器模块202和/或行为分析器模块204可以被配置为通过以下各项操作来监测、分析、和/或分类活动或行为:识别由计算机上执行的软件应用最频繁使用的API,将关于所识别的热API的使用的信息存储在计算设备的存储器中的API日志中,以及基于存储在API日志中的信息执行行为分析操作以识别与正常操作模式不一致的行为。在一个方面,可以生成API日志,使得其被组织成使得跨越对API的调用保持相同的、通用字段的值存储在单独的表中,而特定字段的值对API的每次调用来说是特定的。还可以生成API日志,使得特定字段的值连同散列密钥一起存储在表中,所述散列密钥是针对存储着通用字段的值的单独的表的。
在各个方面中,行为观测器模块202和/或行为分析器模块204可以被配置为通过以下各项操作来监测、分析、和/或分类活动或行为:从服务器接收全分类器模型,该全分类器模型包括适于转换或表达为多个提升的决策树桩的有限状态机;基于所述全分类器在所述计算设备中生成精细分类器模型;以及在所述计算设备中使用所述精细分类器模型,以将所述活动或行为分类为良性的或非良性(即,恶意的、性能降级的等)。在一个方面,基于全分类器模型生成精细分类器模型可以包括:确定应当被评估以在不消耗计算设备的过多量的处理、存储器、或能量资源的情况下对活动或行为进行分类的独特测试条件的数量;通过顺序地遍历提升的决策树桩的列表来生成测试条件的列表,并且将与每个顺序遍历的提升的决策树桩相关联的测试条件插入到测试条件的列表中,直到测试条件的列表包括所确定数量的独特测试条件;以及生成精细分类器模型以仅包括对包括在生成的测试条件列表中的多个测试条件中的一个进行测试的那些提升的决策树桩。
在各种方面中,行为观测器模块202和/或行为分析器模块204可以被配置为通过进行以下各项操作来监测、分析和/或分类活动或行为:使用计算设备的设备特定信息(例如,能力和状态信息)来在与分类所述计算设备的行为相关的多个测试条件中识别设备特定测试条件;生成仅包括所识别的计算设备特定测试条件的精细分类器模型;以及在所述计算设备中使用所生成的精细分类器模型来对所述计算设备的行为进行分类。在一方面中,可以生成精细分类器模型以仅包括对与计算设备的当前操作状态或配置相关的计算设备特征进行评估的决策节点。在一方面,生成精细分类器模型可以包括:确定应当被评估以在不消耗计算设备的过多量的资源(例如,处理、存储器或能量资源)的情况下对行为进行分类的独特测试条件的数量;通过顺序地遍历全分类器模型中的多个测试条件来生成测试条件的列表,并且将与对计算设备的行为进行分类相关的那些测试条件插入到测试条件的列表中,直到测试条件的列表包括所确定数量的独特测试条件;以及生成精细分类器模型以包括全分类器模型中所包括的、对包括在生成的测试条件列表中的测试条件中的一个进行测试的决策节点。
在各个方面中,行为观测器模块202和/或行为分析器模块204可以被配置为通过进行以下各项操作来监测、分析、和/或分类活动或行为:监测软件应用或过程的活动;确定软件应用/过程的操作系统执行状态;以及基于在监测所述活动的期间的、软件应用或过程的操作系统执行状态来确定所述活动是否是关键活动。在另一方面,行为观测器模块202和/或行为分析器模块204可以确定软件应用或过程的操作系统执行状态是否与该活动相关,生成识别在监测所述活动的期间的、软件应用或过程的操作系统执行状态的阴影特征值;生成将该活动与识别操作系统执行状态的阴影特征值相关联的行为向量;以及使用该行为向量来确定活动是否是关键活动和/或非良性的。
在各个方面中,行为观测器模块202和/或行为分析器模块204可以被配置为通过以下各项操作来监测、分析、和/或分类活动或行为:监测软件应用或过程的活动;确定软件应用或过程的“应用和操作系统不可知的”执行状态;以及基于该活动和/或在监测该活动期间软件应用的“应用和操作系统不可知的”执行状态来确定活动是关键活动还是非良性的。在另外的方面中,行为观测器模块202和/或行为分析器模块204可以确定软件应用的“应用和操作系统不可知的”执行状态是否与活动相关,以及生成将该活动与“应用和操作系统不可知的”执行状态进行关联的行为向量,以及使用该行为向量来确定活动是否是关键活动和/或非良性的。计算设备还可以使用该“应用和操作系统不可知的”执行状态来选择分类器模型(例如,应用特定的分类器模型),并且将该行为向量应用于所选择的分类器模型以确定活动是否是关键活动和/或非良性的。
在各种方面中,计算设备200可以被配置为与网络服务器相结合地操作以智能地和有效地识别与确定活动是否是关键活动和/或非良性的最相关的特征、因素和数据点。例如,计算设备200可以被配置为从网络服务器接收全分类器模型,并且使用接收到的全分类器模型来生成对计算设备或计算设备的软件应用的特征和功能来说特定的精细分类器模型(即,数据/行为模型)。计算设备200可以使用全分类器模型来生成不同复杂度(或“精细度”)等级的精细分类器模型的族。可以常规地应用精细分类器模型的最精细的族(即,基于最少量的测试条件的精细分类器模型),直到遇到该模型不能将其分类为良性或非良性的行为(因此,被该模型分类为可疑的),此时,可以应用更鲁棒(即,不那么精细)的精细分类器模型来尝试对该行为进行分类。可以实行对在所生成的精细分类器模型的族内的、更鲁棒的精细分类器模型的应用,直到实现对行为的确定分类。以这种方式,观测器和/或分析器模块可以通过将最完整但是资源密集型的精细分类器模型的使用限制在需要鲁棒的分类器模型来明确地将行为进行分类的情况下,来在效率和精度之间达到平衡。
在各种方面中,计算设备200可以被配置为通过以下操作来生成一个或多个精细分类器模型:将有限状态机表示/表达转换成提升的决策树桩;基于计算设备特定的状态、特征、行为、条件、或配置来删减或剔除提升决策树桩的全子集,以包括全分类器模型中所包括的提升决策树桩的子集或多个子集;以及使用提升决策树桩的子集或多个子集来智能地监测、分析和/或分类计算设备行为。
提升的决策树桩是具有恰好一个节点(并且因此具有一个测试问题或测试条件)和权重值的一级决策树,因此良好地适用于数据/行为的二进制分类。也就是说,将行为向量应用于提升的决策树桩导致二进制回答(例如,是或否)。例如,如果由提升的决策树桩测试的问题/条件是“短消息服务(SMS)传输的频率小于每分钟x吗”,则将值“3”应用于提升的决策树桩将导致“是”回答(对于“小于3”的SMS传输)或“否”回答(对于“3或更多”的SMS传输)
提升的决策树桩是有效的,这是因为它们非常简单和原始(因此不需要显着的处理资源)。提升的决策树桩也是非常可并行化的,并且因此可以并行/同时(例如,由计算设备中的多个核或处理器)应用或测试许多树桩。
在一方面,计算设备200可以被配置为生成精细分类器模型,所述精细分类器模型包括:全分类器模型中所包括的分类器标准的子集,以及仅与计算设备配置、功能和所连接/包含的硬件相关的特征对应的那些分类器标准。计算设备200可以使用该精细分类器模型来仅监测存在于设备或与设备相关的那些特征和功能。随后,计算设备可以基于计算设备的当前状态和配置来周期性地修改或再生成精细分类器模型,以包括或移除各种特征和对应的分类器准则。
举例而言,行为分析器模块204可以被配置为接收大的提升决策树桩分类器模型,所述大的提升决策树桩分类器模型包括与行为模型的完整特征集合(例如,分类器)相关联的决策树桩,并且行为分析器模块204可以通过以下各项操作来从大的分类器模型导出一个或多个精细分类器模型:仅从大的分类器模型选择与计算设备的当前配置、功能、操作状态和/或所连接/包括的硬件相关的特征;以及在精细分类器模型中包括与所选择特征相对应的提升决策树桩的子集。在这方面,对应于与计算设备相关的特征的分类器标准可以是包括在大的分类器模型中的、测试所选择特征中的至少一个的那些提升的决策树桩。随后,行为分析器模块204可以周期性地修改或再生成提升决策树桩精细分类器模型以基于计算设备的当前状态和配置包括或移除各种特征,使得精细分类器模型继续包括应用特定的或设备特定特征提升的决策树桩。
另外,计算设备200还可以动态地生成识别与特定软件应用(钱包)和/或特定类型的软件应用(例如,游戏、导航、金融、新闻、生产等)相关的条件或特征的应用特定分类器模型。在一个方面,可以生成这些分类器模型以包括全分类器模型中所包括的决策节点的降低数量的子集并且更集中的子集,或从接收的全分类器模型生成的精细分类器模型中所包括的那些决策节点的降低数量的子集并且更集中的子集。
在各种方面中,计算设备200可以被配置为针对系统中的每个软件应用和/或系统中每种类型的软件应用生成基于应用的分类器模型。计算设备200还可以被配置为动态地识别高风险或易受滥用的软件应用和/或应用类型(例如,金融应用、销售点应用、生物测定传感器应用等),并且仅针对被识别为高风险或易受滥用的软件应用和/或应用类型生成基于应用的分类器模型。在各个方面,计算设备200可以被配置为动态地、反应性地、主动地和/或在每次安装或更新新应用时生成基于应用的分类器模型。
每个软件应用通常在计算设备上执行多个任务或活动。在计算设备中执行某些任务/活动的特定执行状态可以是行为或活动是否值得额外的或更仔细的审查,监测和/或分析以确定其是否是可能易受侧信道攻击的关键活动的强指示符。因此,在各个方面中,计算设备200可以被配置为使用识别执行某些任务/活动的实际执行状态的信息,以集中其行为监控和分析操作,并且更好地确定活动是否是关键活动和/或活动是否是非良性的。
在各个方面中,行为观测器模块202和/或行为分析器模块204可以被配置为将由软件应用执行的活动/任务与执行那些活动/任务的执行状态相关联。例如,行为观测器模块202可以被配置为生成行为向量,该行为向量包括从监测在列出了执行状态与其相关的、软件的特征、活动或操作(例如,位置访问、SMS读取操作、传感器访问等)的子向量或数据结构中所装配的组件而收集的行为信息。在一个方面,该子向量/数据结构可以与识别所观测到每个特征/活动/操作的执行状态的阴影特征值子向量/数据结构相关联地存储。举例而言,行为观测器模块202可以生成包括“location_background”数据字段的行为向量,其值标识软件应用在后台状态操作时访问位置信息的次数或速率。这允许行为分析器模块204独立于计算设备的其他观测/监测的活动和/或与其并行地分析该执行状态信息。以这种方式生成行为向量还允许系统随时间推移来聚集信息(例如,频率或速率)。
在各种方面中,行为观测器模块202和/或行为分析器模块204可以被配置为生成行为向量以包括以下信息:其可以输入至机器学习分类器中的决策节点以生成对关于所监测的活动的询问的回答。
在各个方面中,行为观测器模块202和/或行为分析器模块204可以被配置为生成行为向量以包括对所观测/监测的行为的简明定义。行为向量可以以值或向量数据结构(例如,以数字串的形式等)来简洁地描述计算设备、软件应用、或过程的所观测的行为。行为向量还可以用作使计算设备系统能够快速识别、标识、和/或分析计算设备行为的标识符。
在各个方面中,行为观测器模块202和/或行为分析器模块204可以被配置为生成行为向量以包括多个或一系列数字,每个数字表示或表征计算设备200的特征、活动或行为。例如,包括在行为向量中的数字可以表示计算设备的相机是否正在使用(例如,表示为0或1)、已经从计算设备200发送或由计算设备200生成了多少网络业务(例如,20KB/秒等)、已经传输了多少互联网消息(例如,SMS消息的数量等)等。在一个方面,行为向量可以封装一个或多个“行为特征”。每个行为特征可以是表示所观测的行为或动作的全部或一部分的抽象数字。行为特征可以对计算设备的硬件或软件配置是不可知的。
在各个方面中,行为观测器模块202和/或行为分析器模块204可以被配置为生成行为向量以包括执行信息。执行信息可以被包括在行为向量中作为行为的一部分(例如,相机在3秒内由后台进程使用5次,相机在3秒内由前台进程使用3次等)或作为独立特征的一部分。在一方面,执行状态信息可以被包括在行为向量中作为阴影特征值子向量或数据结构。在一方面中,行为向量可以存储与执行状态相关的特征、活动、任务相关联的阴影特征值子向量/数据结构。
图3示出了生成可由计算设备用来确定是否执行混淆操作的分类器模型的方面方法300。方法300可以由计算设备200的处理核执行。
在框302中,处理核可以接收或生成包括大量决策节点338的全分类器模型352。在各个方面,全分类器模型352可以是(或可以包括)可测量组件的模型、关键活动的模型、或其组合。决策节点338可以共同地识别、描述、测试、或评估与确定以下各项相关的所有或许多特征和数据点:活动是否是正在进行的关键活动、在正在进行的关键活动期间是否存在足够的自然混淆来防止侧信道攻击、和/或设备行为是否是非良性的(即,有助于随着时间推移计算设备的性能或功耗特性降低)。例如,在框302中,处理核可以生成包括对四十(40)个独特条件或特征进行测试的一百(100)个决策节点338的全分类器模型352。
在一方面,决策节点338可以是决策树桩(例如,提升的决策树桩等)。每个决策树桩可以是具有测试一个条件或特征的一个节点的一级决策树。由于在决策树桩中只有一个节点,因此将特征向量应用于决策树桩导致二进制回答(例如,是或否、恶意或良性等)。例如,如果由决策树桩338b测试的条件是“SMS传输的频率小于每分钟x吗”,则将值“3”应用于决策树桩338b将导致“是”回答(对于“小于3”的SMS传输)或“否”回答(对于“3或更多”的SMS传输)。随后,可以使用该二进制“是”或“否”回答来将结果分类为指示该行为是恶意/非良性(M)还是良性(B)。由于这些树桩是非常简单的评估(基本上是二进制的),因此用于执行每个树桩的处理是非常简单的,并且可以以较少的处理开销快速地和/或并行地完成。
在一个方面,每个决策节点338可以与权重值相关联,所述权重值指示从回答测试问题获得多少知识和/或回答测试条件将使处理核能够确定设备行为是否是良性的可能性。与决策节点338相关联的权重可以是基于从对计算设备200中的活动、行为、软件应用、或过程的先前观测或分析收集的信息来计算的。在一个方面,与每个决策节点338相关联的权重还可以是基于数据的语料库的多少单位(例如,数据或行为向量的云语料库)被用于构建该节点来计算的。在一方面,权重值可以是基于从对先前数据/行为模型或分类器的执行/应用收集的准确度或性能信息来生成的。
在框304中,处理核可以生成精细分类器模型354,所述精细分类器模型354包括全分类器模型352中包括的、决策节点338的集中子集。在各个方面,精细分类器模型354可以是(或可以包括)可测量组件的模型、关键活动的模型或其组合。作为用于在框304中生成精细分类器模型354的操作的一部分,处理核可以执行特征选择操作,这可以包括:生成包括在全分类器模型352中的决策节点338的有序列表或排列优先级的列表;确定应当被评估以在不消耗计算设备的过多量的处理、存储器、或能量资源的情况下对行为进行分类的独特测试条件的数量;通过顺序地遍历决策节点338的有序/排列优先级的列表来生成测试条件的列表,并且将与每个顺序遍历的决策节点338相关联的测试条件插入到测试条件的列表中,直到测试条件的列表包括所确定数量的独特测试条件;以及生成优选地或排他地包括决策节点338的信息结构,所述决策节点338测试包括在生成的测试条件列表中的测试条件中的一个。在一方面,处理核可以生成分类器模型的族,使得分类器模型的族中的每个模型354评估不同数量的独特测试条件和/或包括不同数量的决策节点。
在框306中,处理核可以修整、剔除、或删减包括在精细分类器模型354之一中的决策节点(即,提升的决策树桩),以生成应用特定的分类器模型356,所述分类器模型356优选地或排他地包括精细分类器模型354中的、通过以下各项操作来测试或评估与特定软件应用(即,钱包)相关的条件或特征的决策节点:例如通过丢弃对API进行寻址或未被应用调用或调用的或函数的决策节点,以及丢弃与未被应用访问或修改的设备资源有关的决策节点。在一方面,处理核可以通过执行特征选择和剔除操作来生成应用特定的分类器模型356。
在各种方面中,处理核可以通过评估软件应用的操作系统、文件、和/或访问权限,通过评估应用的API使用等,基于与软件应用相关联的标签信息、对应用执行静态分析操作的结果、对应用执行安装时间分析结果,来标识用于包括在应用特定分类器模型356中的决策节点338。在一方面,标记信息可以将活动、活动的类型、软件应用、或软件应用的类型标识为易受侧信道攻击的关键活动(或与其相关联)。处理核还可以通过读取与软件应用相关联的应用商店标签、通过执行静态分析操作、和/或通过将软件应用与其他类似的软件应用相比较,来确定每个软件应用的类别、类型或分类,和/或标识要包括在应用特定分类器模型356中的决策节点338。
在一个方面,在框306中,处理核可以生成多个应用特定分类器模型356,每个模型评估不同的软件应用。在各个方面中,应用特定分类器模型356可以是(或可以包括)可测量组件的模型、关键活动的模型或其组合。在一方面,处理核可以为系统中的每个软件应用生成应用特定分类器模型356和/或使得在该计算上运行的每个应用具有其自己的活动分类器。在一个方面,在框306中,处理核可以生成应用特定分类器模型356的族,并且应用特定分类器模型356的族中的每个应用特定分类器模型356可以评估不同组合或数量的、与单个软件应用相关的功能。
在框308中,处理核可以生成多个设备特定分类器模型358,每个设备特定分类器模型358评估与计算设备200的当前操作状态、类型、或配置相关的设备特定特征。在各种方面,设备特定分类器模型358可以是(或可以包括)可测量组件的模型、关键活动的模型、或其组合。作为用于在框308中生成设备特定分类器模型358的操作的一部分,处理核可以进行以下操作:确定应当被评估以在不消耗计算设备的过多量的处理、存储器或能量资源的情况下对活动或行为进行分类的独特测试条件的数量;通过顺序地遍历精细分类器模型354中的多个测试条件来生成测试条件的列表,并且将与对行为或活动进行分类有关的那些测试条件插入到测试条件的列表中,直到测试条件的列表包括所确定数量的独特测试条件;以及生成设备特定的分类器模型358,所述分类器模型358包括精细分类器模型354中的、测试包括在所生成的测试条件列表中的一个测试条件的决策节点。
在框310中,处理核可以使用本地生成的分类器模型354、356、358中的一个或其任何组合来执行实时行为监测和分析操作,并且预测复杂计算设备行为是否是良性的、当前活动是否是关键活动、和/或是否存在足够的自然混淆来防止侧信道攻击。在一方面,计算设备可以被配置为并行地使用或应用多个分类器模型354、356、358。在一方面,相比于从应用/使用精细分类器模型354生成的结果,处理核可以对应用/使用基于应用的分类器模型356和设备特定的分类器模型358生成的结果给予优选或优先。
通过在计算设备中本地动态生成分类器模型以考虑应用和设备特定的特征和/或功能,各个方面允许计算设备将其监测操作集中在对于确定是否执行混淆操作来说最重要的小数量特征。此外,通过使用实时行为监测和分析来应用包括可测量组件和关键活动的模型的分类器模型,各种方面允许计算设备智能地确定是否在不执行大量额外操作的情况下执行混淆操作。这提高了计算设备的性能和功耗特性,并且允许计算设备在不消耗过多量的其处理、存储器或能量资源的情况下连续地或接近连续地执行实时行为监测和分析操作。
图4示出了确定是否执行混淆操作的方面方法400。方法400可以由计算设备(诸如移动计算设备)的处理核来执行。
在框402中,处理核可以例如通过执行上面参照图2讨论的行为观测器模块202的任何操作来监测计算设备的活动。在框404中,处理核可以生成表征所监测的活动的行为向量。在框406中,处理核可以将所生成的行为向量应用于分类器模型,分类器模型可以是或可以包括关键活动的模型。在确定框408中,处理核可以确定所监测的活动是否是关键活动。在一方面,将所生成的行为向量应用于分类器模型并确定所监测的活动是否是关键活动的操作可以由上面参照图2讨论的行为分析器模块204执行。在一个方面,在框406和408中,行为分析器模块204可以执行本申请中讨论的任何或全部行为分析操作。
响应于确定所监测的活动不是关键活动(即,确定框408=“否”),处理核可以在框402中继续监测计算设备的活动。响应于确定所监测的活动活动是关键活动(即,确定框408=“是”),则处理核可以在确定框410中确定所监测的活动是否是正在进行的活动和/或可能在不久的将来被执行。
响应于确定所监测的活动不是正在进行的活动(即,确定框410=“否”),处理核可以在框402中继续监测计算设备的活动。响应于确定所监测的活动活动是正在进行的活动(即,确定框410=“是”),则在框412中,处理核可以确定计算设备易受侧信道攻击和/或需要混淆,并且执行在本申请中讨论或本领域中已知的任何或全部混淆操作。
图5示出了确定是否执行混淆操作的另一方面方法500。方法500可以由计算设备(诸如移动计算设备)的处理核执行。在一方面,方法500可以在上文参考图4描述的方法400之后执行。
在图5的框502中,处理核可以监测由计算设备的可测量组件产生或将要产生的自然混淆的等级。在框504中,处理核可以生成表征自然混淆的行为向量。在框506中,处理核可以将行为向量应用于分类器模型,分类器模型可以是或可以包括可测量组件的模型。在确定框508中,处理核可以确定系统中在执行关键活动期间是否存在(或将存在)足够的自然混淆来防御计算设备遭受侧信道攻击。响应于确定系统中存在(或将存在)足够的自然混淆来防御计算设备遭受侧信道攻击(即,确定框508=“是”),处理核可以在框502中继续监测自然混淆。响应于确定不存在足够的自然混淆(即,确定框508=“否”),处理核在框510中执行混淆操作。
图6示出了确定是否执行混淆操作的另一方面方法600。方法600可以由计算设备(诸如移动计算设备)的处理核执行。
在框602中,处理核可以监测计算设备的当前活动或预测的未来活动,以及在该活动期间由计算设备的可测量组件产生或将要产生的自然混淆的等级。在框604中,处理核可以生成表征所监测的活动和与该活动相关联的自然混淆的行为向量。在框606中,处理核可以将行为向量应用于一个或多个分类器模型,所述分类器模型可以包括关键活动的模型和关键组件的模型。
在确定框608中,处理核可以确定所监测的活动是否是正在进行的关键活动。响应于确定所监测的活动不是正在进行的关键活动(即,确定框608=“否”),处理核可以在框602中继续监测活动和/或混淆等级。响应于确定所监测的活动是正在进行的关键活动(即,确定框608=“是”),则在确定框610中,处理核可以确定系统中在执行关键活动期间是否存在足够的混淆来防止侧信道攻击。响应于确定系统中存在足够的混淆来防止侧信道攻击(即,确定框610=“是”),处理核可以在框602中继续监测活动和/或混淆等级。响应于确定在系统中不存在足够防止侧信道攻击的混淆(即,确定框610=“否”),则处理核可以在框612中执行混淆操作。
图7示出了使用精细分类器模型来对移动设备的行为进行分类的方面方法700。方法700可以由计算设备(诸如移动计算设备)中的处理核执行。
在框702中,处理核可以执行观测以从装配在移动设备系统的各个等级处各种组件收集行为信息。在一方面,这可以经由上面参考图2讨论的行为观测器模块202来实现。
在框704中,处理核可以生成表征所述观测、所收集的行为信息、和/或移动设备行为的行为向量。在框706中,处理核可以使用从网络服务器接收的全分类器模型来生成精细分类器模型或者具有不同复杂度(或“精细性”)的精细分类器模型的族。为了实现这一点,处理核可以剔除包括在全分类器模型中的提升决策树桩的族,以生成包括降低数量的提升决策树桩和/或评估有限数量的测试条件的精细分类器模型。
在框708中,处理核可以选择精细分类器模型的族中尚未被由移动设备评估或应用的最精细的分类器(即,基于最少数量的不同移动设备状态、特征、行为或条件的模型)。在一方面,这可以通过处理核在分类器模型的有序列表中选择第一分类器模型来实现。
在框710中,处理核可以将所收集的行为信息或行为向量应用于所选择的精细分类器模型中的每个提升的决策树桩。因为提升的决策树桩是二进制决策,并且精细分类器模型是通过选择基于相同测试条件的许多二进制决策来生成的,所以将行为向量应用于精细分类器模型中的提升的决策树桩的过程可以是以并行操作来执行的。或者,可以对在框708中应用的行为向量进行截断或过滤,以仅包括有限数量的、包括在精细分类器模型中的测试条件参数,从而进一步减少在对模型进行应用时的计算工作量。
在框712中,处理核可以计算或确定将所收集的行为信息应用于精细分类器模型中的每个提升决策树桩的结果的加权平均。在框714中,处理核可以将所计算的加权平均与指示所观测的行为可能是良性还是非良性和/或可能是关键活动还是非关键活动的门限值或值进行比较。换句话说,在框714中向加权平均结果所应用的门限可以由处理核使用以确定是否可以使用所应用的精细分类器模型来进行临界或威胁的严格分类。
在确定框716中,处理核可以确定该比较的结果和/或通过应用所选择的精细分类器模型而生成的结果是否能够将活动分类为关键的或不关键的,或者将行为分类为良性或是非良性的(换句话说,可疑的)。如果处理核确定该结果不能将活动分类为关键的或非关键的,或者行为是可疑的(即,确定框716=“否”),则处理核可以重复框708到框714中的操作,以选择和应用评估更多的设备状态、特征、行为或条件的更强(即,不太精细)的分类器模型,直到行为在具有高置信度情况下被分类为恶意的或良性的。换句话说,在框714和确定框716中的操作中,处理核可以确定如果不使用更强的精细分类器模型来重复该分析,应用精细分类器的结果是否可以用于在具有高置信度情况下将活动分类为关键或非关键的和/或将行为分类为恶意或良性的。
如果处理核确定该结果使得处理核能够在具有高置信度的情况下将活动分类为关键的或非关键的和/或将行为分类为恶意的或良性的(即,确定框716=“是”),则在框718中,处理核可以使用在框714中生成的比较结果来将活动分类为关键或非关键的以便评估对混淆动作的需要,和/或将移动设备的行为分类为良性或潜在恶意的以便采取纠正动作。
在可替换的方面方法中,上述操作可以通过顺序地进行以下操作来完成:对尚未处于精细分类器模型中的提升的决策树桩进行选择;识别取决于与所选择的决策树桩相同的移动设备状态、特征、行为、或状况(并且因此可以基于一个确定结果来应用)的所有其他提升的决策树桩;将所选择的和所有所识别的取决于相同的移动设备状态、特征、行为、或状况的和所有识别的其他提升决策树桩包括在所述精细分类器模型中;以及重复所述过程一定次数,所述次数等于所确定的测试条件的数量。由于每一次将取决于与所选择的提升决策树桩相同的测试条件的所有提升决策树桩添加到精细分类器模型,因此限制执行该过程的次数将限制包括在精细分类器模型中的测试条件的数量。
如上所述,将活动分类为非关键的(在这种情况下,混淆动作是不必要的)或关键的(在这种情况下,可以进行对混淆动作的需要的确定)以用于抵抗侧信道攻击的操作可以使用相同或相似的行为分析过程来实现,所述相同或相似的行为分析过程用于监测设备行为以识别非良性(例如,恶意或性能降级)的行为以便采取纠正动作。如上面参考图6所讨论的,方法600示出了用于识别采取防御动作的潜在性以及采取防御动作来防止侧信道攻击的操作。图8示出了用于执行动态和自适应观测以识别和纠正非良性(例如,恶意的或性能降级的)行为的方面方法800。
参照图8,方法800可以由计算设备(诸如移动计算设备)中的处理核执行。在框802中,处理核可以通过监测/观测可能有助于计算设备随着时间推移而降低的大量因素/行为的子集来执行粗略观测。在框804中,处理核可以基于该粗略观测来生成表征该粗略观测和/或计算设备行为的行为向量。在框806中,处理核可以识别与可能潜在地有助于计算设备的降级的粗略观测相关联的子系统、过程、和/或应用。这可以例如通过将从多个源接收的信息与从计算设备的传感器接收的上下文信息进行比较来实现。在框808中,处理核可以基于粗略观测来执行行为分析操作。在一方面,作为框804和框806的一部分,处理核可以执行上面参考图2到图7讨论的操作中的一个或多个。
在确定框810中,处理核可以基于行为分析的结果来确定是否可以识别和纠正可疑行为或潜在问题。当处理核确定可以基于行为分析的结果来识别和纠正可疑行为或潜在问题时(即,确定框810=“是”),在框820中,处理核可以发起操作来纠正该行为并返回到框802以执行额外的粗略观测。
当处理核基于行为分析的结果来确定不能识别和/或纠正可疑行为或潜在问题时(即,确定框810=“否”),在确定框812中,处理核可以确定是否存在问题的可能性。在一方面,处理核可以通过计算该计算设备遭遇潜在问题和/或参与可疑行为的概率,以及确定所计算的概率是否大于预定门限,来确定存在问题的可能性。当处理核确定所计算的概率不大于预定门限和/或不存在可疑行为或潜在问题存在和/或可检测到的可能性(即,确定框812=“否”)时,处理器可以返回到框802以执行额外的粗略观测。
当处理核确定存在可疑行为或潜在问题存在和/或可检测到的可能性(即,确定框812=“是”)时,在框814中,处理核可以执行对所识别的子系统、过程或应用的更深的记录(logging)/观测或最终记录。在框816中,处理核可以对所识别的子系统、过程或应用执行更精细、更深和更详细的观测。在框818中,处理核可以基于更深和更详细的观测来执行进一步和/或更深的行为分析。在确定框810中,处理核可以再次确定是否可以基于更深的行为分析的结果来识别和纠正可疑行为或潜在问题。当处理核确定不能基于更深的行为分析的结果来识别和纠正可疑行为或潜在问题时(即,确定框810=“否”),处理器可以重复框812到框818中的操作,直到细节等级足够详细以识别问题或直到确定问题不能用利用额外的细节来识别或不存在问题。
在一个方面,作为方法800的框802到框818的一部分,处理核可以执行对系统行为的实时行为分析,以根据有限和粗略的观测来识别可疑行为,动态地确定要更详细观测的行为,并且动态地确定该观测所需的精确的细节等级。这使得处理核心能够有效地识别和防止问题发生,而不需要在设备上使用大量的处理器、存储器或电池资源。
各种方面可以在各种计算设备上实现,其示例在图9中示出。具体地,图9是适于与任何方面一起使用的以智能手机/蜂窝电话900形式的移动计算设备的系统框图。蜂窝电话900可以包括耦合到内部存储器904、显示器906和扬声器908的处理器902。另外,蜂窝电话900可以包括天线910和/或蜂窝电话收发器912,所述天线910用于发送和接收电磁辐射,其可以连接到无线数据链路,所述蜂窝电话收发器912耦合到处理器902。蜂窝电话900通常还包括用于接收用户输入的菜单选择按钮或摇杆开关914。
典型的蜂窝电话900还包括声音编码/解码(CODEC)电路916,其将从麦克风接收的声音数字化为适合于无线传输的数据分组,并解码接收的声音数据分组以生成提供给生成声音的扬声器的模拟信号908。另外,处理器902、无线收发器912和CODEC 916中的一个或多个可以包括数字信号处理器(DSP)电路(未单独示出)。蜂窝电话900还可以包括用于无线设备之间的低功率短距离通信的ZigBee收发器(即,IEEE 802.15.4收发器)、或者其他类似的通信电路(例如,实现或WiFi协议的电路等)。
上述的方面和网络服务器还可以在各种商业可用的服务器设备中实现,其例如图10中所示的服务器1000。这种服务器1000通常包括耦合到易失性存储器1002和大容量非易失性存储器(例如磁盘驱动器1003)的处理器1001。服务器1000还可以包括耦合到处理器1001的软盘驱动器、压缩光盘(CD)或DVD盘驱动器1004。服务器1000还可以包括耦合到处理器1001的网络接入端口1006,以用于建立与网络1005的数据连接,所述网络1005的诸如耦合到其他通信系统计算机和服务器的局域网。
处理器902、1001可以是可由软件指令(应用)配置以执行各种功能(包括下面描述的各个方面的功能)的任何可编程微处理器、微计算机或多处理器芯片或多个芯片。在一些移动设备中,可以提供多个处理器902,例如专用于无线通信功能的一个处理器和专用于运行其他应用的一个处理器。通常,软件应用可以在它们被访问并加载到处理器102、1001之前存储在内部存储器904、1002中。处理器902、1001可以包括足以存储应用软件指令的内部存储器。在一些服务器中,处理器1001可以包括足以存储应用软件指令的内部存储器。在一些接收机设备中,安全存储器可以是耦合到处理器1001的单独的存储器芯片。内部存储器904、1002可以是易失性或非易失性存储器(例如闪存)或两者的混合。出于本描述的目的,对存储器的一般引用是指可由处理器902、1001访问的所有存储器,其包括内部存储器904、1002,插入到设备中的可移除存储器,以及处理器902、1001本身内的存储器。
前述方法描述和过程流程图仅是作为说明性示例来提供的,并且不旨在要求或暗示各个方面的步骤必须以所呈现的顺序执行。如本领域技术人员将理解的,前述方面中的步骤的顺序可以以任何顺序执行。诸如“之后”、“然后”、“接下来”等词语不旨在限制步骤的顺序;这些词语仅仅用于贯穿对方法的描述来引导读者。此外,以单数形式对权利要求要素的任何引用,例如使用冠词“一”、“一个”或“所述”的引用不是要解释为将该要素限制为单数。
结合本文中公开的各方面所描述的各种示例性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或二者的组合。为了清楚地表示硬件和软件的这种可交换性,上面对各种示例性的组件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于具体的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个具体应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为导致背离本发明的保护范围。
可以利用被设计为执行本文中所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意组合,来实现或执行用于实现结合本文所公开的各方面所描述的各种示例性逻辑器件、逻辑框、模块和电路的硬件。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。或者,一些步骤或方法可以由特定于给定功能的电路执行。
在一个或多个示例性方面中,所描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将这些功能作为一个或多个指令或代码存储在非临时性计算机可读介质中或者非临时性处理器可读介质中。本文公开的方法或算法的步骤可以体现在可以驻留在非暂时性计算机可读或处理器可读存储介质上的处理器可执行软件模块中。非暂时性计算机可读或处理器可读存储介质可以是计算机或处理器能够存取的任何存储介质。通过示例的方式而不是限制的方式,这种非临时性计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪存、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质。如本文中所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上面的组合也应当包括在非临时性计算机可读和处理器可读介质的保护范围之内。另外,方法或算法的操作可以作为代码和/或指令的一个组合或任何组合或集合驻留在非暂时性处理器可读介质和/或计算机可读介质上,其可以并入计算机程序产品。
为使本领域任何技术人员能够进行或使用本发明,提供了对所公开的各个方面的之前描述。对于本领域技术人员来说,对这些方面的各种修改将是显而易见的,并且,本文中定义的一般原理可以在不脱离本发明的精神或范围的情况下应用于其它方面。因此,本发明不旨在受限于本文所示的各方面,而是要符合与所附权利要求以及本文公开的原理和新颖特征相一致的最宽范围。
Claims (27)
1.一种保护计算设备免受侧信道攻击的方法,包括:
在所述计算设备的处理器中执行行为分析操作以确定所述计算设备是否易受侧信道攻击,所述行为分析操作包括:
监测所述计算设备的活动以收集行为信息;
生成用于表征所收集的行为信息的行为向量;以及
向分类器模型应用所生成的行为向量以生成结果,所述分类器模型包括其每一个对所述计算设备的特定特征进行评估的决策节点;
响应于确定所述计算设备易受侧信道攻击,使用执行所述行为分析操作的所述结果来确定所述计算设备的对侧信道攻击的易受损害性的严重性;
基于所确定的、所述计算设备的对侧信道攻击的易受损害性的严重性,确定是否需要混淆;
响应于确定需要混淆,基于所确定的、所述计算设备的对侧信道攻击的易受损害性的严重性来选择混淆操作;以及
执行所选择的混淆操作来保护所述计算设备免受所述侧信道攻击。
2.根据权利要求1所述的方法,其中,执行所述行为分析操作还包括:
确定所监测的活动是否是正在进行的关键活动。
3.根据权利要求2所述的方法,其中,确定是否需要混淆包括:
监测由所述计算设备产生的自然混淆的当前等级;以及
确定在所述正在进行的关键活动期间是否存在足够的自然混淆来防止侧信道攻击。
4.根据权利要求1所述的方法,还包括确定所监测的活动是否被标记为所述分类器模型中的关键活动。
5.根据权利要求1所述的方法,其中:
确定是否需要混淆包括:向可测量资源分类器模型应用行为向量以确定所述计算设备的自然混淆等级;以及
执行所选择的混淆操作包括:响应于确定所确定的自然混淆等级不够高而不能防止在关键活动期间的侧信道攻击来执行所选择的混淆操作。
6.根据权利要求1所述的方法,其中,执行所选择的混淆操作包括:增加所述计算设备的噪声基底。
7.根据权利要求6所述的方法,其中,增加所述计算设备的所述噪声基底包括:激活生成噪声信号的硬件组件。
8.根据权利要求6所述的方法,其中,增加所述计算设备的所述噪声基底包括:与所述计算设备中的所测量的自然混淆的等级相称地来增加所述噪声基底。
9.根据权利要求1所述的方法,其中,执行所述行为分析操作包括:与行为分析操作并行地执行所述行为分析操作,以确定所述计算设备的行为是否是非良性的。
10.一种计算设备,包括:
处理器,其配置有用于执行包括以下各项的操作的处理器可执行指令:
执行行为分析操作以确定所述计算设备是否易受侧信道攻击,所述行为分析操作包括:
监测所述计算设备的活动以收集行为信息;
生成用于表征所收集的行为信息的行为向量;以及
向分类器模型应用所生成的行为向量以生成结果,所述分类器模型包括其每一个对所述计算设备的特定特征进行评估的决策节点;
响应于确定所述计算设备易受侧信道攻击,使用执行所述行为分析操作的所述结果来确定所述计算设备的对侧信道攻击的易受损害性的严重性;
基于所确定的、所述计算设备的对侧信道攻击的易受损害性的严重性来确定是否需要混淆;
响应于确定需要混淆,基于所确定的、所述计算设备的对侧信道攻击的易受损害性的严重性来选择混淆操作;以及
执行所选择的混淆操作来保护所述计算设备免受所述侧信道攻击。
11.根据权利要求10所述的计算设备,其中:
所述处理器配置有处理器可执行指令以执行操作以使得执行所述行为分析操作还包括确定所监测的活动是否是正在进行的关键活动。
12.根据权利要求11所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得确定是否需要混淆包括:
监测由所述计算设备产生的自然混淆的当前等级;以及
确定在所述正在进行的关键活动期间是否存在足够的自然混淆来防止侧信道攻击。
13.根据权利要求10所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行还包括确定所监测的活动是否被标记为所述分类器模型中的关键活动的操作。
14.根据权利要求10所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得:
确定是否需要混淆包括向可测量资源分类器模型应用行为向量以确定所述计算设备的自然混淆等级;以及
执行所选择的混淆操作包括响应于确定所确定的自然混淆等级不够高而不能防止在关键活动期间的侧信道攻击来执行所选择的混淆操作。
15.根据权利要求10所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得执行所选择的混淆操作包括响应于确定需要混淆来增加所述计算设备的噪声基底。
16.根据权利要求15所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得增加所述计算设备的所述噪声基底包括激活生成噪声信号的硬件组件。
17.根据权利要求15所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得增加所述计算设备的所述噪声基底包括与所述计算设备中的所测量的自然混淆的等级相称地来增加所述噪声基底。
18.根据权利要求10所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操作,使得执行所述行为分析操作包括与行为分析操作并行地执行所述行为分析操作,以确定所述计算设备的行为是否是非良性的。
19.一种具有存储在其上的处理器可执行软件指令的非暂时性计算机可读存储介质,所述处理器可执行软件指令被配置为使处理器执行用于保护计算设备免受侧信道攻击的操作,所述操作包括:
执行行为分析操作以确定所述计算设备是否易受侧信道攻击,所述行为分析操作包括:
监测所述计算设备的活动以收集行为信息;
生成用于表征所收集的行为信息的行为向量;以及
向分类器模型应用所生成的行为向量以生成结果,所述分类器模型包括其每一个对所述计算设备的特定特征进行评估的决策节点;
响应于确定所述计算设备易受侧信道攻击,使用执行所述行为分析操作的所述结果来确定所述计算设备的对侧信道攻击的易受损害性的严重性;
基于所确定的、所述计算设备的对侧信道攻击的易受损害性的严重性,确定是否需要混淆;
响应于确定需要混淆,基于所确定的、所述计算设备的对侧信道攻击的易受损害性的严重性来选择混淆操作;以及
执行所选择的混淆操作来保护所述计算设备免受所述侧信道攻击。
20.根据权利要求19所述的非暂时性计算机可读存储介质,其中:
所存储的处理器可执行软件指令被配置为使处理器执行操作以使得执行所述行为分析操作还包括确定所监测的活动是否是正在进行的关键活动的。
21.根据权利要求20所述的非暂时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得确定是否需要混淆包括:
监测由所述计算设备产生的自然混淆的当前等级;以及
确定在正在进行的关键活动期间是否存在足够的自然混淆来防止侧信道攻击。
22.根据权利要求19所述的非暂时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行还包括确定所监测的活动是否被标记为所述分类器模型中的关键活动操作。
23.根据权利要求19所述的非暂时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得:
确定是否需要混淆包括向可测量资源分类器模型应用行为向量以确定所述计算设备的自然混淆等级;以及
执行所选择的混淆操作包括响应于确定所确定的自然混淆等级不够高而不能防止在关键活动期间的侧信道攻击来执行所选择的混淆操作。
24.根据权利要求19所述的非暂时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得执行所选择的混淆操作包括:响应于确定需要混淆来增加所述计算设备的噪声基底。
25.根据权利要求24所述的非暂时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得增加所述计算设备的所述噪声基底包括激活生成噪声信号的硬件组件。
26.根据权利要求19所述的非暂时性计算机可读存储介质,其中,所存储的处理器可执行软件指令被配置为使处理器执行操作,使得执行所述行为分析操作包括与行为分析操作并行地执行所述行为分析操作,以确定所述计算设备的行为是否是非良性的。
27.一种计算设备,包括:
用于执行行为分析操作以确定所述计算设备是否易受侧信道攻击的单元,所述用于执行行为分析操作的单元包括:
用于监测所述计算设备的活动以收集行为信息的单元;
用于生成用于表征所收集的行为信息的行为向量的单元;以及
用于向分类器模型应用所生成的行为向量以生成结果的单元,所述分类器模型包括其每一个对所述计算设备的特定特征进行评估的决策节点;
用于响应于确定所述计算设备易受侧信道攻击,使用执行所述行为分析操作的所述结果来确定所述计算设备的对侧信道攻击的易受损害性的严重性的单元;
用于基于所确定的、所述计算设备的对侧信道攻击的易受损害性的严重性来确定是否需要混淆的单元;
用于响应于确定需要混淆,基于所确定的、所述计算设备的对侧信道攻击的易受损害性的严重性来选择混淆操作的单元;以及
用于执行所选择的混淆操作来保护所述计算设备免受所述侧信道攻击的单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/312,939 US9509707B2 (en) | 2014-06-24 | 2014-06-24 | Methods and systems for thwarting side channel attacks |
US14/312,939 | 2014-06-24 | ||
PCT/US2015/035997 WO2015200044A1 (en) | 2014-06-24 | 2015-06-16 | Methods and systems for thwarting side channel attacks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106415580A CN106415580A (zh) | 2017-02-15 |
CN106415580B true CN106415580B (zh) | 2018-03-02 |
Family
ID=53490298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580033880.5A Expired - Fee Related CN106415580B (zh) | 2014-06-24 | 2015-06-16 | 阻止侧信道攻击的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9509707B2 (zh) |
EP (1) | EP3161711B1 (zh) |
JP (1) | JP6174827B1 (zh) |
CN (1) | CN106415580B (zh) |
WO (1) | WO2015200044A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI844836B (zh) | 2021-09-27 | 2024-06-11 | 新唐科技股份有限公司 | 電源供應裝置、方法與安全系統 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9774614B2 (en) | 2014-06-24 | 2017-09-26 | Qualcomm Incorporated | Methods and systems for side channel analysis detection and protection |
US9842209B2 (en) * | 2015-05-08 | 2017-12-12 | Mcafee, Llc | Hardened event counters for anomaly detection |
FR3048529B1 (fr) * | 2016-03-01 | 2018-03-23 | Ingenico Group | Procede de modulation d'acces a une ressource, dispositif et programme correspondant |
US10097572B1 (en) * | 2016-06-07 | 2018-10-09 | EMC IP Holding Company LLC | Security for network computing environment based on power consumption of network devices |
US10419931B1 (en) | 2016-08-25 | 2019-09-17 | EMC IP Holding Company LLC | Security for network computing environment using centralized security system |
US10091231B1 (en) * | 2016-09-15 | 2018-10-02 | Symantec Corporation | Systems and methods for detecting security blind spots |
US10542039B2 (en) * | 2017-02-08 | 2020-01-21 | Nicira, Inc. | Security against side-channel attack in real-time virtualized networks |
CN107577943B (zh) * | 2017-09-08 | 2021-07-13 | 北京奇虎科技有限公司 | 基于机器学习的样本预测方法、装置及服务器 |
KR101879809B1 (ko) * | 2017-09-19 | 2018-08-16 | 국민대학교산학협력단 | 부채널 분석에 안전한 연산 장치 및 방법 |
CN107622199B (zh) * | 2017-09-21 | 2019-12-17 | 中国科学院信息工程研究所 | 一种云环境中Flush-Reload缓存侧信道攻击防御方法和装置 |
DE112019003139T5 (de) * | 2018-06-22 | 2021-03-11 | Nec Corporation | Kommunikationsanalysevorrichtung, kommunikationsanalyseverfahren, kommunikationsumgebungsvorrichtung, kommunikationsumgebungsanalyseverfahren und programm |
CN110750301B (zh) * | 2018-08-29 | 2020-07-07 | 清华大学无锡应用技术研究院 | 检测处理器安全性的方法、装置、系统及存储介质 |
CN111027057B (zh) * | 2019-01-31 | 2023-12-26 | 安天科技集团股份有限公司 | 一种芯片隐藏硬件的检测方法、装置及存储介质 |
US11316851B2 (en) | 2019-06-19 | 2022-04-26 | EMC IP Holding Company LLC | Security for network environment using trust scoring based on power consumption of devices within network |
CN110855683B (zh) * | 2019-11-18 | 2021-08-10 | 东北电力大学 | 一种对电力信息物理系统进行攻击检测及重构的方法 |
US11651194B2 (en) * | 2019-11-27 | 2023-05-16 | Nvidia Corp. | Layout parasitics and device parameter prediction using graph neural networks |
CN111208731B (zh) * | 2020-01-12 | 2022-05-24 | 东北电力大学 | 一种对电力信息物理系统进行攻击检测及重构的方法 |
US11316886B2 (en) * | 2020-01-31 | 2022-04-26 | International Business Machines Corporation | Preventing vulnerable configurations in sensor-based devices |
US11507704B2 (en) | 2020-04-23 | 2022-11-22 | Nvidia Corp. | Current flattening circuit for protection against power side channel attacks |
US11283349B2 (en) | 2020-04-23 | 2022-03-22 | Nvidia Corp. | Techniques to improve current regulator capability to protect the secured circuit from power side channel attack |
US11468587B2 (en) | 2020-05-12 | 2022-10-11 | Samsung Electronics Co., Ltd. | System and method for depth map recovery |
EP3995977A1 (en) * | 2020-11-10 | 2022-05-11 | Thales DIS France SA | Method for detecting an attack on a sensitive unit of an electronic system |
US20220206819A1 (en) * | 2020-12-26 | 2022-06-30 | Intel Corporation | Dynamic detection of speculation vulnerabilities |
US11941155B2 (en) | 2021-03-15 | 2024-03-26 | EMC IP Holding Company LLC | Secure data management in a network computing environment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124669A1 (en) * | 2010-11-12 | 2012-05-17 | International Business Machines Corporation | Hindering Side-Channel Attacks in Integrated Circuits |
CN103370716A (zh) * | 2010-11-03 | 2013-10-23 | 维吉尼亚技术知识产权公司 | 使用电力指纹(pfp)来监控完整性并且增强基于计算机的系统的安全性 |
CN103778386A (zh) * | 2012-10-24 | 2014-05-07 | 国际商业机器公司 | 对计算系统中的加密引擎进行完整性检查的方法和装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002519722A (ja) | 1998-06-03 | 2002-07-02 | クリプターグラフィー リサーチ インコーポレイテッド | スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス |
US7065656B2 (en) * | 2001-07-03 | 2006-06-20 | Hewlett-Packard Development Company, L.P. | Tamper-evident/tamper-resistant electronic components |
US20080091975A1 (en) | 2006-10-17 | 2008-04-17 | Konstantin Kladko | Method and system for side-channel testing a computing device and for improving resistance of a computing device to side-channel attacks |
JP2010015476A (ja) * | 2008-07-07 | 2010-01-21 | Hitachi Ltd | データ管理システムおよびその方法 |
FR2948795A1 (fr) * | 2009-07-30 | 2011-02-04 | St Microelectronics Rousset | Detecteur d'injection de fautes dans un circuit integre |
KR101418962B1 (ko) | 2009-12-11 | 2014-07-15 | 한국전자통신연구원 | 부채널 공격 방지를 위한 보안 장치 및 방법 |
EP2357783B1 (fr) * | 2010-02-16 | 2013-06-05 | STMicroelectronics (Rousset) SAS | Procédé de détection d'un fonctionnement potentiellement suspect d'un dispositif électronique et dispositif électronique correspondant. |
JP5481455B2 (ja) * | 2011-09-27 | 2014-04-23 | 株式会社東芝 | 暗号処理装置 |
JP2013143653A (ja) * | 2012-01-10 | 2013-07-22 | Canon Inc | 情報処理装置、情報処理方法 |
US8588764B1 (en) | 2012-01-26 | 2013-11-19 | Sprint Communications Company L.P. | Wireless network edge guardian |
WO2013168151A2 (en) * | 2012-05-08 | 2013-11-14 | Serentic Ltd. | Method and system for authentication of communication and operation |
KR101977733B1 (ko) * | 2012-07-12 | 2019-05-13 | 삼성전자주식회사 | 오류 기반 공격의 검출 방법 |
CN104704472B (zh) | 2012-08-21 | 2018-04-03 | 英派尔科技开发有限公司 | 防止侧信道攻击的系统、方法和装置 |
US8655307B1 (en) | 2012-10-26 | 2014-02-18 | Lookout, Inc. | System and method for developing, updating, and using user device behavioral context models to modify user, device, and application state, settings and behavior for enhanced user security |
US8892903B1 (en) * | 2012-12-06 | 2014-11-18 | Xilinx, Inc. | Detection of power analysis attacks |
US9172718B2 (en) * | 2013-09-25 | 2015-10-27 | International Business Machines Corporation | Endpoint load rebalancing controller |
US10469524B2 (en) | 2013-12-18 | 2019-11-05 | Intel Corporation | Techniques for integrated endpoint and network detection and eradication of attacks |
US9774614B2 (en) | 2014-06-24 | 2017-09-26 | Qualcomm Incorporated | Methods and systems for side channel analysis detection and protection |
-
2014
- 2014-06-24 US US14/312,939 patent/US9509707B2/en not_active Expired - Fee Related
-
2015
- 2015-06-16 CN CN201580033880.5A patent/CN106415580B/zh not_active Expired - Fee Related
- 2015-06-16 EP EP15731800.7A patent/EP3161711B1/en not_active Not-in-force
- 2015-06-16 WO PCT/US2015/035997 patent/WO2015200044A1/en active Application Filing
- 2015-06-16 JP JP2016573522A patent/JP6174827B1/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103370716A (zh) * | 2010-11-03 | 2013-10-23 | 维吉尼亚技术知识产权公司 | 使用电力指纹(pfp)来监控完整性并且增强基于计算机的系统的安全性 |
US20120124669A1 (en) * | 2010-11-12 | 2012-05-17 | International Business Machines Corporation | Hindering Side-Channel Attacks in Integrated Circuits |
CN103778386A (zh) * | 2012-10-24 | 2014-05-07 | 国际商业机器公司 | 对计算系统中的加密引擎进行完整性检查的方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI844836B (zh) | 2021-09-27 | 2024-06-11 | 新唐科技股份有限公司 | 電源供應裝置、方法與安全系統 |
Also Published As
Publication number | Publication date |
---|---|
JP6174827B1 (ja) | 2017-08-02 |
US20150373035A1 (en) | 2015-12-24 |
EP3161711B1 (en) | 2017-10-25 |
WO2015200044A1 (en) | 2015-12-30 |
CN106415580A (zh) | 2017-02-15 |
EP3161711A1 (en) | 2017-05-03 |
JP2017526042A (ja) | 2017-09-07 |
US9509707B2 (en) | 2016-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106415580B (zh) | 阻止侧信道攻击的方法和系统 | |
CN106133642B (zh) | 在移动设备中通过执行行为分析操作推断应用状态的方法和系统 | |
US9774614B2 (en) | Methods and systems for side channel analysis detection and protection | |
CN107077547B (zh) | 使用针对高效连续认证的行为分析的方法和系统 | |
CN109478218B (zh) | 用于分类执行会话的装置和方法 | |
US9910984B2 (en) | Methods and systems for on-device high-granularity classification of device behaviors using multi-label models | |
EP3191960B1 (en) | Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors | |
KR102474048B1 (ko) | 개선된 멀웨어 보호를 위해 모바일 디바이스와의 페이크 사용자 상호작용들을 검출하기 위한 방법들 및 시스템들 | |
US9787695B2 (en) | Methods and systems for identifying malware through differences in cloud vs. client behavior | |
US20160379136A1 (en) | Methods and Systems for Automatic Extraction of Behavioral Features from Mobile Applications | |
US20170024660A1 (en) | Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors | |
US20180039779A1 (en) | Predictive Behavioral Analysis for Malware Detection | |
CN105531712A (zh) | 移动设备上的基于数据流的行为分析 | |
KR20180006380A (ko) | 실시간 화이트리스팅을 위한 거동-특정의 엑츄에이션을 위한 방법들 및 시스템들 | |
CN107567628A (zh) | 用于使用针对增强型决策树桩的因果分析来识别和响应非良性行为的方法和系统 | |
CN107209825A (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 | ||
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: 20180302 Termination date: 20190616 |