Probabilistic reasoning with graphical security models Barbara - - PowerPoint PPT Presentation

probabilistic reasoning with graphical security models
SMART_READER_LITE
LIVE PREVIEW

Probabilistic reasoning with graphical security models Barbara - - PowerPoint PPT Presentation

Probabilistic reasoning with graphical security models Barbara Kordy Clermont-Ferrand, January 7, 2016 Digital Confidence seminar Joint work Prof. Dr. Marc Pouly Lucerne University of Applied Sciences and Arts Dr. Patrick Schweitzer


slide-1
SLIDE 1

Probabilistic reasoning with graphical security models

Barbara Kordy

Clermont-Ferrand, January 7, 2016

Digital Confidence seminar

slide-2
SLIDE 2

Joint work

  • Prof. Dr. Marc Pouly

Lucerne University of Applied Sciences and Arts

  • Dr. Patrick Schweitzer

University of Luxembourg

Barbara Kordy 2

slide-3
SLIDE 3

Probabilistic assessment of security scenarios

security model ADTree dependency model Bayesian network probabilistic assessment

  • f attack–defense scenarios

with dependencies

Barbara Kordy 3

slide-4
SLIDE 4

Outline

1

Attack–defense Trees

2

Probabilistic evaluation

3

Efficiency considerations

4

Wrap Up

Barbara Kordy 4

slide-5
SLIDE 5

Attack–defense Trees

Modeling security scenarios

Attack–defense tree (ADTree) [JLC’14] Tree-like representation of an attack–defense scenario depicting: How to attack a system How to protect against an attack

Extend the industrially recognized model of attack trees [Schneier’99] Integrate Intuitive representation features [IJSSE’12, ICISC’12] Formal analysis techniques [GameSec’10, SIIS’11, JLC’14] Software application ADTool [QEST’13]

Barbara Kordy 5

slide-6
SLIDE 6

Attack–defense Trees

Example: ADTree for infecting a computer

infect computer virus on system e-mail with attachment USB stick antivirus install antivirus run antivirus fake antivirus execute virus

Barbara Kordy 6

slide-7
SLIDE 7

Attack–defense Trees

Propositional semantics for ADTrees [SIIS’11]

B – the set of non-refined nodes of ADTree t x ∈ {0, 1}B encodes whether actions from B succeed or not

Action A ∈ B succeeds if x(A) = 1 Action A ∈ B does not succeed if x(A) = 0

Boolean function ft for t ft : {0, 1}B → {0, 1} associates a Boolean value ft(x) ∈ {0, 1} with each vector x ∈ {0, 1}B x is called an attack vector if ft(x) = 1

Barbara Kordy 7

slide-8
SLIDE 8

Attack–defense Trees

ADTrees as Boolean functions

Domain of ft is composed of the non-refined nodes of t Non-refined OR AND Countermeasure

A

t t' t'' t t' t'' t' t''

ft(A) = A ft = ft′ ∨ ft′′ ft = ft′ ∧ ft′′ ft = ft′ ∧ ¬ft′′

Barbara Kordy 8

slide-9
SLIDE 9

Attack–defense Trees

Example: Boolean function for infecting a computer

infect computer virus on system e-mail with attachment USB stick antivirus install antivirus run antivirus fake antivirus execute virus

ft =

  • (XEA ∨ XUS) ∧ ¬
  • XIA ∧ (XRA ∧ ¬XFA)
  • ∧ XEV

Barbara Kordy 9

slide-10
SLIDE 10

Attack–defense Trees

Example: attack vector

infect computer true virus on system true e-mail with attachment true USB stick false antivirus false install antivirus true run antivirus false fake antivirus false execute virus true

ft =

  • (XEA ∨ XUS) ∧ ¬
  • XIA ∧ (XRA ∧ ¬XFA)
  • ∧ XEV

attack vector 1 1 1

Barbara Kordy 10

slide-11
SLIDE 11

Attack–defense Trees

Importance of probabilities

Knowing the probabilities of particular attacks allow us to Identify the most vulnerable components Determine the strategic points Decide which protective measures to implement

Barbara Kordy 11

slide-12
SLIDE 12

Attack–defense Trees

Bottom-up evaluation of probability on ADTrees [ICISC’12]

Probability of a disjunctive subtree Probability of a conjunctive subtree Probability of a countered subtree

attack x y attack x y x y

Barbara Kordy 12

slide-13
SLIDE 13

Attack–defense Trees

Bottom-up evaluation of probability on ADTrees [ICISC’12]

Probability of a disjunctive subtree Probability of a conjunctive subtree Probability of a countered subtree

attack x y attack x y x y

x + y − xy

Barbara Kordy 12

slide-14
SLIDE 14

Attack–defense Trees

Bottom-up evaluation of probability on ADTrees [ICISC’12]

Probability of a disjunctive subtree Probability of a conjunctive subtree Probability of a countered subtree

attack x y attack x y x y

x + y − xy xy

Barbara Kordy 12

slide-15
SLIDE 15

Attack–defense Trees

Bottom-up evaluation of probability on ADTrees [ICISC’12]

Probability of a disjunctive subtree Probability of a conjunctive subtree Probability of a countered subtree

attack x y attack x y x y

x + y − xy xy x(1 − y)

Barbara Kordy 12

slide-16
SLIDE 16

Attack–defense Trees

Bottom-up evaluation of probability on ADTrees [ICISC’12]

Probability of a disjunctive subtree Probability of a conjunctive subtree Probability of a countered subtree

attack x y attack x y x y

x + y − xy xy x(1 − y) Similarly for subtrees rooted in a defense node

Barbara Kordy 12

slide-17
SLIDE 17

Attack–defense Trees

Example: probability for infecting a computer

infect computer 0.669375 virus on system 0.74375 e-mail with attachment 0.5 USB stick 0.75 antivirus 0.15000000000000002 install antivirus 0.8 run antivirus 0.25 fake antivirus 0.25 execute virus 0.9 Barbara Kordy 13

slide-18
SLIDE 18

Attack–defense Trees

Limitations

The bottom-up procedure does not take dependencies between actions into account. However, in practice Installing and running an antivirus Distributing and executing a virus are not independent actions. Thus, the standard bottom-up evaluation is not suitable for probabilistic assessment of attack–defense trees.

Barbara Kordy 14

slide-19
SLIDE 19

Attack–defense Trees

Challenges

1 How to design the appropriate formalism? 2 How to ensure that calculations reflect the reality? 3 How to guarantee the efficiency of the evaluation? Barbara Kordy 15

slide-20
SLIDE 20

Probabilistic evaluation

Proposed Framework [INS’16]

security model ADTree

slide-21
SLIDE 21

Probabilistic evaluation

Proposed Framework [INS’16]

security model ADTree dependency model Bayesian network

slide-22
SLIDE 22

Probabilistic evaluation

Proposed Framework [INS’16]

security model ADTree dependency model Bayesian network probabilistic assessment

  • f attack–defense scenarios

with dependencies

Barbara Kordy 16

slide-23
SLIDE 23

Probabilistic evaluation

Modeling probability of dependent actions

Bayesian network A directed, acyclic graph that reflects the conditional interdependencies between variables associated with the nodes of the network Dependent variables Conditional probability table for Y X Y p(Y = 1|X = 1) = 0.7 p(Y = 1|X = 0) = 0.2 p(Y = 0|X = 1) = 0.3 p(Y = 0|X = 0) = 0.8

Barbara Kordy 17

slide-24
SLIDE 24

Probabilistic evaluation

Constructing Bayesian network BNt for ADTree t

From an ADTree t – ADTree B – set of all non-refined nodes of t To a Bayesian network Elements of B are nodes of the Bayesian network BNt Relations between actions are depicted by edges in BNt Conditional probability tables quantify dependencies between actions

Barbara Kordy 18

slide-25
SLIDE 25

Probabilistic evaluation

Example: BNt for infecting a computer ADTree

e-mail with attachment execute virus fake antivirus USB stick

p(XUS = 1|XFA = 1) = 0.4 p(XUS = 1|XFA = 0) = 0.5 p(XEV = 1|XEA = 1, XUS = 1) = 0.9 p(XEV = 1|XEA = 1, XUS = 0) = 0.2 p(XEV = 1|XEA = 0, XUS = 1) = 0.8 p(XEV = 1|XEA = 0, XUS = 0) = 0.1 p(XEA = 1|XFA = 1) = 0.9 p(XEA = 1|XFA = 0) = 0.5 p(XFA = 1) = 0.3

install antivirus run antivirus

