Skip to main content

FPGA-Based Remote Power Side-Channel Attacks

This post introduces a power side-channel attack on FPGAs and cloud computing.
Field Programmable Gate Arrays (FPGAs) have been widely adopted as hardware accelerators, as it allows end users to customize their own integrated circuits for specific tasks. Cloud computing vendors such as Amazon lease FPGAs to customers, since FPGAs can be virtualized and shared among users. This results in the fact that circuits belonging to multiple users may co-resides on one physical FPGA, which makes side-channel attacks possible.
However, even if circuits from different users co-resides on the same FPGA board, they are physically partitioned with a “fence” made of unused configurable logic blocks. This prohibits one malicious user to directly steal secrets from victim’s circuit on the same FPGA. A noticeable observation is, a common power supply is shared with all circuits on the same FPGA.  The activities of one single circuit will be reflected in the voltage from the power supply and can be sensed by other circuits. [1] introduced a novel method which takes advantage of this fact and conducts a side-channel attack on RSA encryption process.


In the thread model, the adversary has no physical proximity to a target system and cannot measure its physical properties. However, the adversary is allowed to control the behavior of part of the logic gates on that same FPGA where the victim system resides.
Heavy computation task generally leads to high switching activities of CMOS. High switching activities lead to transient voltage drops of the power supply of the FPGA. In other words, if one of the circuits reside on the FPGA has intensive computation tasks, the result will be a voltage drop of the power supply. This voltage drop can be observed by other circuits, and this fact may be utilized by an adversary.

In order to gather voltage data, an adversary can put a Ring Oscillator on the system. A ring oscillator generates a square wave, whose frequency is determined by the latency of logic gates. Generally, the higher the latency, the lower the frequency. The gate latency is affected by the applied voltage. In other words, the frequency is inversely proportional to the applied voltage. 

A counter is connected to the output of the RO and is incremented by the rising edges. Another counter is triggered by the system clock, whose frequency is known to the adversary. The values of two counters are compared occasionally to derive the average frequency of the RO in one period.
Till now, the adversary can observe the change of voltage in the power supply in a given time range. A case study is presented to illustrate how to conduct a side-channel attack.
Encrypting a message using RSA requires the computation of a large modular exponentiation, which is computationally expensive due to the large operands, and inefficient to be performed in CPU. A practical approach is to design a hardware accelerator using FPGA to implements the square-and-multiply algorithm, as shown in the following figure.

In the above figure, d represents the secret key. There are two multipliers presented. If ith bit of d is 1, both two multipliers will work. If ith bit of d is 0, one multiplier will be idle. Thus, the value of ith bit of d can be inferred by observing the voltage drop. By repeating this process, an adversary can get the entire secret key.


The novelty of this paper is that it introduced a power side-channel vulnerability that beneath the integration of cloud computing and FPGA. It is particularly important as it does not require an adversary to have physical proximity to the victim system, which is practical as the prevalence of cloud computing nowadays.

Comments

Popular posts from this blog

Introduction to Meltdown and Escaping the Chrome Sandbox

R untime isolation and sandboxed environments are central to modern application security, but the most commonly used ones may not be as secure as we hope. Overview The general idea of isolated or sandboxed environments is to give a program a limited scope in which to operate. Instead of allowing a given program to use any of a machine’s resources, physical or virtual, you restrict its environment such that it can only access aspects of the system that the sandbox designer has decided are available for use by the program. This is not unlike putting your child in a literal sandbox with high walls – they are free to do whatever they want with all the sand, toys, and tools inside, but cannot interact with the environment outside. Isolation principles are in play at pretty much every aspect of modern computing. For example, last week a classmate wrote a blog on WannaCry, an exploit in Windows SMB older and unpatched versions of Windows. Without going into the detail...

Remote Attestation

Introduction The number of information technologies, such as IoT devices and mobile Internet, are rising and therefore also the need for trustworthy computing environments. The digital community is seeing more and more threats to their secret information, threats such as computer viruses and malware. Any company or individual with sensitive information will want to be able to keep it in a secure environment that preserves the integrity, authenticity, confidentiality and reliability of the data. Not only does the information need to be secure in an individual server but will need to travel through trusted channels. While firewalls and virus defense mostly protect the server side of a computing platform, the client side is vulnerable, which is where trusted computing comes in.  There are many organizations that have attempted to establish a standard definition for trusted computing, but there are many different ways of understanding a trustworthy environment. The Trusted Compu...

Foreshadow: Breaking SGX Confidentiality

Attack Overview   Speculative execution  has been a widely reported and studied vulnerability that focuses on violating memory isolation. For a while Intel’s SGX was thought to be safe from speculative execution,  but  recent research has shown that  this  is not the case. The Foreshadow attack  is capable of violating  all security assumptions surrounding intel SGX and requires a true hardware level patch to fix.   Foreshadow is an extension upon Meltdown which allows SGX memory to sit unprotected in the cache. The key to defeating SGX’s protections lies in abusing the legacy permission checks which occur before SGX can implement its own protections. Originally, SGX was thought to be secure as when an invalid memory access occurs all data gets overwritten with a dummy value of –1. This behavior is called “abort page” semantics. In order to defeat this protection, we need to cause a “page fault”. A page fault is part of the legacy...