Quiz (Formal methods for Security) Flashcards

1
Q

What are the advantages of static policy checking?

A
  • no runtime overhead
  • prevention before deployment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are advantages of dynamic policy enforcement?

A
  • scalability
  • no false alarms
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is Functional Requirements?

A

Defines how a system is supposed to operate in normal environments

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

What is Security Requirements?

A

the constraints of functional requirements to protect the assets from threats

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

Why formalization?

A
  • provides systematic representation for policies
  • enables using existing tools to check whether a policy is satisfied or violated
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is BNF?

A
  • A notation to recursively define policies
  • A generic structured language model to define your own language
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is parsing?

A

the process of working out if a given statement is valid according to the given BNF production rules

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

What is LTL?

A

Linear-time Temporal Logic. A logic for reasoning about execution paths of systems

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

The unary connectives have higher precedence than the binary connectives. T/F

A

True

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

What is MTL?

A

Metric Temporal Logic
- LTL + Timing constraints (non-negative real number) on temporal operators

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

How to model a system?

A
  • Manual effort (physics-based modeling)
  • Program analysis
  • Trace-based methods (perfume, system identification)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are some verification methods?

A
  • model checking (exhaustive but not scalable)
  • testing (not exhaustive but scalable)
  • optimization-guided falsification (trade-off)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is model checking?

A

Given a system model (usually FSM) and a policy, outputs the policy is true on the system or presents a counterexample.

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

What is testing?

A

Execute the system with a finite set of inputs and check whether the policies are satisfied or violated in their traces.

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

Why testing?

A
  • model checking of MTL policies on timed and hybrid automata are undecidable
  • testing offers a more scalable option for validation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is falsification?

A

the process of intelligently selecting test inputs to expose policy violations

17
Q

Why falsification?

A

Testing has no feedback mechanism

18
Q

What is robustness?

A

numerically quantifies how close the system is to a policy violation

19
Q

What are some components of the dynamic policy enforcement?

A
  • state (trace/log) collection
  • prediction
  • run-time policy checking
  • response to violations
20
Q

What is state (trace/log) collection?

A

Collect the physical states and internal variables from software for prediction and policy checking.

21
Q

What is run-time policy checking?

A

Check whether a policy is satisfied or violated during the system is running.

22
Q

What are some challenges of runtime policy checking?

A
  • at time t, we only have states from {…, t-2, t-1, t}
  • we cannot check policies related to future
23
Q

What are some solutions to the challenges of runtime policy checking?

A
  • use temporal logic with unbounded past and bounded future
  • use models to predict the bounded future states
24
Q

What are the goals to responses to violations?

A
  • prevent policy violation
  • recovery