|
|
|
25-sidechan-6up.pdf
25-sidechan-6up.pdf
Showing 2 out of 6
25-sidechan-6up.pdf-Computer Science 2021 Side cha...
25-sidechan-6up.pdf-Computer Science 2021 Side channels and
25-sidechan-6up.pdf-Computer Scienc...
25-sidechan-6up.pdf-Computer Science 2021 Side channels and
Page 2
2
7
Computer Science 2021
Cache timing side channels
Micro-architectural side channels are a problem of
growing concern recently
Maybe the worst in terms of being pervasive and high-
bandwidth is the timing of cache operations
Every memory access uses caches
Cache performance is based on history of previous operations
Caches hold everyone’s data without separation
The speed of operations is easy to measure
Basic idea: timing how long my memory accesses take
reveals information about your memory accesses
Directly reveals only addresses, not data contents
8
Computer Science 2021
Secret information in addresses
The addresses of instruction accesses reveal what code
your programming is running
The grading function might have a branch that is only taken when a
student qualifies for extra credit
The addresses of data accesses reveal what data your
program is accessing
Converting a numeric grade into a letter grade might use an array
indexed by numeric grade
Often the most practically important victims are functions
for encrypting data based on a small secret key
Square-multiply algorithm in RSA depends on key bits
AES implementation uses a “T table” indexed based on
unencrypted bytes and key
9
Computer Science 2021
Example technique: “prime + probe”
1.
Attacker does a lot of memory accesses to fill up the
cache with its own data (“prime”)
2.
Wait and let the victim perform a memory access of its
own
3.
The attacker retries accessing all of its data, and
measures how long the accesses take (“probe”)
If one of the pieces of the attacker’s data is slow to
access, that indicates that it had been evicted to replace it
with some of the victim’s data
10
Computer Science 2021
Cache covert channel sender
In a covert channel, you can design a memory access to
maximize cache information leakage
Multiplying by 16 ensures that each different secret value
indexes a different 64-byte cache block
Commonly the channel does not reveal the offset within a block
int array[1024];
int secret = get_secret();
array[secret * 16]++;
11
Computer Science 2021
Today
Side and covert channels
Transient execution
Transient execution and kernel isolation: Meltdown
Transient execution and software checks: Spectre
Fixes, lessons learned, and the future
12
Computer Science 2021
Transient execution: basic idea
There are several micro-architectural reasons why the
CPU might do some steps of execution of instructions, but
ultimately discard them
Instruction executions that do not architecturally matter are called
“transient” or “speculative”
Transient instructions have no architectural effect. But if
they have a micro-architectural effect, that can be a
side/covert channel
This leads to some surprising vulnerabilities that were
made public just under a year ago
Ace your assessments! Get Better Grades
Browse thousands of Study Materials & Solutions from your Favorite Schools
University of Minnesota-T...
University_of_Minnesota-Twin_Cities
School:
Machine_Architecture
Course:
Introducing Study Plan
Using AI Tools to Help you understand and remember your course concepts better and faster than any other resource.
Find the best videos to learn every concept in that course from Youtube and Tiktok without searching.
Save All Relavent Videos & Materials and access anytime and anywhere
Prepare Smart and Guarantee better grades
Students also viewed documents
lab 18.docx
lab_18.docx
Course
Course
3
Module5QuizSTA2023.d...
Module5QuizSTA2023.docx.docx
Course
Course
10
Week 7 Test Math302....
Week_7_Test_Math302.docx.docx
Course
Course
30
Chapter 1 Assigment ...
Chapter_1_Assigment_Questions.docx.docx
Course
Course
5
Week 4 tests.docx.do...
Week_4_tests.docx.docx
Course
Course
23
Week 6 tests.docx.do...
Week_6_tests.docx.docx
Course
Course
106