Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state...

47
Formal Methods in Security Protocols Analysis Li Zhiwei Aidong Lu Weichao Wang Department of Computer Science Department of Software and Information Systems University of North Carolina at Charlotte

Transcript of Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state...

Page 1: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Formal Methods in Security Protocols Analysis

Li ZhiweiAidong Lu

Weichao Wang

Department of Computer ScienceDepartment of Software and Information Systems

University of North Carolina at Charlotte

Page 2: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Big Picture

Insecure network

Full Control

Biggest ProblemBiggest Problem-- rapid growth of interconnectivity rapid growth of interconnectivity -- opens doors to cyber attacksopens doors to cyber attacks

Best toolBest tool-- security mechanismssecurity mechanisms-- security protocols play an essential rolesecurity protocols play an essential role

ThereforeThereforeTherefore future improvements depend highly on Therefore future improvements depend highly on our our ability to ability to analyseanalyse security protocolssecurity protocols

Page 3: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

This talk is about…

Network security protocols Become a central concern

And formal methods for their security analysisSecurity proof in some model; orIdentify attacks

Page 4: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Outline

Part I: OverviewMotivationMotivation

Why Security Protocols Analysis?Why Security Protocols Analysis?Central problems

Security Analysis MethodologyCurrent Analysis Techniques

Part II: Athena AlogrithmStrand Spaces ModelSecurity Properties Penetrator StrandsDesign of Model CheckerExperiment Results

Page 5: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Security Protocol• Security Protocols use cryptographic primitives

as building blocks to achieve security goals such as authentication, confidentiality, and integrity.

• consists of a set of rules which determine the exchange of messages between two or more participants.

• Protocol stepsn : A → B : M“A sends M to B according to the n’ th protocol step.”A, B principals, M message

Page 6: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Security ProtocolSecurity Protocol

Program distributed over networkUse cryptography to achieve goal

AttackerRead, intercept, replace messages, and remember their contents

CorrectnessAttacker cannot learn protected secret or cause incorrect protocol completion

Page 7: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

A Simple Protocol

A B

{ A, NA }KB

{ NA , NB } KA

{ NB } KB

• KB = pk(B), KB-1 = sk(B)

• KA = pk(A), KA-1 = sk(A)

• Needham-Schroeder Public Key Protocol

Page 8: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Run of a protocol

AB

Initiate

Respond

C

D

Correct if no security violation in any run

Attacker

Page 9: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Many other security protocolsChallenge-response

ISO 9798-1,2,3; Needham-Schroeder, …

AuthenticationKerberos

Key ExchangeSSL handshake, IKE, JFK, IKEv2,

Wireless and mobile computingMobile IP, WEP, 802.11i

Electronic commerceContract signing, SET, electronic cash, …

Page 10: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Motivation

• Error-prone • Security protocols are intricate and attackers are

powerful• Non-optimal

• may contain unnecessary operations

Why do we need security protocol analysis even after we constructed security protocols with so much care?

Page 11: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Examples of protocol flawsIKE [Meadows; 1999]

Reflection attack; fix adopted by IETF WGIEEE 802.11i [He, Mitchell; 2004]

DoS attack; fix adopted by IEEE WGGDOI [Meadows, Pavlovic; 2004]

Composition attack; fix adopted by IETF WGKerberos V5 [Scedrov et al; 2005]

Identity misbinding attack; fix adopted by IETF WGHow to addresses these

shortcomings….

Page 12: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

use automatic verification approach to analysis security protocol

the answer is ….

Good domain for formal methodsActive research area since early 80’s

Page 13: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Outline

Part I: OverviewMotivation

Why Security Protocols Analysis?Central problemsCentral problems

Security Analysis MethodologySecurity Analysis MethodologyCurrent Analysis Techniques

Part II: Athena AlogrithmStrand Spaces ModelSecurity Properties Penetrator StrandsDesign of Model CheckerExperiment Results

Page 14: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Central Problems

Analysis Tool

ProtocolProperty

Security proof or attack

Attacker model

See if properties are See if properties are preserved under preserved under attackattack

Model systemModel systemIdentify security Identify security

propertiesproperties

Model Model adversaryadversary

Answer:the protocol is correct or not

1 2

3

4

Page 15: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Security Analysis Methodology

Security ProtocolsNS,Kerberos,etc.

• ① Specifies the security protocols to be verified as input

• ② Specifies the desired security properties as requirement

• ③ Use Attacker Model to model adversary

• ④ The protocol analysis tool analyzes the input protocols using formal methods See if the security properties are preserved under attack

• ⑤ Output the result: the procol is flawed or it is correct

Analysis Tool Security proof or attack

Answerthe protocol is correct or not

Formal Methods

Security Propertiesauthentication,secrecy,etc

Attacker ModelComplete control over networkPerfect crypto

Page 16: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Outline

Part I: OverviewMotivation

Why Security Protocols Analysis?Central problems

Security Analysis MethodologyCurrent Analysis TechniquesCurrent Analysis Techniques

Part II: Athena AlogrithmStrand Spaces ModelSecurity Properties Penetrator StrandsDesign of Model CheckerExperiment Results

Page 17: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Four “Stanford” approaches

Finite-state analysisCase studies: find errors, debug specifications

Symbolic execution model: Multiset rewritingIdentify basic assumptions Study optimizations, prove correctnessComplexity results

Process calculus with probability and complexityMore realistic intruder modelInteraction between protocol and cryptographyEquational specification and reasoning methods

Protocol logicAxiomatic system for modular proofs of protocol properties

Page 18: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Some other projects and tools

Exhaustive finite-state analysisFDR, based on CSP

Search using symbolic representation of statesMeadows: NRL Analyzer, Millen: Interrogator

Prove protocol correct Paulson’s “Inductive method”, others in HOL, PVS, …MITRE -- Strand spacesProcess calculus approach: Abadi-Gordon spi-calculus, applied pi-calculus, …Type-checking method: Gordon and Jeffreys, …

Many more – this is just a small sample

Page 19: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Protocol Analysis Techniques

Security Protocol Analysis

Formal Models Cryptographic Models

Protocol LogicsModel CheckingModel Checking Theorem ProvingTheorem Proving

Dolev-Yao(perfect cryptography)

Probabilistic Interactive TMProbabilistic process calculiProbabilistic I/O automataProcess Calculi …

Spi-calculus, Applied π-calculus

BAN, PCL Inductive Method, Automating BAN, TAPS,Automating PCL

FDR, Murphi,Athena, NRL,Brutus, OFMC

Bug Finding Correctness Proofs

Page 20: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Outline

Part I: OverviewMotivation

Why Security Protocols Analysis?Central problems

Security Analysis MethodologyCurrent Analysis Techniques

Part II: Athena Athena AlogrithmAlogrithmStrand Spaces ModelSecurity Properties Penetrator StrandsDesign of Model CheckerExperiment Results

Page 21: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

The Athena aims to provide a method to:

generates a proof if the protocol is actually RIGHT

generates a counterexample if the protocol is actually WRONG

Page 22: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Outline

Part I: OverviewMotivation

Why Security Protocols Analysis?Central problems

Security Analysis MethodologyCurrent Analysis Techniques

Part II: Athena Athena AlogrithmAlogrithmStrand Spaces ModelStrand Spaces ModelSecurity Properties Penetrator StrandsDesign of Model CheckerExperiment Results

Page 23: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Strand Space Model • Answer Problem 1:

Specifies the security protocols• model security protocols and their execution• graphical representation of execution

• Simple and intuitive• A suitable framework for

• ... formal specifications of security properties• ... proving correctness of protocols

Thayer, Herzog, Guttman [THG98]

Page 24: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Defining Strand SpacesMessage: ground term in free algebra Strand: sequence of nodes Node is labeled with +/- messageBundle: causal partial ordering of nodes in strandsstrand space:is a collection of strands

Example: (The global view)

A B

{ A, NA }KB

{ NA , NB } KA

{ NB } KB

Page 25: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Defining Strand Spaces(cont’d)

A‘s view of the protocol

{ A, NA }KB

{ NA , NB } KA

{NB} KB

{ A, NA }KB

{ NA, NB } KA

{NB } KB

B‘s view of the protocol

Strand represents a sequence of actions (i.e, signed messages ±m) of an instance of a role

+ means principal sends this message- means principal receives this message

+ { A, NA }KB

- { NA , NB } KA

+ {NB } KB

A‘s (trace of his) strand

Page 26: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Outline

Part I: OverviewMotivation

Why Security Protocols Analysis?Central problems

Security Analysis MethodologyCurrent Analysis Techniques

Part II: Athena Athena AlogrithmAlogrithmStrand Spaces ModelSecurity Properties Security Properties Penetrator StrandsDesign of Model CheckerExperiment Results

Page 27: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Security Properties in this Logic• Answer Problem 2:

Specifies the desired security properties

• Authentication

• Secrecy• A value v is secret in a strand space S if, for every

bundle C that contains S, there does not exist a node n∈C , such that term(n)=v

Page 28: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

For NS Authentication The formula that needs to be checked is

n1: - { A0, Na0 }Kb0

n2: + { Na0 , Nb0 } Ka0

n3: - {Nb0 } Kb0

gamma delta

n1: + { A0, Na0 }Kb0

n2: - { Na0 , Nb0 } Ka0

n3: + {Nb0 } Kb0

The NS protocol

+ { A, NA }KB

- { NA , NB } KA

+ {NB } KB

- { A, NA }KB

+ {NA, NB } KA

- {NB } KB,

protocol

Page 29: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Outline

Part I: OverviewMotivation

Why Security Protocols Analysis?Central problems

Security Analysis MethodologyCurrent Analysis Techniques

Part II: Athena Athena AlogrithmAlogrithmStrand Spaces ModelSecurity Properties Penetrator StrandsPenetrator StrandsDesign of Model CheckerExperiment Results

Page 30: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

The Penetrator• Answer Problem 3:

Model adversary

• participates in protocols via penetrator strands

• reflect the potentials of the penetrator

• penetrator is able to• intercept and create messages (independent of the

protocol)• read and memorize all (not encrypted) message parts• synthesize new messages built from his “knowledge”

Page 31: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

The PenetratorDescription of the intruder

Page 32: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Composing Strands to BundlesPenetrator strandsRegular strands

Intended protocol Attacker protocol

Page 33: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

kA

Penetrator‘s Work – An ExampleBreaking into Needham-Schroeder protocol

- Kp-1

- { NA, A }Kp

+ NA, A

Decryption D

Encryption E

- NA, A

- KB

+ {NA, A }KB

+ Kp-1

Key K

+ KB

Key K

Man-in-the-middle attack

pass messages through to another session A ↔ X ↔ B

Page 34: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Outline

Part I: OverviewMotivation

Why Security Protocols Analysis?Central problems

Security Analysis MethodologyCurrent Analysis Techniques

Part II: Athena Athena AlogrithmAlogrithmStrand Spaces ModelSecurity Properties Penetrator StrandsDesign of Model CheckerDesign of Model CheckerExperiment Results

Page 35: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Design of Model Checker

• Verification Algorithm• Given a model P, check if it satisfies formula F

• It turns out to be state search problem

Answer Problem 4: See if properties are preserved under attack

Page 36: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Athena

Obtain a formal proof of the protocol Obtain concrete attacks on the protocol

If provableIf not provable,then counter-example

Axioms

−| Agreement formula

Axioms

−| Agreement formula

Counter-example

Design of Model Checker• Verification Algorithm

• Given a model P, check if it satisfies formula F• It turns out to be state search problem

Page 37: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Outline

Part I: OverviewMotivation

Why Security Protocols Analysis?Central problems

Security Analysis MethodologyCurrent Analysis Techniques

Part II: Athena Athena AlogrithmAlogrithmStrand Spaces ModelSecurity Properties Penetrator StrandsDesign of Model CheckerExperiment ResultsExperiment Results

Page 38: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

NSPK in Strand Space Model

+{n,A}kb

“A” strand

-{n,r}ka

+{r}kb

-{n,A}kb

“B” strand

+{n,r}ka

-{r}kb

{x}k

“Penetrator” strands

k-1

x

x

k

{x}k

Each primitive capability of the attacker is a “penetrator”strand

Same set of attacker strands for every protocol

BB

ABA

BA

