formal methods Flashcards

1
Q

what are formal methods

A

the foundations, methods and tools for developing and reasoning about systems

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

what do formal methods allow us to do

A

formally check whether a system satisfies defined propertied
identifies vulnerabilities via trying to prove those properties

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

what are two pros of formal methods

A

puts system development on a firm mathematical grounding ( viewing protocols as a mathematical object)
addresses inadequacies in penetrate and patch

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

what are two cons of formal methods

A

the verify models not the system itself therefore if the model is inaccurate then so will the results
may not specify all system requirements or may specify incorrectly

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

what is a negative of tools

A

may require users to interact with them or produce false negatives

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

why was using penetrate and patch not good

A

attackers are good at finding and exploiting vulnerabilities
the more interest in protocols means the more vulnerabilities were found and exploited

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

what are some examples of tls/ssl attacks

A

BEAST
heartbleed
DROWN

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

BEAST

A

exploits how the iv is generated for block ciphers (cbc mode)

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

heartbleed

A

exploited to return information it shouldnt e.g. decryption key

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

DROWN

A

only worked with ssl v2 so we stopped using it however attackers could force the system to switch to it in order to decrypt the ciphertext

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

foundations

A

recipe for formal methods

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

what are the three things that we need to do in the foundation of formal methods

A

precisely specify the; system, adversarial environment and security properties
choose the specification language
verify security properties

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

why do we need to choose the specification language

A

it defines the system

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

why must the model for the adversial environment relate to the real world

A

the system is being used in the real world so it needs to be accurate and trustworthy

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

how did the contactless emv payments scam work

A

the phone is tricked into thinking that its making a payment < £100 therefore it doesnt require the phone to be unlocked and the money is taken from your account

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

when precisely defining the system in the foundation of the formal model what three things do we look at

A

system design
code level
configuration level

17
Q

why is the system design important in the foundation

A

if the design isnt secure then no implementation conforming to it will be

18
Q

the system (foundation)

A

protocols that show security

19
Q

code level (system - foundation)

A

used to verify the absence of bugs and sometimes deeper properties

20
Q

configuration level (system - foundation) + example

A

the implementation of the protocol
e.g. access control policies

21
Q

what is the adversarial environment

A

the model of the attacker/ where the system operates

22
Q

what are some things that we consider about the attacker when defining the adversarial environment

A

remote/inside
active/passive
corrupt/control protocol participation

23
Q

system properties

A

things that the system should satisfy

24
Q

what are some examples of system properties

A

system correctness
safety properties
indistinguishable properties

25
Q

safety properties

A

ensuring nothing bad happens
e.g. the attacker signing a message without having a signing key

26
Q

indistinguishable properties

A

the attacker shouldnt be able to distinguish between two protocols/ encrypted messages

27
Q

what are two benefits of having indistinguishable properties

A

allows for confidentiality and anonymity

28
Q

what are the three types of methods

A

symbolic
stochastic
computational

29
Q

symbolic methods

A

possibilistic security definitions
assumes the dolev-yao attack model

30
Q

how are protocols defined in symbolic methods

A

as a transition system based on actions and agents
state model

31
Q

what are the goals of symbolic methods

A

confidentiality and authentication

32
Q

possibilistic

A

checks whether something bad could happen in theory

33
Q

dolev-yao attack model

A

assumes the attacker controls the network and can create their own messages however, cryptography is working perfectly

34
Q

stochastic methods

A

assumes the adversary will probably do something wrong

35
Q

what is a negative of computational methods

A

more detail means more complexity making it difficult to trust proofs as the model of the system and the attacker may be inaccurate

36
Q

probalistic

A

it can make random choices e.g. guessing keys

37
Q

computational methods

A

assumes the attackers resources are bounded; they have polynomial time
probalistic
uses detailed and accurate models
several techniques for constructing security proofs