Fine-Grained Analysis of Physically Observable Side Channels Flashcards

1
Q

What is HDBSCAN?

A

Tool designed to help identify repetitive code patterns in a frequency over time graph.

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

How does HDBSCAN quantitatively analyze a graph?

A

It transforms a frequency over time graph based on density / sparsity of signals and uses a minimum spanning tree to sort them.

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

How do we find a match in HDBSCAN?

A

HDBSCAN creates a table of harmonics sorted by time, we check our signal with each entry in the graph

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

What is an alternative to HDBSCAN?

A

Dimension reduction

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

What are the two phases of dimension reduction?

A
  • Phase I: average of short-Fourier transfers to reduce noise
  • Phase II: reduce number of samples (tracking all frequency components can cause high overhead)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Three types of loops and their spectral representation

A
  1. Fixed - fixed time == high peak at one frequency
  2. Control flow == two peaks (one for if, one for else)
  3. Nested == wide peak (since the timing can vary)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How does malware affect loops?

A

If code is inserted or removed from a loop, the timing will go up or down and the spectral peaks will move left or right (shift in frequency)

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

EDDIE

A

Tool designed to detect malware inserted/removed from loops.

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

How does EDDIE work?

A

Create reference set for each loop and then compare live data to it

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

How well does EDDIE perform?

A

Fastest to detect anomalies in fixed, then control flow, then nested

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

Pro / con of time domain analysis

A

pro: good for fine-grained analysis to see program flow
con: does not scale

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

In time domain analysis, what granularity can we track on?

A

individual instruction, blocks, or control flow

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

How do we determine which branch was taken?

A

peak in graph of moving median slope is the start of a branch, and you can find the branch since it is a fixed-distance away. 1. Train data then 2. use ML at runtime to determine which branch was taken

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

How well does our branch predictor work?

A

Works perfectly on large differences, works okay-to-well on 1 instruction differences depending on measurement frequency

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

Potential drawback of ML

A

scale!

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

Zero Overhead Profiling (ZOP) via EM Emanations

A
  1. Insert markers into the code so that you can subdivide the signal and only compare a single at a time (i.e. you are only trying to match a partial signal) =>this way, you don’t have to train across all possible runs of the program and can reuse runs of the same section even if it didn’t occur in the same order
  2. Markers can help you recreate the control flow graph (can also infer that if we are at point A, we can only go to points B, and C, but not D)
  3. Do a search at runtime of graph
17
Q

Pro/cons of ZOP

A
  • Pros: can be used for many purposes: malware detection, debugging, security
  • Cons: Does not scale well to larger programs and hard to get 100% code coverage on training data
18
Q

IDEA

A

Technique for EM SC Analysis - want to deal with ZOP’s computation explosion

19
Q

IDEA steps

A
  1. Create dictionary from training signals:
    • Divide each signal into overlapping fixed-duration windows
    • Each window is an entry in the dictionary
  2. Use clustering to reduce the number of dictionary entries
    • In ZOP, we kept all examples of an A->B segment, here we reduce so that we only have one example of A->B
  3. In monitoring phase, match signal to dictionary entry
    • Split monitored signal into windows and match to dictionary
    • Recreate a signal based on the ‘best-match’ of each window
20
Q

Pros of IDEA

A
  • Great at malware detection
  • Does not require malware signature
  • Does not require access to source code or control flow graph
21
Q

Cons of IDEA

A
  • Dictionary may get prohibitively large for larger applications
  • Need more samples as clock rate increases
22
Q

Neural Network Technique

A

Improves on IDEA and is a neural network trained on sample inputs. Has 6 hidden layers, and outputs next (predicted) signal. Compare predicted signal to actual signal => flag if too much of a deviation

23
Q

Pros of Neural Network

A
  • Better performance
  • Lower memory consumption
  • Lower computation time