SlideShare a Scribd company logo
CPU Vulnerabilities
Where are we now?
Manuel Wiesinger
mwiesinger@sba-research.at
What happened so far?
2018
Spectre
V1,V2,V3
(M
eltdow
n)
Jan.
What happened so far?
2018
Spectre
V1,V2,V3
(M
eltdow
n)
Jan.
Firstreportsofexperim
entalexploitation
Feb.
What happened so far?
2018
Spectre
V1,V2,V3
(M
eltdow
n)
Jan.
Firstreportsofexperim
entalexploitation
Feb.
BranchScope
M
ar.
Spectre
V3a,Spectre
V4
M
ay
LazyFP,SGX
Spectre
Jun.
Spectre1.1,Spectre1.2,NetSpectre,ret2spec,SpectreRSB
Jul.
L1TFSGX,L1TFOS/SM
M
,L1TFVM
M
,Labeled
Aug.
What happened so far?
2018
Spectre
V1,V2,V3
(M
eltdow
n)
Jan.
Firstreportsofexperim
entalexploitation
Feb.
BranchScope
M
ar.
Spectre
V3a,Spectre
V4
M
ay
LazyFP,SGX
Spectre
Jun.
Spectre1.1,Spectre1.2,NetSpectre,ret2spec,SpectreRSB
Jul.
L1TFSGX,L1TFOS/SM
M
,L1TFVM
M
,Labeled
Aug.
Yetanotherone!
Oct.
2
Impact
• Allows data extraction from arbitrary local memory (!)
3
Impact
• Allows data extraction from arbitrary local memory (!)
• Exploitable from JavaScript environments (websites!!)
3
Impact
• Allows data extraction from arbitrary local memory (!)
• Exploitable from JavaScript environments (websites!!)
• Via the network (!!!)
3
Impact
• Allows data extraction from arbitrary local memory (!)
• Exploitable from JavaScript environments (websites!!)
• Via the network (!!!)
3
Who can feel safe?
• Nobody using computers built after 1995.
◦ Any CPU manufacturer
◦ Any operating system
◦ Any Device type
• Don’t trust the memory!
4
How can we fix CPU
vulnerabilities ?
Can software fix this?Do we need to throw all our computers away?
5
6
Attack Limitations
• Difficult — conventional attacks typically easier
7
Attack Limitations
• Difficult — conventional attacks typically easier
• Via the network
◦ Works only under laboratory conditions
◦ Slow (15 bit / hour)
7
Attack Limitations
• Difficult — conventional attacks typically easier
• Via the network
◦ Works only under laboratory conditions
◦ Slow (15 bit / hour) — Still: extract a 256 bit key in ∼ 17 hours
7
Attack Limitations
• Difficult — conventional attacks typically easier
• Via the network
◦ Works only under laboratory conditions
◦ Slow (15 bit / hour) — Still: extract a 256 bit key in ∼ 17 hours
• Mitigations on the way
◦ Partly already deployed via microcode and OS upgrades
7
Fixes for CPU-Vulnerabilities
Name CVE Aliases CVSS Impact Fix available
Spectre V1 2017-5753 Bounds Check Bypass 5.6 Memory Microcode/Browser/OS
Spectre V2 2017-5715 5.6 Memory Microcode/Compiler ?
Spectre V3 2017-5754 Meltdown 5.6 Kernel memory OS
Spectre V3a 2018-3640 Spectre V3a (RSRE) 5.6 Register data Microcode?
Spectre V4 2018-3639 Speculative Store Bypass (SSB) 5.5 Memory OS
Spectre V5 N/A ret2spec 5.5 Memory Browser?
SpectreRSB N/A N/A Memory OS
Lazy FP 2018-3665 5.6 Registers OS
Spectre1.1 2018-3693 5.6 Kernel memory OS
Spectre1.2 N/A N/A Kerslidesmory OS
L1TF: SGX 2018-3615 Foreshadow (SGX) 6.4 SGX enclaves Microcode
L1TF: OS/SMM 2018-3620 Foreshadow-NG (OS) 5.6 Kernel memory Microcode
L1TF: VMM 2018-3646 Foreshadow-NG (VMM) 5.6 Kernel memory Microcode
BranchScope 2018-9056 5.6 VM memory Microcode?
SGXPectre N/A N/A SGX enclaves Microcode?
NetSpectre N/A N/A Remote memory OS?
TLBleed N/A N/A Microcode?
8
We do not know what
else is out there!
9
How do CPU
vulnerabilities work?
Two Basic Terms
• Side-channel
◦ Passive
◦ E.g Timing analysis, or even acoustic analysis
10
Two Basic Terms
• Side-channel
◦ Passive
◦ E.g Timing analysis, or even acoustic analysis
• Covered Channel
◦ Active
◦ E.g. Trojan Horse
10
CPU-Caches
CPU
CPU-Cache
← data →
command →
address →
11
Hyper-Threading
CPU
Hyper-Threading
CPU
Process 1
0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Hyper-Threading
CPU
Process 1
0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Process 2
0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
0xAE 0xAE 0xAE
Hyper-Threading
CPU
Process 1
0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Process 2
0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
0xAE 0xAE 0xAE
Hyper-Threading
CPU
Process 1
0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Process 2
0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
0xAE 0xAE 0xAE
12
Speculative Execution
CPU
Speculative Execution
CPU
Process 1
0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Speculative Execution
CPU
Process 1
0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Process 2
0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
0xAE 0xAE 0xAE
Speculative Execution
CPU
Process 1
0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Process 2
0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
0xAE 0xAE 0xAE
CPU-Cache
Speculative Execution
CPU
Process 1
0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Process 2
0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
0xAE 0xAE 0xAE
CPU-Cache
? ? ? ? ?
”I try to guess, so I’m faster!”
Speculative Execution
CPU
Process 1
0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Process 2
0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
0xAE 0xAE 0xAE
CPU-Cache
? ? ? ? ?
”I try to guess, so I’m faster!”
Speculative Execution
CPU
Process 1
0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Process 2
0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
0xAE 0xAE 0xAE
CPU-Cache
? ? ? ? ?
”I try to guess, so I’m faster!”
Speculative Execution
CPU
Process 1
0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Process 2
0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
0xAE 0xAE 0xAE
CPU-Cache
? ? ? ? ?
”I try to guess, so I’m faster!”
Speculative Execution
CPU
Process 1
0x90 0x90 0x90 0x90 0x90
0x90 0x90 0x90
Process 2
0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
0xAE 0xAE 0xAE
CPU-Cache
? ? ? ? ?
”I try to guess, so I’m faster!”
13
Hands on! — Meltdown
Hands on! — Meltdown
1. Access data D at an illegal address — get’s executed
speculatively
2. Make an address A of the data D — just a shl
3. Load data at address A
4. Program crashes
5. Do some tricks (e.g. fork)
6. Probe access time to A to learn if it is cached
7. Now we know that an address based on D is cached
8. Revert step 2 to get the data
14
How can you protect yourself?
15
How can you protect yourself?
• As always: Apply Security-Updates!
15
How can you protect yourself?
• As always: Apply Security-Updates!
• Don’t trust the memory!
15
How can you protect yourself?
• As always: Apply Security-Updates!
• Don’t trust the memory!
◦ Overwrite critical data!
15
How can you protect yourself?
• As always: Apply Security-Updates!
• Don’t trust the memory!
◦ Overwrite critical data!
◦ C: explicit_bzero()
15
How can you protect yourself?
• As always: Apply Security-Updates!
• Don’t trust the memory!
◦ Overwrite critical data!
◦ C: explicit_bzero()
◦ Java: char[]
15
How can you protect yourself?
• As always: Apply Security-Updates!
• Don’t trust the memory!
◦ Overwrite critical data!
◦ C: explicit_bzero()
◦ Java: char[]
◦ Python, Go, and co. (essentially all garbage collecting languages
with immutable strings): No guaranteed solution.
15
Questions?
16
Backup Slides
Meltdown
1 retry:
2 mov al , byte [rcx]
3 shl rax , 0xc
4 jz retry
5 mov rbx , qword [rbx + rax]
17
Meltdown
1 retry:
2 mov al , byte [rcx]
3 shl rax , 0xc
4 jz retry
5 mov rbx , qword [rbx + rax]
18
Meltdown
1 retry:
2 mov al, byte [rcx]
3 shl rax , 0xc
4 jz retry
5 mov rbx , qword [rbx + rax]
19
Meltdown
1 retry:
2 mov al , byte [rcx]
3 shl rax, 0xc
4 jz retry
5 mov rbx , qword [rbx + rax]
20
Meltdown
1 retry:
2 mov al , byte [rcx]
3 shl rax , 0xc
4 jz retry
5 mov rbx , qword [rbx + rax]
21
Meltdown
1 retry:
2 mov al , byte [rcx]
3 shl rax , 0xc
4 jz retry
5 mov rbx , qword [rbx + rax]
22
Meltdown
1 retry:
2 mov al , byte [rcx]
3 shl rax , 0xc
4 jz retry
5 mov rbx, qword [rbx + rax]
23

More Related Content

What's hot

Gnu linux on arm for $50 - $100
Gnu linux on arm for $50 - $100Gnu linux on arm for $50 - $100
Gnu linux on arm for $50 - $100
Dobrica Pavlinušić
 
BSides DFW2016-Hack Mode Enabled
BSides DFW2016-Hack Mode EnabledBSides DFW2016-Hack Mode Enabled
BSides DFW2016-Hack Mode Enabled
pricemcdonald
 
Spider Setup with AWS/sandbox
Spider Setup with AWS/sandboxSpider Setup with AWS/sandbox
Spider Setup with AWS/sandbox
I Goo Lee
 
MQTTS mosquitto - cheat sheet -
MQTTS mosquitto - cheat sheet -MQTTS mosquitto - cheat sheet -
MQTTS mosquitto - cheat sheet -
Naoto MATSUMOTO
 
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDKHow to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
Naoto MATSUMOTO
 
Vt6655 linux user_guide
Vt6655 linux user_guideVt6655 linux user_guide
Vt6655 linux user_guide
MONTBUIAUTOESCOLA
 
Proxy arp
Proxy arpProxy arp
Proxy arp
Marian Marinov
 
Stealth post-exploitation with phpsploit
Stealth post-exploitation with phpsploitStealth post-exploitation with phpsploit
Stealth post-exploitation with phpsploit
Nullbyte Security Conference
 
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow
 
Linux Hardening - Made Easy
Linux Hardening - Made EasyLinux Hardening - Made Easy
Linux Hardening - Made Easy
Guy Barnhart-Magen
 
Cisco adaptive security appliance (asa) firewalls lifeline of today’s data ce...
Cisco adaptive security appliance (asa) firewalls lifeline of today’s data ce...Cisco adaptive security appliance (asa) firewalls lifeline of today’s data ce...
Cisco adaptive security appliance (asa) firewalls lifeline of today’s data ce...
IT Tech
 
Honeypots: Visão Geral
Honeypots: Visão GeralHoneypots: Visão Geral
Honeypots: Visão Geral
bernardo_mr
 
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON
 
GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-
Naoto MATSUMOTO
 
如何利用 Docker 強化網站安全
如何利用 Docker 強化網站安全如何利用 Docker 強化網站安全
如何利用 Docker 強化網站安全
Tim Hsu
 
How to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFiHow to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFi
Naoto MATSUMOTO
 
窺探職場上所需之資安專業技術與能力 Tdohconf
窺探職場上所需之資安專業技術與能力 Tdohconf窺探職場上所需之資安專業技術與能力 Tdohconf
窺探職場上所需之資安專業技術與能力 Tdohconf
jack51706
 
Us20100274887
Us20100274887Us20100274887
Us20100274887
Mehul Sanghavi
 
How to twist a IPv6 over Bluetooth (6lowpan)
How to twist a IPv6 over Bluetooth (6lowpan) How to twist a IPv6 over Bluetooth (6lowpan)
How to twist a IPv6 over Bluetooth (6lowpan)
Naoto MATSUMOTO
 
Kernel Recipes 2016 - Wo needs a real-time operating system (not you!)
Kernel Recipes 2016 - Wo needs a real-time operating system (not you!)Kernel Recipes 2016 - Wo needs a real-time operating system (not you!)
Kernel Recipes 2016 - Wo needs a real-time operating system (not you!)
Anne Nicolas
 

What's hot (20)

Gnu linux on arm for $50 - $100
Gnu linux on arm for $50 - $100Gnu linux on arm for $50 - $100
Gnu linux on arm for $50 - $100
 
BSides DFW2016-Hack Mode Enabled
BSides DFW2016-Hack Mode EnabledBSides DFW2016-Hack Mode Enabled
BSides DFW2016-Hack Mode Enabled
 
Spider Setup with AWS/sandbox
Spider Setup with AWS/sandboxSpider Setup with AWS/sandbox
Spider Setup with AWS/sandbox
 
MQTTS mosquitto - cheat sheet -
MQTTS mosquitto - cheat sheet -MQTTS mosquitto - cheat sheet -
MQTTS mosquitto - cheat sheet -
 
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDKHow to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
 
Vt6655 linux user_guide
Vt6655 linux user_guideVt6655 linux user_guide
Vt6655 linux user_guide
 
Proxy arp
Proxy arpProxy arp
Proxy arp
 
Stealth post-exploitation with phpsploit
Stealth post-exploitation with phpsploitStealth post-exploitation with phpsploit
Stealth post-exploitation with phpsploit
 
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
 
Linux Hardening - Made Easy
Linux Hardening - Made EasyLinux Hardening - Made Easy
Linux Hardening - Made Easy
 
Cisco adaptive security appliance (asa) firewalls lifeline of today’s data ce...
Cisco adaptive security appliance (asa) firewalls lifeline of today’s data ce...Cisco adaptive security appliance (asa) firewalls lifeline of today’s data ce...
Cisco adaptive security appliance (asa) firewalls lifeline of today’s data ce...
 
Honeypots: Visão Geral
Honeypots: Visão GeralHoneypots: Visão Geral
Honeypots: Visão Geral
 
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities
 
GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-
 
如何利用 Docker 強化網站安全
如何利用 Docker 強化網站安全如何利用 Docker 強化網站安全
如何利用 Docker 強化網站安全
 
How to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFiHow to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFi
 
窺探職場上所需之資安專業技術與能力 Tdohconf
窺探職場上所需之資安專業技術與能力 Tdohconf窺探職場上所需之資安專業技術與能力 Tdohconf
窺探職場上所需之資安專業技術與能力 Tdohconf
 
Us20100274887
Us20100274887Us20100274887
Us20100274887
 
How to twist a IPv6 over Bluetooth (6lowpan)
How to twist a IPv6 over Bluetooth (6lowpan) How to twist a IPv6 over Bluetooth (6lowpan)
How to twist a IPv6 over Bluetooth (6lowpan)
 
Kernel Recipes 2016 - Wo needs a real-time operating system (not you!)
Kernel Recipes 2016 - Wo needs a real-time operating system (not you!)Kernel Recipes 2016 - Wo needs a real-time operating system (not you!)
Kernel Recipes 2016 - Wo needs a real-time operating system (not you!)
 

Similar to CPU vulnerabilities - where are we now?

