Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Meltdown and Spectre in 10 mins
Stephen Best
January 11, 2018
Technology
0
94
Meltdown and Spectre in 10 mins
A simplified explanation of how these attacks work along with some advice on staying safe.
Stephen Best
January 11, 2018
Tweet
Share
More Decks by Stephen Best
See All by Stephen Best
Practical dependency injection for Ruby
bestie
1
57
Improve your (Ruby) code with dependency injection
bestie
6
420
Tastebuds Radio - a rapidly developed Ember.js app
bestie
2
420
Other Decks in Technology
See All in Technology
モブに早く慣れたい人のためのガイド / A Guide to Getting Started Quickly with Mob Programming
cybozuinsideout
PRO
2
1.8k
複数のスクラムチームをサポートするエンジニアリングマネジメントの話
okeicalm
0
1.1k
220628 「Google AppSheet」タスク管理アプリをライブ作成 吉積情報伊藤さん
comucal
PRO
0
220
UIKitのアップデート #WWDC22
akatsuki174
4
330
Scrum Fest Osaka 2022 フルリモート下でのチームビルディング
moritamasami
2
1.2k
インフラのCI/CDはGitHub Actionsに任せた
mihyon
0
110
プログラマがオブジェクト指向しても幸せになれない理由
shirayanagiryuji
0
140
UWBを使ってみた
norioikedo
0
420
DOM Invader - prototype pollution対応の衝撃 - / DOM Invader - prototype pollution
okuken
0
150
OpsJAWS Meetup21 システム運用アンチパターンのすすめ
yoshiiryo1
0
1.5k
Persistence in Serverless Applications - ServerlessDays NYC
marcduiker
0
240
Custom AppをIP制限ありのままで審査に通す方法
yusuga
0
680
Featured
See All Featured
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
213
11k
Designing for humans not robots
tammielis
241
23k
Rails Girls Zürich Keynote
gr2m
86
12k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
105
16k
Typedesign – Prime Four
hannesfritz
34
1.4k
The Brand Is Dead. Long Live the Brand.
mthomps
46
2.7k
Teambox: Starting and Learning
jrom
123
7.7k
Making the Leap to Tech Lead
cromwellryan
113
7.4k
From Idea to $5000 a Month in 5 Months
shpigford
373
44k
Writing Fast Ruby
sferik
612
57k
Building Flexible Design Systems
yeseniaperezcruz
310
34k
Facilitating Awesome Meetings
lara
29
4k
Transcript
None
@thebestie // Karnov Group 2018 Coolest thing ever to happen
to CPU nerds Best logos associated with a crisis Affect pretty much everyone Worst computer vulnerabilities possibly ever
@thebestie // Karnov Group 2018 Allows unprivileged programs to read
the entire systems memory Meltdown ‘Melts’ existing memory isolation boundaries Virtual Machines are not safe! AWS, Google Cloud and Azure
@thebestie // Karnov Group 2018 More limited in scope Spectre
More complicated, tricky to do, difficult to prevent JavaScript proof of concept can read your entire browser’s memory
@thebestie // Karnov Group 2018 Spectre Malicious JavaScript can steal
all the information in my browser!
@thebestie // Karnov Group 2018 What’s at risk? Spectre Your
cookies and active sessions Entire Gmail inbox Social media accounts PayPal Banks
@thebestie // Karnov Group 2018 Update your operating system What
can I do? Update your browsers Turn on ‘Strict site isolation’ in Chrome Close some tabs and log out
Cool story. @thebestie // Karnov Group 2018 How does it
work?
1 x = get_some_legal_data(); 2 y = get_some_illegal_data(); 3 do_something_with_value(y);
@thebestie // Karnov Group 2018 This is slow, while the CPU waits it executes 2
1 x = get_some_legal_data(); 2 y = get_some_illegal_data(); 3 do_something_with_value(y);
@thebestie // Karnov Group 2018 This is illegal but the CPU doesn’t know it yet
1 x = get_some_legal_data(); 2 y = get_some_illegal_data(); 3 do_something_with_value(y);
@thebestie // Karnov Group 2018 This is where the magic happens
@thebestie // Karnov Group 2018 0 1 2 3 4
5 6 7 9 10 This is an array I made earlier, I can read/write
@thebestie // Karnov Group 2018 0 1 2 3 4
5 6 7 9 10 1 1 x = get_some_legal_data(); 2 y = get_some_illegal_data(); 3 my_array[y] = 1; Looks like y was 7
@thebestie // Karnov Group 2018 0 1 2 3 4
5 6 7 9 10 But that was illegal An exception was raised State is rolled back
@thebestie // Karnov Group 2018 0 1 2 3 4
5 6 7 9 10 Something was left over . . . When iterating something strange happens
@thebestie // Karnov Group 2018 0 1 2 3 4
5 6 7 9 10 Something was left over . . . When iterating something strange happens
@thebestie // Karnov Group 2018 0 1 2 3 4
5 6 7 9 10 Something was left over . . . When iterating something strange happens
@thebestie // Karnov Group 2018 0 1 2 3 4
5 6 7 9 10 The CPU has cached the value of 7 The data is returned much faster
@thebestie // Karnov Group 2018 Repeat 1.048.576 times You now
have 1 MB of data
@thebestie // Karnov Group 2018