当前位置: 首页 > 专利查询>英特尔公司专利>正文

检测侧信道攻击的方法和装置制造方法及图纸

技术编号:24684627 阅读:28 留言:0更新日期:2020-06-27 08:17
公开了用于标识侧信道攻击的方法、装置、系统和制品。示例装置包括:矢量‑神经元处理器,用于将事件矢量映射到经训练的自组织映射的神经元;缓冲处理器,用于基于神经元和该神经元的相邻神经元来标识任务对;缓冲器,用于存储与经标识的任务对相对应的数据;攻击标识器,用于当存储在缓冲器中的信息对应于超过与经标识的任务对相对应的阈值数的任务对时,标识恶意软件攻击;以及缓解技术选择器,用于选择缓解恶意软件攻击的技术。

Methods and devices for detecting side channel attacks

【技术实现步骤摘要】
检测侧信道攻击的方法和装置
本公开总体上涉及处理器,并且更具体地涉及检测侧信道攻击的方法和装置。
技术介绍
在各种类型的技术中利用计算系统以执行任务和/或程序。此类计算系统包括通过执行指令指定的不同操作来执行指令的处理器。计算系统包括存储器和/或高速缓存以存储此类指令。计算系统的高速缓存是小且快的存储器,该存储器存储处理器频繁使用的数据副本。附图说明图1是根据本公开的教导的用于标识侧信道攻击的示例恶意软件攻击组件的框图。图2是图1的攻击确定器的示例实现的框图。图3是图1和/图2的示例攻击确定器如何标识侧信道攻击的示例说明。图4-5是表示可被执行以实现图1和/或图2的示例攻击确定器的示例机器可读指令的流程图。图6是被构造用于执行图4和/或图5的指令以实现图1和图2中的示例攻击确定器的示例处理器平台的框图。这些图并未按比例绘制。一般来说,在整个附图和所附书面描述中将使用相同的附图标记来指代相同或相似的组件。具体实施方式计算系统(包括个人计算机和/或移动设备)通常被攻击者作为目标以利用此类计算系统。侧信道攻击是一种依赖于侧信道信息(例如,高速缓存访问模式、定时信息、功耗、电磁泄漏、噪音等)的网络攻击(例如,恶意软件)。例如,侧信道攻击可能包含攻击者程序,该攻击者程序收集侧信道信息(例如,高速缓存未命中)用于从目标程序(例如,受害者程序)提取敏感数据以利用计算系统。一些侧信道攻击利用了处理器内部不同功能单元(例如,高速缓存、分支预测单元等)在攻击者程序与受害者程序之间的共享。以此方式,攻击者程序可以进入与受害者程序类似的程序阶段(例如,执行序列)。程序阶段是可以由程序实现的不同计算模式标识的执行序列(例如,存储器访问阶段、计算阶段)。因此,在与另一个程序相同的物理核上的相同程序阶段中执行任务的程序可能代表潜在的侧信道攻击程序。如本文所使用的,任务是在计算系统上的程序执行。用于检测侧信道攻击的常规技术检测已知攻击者程序的签名。然而,检测签名不适用于越来越多的新侧信道攻击。其他用于检测侧信道攻击的常规技术包括执行侧信道分析技术。然而,此类常规技术对计算系统的操作的性能有不利影响。本文公开的示例通过利用无监督机器学习来检测侧信道攻击,从而导致侧信道攻击的轻量级检测器,该检测器对于使用不同侧信道的已知攻击和未知攻击均有效。本文公开的示例通过检测处于相似程序阶段(例如,使用相同功能单元)的共存程序(例如,共享相同处理器的程序)来检测侧信道攻击。可以是在类似的程序阶段中有两个共存程序,这些程序之一是侧信道攻击的情况。本文公开的示例利用性能计数器来检测处理器内部功能单元的时间共享。此外,本文公开的示例利用自组织核映射(SOM)(例如,人工神经网络)来利用硬件性能计数器的无监督学习以创建阶段特定的行为的离散化表示。本文公开的示例基于程序的硬件性能计数器值作为输入来训练SOM,并将计数器从类似的程序阶段组织到相同的SOM邻域。如本文所使用的,SOM邻域是指在SOM拓扑中直接连接(例如,相邻)的一组神经元。由于攻击程序可能在侧信道攻击期间在阶段物理核上执行与另一个程序相同的程序阶段,因此可以基于类似/相同的程序阶段来标识侧信道攻击。相应地,本文公开的示例跟踪邻域程序,并且当程序在候选程序的SOM邻域中出现(例如,发生)超过阈值次数时,报告潜在的侧信道攻击。利用硬件性能计数器提供对事件的轻量级跟踪以表征程序执行。另外,基于SOM的设计能够在线、自动和自适应地检测在处理器中执行的程序的阶段。图1是示例恶意软件攻击组件100的框图,该示例恶意软件攻击组件100可以与本公开的教导结合使用以检测示例计算系统101的侧信道攻击。示例计算系统101包括示例中央处理单元(CPU)102和示例硬件性能计数器104。示例恶意软件攻击组件100包括示例事件矢量生成器106、示例攻击确定器108和示例侧信道攻击(SCA)缓解器110。尽管图1的框图包括与计算系统101分离的恶意软件攻击组件100,但是恶意软件攻击组件100(例如,包括事件矢量生成器106、攻击确定器108和/或SCA缓解器110)可以被实现为示例计算系统101的部分。例如,CPU102可以实现恶意软件攻击组件100。图1的示例硬件性能计数器104、示例事件矢量生成器106、示例攻击确定器108或示例SCA缓解器110可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,图1的示例硬件性能计数器104、示例事件矢量生成器106、示例攻击确定器108、或示例SCA缓解器110中的任何一个可以由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)、(多个)专用集成电路(ASIC)、(多个)可编程逻辑器件(PLD)和/或(多个)现场可编程逻辑器件(FPLD)实现。处理器中图1的示例硬件性能计数器104、示例事件矢量生成器106、示例攻击确定器108或示例SCA缓解器110的示例实现在下面结合图6进一步描述。图1的示例CPU102可以是嵌入式系统、现场可编程门阵列、共享存储器控制器、片上网络、联网系统和/或包括处理器、存储器和/或高速缓存的任何其他处理系统。示例CPU102可以执行可能被攻击程序攻击的受害者程序。在侧信道攻击(例如,与基于高速缓存的侧信道攻击相对应的恶意软件)期间,该攻击程序和由CPU102执行的受害者程序执行一系列存储器访问。攻击者程序和受害者程序可以在硬件侧信道攻击中进入类似的程序阶段,其中受害者程序和攻击者程序共享一个功能单元。程序阶段代表程序执行的独特周期,该周期可以随程序继续执行而重复。程序阶段随程序执行而改变(例如,用于读取数据的存储阶段,其后是在计算数据时的数个计算阶段)。每个程序阶段可以对应于CPU102中的同一硬件。例如,仅在浮点阶段使用浮点单元。图1的示例硬件性能计数器104是可用于监视各种硬件性能事件(例如,执行的指令、经过的周期、高速缓存未命中等)的一组寄存器。示例硬件性能计数器104用于检测与由CPU102执行的程序(例如,受害者程序或攻击者程序)的程序阶段相对应的任务。例如,硬件性能计数器104通过设置固定的采样频率来为在CPU102中运行的任务收集一组硬件事件。硬件性能计数器104输出与特定任务相对应的一个或多个计数。例如,在程序中执行的特定任务可以对应于特定数量和/或类型的硬件性能事件。相应地,当由CPU102执行特定任务时,硬件性能计数器104可以输出与特定数量和/或类型的硬件性能事件相对应的一个或多个计数。图1的事件矢量生成器106将来自硬件性能计数器104的计数转换成表示程序阶段的事件矢量。事件矢量表示表征由CPU102执行的任务的性能事件。例如,事件矢量生成器106可包括查找表,该查找表对应于表示程序阶段和/或任务的事件矢量的计数。由于硬件性能计数器104跟踪由CPU102执行的任务以基于任务生成计数,并且事件矢量将计数转换为本文档来自技高网...