[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis
Moabi.com
 
Sangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL JediSangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL Jedi
Connor McDonald
 
[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory Analysis[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory Analysis
Moabi.com
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON
 
[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit Automation[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit Automation
Moabi.com
 
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesWindows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Peter Hlavaty
 
[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis
Moabi.com
 
Metasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCUMetasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCU
Kiwamu Okabe
 
Steelcon 2014 - Process Injection with Python
Steelcon 2014 - Process Injection with PythonSteelcon 2014 - Process Injection with Python
Steelcon 2014 - Process Injection with Python
infodox
 
hacking-embedded-devices.pptx
hacking-embedded-devices.pptxhacking-embedded-devices.pptx
hacking-embedded-devices.pptx
ssuserfcf43f
 
Writing Metasploit Plugins
Writing Metasploit PluginsWriting Metasploit Plugins
Writing Metasploit Plugins
amiable_indian
 
NSC #2 - Challenge Solution
NSC #2 - Challenge SolutionNSC #2 - Challenge Solution
NSC #2 - Challenge Solution
NoSuchCon
 
Copy Protection Wars: Analyzing Retro and Modern Schemes (RSA 2007)
Copy Protection Wars: Analyzing Retro and Modern Schemes (RSA 2007)Copy Protection Wars: Analyzing Retro and Modern Schemes (RSA 2007)
Copy Protection Wars: Analyzing Retro and Modern Schemes (RSA 2007)
Nate Lawson
 
Know your platform. 7 things every scala developer should know about jvm
Know your platform. 7 things every scala developer should know about jvmKnow your platform. 7 things every scala developer should know about jvm
Know your platform. 7 things every scala developer should know about jvm
Pawel Szulc
 
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
CODE BLUE
 
look inside your (Liferay) portal
look inside your (Liferay) portallook inside your (Liferay) portal
look inside your (Liferay) portal
IBACZ
 
Power of linked list
Power of linked listPower of linked list
Power of linked list
Peter Hlavaty
 
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
Ernie Souhrada
 
Messing around avs
Messing around avsMessing around avs
Messing around avs
Shubham Mittal
 
Рахманов Александр "Что полезного в разборе дампов для .NET-разработчиков?"
Рахманов Александр "Что полезного в разборе дампов для .NET-разработчиков?"Рахманов Александр "Что полезного в разборе дампов для .NET-разработчиков?"
Рахманов Александр "Что полезного в разборе дампов для .NET-разработчиков?"
Yulia Tsisyk
 

Similar to CPU vulnerabilities - where are we now? (20)

[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis
 
Sangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL JediSangam 18 - Database Development: Return of the SQL Jedi
Sangam 18 - Database Development: Return of the SQL Jedi
 
[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory Analysis[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory Analysis
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 
[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit Automation[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit Automation
 
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesWindows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
 
[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis
 
Metasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCUMetasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCU
 
Steelcon 2014 - Process Injection with Python
Steelcon 2014 - Process Injection with PythonSteelcon 2014 - Process Injection with Python
Steelcon 2014 - Process Injection with Python
 
hacking-embedded-devices.pptx
hacking-embedded-devices.pptxhacking-embedded-devices.pptx
hacking-embedded-devices.pptx
 
Writing Metasploit Plugins
Writing Metasploit PluginsWriting Metasploit Plugins
Writing Metasploit Plugins
 
NSC #2 - Challenge Solution
NSC #2 - Challenge SolutionNSC #2 - Challenge Solution
NSC #2 - Challenge Solution
 
Copy Protection Wars: Analyzing Retro and Modern Schemes (RSA 2007)
Copy Protection Wars: Analyzing Retro and Modern Schemes (RSA 2007)Copy Protection Wars: Analyzing Retro and Modern Schemes (RSA 2007)
Copy Protection Wars: Analyzing Retro and Modern Schemes (RSA 2007)
 
Know your platform. 7 things every scala developer should know about jvm
Know your platform. 7 things every scala developer should know about jvmKnow your platform. 7 things every scala developer should know about jvm
Know your platform. 7 things every scala developer should know about jvm
 
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey Gordeychik
 
look inside your (Liferay) portal
look inside your (Liferay) portallook inside your (Liferay) portal
look inside your (Liferay) portal
 
Power of linked list
Power of linked listPower of linked list
Power of linked list
 
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
 
Messing around avs
Messing around avsMessing around avs
Messing around avs
 
Рахманов Александр "Что полезного в разборе дампов для .NET-разработчиков?"
Рахманов Александр "Что полезного в разборе дампов для .NET-разработчиков?"Рахманов Александр "Что полезного в разборе дампов для .NET-разработчиков?"
Рахманов Александр "Что полезного в разборе дампов для .NET-разработчиков?"
 

More from DefCamp

Remote Yacht Hacking
Remote Yacht HackingRemote Yacht Hacking
Remote Yacht Hacking
DefCamp
 
Mobile, IoT, Clouds… It’s time to hire your own risk manager!
Mobile, IoT, Clouds… It’s time to hire your own risk manager!Mobile, IoT, Clouds… It’s time to hire your own risk manager!
Mobile, IoT, Clouds… It’s time to hire your own risk manager!
DefCamp
 
The Charter of Trust
The Charter of TrustThe Charter of Trust
The Charter of Trust
DefCamp
 
Internet Balkanization: Why Are We Raising Borders Online?
Internet Balkanization: Why Are We Raising Borders Online?Internet Balkanization: Why Are We Raising Borders Online?
Internet Balkanization: Why Are We Raising Borders Online?
DefCamp
 
Bridging the gap between CyberSecurity R&D and UX
Bridging the gap between CyberSecurity R&D and UXBridging the gap between CyberSecurity R&D and UX
Bridging the gap between CyberSecurity R&D and UX
DefCamp
 
Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...
DefCamp
 
Drupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the AttackerDrupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the Attacker
DefCamp
 
Economical Denial of Sustainability in the Cloud (EDOS)
Economical Denial of Sustainability in the Cloud (EDOS)Economical Denial of Sustainability in the Cloud (EDOS)
Economical Denial of Sustainability in the Cloud (EDOS)
DefCamp
 
Trust, but verify – Bypassing MFA
Trust, but verify – Bypassing MFATrust, but verify – Bypassing MFA
Trust, but verify – Bypassing MFA
DefCamp
 
Threat Hunting: From Platitudes to Practical Application
Threat Hunting: From Platitudes to Practical ApplicationThreat Hunting: From Platitudes to Practical Application
Threat Hunting: From Platitudes to Practical Application
DefCamp
 
Building application security with 0 money down
Building application security with 0 money downBuilding application security with 0 money down
Building application security with 0 money down
DefCamp
 
Implementation of information security techniques on modern android based Kio...
Implementation of information security techniques on modern android based Kio...Implementation of information security techniques on modern android based Kio...
Implementation of information security techniques on modern android based Kio...
DefCamp
 
Lattice based Merkle for post-quantum epoch
Lattice based Merkle for post-quantum epochLattice based Merkle for post-quantum epoch
Lattice based Merkle for post-quantum epoch
DefCamp
 
The challenge of building a secure and safe digital environment in healthcare
The challenge of building a secure and safe digital environment in healthcareThe challenge of building a secure and safe digital environment in healthcare
The challenge of building a secure and safe digital environment in healthcare
DefCamp
 
Timing attacks against web applications: Are they still practical?
Timing attacks against web applications: Are they still practical?Timing attacks against web applications: Are they still practical?
Timing attacks against web applications: Are they still practical?
DefCamp
 
Tor .onions: The Good, The Rotten and The Misconfigured
Tor .onions: The Good, The Rotten and The Misconfigured Tor .onions: The Good, The Rotten and The Misconfigured
Tor .onions: The Good, The Rotten and The Misconfigured
DefCamp
 
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
DefCamp
 
We will charge you. How to [b]reach vendor’s network using EV charging station.
We will charge you. How to [b]reach vendor’s network using EV charging station.We will charge you. How to [b]reach vendor’s network using EV charging station.
We will charge you. How to [b]reach vendor’s network using EV charging station.
DefCamp
 
Connect & Inspire Cyber Security
Connect & Inspire Cyber SecurityConnect & Inspire Cyber Security
Connect & Inspire Cyber Security
DefCamp
 
The lions and the watering hole
The lions and the watering holeThe lions and the watering hole
The lions and the watering hole
DefCamp
 

More from DefCamp (20)

Remote Yacht Hacking
Remote Yacht HackingRemote Yacht Hacking
Remote Yacht Hacking
 
Mobile, IoT, Clouds… It’s time to hire your own risk manager!
Mobile, IoT, Clouds… It’s time to hire your own risk manager!Mobile, IoT, Clouds… It’s time to hire your own risk manager!
Mobile, IoT, Clouds… It’s time to hire your own risk manager!
 
The Charter of Trust
The Charter of TrustThe Charter of Trust
The Charter of Trust
 
Internet Balkanization: Why Are We Raising Borders Online?
Internet Balkanization: Why Are We Raising Borders Online?Internet Balkanization: Why Are We Raising Borders Online?
Internet Balkanization: Why Are We Raising Borders Online?
 
Bridging the gap between CyberSecurity R&D and UX
Bridging the gap between CyberSecurity R&D and UXBridging the gap between CyberSecurity R&D and UX
Bridging the gap between CyberSecurity R&D and UX
 
Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...
 
Drupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the AttackerDrupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the Attacker
 
Economical Denial of Sustainability in the Cloud (EDOS)
Economical Denial of Sustainability in the Cloud (EDOS)Economical Denial of Sustainability in the Cloud (EDOS)
Economical Denial of Sustainability in the Cloud (EDOS)
 
Trust, but verify – Bypassing MFA
Trust, but verify – Bypassing MFATrust, but verify – Bypassing MFA
Trust, but verify – Bypassing MFA
 
Threat Hunting: From Platitudes to Practical Application
Threat Hunting: From Platitudes to Practical ApplicationThreat Hunting: From Platitudes to Practical Application
Threat Hunting: From Platitudes to Practical Application
 
Building application security with 0 money down
Building application security with 0 money downBuilding application security with 0 money down
Building application security with 0 money down
 
Implementation of information security techniques on modern android based Kio...
Implementation of information security techniques on modern android based Kio...Implementation of information security techniques on modern android based Kio...
Implementation of information security techniques on modern android based Kio...
 
Lattice based Merkle for post-quantum epoch
Lattice based Merkle for post-quantum epochLattice based Merkle for post-quantum epoch
Lattice based Merkle for post-quantum epoch
 
The challenge of building a secure and safe digital environment in healthcare
The challenge of building a secure and safe digital environment in healthcareThe challenge of building a secure and safe digital environment in healthcare
The challenge of building a secure and safe digital environment in healthcare
 
Timing attacks against web applications: Are they still practical?
Timing attacks against web applications: Are they still practical?Timing attacks against web applications: Are they still practical?
Timing attacks against web applications: Are they still practical?
 
Tor .onions: The Good, The Rotten and The Misconfigured
Tor .onions: The Good, The Rotten and The Misconfigured Tor .onions: The Good, The Rotten and The Misconfigured
Tor .onions: The Good, The Rotten and The Misconfigured
 
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
Needles, Haystacks and Algorithms: Using Machine Learning to detect complex t...
 
We will charge you. How to [b]reach vendor’s network using EV charging station.
We will charge you. How to [b]reach vendor’s network using EV charging station.We will charge you. How to [b]reach vendor’s network using EV charging station.
We will charge you. How to [b]reach vendor’s network using EV charging station.
 
Connect & Inspire Cyber Security
Connect & Inspire Cyber SecurityConnect & Inspire Cyber Security
Connect & Inspire Cyber Security
 
The lions and the watering hole
The lions and the watering holeThe lions and the watering hole
The lions and the watering hole
 

Recently uploaded

Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 

Recently uploaded (20)

Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 

CPU vulnerabilities - where are we now?

  • 1.
  • 2. CPU Vulnerabilities Where are we now? Manuel Wiesinger mwiesinger@sba-research.at
  • 3. What happened so far? 2018 Spectre V1,V2,V3 (M eltdow n) Jan.
  • 4. What happened so far? 2018 Spectre V1,V2,V3 (M eltdow n) Jan. Firstreportsofexperim entalexploitation Feb.
  • 5. What happened so far? 2018 Spectre V1,V2,V3 (M eltdow n) Jan. Firstreportsofexperim entalexploitation Feb. BranchScope M ar. Spectre V3a,Spectre V4 M ay LazyFP,SGX Spectre Jun. Spectre1.1,Spectre1.2,NetSpectre,ret2spec,SpectreRSB Jul. L1TFSGX,L1TFOS/SM M ,L1TFVM M ,Labeled Aug.
  • 6. What happened so far? 2018 Spectre V1,V2,V3 (M eltdow n) Jan. Firstreportsofexperim entalexploitation Feb. BranchScope M ar. Spectre V3a,Spectre V4 M ay LazyFP,SGX Spectre Jun. Spectre1.1,Spectre1.2,NetSpectre,ret2spec,SpectreRSB Jul. L1TFSGX,L1TFOS/SM M ,L1TFVM M ,Labeled Aug. Yetanotherone! Oct. 2
  • 7. Impact • Allows data extraction from arbitrary local memory (!) 3
  • 8. Impact • Allows data extraction from arbitrary local memory (!) • Exploitable from JavaScript environments (websites!!) 3
  • 9. Impact • Allows data extraction from arbitrary local memory (!) • Exploitable from JavaScript environments (websites!!) • Via the network (!!!) 3
  • 10. Impact • Allows data extraction from arbitrary local memory (!) • Exploitable from JavaScript environments (websites!!) • Via the network (!!!) 3
  • 11. Who can feel safe? • Nobody using computers built after 1995. ◦ Any CPU manufacturer ◦ Any operating system ◦ Any Device type • Don’t trust the memory! 4
  • 12. How can we fix CPU vulnerabilities ?
  • 13. Can software fix this?Do we need to throw all our computers away? 5
  • 14. 6
  • 15. Attack Limitations • Difficult — conventional attacks typically easier 7
  • 16. Attack Limitations • Difficult — conventional attacks typically easier • Via the network ◦ Works only under laboratory conditions ◦ Slow (15 bit / hour) 7
  • 17. Attack Limitations • Difficult — conventional attacks typically easier • Via the network ◦ Works only under laboratory conditions ◦ Slow (15 bit / hour) — Still: extract a 256 bit key in ∼ 17 hours 7
  • 18. Attack Limitations • Difficult — conventional attacks typically easier • Via the network ◦ Works only under laboratory conditions ◦ Slow (15 bit / hour) — Still: extract a 256 bit key in ∼ 17 hours • Mitigations on the way ◦ Partly already deployed via microcode and OS upgrades 7
  • 19. Fixes for CPU-Vulnerabilities Name CVE Aliases CVSS Impact Fix available Spectre V1 2017-5753 Bounds Check Bypass 5.6 Memory Microcode/Browser/OS Spectre V2 2017-5715 5.6 Memory Microcode/Compiler ? Spectre V3 2017-5754 Meltdown 5.6 Kernel memory OS Spectre V3a 2018-3640 Spectre V3a (RSRE) 5.6 Register data Microcode? Spectre V4 2018-3639 Speculative Store Bypass (SSB) 5.5 Memory OS Spectre V5 N/A ret2spec 5.5 Memory Browser? SpectreRSB N/A N/A Memory OS Lazy FP 2018-3665 5.6 Registers OS Spectre1.1 2018-3693 5.6 Kernel memory OS Spectre1.2 N/A N/A Kerslidesmory OS L1TF: SGX 2018-3615 Foreshadow (SGX) 6.4 SGX enclaves Microcode L1TF: OS/SMM 2018-3620 Foreshadow-NG (OS) 5.6 Kernel memory Microcode L1TF: VMM 2018-3646 Foreshadow-NG (VMM) 5.6 Kernel memory Microcode BranchScope 2018-9056 5.6 VM memory Microcode? SGXPectre N/A N/A SGX enclaves Microcode? NetSpectre N/A N/A Remote memory OS? TLBleed N/A N/A Microcode? 8
  • 20. We do not know what else is out there! 9
  • 22. Two Basic Terms • Side-channel ◦ Passive ◦ E.g Timing analysis, or even acoustic analysis 10
  • 23. Two Basic Terms • Side-channel ◦ Passive ◦ E.g Timing analysis, or even acoustic analysis • Covered Channel ◦ Active ◦ E.g. Trojan Horse 10
  • 26. Hyper-Threading CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
  • 27. Hyper-Threading CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 Process 2 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
  • 28. Hyper-Threading CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 Process 2 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
  • 29. Hyper-Threading CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 Process 2 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 12
  • 31. Speculative Execution CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
  • 32. Speculative Execution CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 Process 2 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE
  • 33. Speculative Execution CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 Process 2 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE CPU-Cache
  • 34. Speculative Execution CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 Process 2 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE CPU-Cache ? ? ? ? ? ”I try to guess, so I’m faster!”
  • 35. Speculative Execution CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 Process 2 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE CPU-Cache ? ? ? ? ? ”I try to guess, so I’m faster!”
  • 36. Speculative Execution CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 Process 2 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE CPU-Cache ? ? ? ? ? ”I try to guess, so I’m faster!”
  • 37. Speculative Execution CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 Process 2 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE CPU-Cache ? ? ? ? ? ”I try to guess, so I’m faster!”
  • 38. Speculative Execution CPU Process 1 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90 Process 2 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE 0xAE CPU-Cache ? ? ? ? ? ”I try to guess, so I’m faster!” 13
  • 39. Hands on! — Meltdown
  • 40. Hands on! — Meltdown 1. Access data D at an illegal address — get’s executed speculatively 2. Make an address A of the data D — just a shl 3. Load data at address A 4. Program crashes 5. Do some tricks (e.g. fork) 6. Probe access time to A to learn if it is cached 7. Now we know that an address based on D is cached 8. Revert step 2 to get the data 14
  • 41. How can you protect yourself? 15
  • 42. How can you protect yourself? • As always: Apply Security-Updates! 15
  • 43. How can you protect yourself? • As always: Apply Security-Updates! • Don’t trust the memory! 15
  • 44. How can you protect yourself? • As always: Apply Security-Updates! • Don’t trust the memory! ◦ Overwrite critical data! 15
  • 45. How can you protect yourself? • As always: Apply Security-Updates! • Don’t trust the memory! ◦ Overwrite critical data! ◦ C: explicit_bzero() 15
  • 46. How can you protect yourself? • As always: Apply Security-Updates! • Don’t trust the memory! ◦ Overwrite critical data! ◦ C: explicit_bzero() ◦ Java: char[] 15
  • 47. How can you protect yourself? • As always: Apply Security-Updates! • Don’t trust the memory! ◦ Overwrite critical data! ◦ C: explicit_bzero() ◦ Java: char[] ◦ Python, Go, and co. (essentially all garbage collecting languages with immutable strings): No guaranteed solution. 15
  • 50. Meltdown 1 retry: 2 mov al , byte [rcx] 3 shl rax , 0xc 4 jz retry 5 mov rbx , qword [rbx + rax] 17
  • 51. Meltdown 1 retry: 2 mov al , byte [rcx] 3 shl rax , 0xc 4 jz retry 5 mov rbx , qword [rbx + rax] 18
  • 52. Meltdown 1 retry: 2 mov al, byte [rcx] 3 shl rax , 0xc 4 jz retry 5 mov rbx , qword [rbx + rax] 19
  • 53. Meltdown 1 retry: 2 mov al , byte [rcx] 3 shl rax, 0xc 4 jz retry 5 mov rbx , qword [rbx + rax] 20
  • 54. Meltdown 1 retry: 2 mov al , byte [rcx] 3 shl rax , 0xc 4 jz retry 5 mov rbx , qword [rbx + rax] 21
  • 55. Meltdown 1 retry: 2 mov al , byte [rcx] 3 shl rax , 0xc 4 jz retry 5 mov rbx , qword [rbx + rax] 22
  • 56. Meltdown 1 retry: 2 mov al , byte [rcx] 3 shl rax , 0xc 4 jz retry 5 mov rbx, qword [rbx + rax] 23