p(XIA = 1) = 0.6 p(XRA = 1|XIA = 1) = 0.9 p(XRA = 1|XIA = 0) = 0.0

Barbara Kordy 19

slide-26
SLIDE 26

Probabilistic evaluation

Joint probability distribution for network BNt

e-mail with attachment execute virus fake antivirus USB stick install antivirus run antivirus p(XEA, XUS, XIA, XRA, XFA, XEV) = p(XEV|XEA, XUS)×p(XEA|XFA)×p(XUS|XFA)×p(XFA)×p(XRA|XIA)×p(XIA)

Barbara Kordy 20

slide-27
SLIDE 27

Probabilistic evaluation

Propositional semantics using algebraic operations

Non-refined OR AND Countermeasure

A

t t' t'' t t' t'' t' t''

ft(A) = A ft = ft′ ∨ ft′′ ft = ft′ ∧ ft′′ ft = ft′ ∧ ¬ft′′

Barbara Kordy 21

slide-28
SLIDE 28

Probabilistic evaluation

Propositional semantics using algebraic operations

Non-refined OR AND Countermeasure

A

t t' t'' t t' t'' t' t''

ft(A) = A ft = ft′ ∨ ft′′ ft = ft′ ∧ ft′′ ft = ft′ ∧ ¬ft′′ idA max{ft′, ft′′} ft′ × ft′′ ft′ × (1 − ft′′)

Barbara Kordy 21

slide-29
SLIDE 29

Probabilistic evaluation

Probability computation

x ∈ {0, 1}B – vector of successful/unsuccessful actions Probability of attack vector x ft(x) × p(x) Probability related to ADTree t P(t) =

  • x∈{0,1}B

ft(x) × p(x) Probability of the most probable attack vector Pmax(t) = max

x∈{0,1}B ft(x) × p(x)

Barbara Kordy 22

slide-30
SLIDE 30

Probabilistic evaluation

Compatibility results

Theorem Probability computations on propositionally equivalent ADTrees yield the same result. Observation For ADTree t without dependent actions, P(t) coincides with the result

  • f the bottom-up computation.

Barbara Kordy 23

slide-31
SLIDE 31

Efficiency considerations

Efficiency problems

P(t) =

  • x∈{0,1}B

ft(x) × p(x) Pmax(t) = max

x∈{0,1}B ft(x) × p(x)

The number of configurations x grows exponentially with the number

  • f involved actions. For large systems, it is therefore not feasible to

Enumerate all the values of ft Enumerate all the values of the joint probability distribution for BNt

Barbara Kordy 24

slide-32
SLIDE 32

Efficiency considerations

security model ADTree dependency model Bayesian network probabilistic assessment

  • f attack–defense scenarios

with dependencies

slide-33
SLIDE 33

Efficiency considerations

security model ADTree dependency model Bayesian network probabilistic assessment

  • f attack–defense scenarios

with dependencies constraint reasoning fusion

Barbara Kordy 25

slide-34
SLIDE 34

Efficiency considerations

Local indicators

ft =

  • (XEA ∨ XUS)
  • Y1

∧¬

  • XIA ∧ (XRA ∧ ¬XFA)
  • Y2
  • Y3
  • Y4

∧ XEV

  • Yt

φ1(Y1, XEA, XUS) = 1 exactly if Y1 = max{XEA, XUS} φ2(Y2, XRA, XFA) = 1 exactly if Y2 = XRA × (1 − XFA) φ3(Y3, XIA, Y2) = 1 exactly if Y3 = XIA × Y2 φ4(Y4, Y1, Y3) = 1 exactly if Y4 = Y1 × (1 − Y3) φ5(Yt, Y4, XEV) = 1 exactly if Yt = Y4 × XEV

Barbara Kordy 26

slide-35
SLIDE 35

Efficiency considerations

Global indicator function φt for ADTree t

Domain of φt: Non-refined nodes of t Inner variables of all local indicators Global indicator function φt = product of all local indicators φi φt(

Y=inner variables

  • Y1, Y2, Y3, Y4, Yt,

B=non-refined nodes

  • XEA, XUS, XIA, XRA, XFA, XEV) =

φ1(Y1, XEA, XUS) × φ2(Y2, XRA, XFA) × φ3(Y3, XIA, Y2)× φ4(Y4, Y1, Y3) × φ5(Yt, Y4, XEV) Φt indicates valid assignments with respect to ft

Barbara Kordy 27

slide-36
SLIDE 36

Efficiency considerations

Important property

Theorem Consider an ADTree t over the set of non-refined nodes B and the global indicator function φt with the set of inner variables Y. ∀x ∈ {0, 1}B ∃!y ∈ {0, 1}Y, such that φt(y, x) = 1 Corollary: ∀x ∈ {0, 1}B max

y∈{0,1}Y φt(y, x) =

  • y∈{0,1}Y

φt(y, x) = 1

Barbara Kordy 28

slide-37
SLIDE 37

Efficiency considerations

Filtering interesting assignments of φt

t A B

φt(Yt = 1, XA = 1, XB = 1) = 1 φt(Yt = 1, XA = 1, XB = 0) = 1 φt(Yt = 1, XA = 0, XB = 1) = 1 φt(Yt = 0, XA = 0, XB = 0) = 1 We are only interested in assignments such that φt = 1 and Yt = 1 Yt × φt(y, x)

Barbara Kordy 29

slide-38
SLIDE 38

Efficiency considerations

Expressing ft with its global indicator

∀x ∈ {0, 1}B : max

y∈{0,1}Y φt(y, x) =

  • y∈{0,1}Y

φt(y, x) = 1 ∀x ∈ {0, 1}B max

y∈{0,1}Y

  • Yt × φt(y, x)
  • =
  • y∈{0,1}Y
  • Yt × φt(y, x)
  • =

= ft(x) =

  • 1,

if x is an attack vector 0,

  • therwise

Barbara Kordy 30

slide-39
SLIDE 39

Efficiency considerations

Factorized form for probability formulas

Probability of attack vector x ft(x) × p(x) = max

y∈{0,1}Y

  • Yt × φt(y, x) × p(x)
  • Probability related to ADTree t

P(t) =

  • x∈{0,1}B

ft(x) × p(x) =

  • (y,x)∈{0,1}Y∪B
  • Yt × φt(y, x) × p(x)
  • Probability of the most probable attack vector

Pmax(t) = max

x∈{0,1}B ft(x) × p(x) =

max

(y,x)∈{0,1}Y∪B

  • Yt × φt(y, x) × p(x)
  • Barbara Kordy

31

slide-40
SLIDE 40

Efficiency considerations

Our framework in the context of semiring theory

Inference problem over the arithmetic semiring R, +, × P(t) =

  • (y,x)∈{0,1}Y∪B
  • Yt × φt(y, x) × p(x)
  • Inference problem over the product t-norm semiring [0, 1], max, ×

Pmax(t) = max

(y,x)∈{0,1}Y∪B

  • Yt × φt(y, x) × p(x)
  • Barbara Kordy

32

slide-41
SLIDE 41

Efficiency considerations

Local computation

Powerful local computation algorithms Fusion Variable elimination

  • smart distributivity

P(t) Complexity bound Using Nenok tool [IJAIT’10] Direct computation 211 3.422sec Using fusion 24 0.031sec Complexity bounded by a structural parameter of the problem

Barbara Kordy 33

slide-42
SLIDE 42

Wrap Up

Summary

Barbara Kordy 34

slide-43
SLIDE 43

Wrap Up

Summary

security model ADTree

slide-44
SLIDE 44

Wrap Up

Summary

security model ADTree dependency model Bayesian network

slide-45
SLIDE 45

Wrap Up

Summary

security model ADTree dependency model Bayesian network probabilistic assessment

  • f attack–defense scenarios

with dependencies

slide-46
SLIDE 46

Wrap Up

Summary

security model ADTree dependency model Bayesian network probabilistic assessment

  • f attack–defense scenarios

with dependencies constraint reasoning fusion

Barbara Kordy 34

slide-47
SLIDE 47

Wrap Up

Addressing challenges

1 How to design the appropriate formalism? 2 How to ensure that calculations reflect the reality? 3 How to guarantee the efficiency of the evaluation? Barbara Kordy 35

slide-48
SLIDE 48

Wrap Up

Addressing challenges

1 How to design the appropriate formalism?

Used by industry, intuitive & well formalized Security model and dependency network are kept separated

2 How to ensure that calculations reflect the reality? 3 How to guarantee the efficiency of the evaluation? Barbara Kordy 35

slide-49
SLIDE 49

Wrap Up

Addressing challenges

1 How to design the appropriate formalism?

