CN114268479B - 防御共享存储侧信道攻击的处理方法、装置及电子设备 - Google Patents
防御共享存储侧信道攻击的处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114268479B CN114268479B CN202111530184.9A CN202111530184A CN114268479B CN 114268479 B CN114268479 B CN 114268479B CN 202111530184 A CN202111530184 A CN 202111530184A CN 114268479 B CN114268479 B CN 114268479B
- Authority
- CN
- China
- Prior art keywords
- thread
- time information
- attack
- clock
- time
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003090 exacerbative effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
Classifications
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了一种防御共享存储侧信道攻击的处理方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域。本申请实施例通过时钟进程获取第一时间信息,对第一时间信息进行模糊处理,得到第二时间信息;通过时钟线程向攻击线程发送第二时间信息;由于攻击线程所获取的第二时间信息是经过模糊处理的,也就是说,第二时间信息是不准确的,从而使得攻击线程基于不准确的时间信息进行信道攻击时不能成功完成信道攻击,以此可以实现对系统的保护。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种防御共享存储侧信道攻击的处理方法、装置、电子设备及计算机可读存储介质。
背景技术
基于共享硬件的侧信道攻击是主机数据安全的一大威胁,其中,以基于终极缓存(Last Level Cache,LLC)的侧信道攻击以及动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)侧信道攻击较为普遍。在日益流行的基础设施服务(IaaS)和平台服务(PaaS)云计算环境中,不同租户的虚拟机普遍运行在同一台物理机上,进一步加剧了LLC侧信道攻击和DRAM侧信道攻击的危害性。因此,如何抵御侧信道攻击成为亟需解决的问题。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是尚未解决如何抵御侧信道攻击的技术缺陷。
根据本申请的一个方面,提供了一种防御共享存储侧信道攻击的处理方法,该方法包括:通过时钟线程接收来自攻击线程的获取时间信息的第一请求,时钟线程包括处理计时程序的线程,攻击线程包括进行信道攻击的线程;
通过时钟线程获取第一时间信息,第一时间信息包括接收到第一请求时的时间点;
对第一时间信息进行模糊处理,得到第二时间信息;
通过时钟线程向攻击线程发送第二时间信息,以使得攻击线程基于第二时间信息进行信道攻击。
可选的,通过时钟线程接收来自攻击线程的获取时间信息的第一请求,包括:
从攻击线程对应的第一缓存获取第一请求;
将第一请求发送至第一硬件电路,其中,第一硬件电路支持预设协议;
通过第一硬件电路将第一请求发送至时钟线程对应的第二缓存。
可选的,通过时钟线程获取第一时间信息,包括:
通过时钟线程对应的第二缓存,获取第一时间信息。
可选的,对第一时间信息进行模糊处理,得到第二时间信息,包括:
对第一时间信息进行加时或减时操作,得到第二时间信息;
加时或减时操作对应时长为随机确定的时长。
可选的,对第一时间信息进行模糊处理,得到第二时间信息之后,还包括:
将第二时间信息缓存至时钟线程对应的第二缓存;
通过时钟线程向攻击线程发送第二时间信息,包括:
从第二缓存获取第二时间信息,并将第二时间信息发送给第一硬件电路;
通过第一硬件电路,将第二时间信息发送给第一缓存,攻击线程从第一缓存中获取第二时间信息。
可选的,预设协议包括缓存一致性协议。
根据本申请的另一个方面,提供了一种防御共享存储侧信道攻击的处理装置,该装置包括:
接收模块,用于通过时钟线程接收来自攻击线程的获取时间信息的第一请求,时钟线程包括处理计时程序的线程,攻击线程包括进行信道攻击的线程;
获取模块,用于通过时钟线程获取第一时间信息,第一时间信息包括接收到第一请求时的时间点;
模糊处理模块,用于对第一时间信息进行模糊处理,得到第二时间信息;
发送模块,用于通过时钟线程向攻击线程发送第二时间信息,以使得攻击线程基于第二时间信息进行信道攻击。
可选的,接收模块具体用于:从攻击线程对应的第一缓存获取第一请求;
将第一请求发送至第一硬件电路,其中,第一硬件电路支持预设协议;
通过第一硬件电路将第一请求发送至时钟线程对应的第二缓存。
根据本申请的另一个方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行如第一方面任一项的防御共享存储侧信道攻击的处理方法。
例如,本申请的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行如本申请的第一方面所示的防御共享存储侧信道攻击的处理方法对应的操作。
根据本申请的再一个方面,提供了一种计算机可读存储介质,计算机程序被处理器执行时实现第一方面任一项的防御共享存储侧信道攻击的处理方法。
例如,本申请实施例的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本申请第一方面所示的防御共享存储侧信道攻击的处理方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面的各种可选实现方式中提供的方法。
本申请提供的技术方案带来的有益效果是:
本申请实施例通过时钟线程获取第一时间信息,对第一时间信息进行模糊处理,得到第二时间信息;通过时钟线程向攻击线程发送第二时间信息;由于攻击线程所获取的第二时间信息是经过模糊处理的,也就是说,第二时间信息是不准确的,从而使得攻击线程基于不准确的时间信息进行信道攻击时不能成功完成信道攻击,以此可以实现对系统的保护。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种防御共享存储侧信道攻击的处理方法的流程示意图;
图2为本申请实施例提供的一种防御共享存储侧信道攻击的处理方法的原理示意图之一;
图3为本申请实施例提供的一种防御共享存储侧信道攻击的处理方法的原理示意图之二;
图4为本申请实施例提供的一种防御共享存储侧信道攻击的处理方法的原理示意图之三;
图5为本申请实施例提供的一种防御共享存储侧信道攻击的处理方法的原理示意图之四;
图6为本申请实施例提供的一种防御共享存储侧信道攻击的处理方法的原理示意图之五;
图7为本申请实施例提供的一种防御共享存储侧信道攻击的处理方法的原理示意图之六;
图8为本申请实施例提供的一种防御共享存储侧信道攻击的处理方法的原理示意图之七;
图9为本申请实施例提供的一种防御共享存储侧信道攻击的处理方法的原理示意图之八;
图10为本申请实施例提供的一种防御共享存储侧信道攻击的处理方法的原理示意图之九;
图11为本申请实施例提供的一种防御共享存储侧信道攻击的处理装置的结构示意图;
图12为本申请实施例提供的一种防御共享存储侧信道攻击的处理的电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
边信道攻击(side channel attack简称SCA),又称侧信道攻击,核心思想是通过加密软件或硬件运行时产生的各种泄漏信息获取密文信息。在狭义上讲,边信道攻击特指针对密码算法的非侵入式攻击,通过加密电子设备在运行过程中的边信道信息泄露破解密码算法,狭义的边信道攻击主要包括针对密码算法的计时攻击、能量分析攻击、电磁分析攻击等。从广义上讲,攻击方式多种多样,如针对键盘敲击内容的边信道攻击有声音分析攻击、电磁分析攻击、通过WiFi信道状态进行的攻击(WiKey),以及通过内核使用状态和进程信息进行的攻击等。
线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度。
本申请提供的防御共享存储侧信道攻击的处理方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
参见图1,本申请实施例提供了一种防御共享存储侧信道攻击的处理方法,可选地,该方法应用于电子设备或电子设备的处理器,处理器可以是CPU或图形处理器(Graphics Processing Unit,GPU)等,为了便于说明,后续以该方法应用于处理器为例介绍本申请实施例,然而,可以理解的是,这并不对本申请实施例的应用场景构成限定。
该方法可以包括以下步骤:
S101:通过时钟线程接收来自攻击线程的获取时间信息的第一请求,时钟线程包括处理计时程序的线程,攻击线程包括进行信道攻击的线程。
本申请实施例的防御共享存储侧信道攻击的处理方法可以应用于信道攻击场景。可选的,本申请实施例中,信道攻击可以包括侧信道攻击,例如,侧信道攻击可以是基于终极缓存(Last Level Cache,LLC)的侧信道攻击;也可以是动态随机存取存储器(DynamicRandom Access Memory,DRAM)侧信道攻击。
在信道攻击过程中,进行信道攻击的攻击线程需要获取时间信息,并借助所获取的时间信息来完成信道攻击。
具体的,攻击线程可以通过向处理计时程序的时钟线程获取时间信息。本申请实施例中,可以通过攻击线程向时钟线程发出第一请求获取时间信息,通过时钟线程接收第一请求。
其中,第一请求可以直接发送至时钟线程。可选的,第一请求还可以先存储于攻击线程对应的第一缓存中,第一缓存可以是攻击线程的本地高速缓存,即攻击线程的本地Cache。然后,从第一缓存中获取第一请求,将第一请求发送至支持预设协议的第一硬件电路;再通过第一硬件电路将第一请求发送至时钟线程对应的第二缓存。也就是说,可以通过时钟线程对应的第二缓存接收第一请求。其中,第二缓存可以是时钟线程的本地高速缓存,即时钟线程的本地Cache;预设协议可以是缓存一致性协议。
S102:通过时钟线程获取第一时间信息,第一时间信息包括接收到第一请求时的时间点。
具体的,第一时间信息可以存储于时钟线程对应的第二缓存中,因此,可以通过时钟线程从第二缓存中获取第一时间信息,其中,第一时间信息为接收到第一请求时的时间点。
由于信道攻击过程中,攻击线程需要获取信道攻击的相关操作(相关操作包括内存访问等操作)前后的精确时间差值。因此,本申请实施例中,攻击线程向时钟线程获取时间信息的处理操作可以包括两次,即分别在信道攻击的相关操作的前后向时钟线程获取时间信息。
作为示例,结合图2至图4,对攻击线程获取时间信息以进行侧信道攻击的原理进行说明。
具体的,攻击线程与时钟线程可以共享时间变量T,即本申请实施例中的时间信息。随着时间的推移,时间变量T不断变化。攻击线程可以执行以下三个处理步骤:(1)获取时间信息t1;(2)执行信道攻击的相关操作,例如内存访问;(3)再次获取时间信息t2。综上可知,攻击线程执行相关操作的时间为t2-t1。
S103:对第一时间信息进行模糊处理,得到第二时间信息。
为干扰攻击线程进行信道攻击,本申请实施例中,可以对第一时间信息进行模糊处理,从而得到不准确的第二时间信息,以使得攻击线程基于不准确的时间信息进行信道攻击时,不能成功完成信道攻击。
其中,模糊处理可以包括对第一时间信息进行加时或者减时操作。可选的,由于攻击线程在信道攻击中需要两次获取时间信息,并计算两次所获取的时间信息的差值,即t2-t1,为使攻击线程所获取的时间差值不准确,以起到干扰攻击线程进行信道攻击的作用,本申请实施例中,加时或者减时操作的时长可以是随机确定的。这样,t1加时或减时后的第二时间信息是不准确的时间信息;t2加时或减时后的第二时间信息也是不准确的时间信息;并且,t1与t2加时或者减时的时长是随机确定的,因此,t2-t1也是不准确的。
S104:通过时钟线程向攻击线程发送第二时间信息,以使得攻击线程基于第二时间信息进行信道攻击。
可选的,向攻击线程发送第二时间信息时,可以直接将第二时间信息发送给攻击线程。此外,也可以先将第二时间信息缓存至时钟线程对应的第二缓存;然后从第二缓存获取第二时间信息,并将第二时间信息发送给第一硬件电路;再通过第一硬件电路,将第二时间信息发送给第一缓存,攻击线程从第一缓存中获取第二时间信息。
本申请实施例通过时钟线程获取第一时间信息,对第一时间信息进行模糊处理,得到第二时间信息;通过时钟线程向攻击线程发送第二时间信息;由于攻击线程所获取的第二时间信息是经过模糊处理的,也就是说,第二时间信息是不准确的,从而使得攻击线程基于不准确的时间信息进行信道攻击时不能成功完成信道攻击,以此可以实现对系统的保护。
在本申请的一个实施例中,通过时钟线程接收来自攻击线程的获取时间信息的第一请求,包括:
从攻击线程对应的第一缓存获取第一请求;
将第一请求发送至第一硬件电路,其中,第一硬件电路支持预设协议;
通过第一硬件电路将第一请求发送至时钟线程对应的第二缓存。
在本申请的一个实施例中,通过时钟线程获取第一时间信息,包括:
通过时钟线程对应的第二缓存,获取第一时间信息。
具体的,可以结合图5至图8所示,对攻击线程与时钟线程之间的时间信息的交互场景进行说明。
可选的,本申请实施例中,攻击线程及时钟线程可以分别运行于同一CPU的两个物理内核上,即图5所示的情况。此外,攻击线程及时钟线程还可以分别运行于两个CPU的两个物理内核上,即图6所示的情况。
在上述两种情况下,都需要基于缓存一致性协议来交互时间信息。图7展示了攻击线程和时钟线程运行在两个物理内核的情况下,时间信息在MOESI协议中的状态。
在一些实施例中,攻击线程及时钟线程交互时间信息的过程可以参见图8所示,即:
(1)通过攻击线程发出获取第一时间信息的第一请求,第一请求可以存储于攻击线程对应的第一缓存,其中,第一缓存可以是攻击线程的本地高速缓存,即攻击线程的本地Cache。然后从攻击线程对应的第一缓存获取第一请求;再将第一请求发送至第一硬件电路,其中,第一硬件电路支持预设协议,预设协议可以是MOSEI协议。
(2)通过第一硬件电路将第一请求发送至时钟线程对应的第二缓存。其中,第二缓存可以是时钟线程的本地高速缓存,即时钟线程的本地Cache。
(3)通过时钟线程对应的第二缓存,获取第一时间信息。然后将第一时间信息缓存至时钟线程对应的第二缓存;从第二缓存获取第一时间信息,并将第一时间信息发送给第一硬件电路。
(4)通过第一硬件电路,将第一时间信息发送给第一缓存,攻击线程从第一缓存中获取第一时间信息。
在本申请的一个实施例中,对第一时间信息进行模糊处理,得到第二时间信息,包括:
对第一时间信息进行加时或减时操作,得到第二时间信息;
加时或减时操作对应时长为随机确定的时长。
在本申请的一个实施例中,对第一时间信息进行模糊处理,得到第二时间信息之后,还包括:
将第二时间信息缓存至时钟线程对应的第二缓存;
通过时钟线程向攻击线程发送第二时间信息,包括:
从第二缓存获取第二时间信息,并将第二时间信息发送给第一硬件电路;
通过第一硬件电路,将第二时间信息发送给第一缓存,攻击线程从第一缓存中获取第二时间信息。
具体的,为了使攻击线程获取的时间信息不准确,以对信道攻击过程进行干扰,本申请的另一个实施例提供了一种基于E-MOESI协议的时间信息的过程,具体的,如图9所示:
(1)通过攻击线程发出获取第一时间信息的第一请求,第一请求可以存储于攻击线程对应的第一缓存。然后从攻击线程对应的第一缓存获取第一请求;再将第一请求发送至第一硬件电路。其中,第一硬件电路支持预设协议,预设协议可以是E-MOESI协议,即缓存一致性协议。
(2)通过第一硬件电路将第一请求发送至时钟线程对应的第二缓存。
(3)通过时钟线程对应的第二缓存,获取第一时间信息。对第一时间信息进行加时或减时操作,得到第二时间信息。其中,加时或减时操作对应时长为随机确定的时长。
需要说明的是,如图9所示,在本申请的一些实施例中,对第一时间信息进行加时或减时的操作,还可以通过在将第一请求发送至第一硬件电路后,延迟一段时间,再将第一请求发送至时钟线程对应的第二缓存来实现。其中,延迟的时长为随机确定的时长。
(4)将第二时间信息缓存至时钟线程对应的第二缓存。从第二缓存获取第二时间信息,并将第二时间信息发送给第一硬件电路。
(5)通过第一硬件电路,将第二时间信息发送给第一缓存,攻击线程从第一缓存中获取第二时间信息。
本申请实施例通过时钟线程获取第一时间信息,对第一时间信息进行模糊处理,得到第二时间信息;通过时钟线程向攻击线程发送第二时间信息;由于攻击线程所获取的第二时间信息是经过模糊处理的,也就是说,第二时间信息是不准确的,从而使得攻击线程基于不准确的时间信息进行信道攻击时不能成功完成信道攻击,以此可以实现对系统的保护。
在本申请的一些实施例中,如图10所示,攻击线程和时钟线程还可以通过超线程技术运行在同一物理内核的两个逻辑内核上。在这种情况下,为实现干扰信道攻击过程,使攻击线程与时钟线程之间无法交互时间信息,以使得攻击线程无法成功完成信道攻击,本申请实施例还可以将攻击线程及时钟线程调度至不同的物理内核上。
具体来说,在CPU的超线程技术开启的情况下,当需要把一个线程调度到某个物理内核时,会不断检测该线程是否和该物理内核上正在运行的其他线程共享可写内存。如果线程之间存在共享可写内存,可尝试将该线程调度到该物理内核上;如果当前没有可用的物理内核,则可以等待至存在可调度的物理内核。
通常情况下,有两种类型的线程共享可写内存方式:1、有共同祖先进程的线程集合,即判断两个线程是否属于同一进程;2、使用内核接口共享可写内存的线程集合。
本申请实施例提供了一种防御共享存储侧信道攻击的处理装置,如图11所示,该防御共享存储侧信道攻击的处理装置110可以包括:接收模块1101、获取模块1102、模糊处理模块1103、发送模块1104,其中,
接收模块1101,用于通过时钟线程接收来自攻击线程的获取时间信息的第一请求,时钟线程包括处理计时程序的线程,攻击线程包括进行信道攻击的线程;
获取模块1102,用于通过时钟线程获取第一时间信息,第一时间信息包括接收到第一请求时的时间点;
模糊处理模块1103,用于对第一时间信息进行模糊处理,得到第二时间信息;
发送模块1104,用于通过时钟线程向攻击线程发送第二时间信息,以使得攻击线程基于第二时间信息进行信道攻击。
在本申请的一个实施例中,接收模块具体用于:从攻击线程对应的第一缓存获取第一请求;
将第一请求发送至第一硬件电路,其中,第一硬件电路支持预设协议;
通过第一硬件电路将第一请求发送至时钟线程对应的第二缓存。
在本申请的一个实施例中,通过时钟线程获取第一时间信息,包括:
通过时钟线程对应的第二缓存,获取第一时间信息。
在本申请的一个实施例中,模糊处理模块1103具体用于对第一时间信息进行加时或减时操作,得到第二时间信息;
加时或减时操作对应时长为随机确定的时长。
在本申请的一个实施例中,模糊处理模块1103具体用于将第二时间信息缓存至时钟线程对应的第二缓存;
发送模块1104具体用于从第二缓存获取第二时间信息,并将第二时间信息发送给第一硬件电路;
通过第一硬件电路,将第二时间信息发送给第一缓存,攻击线程从第一缓存中获取第二时间信息。
在本申请的一个实施例中,预设协议包括缓存一致性协议。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例通过时钟线程获取第一时间信息,对第一时间信息进行模糊处理,得到第二时间信息;通过时钟线程向攻击线程发送第二时间信息;由于攻击线程所获取的第二时间信息是经过模糊处理的,也就是说,第二时间信息是不准确的,从而使得攻击线程基于不准确的时间信息进行信道攻击时不能成功完成信道攻击,以此可以实现对系统的保护。
本申请实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:本申请实施例通过所述时钟线程获取第一时间信息,对所述第一时间信息进行模糊处理,得到第二时间信息;通过所述时钟线程向所述攻击线程发送所述第二时间信息;由于攻击线程所获取的第二时间信息是经过模糊处理的,也就是说,第二时间信息是不准确的,从而使得攻击线程基于不准确的时间信息进行信道攻击时,不能成功完成信道攻击,进而实现了对系统的保护。
在一个可选实施例中提供了一种电子设备,如图12所示,图12所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码(计算机程序),并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、多媒体播放器、台式计算机等。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
本申请实施例通过所述时钟线程获取第一时间信息,对所述第一时间信息进行模糊处理,得到第二时间信息;通过所述时钟线程向所述攻击线程发送所述第二时间信息;由于攻击线程所获取的第二时间信息是经过模糊处理的,也就是说,第二时间信息是不准确的,从而使得攻击线程基于不准确的时间信息进行信道攻击时,不能成功完成信道攻击,进而实现了对系统的保护。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (9)
1.一种防御共享存储侧信道攻击的处理方法,其特征在于,包括:
通过时钟线程接收来自攻击线程的获取时间信息的第一请求,所述时钟线程包括处理计时程序的线程,所述攻击线程包括进行信道攻击的线程;
通过所述时钟线程获取第一时间信息,所述第一时间信息包括接收到所述第一请求时的时间点、执行信道攻击前获取的时间信息t1及执行信道攻击后获取的时间信息t2;
对所述第一时间信息进行模糊处理,得到第二时间信息;其中,所述模糊处理包括对执行信道攻击前获取的时间信息t1及执行信道攻击后获取的时间信息t2分别进行加时操作或者减时操作,加时操作或者减时操作的时长为随机确定的;
通过所述时钟线程向所述攻击线程发送所述第二时间信息,以使得所述攻击线程基于所述第二时间信息进行信道攻击;
其中,在CPU的超线程技术开启的情况下,所述攻击线程及所述时钟线程被调度至不同的物理内核上。
2.根据权利要求1所述的防御共享存储侧信道攻击的处理方法,其特征在于,所述通过时钟线程接收来自攻击线程的获取时间信息的第一请求,包括:
从所述攻击线程对应的第一缓存获取所述第一请求;
将所述第一请求发送至第一硬件电路,其中,所述第一硬件电路支持预设协议;
通过所述第一硬件电路将所述第一请求发送至所述时钟线程对应的第二缓存。
3.根据权利要求2所述的防御共享存储侧信道攻击的处理方法,其特征在于,所述通过所述时钟线程获取第一时间信息,包括:
通过所述时钟线程对应的第二缓存,获取所述第一时间信息。
4.根据权利要求2所述的防御共享存储侧信道攻击的处理方法,其特征在于,所述对所述第一时间信息进行模糊处理,得到第二时间信息之后,还包括:
将所述第二时间信息缓存至所述时钟线程对应的第二缓存;
所述通过所述时钟线程向所述攻击线程发送所述第二时间信息,包括:
从所述第二缓存获取所述第二时间信息,并将所述第二时间信息发送给所述第一硬件电路;
通过所述第一硬件电路,将所述第二时间信息发送给所述第一缓存,所述攻击线程从所述第一缓存中获取所述第二时间信息。
5.根据权利要求2所述的防御共享存储侧信道攻击的处理方法,其特征在于,所述预设协议包括缓存一致性协议。
6.一种防御共享存储侧信道攻击的处理装置,其特征在于,包括:
接收模块,用于通过时钟线程接收来自攻击线程的获取时间信息的第一请求,所述时钟线程包括处理计时程序的线程,所述攻击线程包括进行信道攻击的线程;
获取模块,用于通过所述时钟线程获取第一时间信息,所述第一时间信息包括接收到所述第一请求时的时间点、执行信道攻击前获取的时间信息t1及执行信道攻击后获取的时间信息t2;
模糊处理模块,用于对所述第一时间信息进行模糊处理,得到第二时间信息;其中,所述模糊处理包括对执行信道攻击前获取的时间信息t1及执行信道攻击后获取的时间信息t2分别进行加时操作或者减时操作,加时操作或者减时操作的时长为随机确定的;
发送模块,用于通过所述时钟线程向所述攻击线程发送所述第二时间信息,以使得所述攻击线程基于所述第二时间信息进行信道攻击;
其中,在CPU的超线程技术开启的情况下,所述攻击线程及所述时钟线程被调度至不同的物理内核上。
7.根据权利要求6所述的防御共享存储侧信道攻击的处理装置,其特征在于,所述接收模块具体用于:从所述攻击线程对应的第一缓存获取所述第一请求;
将所述第一请求发送至第一硬件电路,其中,所述第一硬件电路支持预设协议;
通过所述第一硬件电路将所述第一请求发送至所述时钟线程对应的第二缓存。
8.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行根据权利要求1至5任一项所述的防御共享存储侧信道攻击的处理方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的防御共享存储侧信道攻击的处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111530184.9A CN114268479B (zh) | 2021-12-14 | 2021-12-14 | 防御共享存储侧信道攻击的处理方法、装置及电子设备 |
US18/080,085 US20230185911A1 (en) | 2021-12-14 | 2022-12-13 | Processing Method And Apparatus For Defending Against Shared Storage Side Channel Attacks, And Electronic Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111530184.9A CN114268479B (zh) | 2021-12-14 | 2021-12-14 | 防御共享存储侧信道攻击的处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114268479A CN114268479A (zh) | 2022-04-01 |
CN114268479B true CN114268479B (zh) | 2023-08-18 |
Family
ID=80827103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111530184.9A Active CN114268479B (zh) | 2021-12-14 | 2021-12-14 | 防御共享存储侧信道攻击的处理方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230185911A1 (zh) |
CN (1) | CN114268479B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622199A (zh) * | 2017-09-21 | 2018-01-23 | 中国科学院信息工程研究所 | 一种云环境中Flush‑Reload缓存侧信道攻击防御方法和装置 |
CN110032867A (zh) * | 2019-03-26 | 2019-07-19 | 中国人民解放军国防科技大学 | 一种主动切断隐蔽通道应对缓存侧信道攻击的方法及系统 |
WO2020071976A1 (en) * | 2018-10-05 | 2020-04-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and computer operating system for impeding side channel attacks |
CN111865909A (zh) * | 2020-06-08 | 2020-10-30 | 西安电子科技大学 | Sgx侧信道攻击防御方法、系统、介质、程序及应用 |
-
2021
- 2021-12-14 CN CN202111530184.9A patent/CN114268479B/zh active Active
-
2022
- 2022-12-13 US US18/080,085 patent/US20230185911A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622199A (zh) * | 2017-09-21 | 2018-01-23 | 中国科学院信息工程研究所 | 一种云环境中Flush‑Reload缓存侧信道攻击防御方法和装置 |
WO2020071976A1 (en) * | 2018-10-05 | 2020-04-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and computer operating system for impeding side channel attacks |
CN110032867A (zh) * | 2019-03-26 | 2019-07-19 | 中国人民解放军国防科技大学 | 一种主动切断隐蔽通道应对缓存侧信道攻击的方法及系统 |
CN111865909A (zh) * | 2020-06-08 | 2020-10-30 | 西安电子科技大学 | Sgx侧信道攻击防御方法、系统、介质、程序及应用 |
Also Published As
Publication number | Publication date |
---|---|
US20230185911A1 (en) | 2023-06-15 |
CN114268479A (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106164881B (zh) | 异构计算系统中的工作窃取 | |
US9430391B2 (en) | Managing coherent memory between an accelerated processing device and a central processing unit | |
US10338951B2 (en) | Virtual machine exit support by a virtual machine function | |
US10565131B2 (en) | Main memory including hardware accelerator and method of operating the same | |
CN105630731A (zh) | 一种多cpu环境下网卡数据处理方法和装置 | |
US10402223B1 (en) | Scheduling hardware resources for offloading functions in a heterogeneous computing system | |
CN104102542A (zh) | 一种网络数据包处理方法和装置 | |
WO2013192236A1 (en) | Profiling application code to identify code portions for fpga implementation | |
US10031773B2 (en) | Method to communicate task context information and device therefor | |
US20090083753A1 (en) | Dynamic thread generation and management for improved computer program performance | |
Stuedi et al. | jverbs: Ultra-low latency for data center applications | |
US11816061B2 (en) | Dynamic allocation of arithmetic logic units for vectorized operations | |
CN115686758B (zh) | 一种基于帧统计的VirtIO-GPU性能可控方法 | |
US10289418B2 (en) | Cooperative thread array granularity context switch during trap handling | |
CN115129480A (zh) | 标量处理单元的访问控制方法及标量处理单元 | |
US20160117200A1 (en) | Resource mapping in multi-threaded central processor units | |
CN111124599A (zh) | 虚拟机内存数据迁移方法、装置、电子设备及存储介质 | |
EP4204956A1 (en) | Deferred gpr allocation for texture/load instruction block | |
CN114268479B (zh) | 防御共享存储侧信道攻击的处理方法、装置及电子设备 | |
CN103197917A (zh) | 计算线程阵列粒度执行抢占 | |
CN110569105B (zh) | 分布式虚拟机自适应内存一致性协议及其设计方法、终端 | |
CN110018782B (zh) | 一种数据读/写方法及相关装置 | |
Kim et al. | Comparative analysis of gpu stream processing between persistent and non-persistent kernels | |
CN114371920A (zh) | 一种基于图形处理器加速优化的网络功能虚拟化系统 | |
US11119787B1 (en) | Non-intrusive hardware profiling |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100176 Room 101, 1f, building 3, yard 18, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Beijing Applicant after: Beijing ESWIN Computing Technology Co.,Ltd. Address before: 100176 Room 101, 1f, building 3, yard 18, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Beijing Applicant before: Beijing yisiwei Computing Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |