Spectre and Meltdown Flashcards

1
Q

What causes Spectre and Meltdown?

A

Unexpected interaction of caching and pipelining

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What 2 ways does a processor do work faster?

A

Caching

Pipelining

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is cache?

A

Smaller, faster memory closer to the processor that stores instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is pipelining?

A

A processor predicts branches based on past history and squashes instruction if wrong.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is speculative execution?

A

Branch predictor guesses the result of a ‘if’ statement based on past history. Lines of code under this are executed before the condition is evaluated. If the condition is not met, any changes made by the processor are discarded.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the problem with speculative execution?

A

If the condition is not met, all processes need to be rolled back. All microprocesses do this however they do not undo the side effects i.e. memory saved into cache.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How can speculative execution be exploited? (Spectre attack)

A

If you have aggressive speculative execution, you can access memory that you shouldn’t be able to as it is down a speculative path, causing changed to the underlying memory subsystem that you could measure with a watch, working out the value of the forbidden memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Why is it called spectre?

A

Because the root cause is speculative execution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is virtual memory paging?

A

Technique that divides process memory maps into same sizes pages and loads some of them into same sized frames.
In the case of cache, you have words,
In the case of virtual memory you have blocks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Why is it called Meltdown?

A

It melts down security boundaries normally enforced by hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What causes meltdown?

A

With speculative execution, if an exception is to be raised, any lines after the exception will still be evaluated before they are discarded, meaning memory is still accessed and modified. The process will be rolled back but the consequences won’t be fixed.
Timing access to the pages reveals the locations that were accessed speculatively.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What’s another meltdown example?

A

Multithreaded machines where you can see what another thread is doing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly