News

Researchers discover attacks against widely used cryptographic libraries

The researchers fixed the vulnerability by editing the code in a way that the attacker cannot learn the secret key of the victim.

Different levels of cache include smaller and faster memories.

Security in the Internet is provided by underlying cryptographic protocols. Two of the prominent ones are the Transparent Layer Security (TLS) providing security to network communications and the more specialized Secure Shell (SSH) providing secure login to remote hosts.

'Web banks use the TLS protocol to cryptographically authenticate to their clients when their clients log in. Weaknesses in TLS implementations can allow an attacker to put up a fake website that looks and behaves exactly the same as the original web bank,' explains Cesar Pereida Garcia, a Master’s student at the Department of Computer Science and researcher with the Secure Systems Group.

Many of these protocols use OpenSSL in their implementations. OpenSSL is a widely used library of cryptographic algorithm implementations. However, side-channels can be used as other information channels to leak critical secrets from implementations of cryptographic algorithms.

'When a computer is executing an algorithm, unless the algorithm was designed and implemented carefully, an attacker can learn what the computer is doing by monitoring different types of information channels. For example, electromagnetic radiation emanating from the computer is one such side-channel,' says professor N. Asokan who is Pereida Garcia’s thesis supervisor.

Pereida Garcia, in collaboration with Billy Brumley, Tampere University of Technology, and Yuval Yarom, The University of Adelaide and NICTA, discovered a side-channel attack, based on cache timing measurements, against the OpenSSL implementation of the Digital Signature Algorithm (DSA) which is used to authenticate messages.

The secret key

Recent Intel computer architecture has three levels of cache. Intel caches are inclusive: if the data gets deleted from the cache at one level, it will also be deleted from all higher level caches. The last level cache (LLC) in a processor is shared by all cores in that processor.

'The critical operation of DSA involves exponentiations, reduced to a sequence of square and multiply operations. The code for each operation is at a unique memory address. Due to the discovered software defect, the exact sequence of these operations depends on the secret key. Therefore the attacker whose code is running on one core can learn the sequence of operations and thus the key of the victim’s DSA implementation running on another core by manipulating and monitoring the LLC,' explains Pereida Garcia.

'The execution path of the DSA algorithm should have been tested when the mitigation was created in 2005. It is rather simple to test if the code behaves as intended with a debugger,' tells Pereida Garcia’s thesis advisor, Tampere University of Technology assistant professor Billy Brumley who is an alumnus of Aalto University.

Fixing the vulnerability

The developers of the OpenSSL library were informed on the vulnerability on 23.5.2016 and have already merged Pereida Garcia’s fix for the security vulnerability. Two open-source forks of OpenSSL, Google’s BoringSSL and FreeBSD’s LibreSSL, also merged Pereida Garcia’s fix.

'Fixing the code was straightforward once the software defect was detected. Now the DSA square and multiply algorithm always runs in constant-time independently from the key bits,' concludes Pereida Garcia.

Cesar Pereida Garcia is part of the Erasmus Mundus NordSecMob Master’s Programme. The project is also supported by TEKES Cyber Trust.

More information:

Cesar Pereida García
Aalto University
[email protected]

Billy Bob Brumley
Tampere University of Technology
p. 050 553 2851
[email protected]

Article

US-CERT/NIST National Vulnerability Database

TEKES Cyber Trust

  • Published:
  • Updated:
Share
URL copied!

Related news

Smart City Challenge
Research & Art Published:

Four smart city pilot projects start in January 2021

Altogether 71 ideas were proposed to the international challenge for smart cities. 
ARTS open science roadshow, pic of the session
Research & Art Published:

European Open Science Cloud (EOSC) Finnish Forum webinar on 25th January

One of the speakers is Karel Luyben, the first president of the EOSC Association and a member of board at Aalto University.
Installation Talk 2020, Jarkko Niiranen
Research & Art Published:

Professor Jarkko Niiranen on the computational mechanics of microarchitectural solids and structures

'When developing models, we spend a lot of time on mathematical physics, numerical mathematics and computer programming, but the fundamental concepts of mechanics remain the same' says Niiranen in his installation talk.
A photo showing Dr. Dorothea Golze
Research & Art Published:

Computational physicist Dorothea Golze receives prestigious Emmy Noether Award

Dorothea Golze received funding from the German Research Foundation within the Emmy Noether Programme to establish her own junior research group at the Technical University of Dresden.