Gerardo Pelosi

Prof. Gerardo Pelosi

Politecnico di Milano
orcid

Research Focus & Metrics

Academic Career Length

21Years (2006-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
24 October 2010
Verified
Conference Paper
Open access
ABAlessandro Barenghi
Alessandro Barenghi
LBLuca Breveglieri
Luca Breveglieri
IKIsrael Koren
Israel Koren
GPGerardo Pelosi
Gerardo Pelosi
Francesco RegazzoniFrancesco Regazzoni
Francesco Regazzoni
In this paper we present software countermeasures specifically designed to counteract fault injection attacks during\ud the execution of a software implementation of a cryptographic\ud algorithm and analyze the efficiency of these countermeasures.\ud We propose two approaches based on the insertion\ud of redundant computations and checks, which in their\ud general form are suitable for any cryptographic algorithm.\ud In particular, we focus on selective instruction duplication\ud to detect single errors, instruction triplication to support error\ud correction, and parity checking to detect corruption of\ud a stored value. We developed a framework to automatically\ud add the desired countermeasure, and we support the possibility to apply the selected redundancy to either all the\ud instructions of the cryptographic routine or restrict it to the\ud most sensitive ones, such as table lookups and key fetching.\ud Considering an ARM processor as a target platform\ud and AES as a target algorithm, we evaluate the overhead of\ud the proposed countermeasures while keeping the robustness\ud of the implementation high enough to thwart most or all of\ud the known fault attacks. Experimental results show that in\ud the considered architecture, the solution with the smallest\ud overhead is per-instruction selective doubling and checking,\ud and that the instruction triplication scheme is a viable alternative if very high levels of injected fault resistance are\ud required

1 July 2018
Verified
Conference Paper
Closed access
ABAlessandro Barenghi
Alessandro Barenghi
LBLuca Breveglieri
Luca Breveglieri
NINiccolo Izzo
Niccolo Izzo
GPGerardo Pelosi
Gerardo Pelosi
In recent years, the ability to induce bit-flips in DRAM cells via software-only driven charge depletion has been successfully exploited to gain unauthorized privileged access to the functional resources on fixed and mobile computational platforms. The first crucial step in executing these attacks, collectively known as rowhammer attacks, concerns gaining the knowledge of how virtual memory addresses are mapped onto the geometric addresses of the physical DRAM module(s). We propose a methodology to reverse engineer such maps without direct physical probing of the DRAM bus of the target platform. We validate the correctness of the inferred maps against some publicly available data about modern Intel CPUs maps and show that they depend on the number of installed memory modules.

1 September 2009
Verified
Conference Paper
Closed access
ABAlessandro Barenghi
Alessandro Barenghi
GBGuido Bertoni
Guido Bertoni
EPEmanuele Parrinello
Emanuele Parrinello
GPGerardo Pelosi
Gerardo Pelosi
Fault injection attacks are a powerful tool to exploit implementative weaknesses of robust cryptographic algorithms. The faults induced during the computation of the cryptographic primitives allow to extract pieces of information about the secret parameters stored into the device using the erroneous results. Various fault induction techniques have been researched, both to make practical several theoretical fault models proposed in open literature and to outline new kinds of vulnerabilities. In this paper we describe a non-invasive fault model based on the effects of underfeeding the power supply of an ARM general purpose CPU. We describe the methodology followed to characterize the fault model on an ARM9 microprocessor and propose and mount attacks on implementations of the RSA primitives.

1 May 2009
Verified
Conference Paper
Closed access
ABAndrea Di Biagio
Andrea Di Biagio
ABAlessandro Barenghi
Alessandro Barenghi
Giovanni AgostaGiovanni Agosta
Giovanni Agosta
GPGerardo Pelosi
Gerardo Pelosi
Web servers often need to manage encrypted transfers of data. The encryption activity is computationally intensive, and exposes a significant degree of parallelism. At the same time, cheap multicore processors are readily available on graphics hardware, and toolchains for development of general purpose programs are being released by the vendors. In this paper, we propose an effective implementation of the AES-CTR symmetric cryptographic primitive using the CUDA framework. We provide quantitative data for different implementation choices and compare them with the common CPU-based OpenSSL implementation on a performance-cost basis. With respect to previous works, we focus on optimizing the implementation for practical application scenarios, and we provide a throughput improvement of over 14 times. We also provide insights on the programming knowledge required to efficiently exploit the hardware resources by exposing the different kinds of parallelism built in the AES-CTR cryptographic primitive.

1 June 2010
Verified
Conference Paper
Closed access
ABAlessandro Barenghi
Alessandro Barenghi
GBGuido M. Bertoni
Guido M. Bertoni
LBLuca Breveglieri
Luca Breveglieri
MPMauro Pellicioli
Mauro Pellicioli
GPGerardo Pelosi
Gerardo Pelosi
This paper presents a new fault based attack on the Advanced Encryption Standard (AES) with any key length, together with its practical validation through the use of low voltage induced faults. The CPU running the attacked algorithm is the ARM926EJ-S: a 32-bit processor widely deployed in computer peripherals, telecommunication appliances and low power portable devices. We prove the practical feasibility of this attack through inducing faults in the computation of the AES algorithm running on a full fledged Linux 2.6 operating system targeted to two implementations of the ARM926EJ-S on commercial development boards.

3 June 2012
Verified
Conference Paper
Open access
Giovanni AgostaGiovanni Agosta
Giovanni Agosta
ABAlessandro Barenghi
Alessandro Barenghi
GPGerardo Pelosi
Gerardo Pelosi
We introduce a general framework to automate the application of countermeasures against Differential Power Attacks aimed at software implementations of cryptographic primitives. The approach enables the generation of multiple versions of the code, to prevent an attacker from recognizing the exact point in time where the observed operation is executed and how such operation is performed. The strategy increases the effort needed to retrieve the secret key through hindering the formulation of a correct hypothetical consumption to be correlated with the power measurements. The experimental evaluation shows how a DPA attack against OpenSSL AES implementation on an industrial grade ARM-based SoC is hindered with limited performance overhead