【技术保护点】
1.一种用于缓解侧信道攻击的装置,所述装置包括:/n矢量-神经元处理器,用于将事件矢量映射到经训练的自组织映射的神经元;/n缓冲处理器,用于基于所述神经元和所述神经元的相邻神经元来标识任务对;/n缓冲器,用于存储与经标识的任务对相对应的数据;/n攻击标识器,用于当存储在所述缓冲器中的信息对应于超过与所述经标识的任务对相对应的阈值数的任务对时,标识恶意软件攻击;以及/n缓解技术选择器,用于选择缓解所述恶意软件攻击的技术。/n

【技术特征摘要】
20181219 US 16/226,1371.一种用于缓解侧信道攻击的装置,所述装置包括:
矢量-神经元处理器,用于将事件矢量映射到经训练的自组织映射的神经元;
缓冲处理器,用于基于所述神经元和所述神经元的相邻神经元来标识任务对;
缓冲器,用于存储与经标识的任务对相对应的数据;
攻击标识器,用于当存储在所述缓冲器中的信息对应于超过与所述经标识的任务对相对应的阈值数的任务对时,标识恶意软件攻击;以及
缓解技术选择器,用于选择缓解所述恶意软件攻击的技术。


2.如权利要求1所述的装置,其中所述事件矢量对应于性能事件,所述性能事件表征与所述事件矢量相对应的计算设备的程序执行。


