CN112231695B - Attack method and system based on branch prediction mechanism and storage medium - Google Patents

Attack method and system based on branch prediction mechanism and storage medium Download PDF

Info

Publication number
CN112231695B
CN112231695B CN202011484779.0A CN202011484779A CN112231695B CN 112231695 B CN112231695 B CN 112231695B CN 202011484779 A CN202011484779 A CN 202011484779A CN 112231695 B CN112231695 B CN 112231695B
Authority
CN
China
Prior art keywords
branch prediction
data
secret information
target program
preset
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
Application number
CN202011484779.0A
Other languages
Chinese (zh)
Other versions
CN112231695A (en
Inventor
张茜歌
刘亮
张海峰
原义栋
王于波
赵东艳
唐明
黎聪
陈燕宁
邵瑾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
State Grid Information and Telecommunication Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Beijing Core Kejian Technology Co Ltd
Original Assignee
Wuhan University WHU
State Grid Information and Telecommunication Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Beijing Core Kejian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU, State Grid Information and Telecommunication Co Ltd, Beijing Smartchip Microelectronics Technology Co Ltd, Beijing Core Kejian Technology Co Ltd filed Critical Wuhan University WHU
Priority to CN202011484779.0A priority Critical patent/CN112231695B/en
Publication of CN112231695A publication Critical patent/CN112231695A/en
Application granted granted Critical
Publication of CN112231695B publication Critical patent/CN112231695B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention relates to the technical field of information security, and provides an attack method and system based on a branch prediction mechanism and a storage medium. The method comprises the following steps: constructing a branch prediction information matrix aiming at the target program based on a branch prediction mechanism; selecting plaintext data which accords with the input data rule of the target program; taking the selected plaintext data as input data or partial input data of the target program, and collecting time sample data of the operation of the target program; and determining secret information corresponding to the time sample data according to the branch prediction information matrix. According to the invention, the whole time data of the operation of the target program is utilized in the attack process, the requirement on the acquisition time point position is low, the leaked information (secret information) can be integrally depicted, the control requirement on the target program is reduced, the attack is carried out in a statistical analysis mode, the leaked depiction is more accurate, and the accuracy of time attack detection is improved.

Description

Attack method and system based on branch prediction mechanism and storage medium
Technical Field
The present invention relates to the field of information security technologies, and in particular, to an attack method based on a branch prediction mechanism, an attack system based on a branch prediction mechanism, and a storage medium.
Background
Side channel attacks are a common technique in the field of hardware security. The side channel attack refers to utilizing various side channel leakage information in the circuit working process, such as: energy consumption, time, faults, electromagnetic radiation and the like, and the secret information is extracted by establishing the relation between the leaked information and key information (such as a secret key) of the cryptographic algorithm. In a computer processor, due to the complexity of the hardware environment, the traditional energy consumption, electromagnetism and other side channel information are difficult to effectively collect and utilize, and the time side channel attack is a main side channel security threat.
In the time attack research based on the processor architecture, besides the cache attack which is widely researched, the branch prediction unit can cause information leakage in the performance optimization process of the micro-architecture. The success or failure of the prediction of the branch direction by the branch prediction unit brings a difference of response time, and the difference is used for attacking a cryptographic algorithm and a system security boundary. The existing side channel attack methods are various, one is: on the cryptographic algorithm attack level, a key which is operated on a processor is obtained by utilizing a spy process through branch prediction analysis, and the processor using a branch predictor is attacked; the other is as follows: in the case of using only the preemptive multitasking, the Montgomery modular multiplication final reduction is detected by counting the number of RSB entries using a Return Stack Buffer (RSB) for branch prediction. For the system security boundary attack level, information is illegally acquired by utilizing the characteristic of branch prediction speculative execution in processor design, or by utilizing branch prediction BTB conflict, ASLR is bypassed to find the layout of a kernel-level virtual address space and a user-level virtual address space. The attack based on the branch prediction mechanism mainly aims at constructing an attack vector, does not depict and utilize overall leaked statistical information, and is low in accuracy of time attack detection.
Disclosure of Invention
The embodiment of the invention aims to provide an attack method and system based on a branch prediction mechanism, so that the leakage information is integrally depicted, and the accuracy of time attack detection is improved.
In order to achieve the above object, a first aspect of the present invention provides an attack method based on a branch prediction mechanism, the method including:
constructing a branch prediction information matrix aiming at the target program based on a branch prediction mechanism;
selecting plaintext data which accords with the input data rule of the target program;
taking the selected plaintext data as input data or partial input data of the target program, and collecting time sample data of the operation of the target program;
and determining secret information corresponding to the time sample data according to the branch prediction information matrix.
Further, the branch prediction information matrix includes a plurality of preset plaintext data and preset secret information values corresponding to the preset plaintext data.
Further, the building of the branch prediction information matrix for the target program based on the branch prediction mechanism includes:
setting an initial state of a branch prediction unit;
configuring the preset plaintext data and preset secret information values corresponding to the preset plaintext data based on the branch prediction component;
determining branch prediction information corresponding to the preset secret information value according to the branch prediction mechanism;
and constructing the branch prediction information matrix according to the branch prediction information corresponding to the preset plaintext data and the preset secret information value.
Further, the determining secret information corresponding to the time sample data according to the branch prediction information matrix includes:
acquiring branch prediction information of a preset secret information value corresponding to plaintext data input by the target program from the branch prediction information matrix;
determining a correlation coefficient between the branch prediction information of the preset secret information value and the time sample data;
and determining the actual secret information value corresponding to the plaintext data according to the correlation coefficient to serve as the secret information corresponding to the time sample data.
Further, the determining secret information corresponding to the time sample data according to the branch prediction information matrix further includes:
selecting a secret information value with the highest correlation coefficient corresponding to the plaintext data as an actual secret information value, and judging whether the actual secret information value meets a preset condition;
if yes, outputting the actual secret information value;
and if not, reselecting the plaintext data input into the target program.
A second aspect of the present invention provides an attack system based on a branch prediction mechanism, the system comprising:
the data acquisition module is used for selecting plaintext data which accords with an input data rule of a target program, taking the selected plaintext data as input data or partial input data of the target program, and acquiring time sample data of the operation of the target program;
and the data analysis module is used for constructing a branch prediction information matrix aiming at the target program based on a branch prediction mechanism and determining the secret information corresponding to the time sample data according to the branch prediction information matrix.
Further, the data analysis module includes:
a branch prediction information prefetch unit to:
setting an initial state of a branch prediction unit;
configuring preset plaintext data and preset secret information values corresponding to the preset plaintext data;
determining branch prediction information corresponding to the preset secret information value according to the branch prediction mechanism;
constructing the branch prediction information matrix according to the preset plaintext data and the branch prediction information corresponding to the preset secret information value;
and the time attack unit is used for determining the secret information corresponding to the time sample data according to the branch prediction information matrix.
Further, the time attack unit is configured to:
acquiring branch prediction information of a preset secret information value corresponding to plaintext data input by the target program from the branch prediction information matrix;
determining a correlation coefficient between the branch prediction information of the preset secret information value and the time sample data;
and determining the actual secret information value corresponding to the plaintext data according to the correlation coefficient to serve as the secret information corresponding to the time sample data.
Further, the data acquisition module comprises:
the plaintext data selection unit is used for selecting the plaintext data which accords with the input data rule of the target program;
a program running unit for running the target program by using the selected plaintext data as input data or partial input data;
and the time acquisition unit is used for acquiring time sample data of the operation of the target program.
In another aspect, the present invention further provides a storage medium, on which computer program instructions are stored, and when executed, the computer program instructions implement the above-mentioned attack method based on the branch prediction mechanism.
According to the attack method and system based on the branch prediction mechanism, provided by the embodiment of the invention, the plaintext data input into the target program is selected, the time sample data of the operation of the target program is acquired based on the selected plaintext data, the secret information is determined according to the constructed branch prediction information matrix, the whole time data of the operation of the target program is utilized in the attack process, the requirement on the acquisition time point position is low, the leaked information (secret information) can be integrally depicted, the control requirement on the target program is reduced, the attack is carried out in a statistical analysis mode, the depiction of the leakage is more accurate, and the accuracy of time attack detection is improved.
In addition, the invention is not limited to a specific processor or a specific branch prediction mechanism, can be applied to different processor scenes, and has strong universality. Moreover, the method can effectively attack the sensitive data of various target programs under the condition of meeting the attack scene, has low requirement on the capability of an attacker, and has strong system expandability.
Additional features and advantages of embodiments of the invention will be set forth in the detailed description which follows.
Drawings
The accompanying drawings, which are included to provide a further understanding of the embodiments of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the embodiments of the invention without limiting the embodiments of the invention. In the drawings:
FIG. 1 is a flow chart of an attack method based on a branch prediction mechanism according to an embodiment of the present invention;
FIG. 2 is a flowchart of a method for constructing a branch prediction information matrix according to an attack method based on a branch prediction mechanism provided by an embodiment of the present invention;
FIG. 3 is a flowchart of obtaining actual secret information of an attack method based on a branch prediction mechanism according to an embodiment of the present invention;
FIG. 4 is a block diagram of an attack system based on a branch prediction mechanism according to an embodiment of the present invention.
Detailed Description
The following detailed description of embodiments of the invention refers to the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating the present invention, are given by way of illustration and explanation only, not limitation.
FIG. 1 is a flowchart of an attack method based on a branch prediction mechanism according to an embodiment of the present invention. As shown in fig. 1, an embodiment of the present invention provides an attack method based on a branch prediction mechanism, where the method includes:
the method comprises the following steps of firstly, constructing a branch prediction information matrix aiming at a target program based on a branch prediction mechanism.
The branch prediction information matrix comprises a plurality of preset plaintext data and preset secret information values corresponding to the preset plaintext data.
Fig. 2 is a flowchart of constructing a branch prediction information matrix of an attack method based on a branch prediction mechanism according to an embodiment of the present invention. As shown in fig. 2, the steps of constructing the branch prediction information matrix in the present embodiment are:
s11, setting the initial state of the branch prediction component, for example, modifying the state of the branch prediction component to any initial state by a controllable program.
And S12, configuring preset plaintext data and preset secret information values corresponding to the preset plaintext data based on the branch prediction component. Specifically, possible input plaintext data and possible secret information values are determined empirically for branches of the target program, the possible input plaintext data is used as preset plaintext data, and the possible secret information values are used as preset secret information values.
And S13, determining branch prediction information corresponding to the preset secret information value according to the branch prediction mechanism. The branch prediction information comprises two types of prediction success and prediction failure.
S14, constructing the branch prediction information matrix according to the branch prediction information corresponding to the preset plaintext data and the preset secret information values. Specifically, all possible combinations of branch prediction information are encoded (for example, 1 indicates that prediction is successful, 0 indicates that prediction is failed, and all branch prediction information is encoded in a form of a combination of 1 and 0), and a branch prediction information matrix is established when it is determined that a combination of preset plaintext data (possibly input plaintext data) and preset secret information values (possibly secret information values) covers all possibilities. For example, the number of possible plaintext data to be input is N, the possible secret information takes the value of M, and the size of the established branch prediction information matrix is N × M.
And secondly, selecting the plaintext data which accords with the input data rule of the target program. For example, the target program only contains one input data, the input data is binary data with 2 bits, and the random number generator is adopted to select the input plaintext data within the value range of 0-3.
And thirdly, taking the selected plaintext data as input data or partial input data of the target program, and collecting time sample data of the operation of the target program. Specifically, any timing scheme supported by the target processor may be employed to collect time sample data of the target program.
And fourthly, determining secret information corresponding to the time sample data according to the branch prediction information matrix.
Fig. 3 is a flowchart for obtaining actual secret information of an attack method based on a branch prediction mechanism according to an embodiment of the present invention. As shown in fig. 3, the steps of acquiring actual secret information in the present embodiment are:
and S41, obtaining branch prediction information of the value of the preset secret information corresponding to the plaintext data input by the target program from the branch prediction information matrix.
And S42, determining the correlation coefficient between the branch prediction information of the preset secret information value and the time sample data. For example, if the number of plaintext data set elements selected to be input into the target program is n, the number of possible values of the secret information is M, and the size of the time sample data is n × 1, the size of the branch prediction information data is n × M.
And S43, determining the actual secret information value corresponding to the plaintext data according to the correlation coefficient to serve as the secret information corresponding to the time sample data. Specifically, a secret information value with the highest correlation coefficient corresponding to the plaintext data may be selected as an actual secret information value, and it is determined whether the actual secret information value satisfies a preset condition (e.g., whether the credibility of the actual secret information value is within a preset credibility range); if yes, outputting the actual secret information value; and if not, reselecting the plaintext data of the input target program.
In the above method steps provided in this embodiment, the first step (building a branch prediction information matrix for the target program based on the branch prediction mechanism) may be completed after the third step and before the fourth step.
FIG. 4 is a block diagram of an attack system based on a branch prediction mechanism according to an embodiment of the present invention. As shown in fig. 4, an attack system based on a branch prediction mechanism according to an embodiment of the present invention includes a data collection module and a data analysis module. The data acquisition module is used for selecting the plaintext data which accords with the input data rule of the target program, taking the selected plaintext data as the input data or part of the input data of the target program, and acquiring the time sample data of the operation of the target program. The data analysis module is used for constructing a branch prediction information matrix aiming at the target program based on a branch prediction mechanism, and determining secret information corresponding to the time sample data according to the branch prediction information matrix.
The data acquisition module comprises a plaintext data selection unit, a program operation unit and a time acquisition unit. The plaintext data selection unit is used for selecting the plaintext data which accords with the input data rule of the target program. And the program running unit is used for running the target program by taking the selected plaintext data as input data or part of the input data. The time acquisition unit is used for acquiring time sample data of the operation of the target program.
The data analysis module comprises a branch prediction information pre-fetching unit and a time attack unit. The branch prediction information prefetch unit to: setting an initial state of a branch prediction unit; configuring preset plaintext data and preset secret information values corresponding to the preset plaintext data; determining branch prediction information corresponding to the preset secret information value according to the branch prediction mechanism; and constructing the branch prediction information matrix according to the preset plaintext data and the branch prediction information corresponding to the preset secret information value. The time attack unit is used for determining secret information corresponding to the time sample data according to the branch prediction information matrix. The method specifically comprises the following steps: acquiring branch prediction information of a preset secret information value corresponding to plaintext data input by the target program from the branch prediction information matrix; determining a correlation coefficient between the branch prediction information of the preset secret information value and the time sample data; and determining the actual secret information value corresponding to the plaintext data according to the correlation coefficient to serve as the secret information corresponding to the time sample data. The specific way of determining the actual secret information value corresponding to the plaintext data may be: selecting a secret information value with the highest correlation coefficient corresponding to the plaintext data as an actual secret information value, and judging whether the actual secret information value meets a preset condition (for example, whether the credibility of the actual secret information value is within a preset credibility range); if yes, outputting the actual secret information value; and if not, reselecting the plaintext data of the input target program.
According to the attack method and system based on the branch prediction mechanism, provided by the embodiment of the invention, the plaintext data input into the target program is selected, the time sample data of the operation of the target program is acquired based on the selected plaintext data, the secret information is determined according to the constructed branch prediction information matrix, the whole time data of the operation of the target program is utilized in the attack process, the requirement on the acquisition time point position is low, the leaked information (secret information) can be integrally depicted, the control requirement on the target program is reduced, the attack is carried out in a statistical analysis mode, the depiction of the leakage is more accurate, and the accuracy of time attack detection is improved.
In addition, the invention is not limited to a specific processor or a specific branch prediction mechanism, can be applied to different processor scenes, and has strong universality. Moreover, the method can effectively attack the sensitive data of various target programs under the condition of meeting the attack scene, has low requirement on the capability of an attacker, and has strong system expandability.
Embodiments of the present invention also provide a machine-readable storage medium, on which computer program instructions are stored, and when executed, the computer program instructions implement the above-mentioned attack method based on the branch prediction mechanism.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, systems and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solutions of the present invention and not for limiting the same, and although the present invention is described in detail with reference to the above embodiments, those of ordinary skill in the art should understand that: modifications and equivalents may be made to the embodiments of the invention without departing from the spirit and scope of the invention, which is to be covered by the claims.

Claims (5)

1. An attack method based on a branch prediction mechanism, the method comprising:
constructing a branch prediction information matrix aiming at the target program based on a branch prediction mechanism;
selecting plaintext data which accords with the input data rule of the target program;
taking the selected plaintext data as input data or partial input data of the target program, and collecting time sample data of the operation of the target program;
determining secret information corresponding to the time sample data according to the branch prediction information matrix;
the branch prediction information matrix comprises a plurality of preset plaintext data and preset secret information values corresponding to the preset plaintext data;
the method for constructing the branch prediction information matrix aiming at the target program based on the branch prediction mechanism comprises the following steps:
setting an initial state of a branch prediction unit;
configuring the preset plaintext data and preset secret information values corresponding to the preset plaintext data based on the branch prediction component;
determining branch prediction information corresponding to the preset secret information value according to the branch prediction mechanism;
constructing the branch prediction information matrix according to the branch prediction information corresponding to the preset plaintext data and the preset secret information value;
the determining secret information corresponding to the time sample data according to the branch prediction information matrix includes:
acquiring branch prediction information of a preset secret information value corresponding to plaintext data input by the target program from the branch prediction information matrix;
determining a correlation coefficient between the branch prediction information of the preset secret information value and the time sample data;
and determining the actual secret information value corresponding to the plaintext data according to the correlation coefficient to serve as the secret information corresponding to the time sample data.
2. The method according to claim 1, wherein said determining secret information corresponding to the time sample data according to the branch prediction information matrix further comprises:
selecting a secret information value with the highest correlation coefficient corresponding to the plaintext data as an actual secret information value, and judging whether the actual secret information value meets a preset condition;
if yes, outputting the actual secret information value;
and if not, reselecting the plaintext data input into the target program.
3. An attack system based on a branch prediction mechanism, the system comprising:
the data acquisition module is used for selecting plaintext data which accords with an input data rule of a target program, taking the selected plaintext data as input data or partial input data of the target program, and acquiring time sample data of the operation of the target program;
the data analysis module is used for constructing a branch prediction information matrix aiming at the target program based on a branch prediction mechanism and determining secret information corresponding to the time sample data according to the branch prediction information matrix;
the data analysis module includes:
a branch prediction information prefetch unit to:
setting an initial state of a branch prediction unit;
configuring preset plaintext data and preset secret information values corresponding to the preset plaintext data;
determining branch prediction information corresponding to the preset secret information value according to the branch prediction mechanism;
constructing the branch prediction information matrix according to the preset plaintext data and the branch prediction information corresponding to the preset secret information value;
the time attack unit is used for determining secret information corresponding to the time sample data according to the branch prediction information matrix;
the time attack unit is used for:
acquiring branch prediction information of a preset secret information value corresponding to plaintext data input by the target program from the branch prediction information matrix;
determining a correlation coefficient between the branch prediction information of the preset secret information value and the time sample data;
and determining the actual secret information value corresponding to the plaintext data according to the correlation coefficient to serve as the secret information corresponding to the time sample data.
4. The branch prediction mechanism based attack system according to claim 3, wherein the data collection module comprises:
the plaintext data selection unit is used for selecting the plaintext data which accords with the input data rule of the target program;
a program running unit for running the target program by using the selected plaintext data as input data or partial input data;
and the time acquisition unit is used for acquiring time sample data of the operation of the target program.
5. A storage medium having computer program instructions stored thereon, wherein the computer program instructions, when executed, implement the method of attack based on a branch prediction mechanism of claim 1 or 2.
CN202011484779.0A 2020-12-16 2020-12-16 Attack method and system based on branch prediction mechanism and storage medium Active CN112231695B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011484779.0A CN112231695B (en) 2020-12-16 2020-12-16 Attack method and system based on branch prediction mechanism and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011484779.0A CN112231695B (en) 2020-12-16 2020-12-16 Attack method and system based on branch prediction mechanism and storage medium

Publications (2)

Publication Number Publication Date
CN112231695A CN112231695A (en) 2021-01-15
CN112231695B true CN112231695B (en) 2021-03-05

Family

ID=74124796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011484779.0A Active CN112231695B (en) 2020-12-16 2020-12-16 Attack method and system based on branch prediction mechanism and storage medium

Country Status (1)

Country Link
CN (1) CN112231695B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347432A (en) * 2019-06-17 2019-10-18 海光信息技术有限公司 Processor, branch predictor and its data processing method, branch prediction method
CN111638913A (en) * 2019-09-19 2020-09-08 中国科学院信息工程研究所 Processor chip branch predictor security enhancement method based on randomized index and electronic device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9983878B2 (en) * 2014-05-15 2018-05-29 International Business Machines Corporation Branch prediction using multiple versions of history data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347432A (en) * 2019-06-17 2019-10-18 海光信息技术有限公司 Processor, branch predictor and its data processing method, branch prediction method
CN111638913A (en) * 2019-09-19 2020-09-08 中国科学院信息工程研究所 Processor chip branch predictor security enhancement method based on randomized index and electronic device

Also Published As

Publication number Publication date
CN112231695A (en) 2021-01-15

Similar Documents

Publication Publication Date Title
Evtyushkin et al. Branchscope: A new side-channel attack on directional branch predictor
US5687360A (en) Branch predictor using multiple prediction heuristics and a heuristic identifier in the branch instruction
Kong et al. Deconstructing new cache designs for thwarting software cache-based side channel attacks
EP1362451A1 (en) Method for securing a computer installation involving a cryptographic algorithm using boolean operations and arithmetic operations and the corresponding embedded system
EP3776187A1 (en) An apparatus and method for controlling branch prediction
US20130301826A1 (en) System, method, and program for protecting cryptographic algorithms from side-channel attacks
EP3266146A2 (en) Side channel analysis resistant architecture
CN111817842B (en) Energy analysis attack testing device and method for RSA-CRT operation
CN113673002B (en) Memory overflow defense method based on pointer encryption mechanism and RISC-V coprocessor
EP1745340B1 (en) Intrusion detection during program execution in a computer
Jiang et al. A novel cache bank timing attack
EP2367102B1 (en) Computer processor and method with increased security properties
CN100472751C (en) Method of preventing energy analysis attack to RSA algorithm
Jiang et al. Exploiting bank conflict-based side-channel timing leakage of gpus
Zankl et al. Side-channel attacks in the Internet of Things: threats and challenges
CN104583961A (en) Software-based side-channel attack prevention
Zhang et al. Hardware-based detection of spectre attacks: a machine learning approach
CN112231695B (en) Attack method and system based on branch prediction mechanism and storage medium
Sönmez et al. Machine learning based side channel selection for time-driven cache attacks on aes
US7428632B2 (en) Branch prediction mechanism using a branch cache memory and an extended pattern cache
Lackner et al. A defensive Java Card virtual machine to thwart fault attacks by microarchitectural support
Liu et al. Can randomized mapping secure instruction caches from side-channel attacks?
CN115033411A (en) Hardware detection and defense mechanism for microprocessor buffer overflow
Wang et al. A survey of return-oriented programming attack, defense and its benign use
Ashokkumar et al. An error-tolerant approach for efficient AES key retrieval in the presence of cacheprefetching–experiments, results, analysis

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