NBANNABANBA

}{:.3},{:.2

},{:.1

→→→

The NS protocol

Page 39: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

kA

Anomaly in NS

The NS protocol- { A, NA }KB

+ {NA, NB } KA

- {NB } KB

+ { A, NA }KB

- {NA, NB } KA

+ {NB } KB

Try to discover the flaw in NS

NS Protocol

gamma,delta

Page 40: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

NS Example l0=gamma

n1: - { A0, Na0 }Kb0

n2: + { Na0 , Nb0 } Ka0

n3: - {Nb0 } Kb0

unbound goals

Page 41: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

unbound goals

n1: - { A0, Na0 }Kb0

n2: + { Na0 , Nb0 } Ka0

n3: - {Nb0 } Kb0

n4: -Kb0

n6: + {Nb0 } Kb0

n5: - Nb0

3 unbound goals

l1 E(ncription)

n1: - { A0, Na0 }Kb0

n2: + { Na0 , Nb0 } Ka0

n3: - {Nb0 } Kb0

l2n4: + { A0, Na0 }Kb0

n5: - { Na0 , Nb0 } Ka0

n6: + {Nb0 } Kb0

NS

l0 l1(3 unbound goal)

l2 (0 unbound goal)

Page 42: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

n1: - { A0, Na0 }Kb0

n2: + { Na0 , Nb0 } Ka0

n3: - {Nb0 } Kb0

n4: -Kb0

n6: + {Nb0 } Kb0

n5: - Nb0

State Search for Needham-Shroeder

l1 E(ncription)

n1: - { A0, Na0 }Kb0

n2: + { Na0 , Nb0 } Ka0

n3: - {Nb0 } Kb0

l2n4: + { A0, Na0 }Kb0

n5: - { Na0 , Nb0 } Ka0

n6: + {Nb0 } Kb0

NS

l0

l1(3) l2 (0)

l3(2)

l4(3)

l6(2)

l5(2)

l7(2)

l9(0)

l8(invalid,cycle)

Page 43: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

n1: - { A0, Na0 }Kb0

n2: + { Na0 , Nb0 } Ka0

n3: - {Nb0 } Kb0

n4: -Kb0

n6: + {Nb0 } Kb0

n5: - Nb0

n7:+Kb0

n10: + Nb0

n9: -{Nb0 } KI

n8: -KI n11: +KI

n18: + { A0, Na0 }Kb0

n19: - { Na0 , Nb0 } Ka0

n20: + {Nb0 } Kb0

n12: -Kb0

n14: + {A0, Na0 }Kb0

n13: - A0, Na0

n7

n17: + A0, Na0

n16: -{A0, Na0 } KI

n15: -KI n11gammadelta

l9

Obtain concrete attacks on the protocol

Axioms

−|gamma delta

Counter-example : Man-in-the-middle attackSearch procedure terminate and counter example found !!!

E(ncription)

NS

E(ncription)

D(ecription)

D(ecription)

K(ey)

K(ey)

K(ey)

K(ey)

NS

Page 44: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

NSPK Attack+{n,A}ke

-{n,r}ka

+{r}ke

+{n,r}ka

ke-1

{n,A}

kb

{n,A}kb

-{r}kb

kA

Anomaly in NS

Page 45: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

NSL verification

B

A

B

NBABNNAB

ANBA

}{:.3},,{:.2

},{:.1

2

21

1

→→→

The NSL protocol

Page 46: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

Conclusions

Practical protocols may contain errorsAutomated formal methods find bugs that humans overlook

Variety of toolsModel checking can find errorsProof method can show correctness

Athena Closing gap between the model checking and proof method

Strand Spaces ModelSecurity Properties Penetrator StrandsDesign of Model Checker

Secrity protocol analysis is a challengeSome subtleties are hard to formalizeNo “absolute security”Security means: under given assumptions about system, no attack of a certain form will destroy specified properties.

Page 47: Formal Methods in Security Protocols AnalysisSome other projects and tools Exhaustive finite-state analysis FDR, based on CSP Search using symbolic representation of states Meadows:

References[THG98] F.Javier Thayer, Jonathan C. Herzog, and Joshua D. Guttman. Strand spaces: Why is a security protocol correct? In Proceedings of 1998 IEEE Symposium on Security and Privacy, 1998.

[Low96] G. Lowe. Breaking and fixing the Needham-Schroeder public-key protocol using FDR. In Tools and Algorithms for the Construction and Analysis of Systems, volume 1055 of Lecture Notes in Computer Science, pages 147– 166. Springer-Verlag, 1996.

[Mil95] J. Millen. The Interrogator model. In Proceedings of the 1995 IEEE Symposium on Security and Privacy, pages 251–260. IEEE Computer Society Press, 1995.

[MMS97] J. C. Mitchell, M. Mitchell, and U. Stern. Automated analysis of cryptographic protocols using mur. In Proceedings of the 1997 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, 1997.

[RN95] Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall Series in Artificial Intelligence, 1995.

[HT96] N. Heintze and J. Tygar. A model for secure protocols and their compositions. IEEE Transactions on Software Engineering, 22(1):16–30, January 1996.