Used by industry, intuitive & well formalized Security model and dependency network are kept separated

2 How to ensure that calculations reflect the reality?

Real-life data take dependencies into account Complement ADTree with additional information

3 How to guarantee the efficiency of the evaluation? Barbara Kordy 35

slide-50
SLIDE 50

Wrap Up

Addressing challenges

1 How to design the appropriate formalism?

Used by industry, intuitive & well formalized Security model and dependency network are kept separated

2 How to ensure that calculations reflect the reality?

Real-life data take dependencies into account Complement ADTree with additional information

3 How to guarantee the efficiency of the evaluation?

Local computation algorithms Existing software tools, well-known heuristics

Barbara Kordy 35

slide-51
SLIDE 51

Wrap Up

Where to take it from here?

Find the best elimination sequence for Bayesian ADTrees

NP-complete in general Prediction is possible for specific families of graphs

Extend to probability distributions

Probability dependent on time

Interface ADTool [QEST’13] with Nenok

Automated probability assessment of large scale scenarios

Barbara Kordy 36

slide-52
SLIDE 52

Wrap Up

Take home message

Key to success Appropriate technique Components Attributes Well-founded model Syntax Semantics Erroneous results Understand theory

Barbara Kordy 37

slide-53
SLIDE 53

References

References I

Barbara Kordy, Marc Pouly, and Patrick Schweitzer. Probabilistic Reasoning with Graphical Security Models. Information Sciences, Elsevier (to appear), 2016. Barbara Kordy, Sjouke Mauw, Saša Radomirović, and Patrick Schweitzer. Attack–Defense Trees. Journal of Logic and Computation (JLC), 24(1):55–87, 2014. Barbara Kordy, Ludovic Piètre-Cambacédès, and Patrick Schweitzer. DAG-Based Attack and Defense Modeling: Don’t Miss the Forest for the Attack Trees. Computer Science Review, Elsevier, 13–14(0):1–38, 2014. Marc Pouly. Nenok - a software architecture for generic inference. International Journal on Artificial Intelligence Tools, 19(1):65–99, 2010. Barbara Kordy, Sjouke Mauw, and Patrick Schweitzer. Quantitative Questions on Attack–Defense Trees. In Taekyoung Kwon, Mun-Kyu Lee, and Daesung Kwon, editors, Information Security and Cryptology (ICISC 2012), volume 7839 of LNCS, pages 49–64. Springer, 2013. Barbara Kordy, Marc Pouly, and Patrick Schweitzer. A Probabilistic Framework for Security Scenarios with Dependent Actions. In Integrated Formal Methods (iFM 2014), LNCS, pages 256–271. Springer, 2014. Barbara Kordy 38

slide-54
SLIDE 54

References

References II

Barbara Kordy, Marc Pouly, and Patrick Schweitzer. Computational Aspects of Attack–Defense Trees. In P. Bouvry, M. A. Klopotek, F. Leprevost, M. Marciniak, A. Mykowiecka, and H. Rybinski, editors, Security & Intelligent Information Systems (SIIS 2011), volume 7053 of LNCS, pages 103–116. Springer, 2012. Barbara Kordy, Piotr Kordy, Sjouke Mauw, and Patrick Schweitzer. ADTool: Security Analysis with Attack–Defense Trees. In Kaustubh R. Joshi, Markus Siegle, Mariëlle Stoelinga, and Pedro R. D’Argenio, editors, Quantitative Evaluation of Systems (QEST 2013), volume 8054 of LNCS, pages 173–176. Springer, 2013. Barbara Kordy, Sjouke Mauw, Matthijs Melissen, and Patrick Schweitzer. Attack–Defense Trees and Two-Player Binary Zero-Sum Extensive Form Games Are Equivalent. In Tansu Alpcan, Levente Buttyán, and John S. Baras, editors, Decision and Game Theory for Security (GameSec 2010), volume 6442 of LNCS, pages 245–256. Springer, 2010. Alessandra Bagnato, Barbara Kordy, Per Håkon Meland, and Patrick Schweitzer. Attribute Decoration of Attack–Defense Trees. International Journal of Secure Software Engineering (IJSSE), 3(2):1–35, 2012. Bruce Schneier. Attack Trees.

  • Dr. Dobb’s Journal of Software Tools, 24(12):21–29, 1999.

Barbara Kordy 39