In 2002 and 2003, Yukiyasu Tsunoo and colleagues from
NEC showed how to attack
MISTY and
DES symmetric key ciphers, respectively. In 2005,
Daniel Bernstein from the
University of Illinois, Chicago reported an extraction of an
OpenSSL AES key via a cache timing attack, and
Colin Percival had a working attack on the OpenSSL
RSA key using the Intel processor's cache. In 2013 Yuval Yarom and Katrina Falkner from the University of Adelaide showed how measuring the access time to data lets a nefarious application determine if the information was read from the cache or not. If it was read from the cache the access time would be very short, meaning the data read could contain the private key of encryption algorithms.
This technique was used to successfully attack GnuPG, AES and other cryptographic implementations.
[15][16][17][18][19][20] In January 2017, Anders Fogh gave a presentation at the
Ruhruniversität Bochum about automatically finding covert channels, especially on processors with a pipeline used by more than one processor core.
[21]
Spectre proper was discovered independently by Jann Horn from
Google's
Project Zero and
Paul Kocher in collaboration with Daniel Genkin, Mike Hamburg, Moritz Lipp and Yuval Yarom.[
when?] Microsoft Vulnerability Research extended it to browsers' JavaScript JIT engines.
[4][22] It was made public in conjunction with another vulnerability,
Meltdown, on 3 January 2018, after the affected hardware vendors had already been made aware of the issue on 1 June 2017.
[23] The vulnerability was called Spectre because it was "based on the root cause, speculative execution. As it is not easy to fix, it will haunt us for quite some time."
[24]