3.如权利要求1所述的装置,进一步包括用于基于所选择的技术来缓解所述攻击的缓解器。


4.如权利要求1所述的装置,其中所述恶意软件攻击是侧信道攻击。


5.如权利要求1所述的装置,进一步包括自组织映射训练器,用于通过以下操作来训练所述自组织映射:
确定第二事件矢量与所述自组织映射的神经元的第一权重矢量之间的距离;
基于最小的确定距离选择获胜神经元;以及
基于所述距离调节所述获胜神经元的权重矢量或所述获胜神经元的相邻神经元的第二权重矢量中的至少一个。


6.如权利要求1所述的装置,其中所述数据是第一数据,并且所述缓冲器用于当所述缓冲器已满时,在存储所述任务对之前丢弃与最旧的任务对相对应的第二数据。


7.如权利要求6所述的装置,其中所述缓冲器用于通过递减与所述最旧的任务对相对应的所存储的计数器来丢弃与所述最旧的任务对相对应的所述第二数据。


8.如权利要求1-7中任一项所述的装置,其中所述将事件矢量映射到所述神经元推断与所述事件矢量相对应的计算设备的程序阶段。


9.如权利要求1-7中任一项所述的装置,进一步包括:
硬件计数器,用于基于计算设备执行的任务来递增计数;以及
事件矢量生成器,用于基于所述计数来生成所述事件矢量。


10.如权利要求1-7中任一项所述的装置,其中所述神经元和所述相邻神经元对应于类似的执行序列。


11.如权利要求1-7中任一项所述的装置,其中所述缓冲器用于通过递增与所述经标识的任务对相对应的所存储的计数来存储与所述经标识的任务对相对应的所述数据。


12.如权利要求1-7中任一项所述的装置,其中与所述任务对相对应的所述数据对应于所述任务对或与所述任务对相对应的计数中的至少一个。


13.一种用于缓解侧信道攻击的方法,所述方法包括:
将事件矢量映射到...

【专利技术属性】
技术研发人员:M·M·U·阿拉姆J·高茨克里奇S·周
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1