# Deterministic Discrete Modeling

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Deterministic Discrete Modeling Formal Semantics of Firewalls in Isabelle/HOL Cornelius Diekmann, M.Sc. Dr. Heiko Niedermayer Prof. Dr.-Ing. Georg Carle Lehrstuhl für Netzarchitekturen und Netzdienste Institut für Informatik Version: April 29, 2014 IN2045, SoSe 2014, Deterministic Discrete Modeling 1

2 Agenda 1 Introduction to Isabelle/HOL PL, FOL, HOL Isabelle/HOL 2 Types & Functional Programming 3 Modeling Firewalls Introduction Syntax Semantics 4 Induction 5 Analyzing the Firewall Model 6 Analyzing Rule Sets 7 Rule Lists 8 Conclusion Slides: 63 IN2045, SoSe 2014, Deterministic Discrete Modeling 2

3 About Isabelle/HOL Generic proof assistant For interactive theorem proving in higher-order logics (HOL) = λ β Isabelle α \$ wget \$ sha1sum Isabelle linux.tar.gz cb8dca7fdc9090b ca6b575a714a62a492 Isabelle linux.tar.gz \$ tar -xzf Isabelle linux.tar.gz \$./Isabelle2013-2/bin/isabelle jedit & IN2045, SoSe 2014, Deterministic Discrete Modeling: Introduction to Isabelle/HOL 3

4 About Isabelle/HOL IN2045, SoSe 2014, Deterministic Discrete Modeling: Introduction to Isabelle/HOL 4

5 Note Note: The theory files are relevant for the exam! We will soon leave the slide set and interactively work with Isabelle/HOL. About this Chapter Please make sure you have a laptop and Isabelle/HOL with you (alternatively, find a fellow student who does) There is a firewall2.thy on the website. This is the accompanying exercise. It contains several TODOs. Try to solve them after each lecture. IN2045, SoSe 2014, Deterministic Discrete Modeling: Introduction to Isabelle/HOL 5

6 Propositional Logic, First Order Logic Propositional Logic (a b) (b a) First Order Logic (FOL) FOL = Propositional Logic + Quantifiers Example FOL a. b. (a b) (b a) (a b) (b a) IN2045, SoSe 2014, Deterministic Discrete Modeling: Introduction to Isabelle/HOL PL, FOL, HOL 6

7 HOL Higher-Order Logic Higher-Order Logic (HOL) HOL = Functional Programming + Logic Example FOL (a b) (b a) Example Lambda Calculus (λx. x + 4) 38 Example Transitive Closure of a Relation R (a, b) R (b, c) R (a, c) R + IN2045, SoSe 2014, Deterministic Discrete Modeling: Introduction to Isabelle/HOL PL, FOL, HOL 7

8 Isabelle/HOL Isabelle/HOL: A Proof Assistant for Higher-Order Logic We model and reason in HOL Example FOL (a b) (b a) In Isabelle/HOL lemma (a b) (b a) by auto Lambda Calculus (λx. x + 4) 38 In Isabelle/HOL lemma (λx. x + 4) 38 = 42 by simp IN2045, SoSe 2014, Deterministic Discrete Modeling: Introduction to Isabelle/HOL Isabelle/HOL 8

9 Isabelle/HOL Examples Example lemma (a b) (b a) by auto Terms are written in lemma starts a lemma it can be proven automatically by auto other automated proof methods simp the simplifier auto simplification, logic, sets, may return unprovable goals blast complete for FOL... lemma (a b) (b a) by simp lemma (a b) (b a) by blast lemma (a b) (b a) by fastforce IN2045, SoSe 2014, Deterministic Discrete Modeling: Introduction to Isabelle/HOL Isabelle/HOL 9

10 Isabelle/HOL Examples About the transitive closure lemma (a, b) R (b, c) R = (a, c) R + by auto About the reflexive transitive closure lemma (a, a) R by simp FOL is modeled in HOL HOL implication: = FOL implication: lemma (a, b) R (b, c) R (a, c) R + by auto IN2045, SoSe 2014, Deterministic Discrete Modeling: Introduction to Isabelle/HOL Isabelle/HOL 10

11 Isabelle/HOL Implications associate to the right A = B = C means A = (B = C) This is equal to A B = C or lemma assumes A and B shows C Homework: prove on paper and in Isabelle/HOL (a b c) (a b c) IN2045, SoSe 2014, Deterministic Discrete Modeling: Introduction to Isabelle/HOL Isabelle/HOL 11

12 Isabelle/HOL Notation FOL all quantifier: HOL all quantifier: Example lemma x. x note: obviously wrong, counterexample x = False apply(rule) produces subgoal x. x From FOL to HOL free variable (can be instantiated):?x Example lemma x: a = a by simp thm x gives you?a =?a That is, you can instantiate lemma x for arbitrary?a Example: thm a[of "foo"] is foo = foo Concluding Example: Inspect alli IN2045, SoSe 2014, Deterministic Discrete Modeling: Introduction to Isabelle/HOL Isabelle/HOL 12

13 Types & Functional Programming IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 13

14 Does the set of all sets contain itself? IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 14

15 Does the set of all sets contain itself? If not: It is obviously not the set of all sets! IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 14

16 Does the set of all sets contain itself? If not: It is obviously not the set of all sets! If it does: Let A be the subset that contains all sets that do not contain themselves. Is A A? If not: A is obviously not the set of all sets that do not contain themselves! If it does: A contains a set that contains itself! IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 14

17 Types Why is HOL typed? An example of untyped mathematics: Does the set of all sets contain itself? If not: It is obviously not the set of all sets! If it does: Let A be the subset that contains all sets that do not contain themselves. Is A A? If not: A is obviously not the set of all sets that do not contain themselves! If it does: A contains a set that contains itself! IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 14

18 Types Typed sets nat set e.g., 1 {1, 2} nat set set e.g., {1, 2} {{1, 2}, {}} nat set set set e.g., {{1, 2}, {}} {{{1, 2}, {}}, {{1, 2, 3, 4}}} is of type }{{} nat 1 }{{} nat } {{ set } } {{ bool } {1,2} is true The concept of set of all sets is not well-typed M = the set of all sets What is the type of M? There is no (finite) type for M! Even if there were a type for M, M M is an obvious type error HOL is typed! IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 15

19 Polymorphic Types Arbitrary types a, b,... is of type a a set bool For example False {True, False}, bool set (a b) {(a b), x}, bool set Hello { Hello, World }, string set apple {apple, banana}, a set, apple and banana are of arbitrary type value {True, False} :: bool set IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 16

20 Functional Programming Demo: Introduction.thy fun find fives :: nat list nat list where find fives [] = [] find fives (x#xs) = (if x = 5 then 5#find fives xs else find fives xs) value find fives [1,3,5,8,5,2,5] lemma find fives [1,3,5,8,5,2,5] = [5,5,5] by simp Library function filter filter :: ( a bool) a list a list lemma find fives l = filter (λx. x = 5) l by(induction l, simp all) IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 17

21 Total Functions A total function is function that is defined for all input values For computer scientists: A total function must always terminate! Written a b HOL is a total logic! Why total functions? Assume f of type nat nat. f n = while(true){} return 0 1 f n = does not terminate 2 does not terminate = does not terminate from (1) and (2): f n = (f n) subtracting f n on both sides: 0 = = 1 HOL is total and every function needs a proof for that! IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 18

22 Total Functions Usually, the total-proof is for free. Here, the size of the list is used for the automatic proof. 1 The function obviously terminates for the empty list 2 If the list consists of x :: xs, all subsequent calls to find fives only get xs. IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 19

23 Wrap-Up HOL = Functional Programming + Logic Strong Typing Total functions Proofs! IN2045, SoSe 2014, Deterministic Discrete Modeling: Types & Functional Programming 20

24 Modeling Firewalls IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls 21

25 Firewalls Introduction Access control on the network level Often positioned between a trusted and a less trusted network E.g. between internal network and Internet Example: Zone 1: /24 IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Introduction 22

26 Firewalls Decides per packet what to do Allow Forward the packet Deny Drop the packet A firewall is configured by a ruleset. Example: # Src IP Dst IP Proto Src Port Dst Port Action A Alice Gabby TCP * 80 Allow B Alice UDP * 53 Allow C * * * * * Deny Textual explanation on next slide (walls of text) IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Introduction 23

27 Firewalls Rules are processed consecutively for every packet Assume a packet arrives 1 Is the source Alice and the destination Gabby and the protocol TCP and the destination port 80 (HTTP)? If yes, the firewall allows the packet. If not, the next rule is processed. 2 Is the source Alice and the destination (google DNS server) and the protocol UDP and the destination port 53 (DNS)? If yes, the firewall allows the packet. If not, the next rule is processed. 3 The firewall discards the packet. This default strategy is called blacklisting. Everything which is not explicitly allowed is denied. # Src IP Dst IP Proto Src Port Dst Port Action A Alice Gabby TCP * 80 Allow B Alice UDP * 53 Allow C * * * * * Deny IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Introduction 24

28 Firewalls For simplicity, our example ignores Stateful firewalls Answer packets. Alice can send out HTTP and DNS request, but the firewall will never allow the answer to reach Alice. We only focus on the packet header. # Src IP Dst IP Proto Src Port Dst Port Action A Alice Gabby TCP * 80 Allow B Alice UDP * 53 Allow C * * * * * Deny IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Introduction 25

29 Modeling Firewalls Representing Rules Demo: firewall.thy Step 1: Rules Basics Per Rule Action Allow Deny Pass Rule does not apply, apply next rule datatype action = Allow Deny Pass The Type of a Rule A rule processes an packet of arbitrary type p A rule defines an action for that packet A rule is a total function from packets to actions type synonym p rule = p action IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Syntax 26

30 Representing Rules Example 1 Let a packet consist of a tuple of arbitrary type a b Let a be the source and b be the destination address We can write a deny-all rule as λ (src,dst). Deny The type is ( a b) rule IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Syntax 27

31 Representing Rules Example 2 Let a packet consist of a tuple strings string string The first entry is the source and the second the destination address We can write a rule which allows packets from Alice to Bob and denies all others λ (src, dst). if src = Alice dst = Bob then Allow else Deny The type is (string string) rule For a packet ( Alice, Carl ) We can show: (λ (src,dst). if src = Alice dst = Bob then Allow else Deny) ( Alice, Carl ) = Deny Applying the packet ( Alice, Carl ) to the rule results in Deny IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Syntax 28

32 Modeling Firewalls Representing Rules Step 2: A Firewalls Rule Set Probably, rule list would be a better terminology, we will soon prove why. The firewall has a table of rules For packets of type p, we develop datatype p ruleset IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Syntax 29

33 Modeling Firewalls Representing Rules datatype p ruleset Rules apply sequentially If no rule matches, a default rule must apply Default rules DefaultAllow Blacklisting Everything not prohibited is allowed by default DefaultDeny Whitelisting Everything not allowed is denied by default A Rule consists of a rule and its successor rules Rule p rule p ruleset datatype p ruleset = DefaultAllow DefaultDeny Rule p rule p ruleset IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Syntax 30

34 Rulesets Example 1 Let a packet consist of arbitrary type a We can write a rule set with a Allow-All rule, a Deny-All rule, and a default allow strategy Rule (λp. Allow) (Rule (λp. Deny) DefaultAllow) The type is p ruleset IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Syntax 31

35 Rule Notation Instead of Rule, we will use the infix operator Example: Rule x y is written as x y Previous slide s example Rule (λp. Allow) (Rule (λp. Deny) DefaultAllow) Is written as (λp. Allow) (λp. Deny) DefaultAllow IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Syntax 32

36 Conclusion We defined the syntax of action p rule p ruleset Next, we will develop an example of a concrete ruleset for a concrete p Afterwards, the semantics of firewalls are specified. Syntax: How to write things down Semantic: Meaning IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Syntax 33

37 Modeling Firewalls Syntax Example Demo: firewall.thy IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Syntax 34

38 Semantics We define a function firewall to capture the semantics of a firewall. Step 1) The type A firewall operates according to a ruleset A firewall processes packets accordingly The firewall decides what to do with the packet It returns an action Hence, the type is p ruleset p action IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Semantics 35

39 Semantics of firewall The semantics are specified via pattern matching on the ruleset an underscore matches everything If the ruleset is only DefaultAllow, the firewall allows any packet firewall DefaultAllow = Allow If the ruleset is only DefaultDeny, the firewall denies any packet firewall DefaultDeny = Deny Most of the time, the ruleset will consists of a current rule and and some next rules rule next rules next rules can be any p ruleset, either further rules or one of the default rules IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Semantics 36

40 Semantics of firewall firewall (rule next rules) p For a packet p The firewall examines rule and tests whether the rule matches rule p If the action is Allow or Deny, it applies the respective action If the action is Pass, the next rules must be applied to p This is a recursive call to firewall IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Semantics 37

41 Example Demo: firewall.thy IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Semantics 38

42 Termination of firewall The default cases trivially terminate For the case rule next rules, the size of the ruleset is decreased with every recursive call. If firewall (rule next rules) p is called it either terminates with Allow or Deny or calls firewall next rules p This is an inductive argument. IN2045, SoSe 2014, Deterministic Discrete Modeling: Modeling Firewalls Semantics 39

43 Add-In: Induction IN2045, SoSe 2014, Deterministic Discrete Modeling: Induction 40

44 Induction Induction on natural numbers N To prove P n for n N Show that P holds for 0 Assume P holds for n and show that it also holds for n + 1 Induction rule in Isabelle/HOL (simplified) P 0 = ( n. P n = P (n + 1)) = P x Read as follows To show P x (the goal right) Show P 0 and show n. P n = P (n + 1) Demo: intro induction.thy IN2045, SoSe 2014, Deterministic Discrete Modeling: Induction 41

45 Induction Induction Rules Where do we get nat.induct from? Isabelle/HOL proves a lot automatically for us in the background How are natural numbers modeled? Zero is a natural number The successor Suc of a natural number is a natural number datatype nat = Zero Suc nat IN2045, SoSe 2014, Deterministic Discrete Modeling: Induction 42

46 Induction Induction Rules datatype nat = Zero Suc nat nat.induct P Zero = ( n. P n = P (Suc n)) = P x Base case: P Zero Induction step: ( n. P n = P (Suc n)) IN2045, SoSe 2014, Deterministic Discrete Modeling: Induction 43

47 Induction Firewall Rules Firewall rules are modeled similarly DefaultAllow is a ruleset DefaultDeny is a ruleset A Rule consists of a rule and a ruleset datatype p ruleset = DefaultAllow DefaultDeny Rule p rule p ruleset Two base cases DefaultAllow DefaultDeny One induction step Assume it holds for some rules :: p ruleset. For any rule r :: p rule, show that it holds for Rule r rules. IN2045, SoSe 2014, Deterministic Discrete Modeling: Induction 44

48 ruleset induction rule thm ruleset.induct P DefaultAllow = P DefaultDeny = ( r rules. P rules = P (r rules)) = P ruleset For an arbitrary ruleset, to prove P ruleset Prove that P holds for the base cases P DefaultAllow P DefaultDeny And the induction step Assume P rules Show P (r rules)) ( r rules. P rules = P (r rules)) IN2045, SoSe 2014, Deterministic Discrete Modeling: Induction 45

49 Back to firewall IN2045, SoSe 2014, Deterministic Discrete Modeling: Analyzing the Firewall Model 46

50 Analyzing firewall For a ruleset r and a packet p firewall r p never returns Pass It either returns Allow or Deny lemma firewall r p = Allow firewall r p = Deny proof(induction r)... Demo: firewall.thy Yes, the *.thy is important! IN2045, SoSe 2014, Deterministic Discrete Modeling: Analyzing the Firewall Model 47

51 Analyzing Rule Sets What does the policy allow DNS allow HTTP DefaultDeny allow? Only UDP port 53 or TCP port 80 Phrasing as a lemma A firewall with this rule set A packet p applied to it returns Allow if and only if p is UDP port 53 or p is TCP port 80 lemma firewall (allow DNS allow HTTP DefaultDeny) p = Allow (proto p = UDP dst port p = 53) (proto p = TCP dst port p = 80) by(simp add: allow DNS def allow HTTP def) IN2045, SoSe 2014, Deterministic Discrete Modeling: Analyzing Rule Sets 48

52 Why did the previous lemma require a (difficult) induction whereas this lemma could be directly solved by the simplifier? The previous lemma argued about arbitrary rule sets whereas this lemma had a known rule set. The firewall is defined in terms of the rule set. For unknown rule sets we (often) need induction over the rule set. If the rule set and the packet are given, the proof is often trivial as firewall is executable. IN2045, SoSe 2014, Deterministic Discrete Modeling: Analyzing Rule Sets 49

53 Analyzing Rule Sets Rule sets may be inefficient or misleading For example, rules can shadow each other deny UDP allow DNS allow HTTP DefaultDeny The rule allow DNS is shadowed by deny UDP It can never apply We can simplify this ruleset an preserve the semantics! deny UDP allow HTTP DefaultDeny We can prove that the two rulesets are semantically equivalent if firewall is equal for both of them lemma firewall rules1 = firewall rules2 IN2045, SoSe 2014, Deterministic Discrete Modeling: Analyzing Rule Sets 50

54 When are two functions equal? Two (total) functions f and g are equal iff they return the same result for every input Back to firewalls (f = g) = ( x. f x = g x) fun eq iff Two firewall rule sets rules1 and rules2 are semantically equivalent iff firewall is equal for them firewall rules1 is equal to firewall rules2 iff the two functions are equal for all packets IN2045, SoSe 2014, Deterministic Discrete Modeling: Analyzing Rule Sets 51

55 The previous rule sets are semantically equivalent deny UDP allow DNS allow HTTP DefaultDeny deny UDP allow HTTP DefaultDeny This can be proven by the simplifier once it is rewritten to p. firewall?r1 p = firewall?r2 p This rule set can even be reordered allow HTTP deny UDP DefaultDeny IN2045, SoSe 2014, Deterministic Discrete Modeling: Analyzing Rule Sets 52

56 Ruleset Reordering We say a rule applies if it returns an action which is not Pass Rules r1 and r2 can be reordered if there is no packet such that both rules apply to the packet simultaneously p. r1 p Pass r2 p Pass This is equal to the following: For all packets, at least one of r1 and r2 must not apply p. r1 p = Pass r2 p = Pass This condition is sufficient to allow reordering of the first rules firewall (r1 r2 r3) = firewall (r2 r1 r3) The condition is not necessary (try quickcheck) IN2045, SoSe 2014, Deterministic Discrete Modeling: Analyzing Rule Sets 53

57 Rule Sets or Rule Lists? IN2045, SoSe 2014, Deterministic Discrete Modeling: Rule Lists 54

58 Rule Sets or Rule Lists The rulesets we saw bear great resemblance to lists r1 r2 r3 r4... The order of the elements is important Can we represent firewall rules as list? IN2045, SoSe 2014, Deterministic Discrete Modeling: Rule Lists 55

59 Lists [1 :: nat, 2, 3, 5] :: nat list recall find fives rev [1 :: int, 2, 3, 4] = [4, 3, 2, 1] lemma rev (rev l) = l by simp [a, b, c] :: a list [allow DNS, allow HTTP] :: packet rule list IN2045, SoSe 2014, Deterministic Discrete Modeling: Rule Lists 56

60 Semantics of a firewall with a rule list We define the semantics of a firewall whose rules are defined as list Type: p rule list p action The list is processed sequentially the rule in the list which matches first is applied If a rule returns Pass, the next list item is observed We use Default-Deny semantics the empty list corresponds to Deny Note the similarity ruleset: rule next rules rule list: rule # next rules See firewall list defaultdeny IN2045, SoSe 2014, Deterministic Discrete Modeling: Rule Lists 57

61 ruleset vs. rule list How does the ruleset and rule list correspond? we can translate them p ruleset p rule list With the Default-Deny semantics DefaultDeny corresponds to the empty list [] DefaultAllow corresponds to the one-element list with an allow-all rule [(λp. Allow)] the correspondence rule next rules and rule # next rules is defined recursively See ruleset to rulelist IN2045, SoSe 2014, Deterministic Discrete Modeling: Rule Lists 58

62 ruleset to rule list Example A ruleset can be translated to a rule list ruleset to rulelist (allow DNS allow HTTP DefaultDeny) = [allow DNS, allow HTTP] Does this preserve the semantics? in this example, yes! firewall (allow DNS allow HTTP DefaultDeny) = firewall list defaultdeny [allow DNS, allow HTTP] Does this hold in general? IN2045, SoSe 2014, Deterministic Discrete Modeling: Rule Lists 59

63 Relating the semantics Translating a ruleset to a rule list, the firewall and the firewall list defaultdeny are equal lemma fw eq fwlist: firewall r = firewall list defaultdeny (ruleset to rulelist r)" The proof (idea) First, use fun eq iff This leaves the subgoal that the two definitions are equal for all packets Then, apply induction over the ruleset r Demo: firewall.thy Yes, the *.thy is important! IN2045, SoSe 2014, Deterministic Discrete Modeling: Rule Lists 60

64 Conclusion IN2045, SoSe 2014, Deterministic Discrete Modeling: Conclusion 61

65 Conclusion Basics of modeling in Isabelle/HOL FOL, HOL, λ-calculus, polymorphic types Types and total functions Induction Firewalls with rulesets Syntax actions, rules, ruleset Semantics Proofs about the semantics Termination, never returns Pass, ruleset shadowing, ruleset reordering Firewall modeled with lists Semantical equality IN2045, SoSe 2014, Deterministic Discrete Modeling: Conclusion 62

66 Thanks for your attention! Questions? IN2045, SoSe 2014, Deterministic Discrete Modeling: Thank You! 63

### Network Security. Chapter 3. Cornelius Diekmann. Version: October 21, 2015. Lehrstuhl für Netzarchitekturen und Netzdienste Institut für Informatik

Network Security Chapter 3 Cornelius Diekmann Lehrstuhl für Netzarchitekturen und Netzdienste Institut für Informatik Version: October 21, 2015 IN2101, WS 15/16, Network Security 1 Security Policies and

### 20% more formulas. Verified Firewall Ruleset Verification. Now with. with Isabelle/HOL. Cornelius Diekmann

Verified Firewall Ruleset Verification with Isabelle/HOL Cornelius Diekmann Now with 20% more formulas 1 Introduction to Firewalls Chain INPUT (policy CCEPT) target prot source destination DOS_PROTECT

### FIREWALL AND NAT Lecture 7a

FIREWALL AND NAT Lecture 7a COMPSCI 726 Network Defence and Countermeasures Muhammad Rizwan Asghar August 3, 2015 Source of most of slides: University of Twente FIREWALL An integrated collection of security

### Semantics-Preserving Simplification of Real-World Firewall Rule Sets

Semantics-Preserving Simplification of Real-World Firewall Rule Sets Formal Methods 2015 Cornelius Diekmann * Lars Hupel Georg Carle * * Chair for Network Architectures and Services Chair for Logic and

### - Introduction to Firewalls -

1 Firewall Basics - Introduction to Firewalls - Traditionally, a firewall is defined as any device (or software) used to filter or control the flow of traffic. Firewalls are typically implemented on the

### Design and Implementation of Firewall Policy Advisor Tools

Design and Implementation of Firewall Policy Advisor Tools Ehab S. Al-Shaer and Hazem H. Hamed Multimedia Networking Research Laboratory School of Computer Science, Telecommunications and Information Systems

### Firewalls P+S Linux Router & Firewall 2013

Firewalls P+S Linux Router & Firewall 2013 Firewall Techniques What is a firewall? A firewall is a hardware or software device which is configured to permit, deny, or proxy data through a computer network

### Defining Functions on Equivalence Classes. Lawrence C. Paulson, Computer Laboratory, University of Cambridge

Defining Functions on Equivalence Classes Lawrence C. Paulson, Computer Laboratory, University of Cambridge Outline of Talk 1. Review of equivalence relations and quotients 2. General lemmas for defining

### Formal firewall conformance testing: an application of test and proof techniques

SOFTWARE TESTING, VERIFICATION AND RELIABILITY Softw. Test. Verif. Reliab. 2014; 00:1 38 Published online in Wiley InterScience (www.interscience.wiley.com). Formal firewall conformance testing: an application

### Application Note. Stateful Firewall, IPS or IDS Load- Balancing

Application Note Stateful Firewall, IPS or IDS Load- Balancing Document version: v1.0 Last update: 8th November 2013 Purpose Improve scallability of the security layer Limitations when Load-Balancing firewalls

### Verifying Security Policies using Host Attributes

Verifying Security Policies using Host Attributes 34 th IFIP International Conference on Formal Techniques for Distributed Objects, Components and Systems Cornelius Diekmann 1 Stephan-A. Posselt 1 Heiko

### Verifying security protocols using theorem provers

1562 2007 79-86 79 Verifying security protocols using theorem provers Miki Tanaka National Institute of Information and Communications Technology Koganei, Tokyo 184-8795, Japan Email: miki.tanaka@nict.go.jp

About this talk: Keywords Network Security Policy Stateful Firewalls Isabelle/HOL Directed Security Policies: A Stateful Network Implementation 3rd International Workshop on Engineering Safety and Security

### Packet filtering and other firewall functions

Packet filtering and other firewall functions Martin Krammer mk@sbox.tugraz.at Martin Krammer Graz, May 25, 2007 1 Overview Firewalls Principles Architectures Security aspects Packet filtering Principles

### Certifying Spoofing-Protection of Firewalls

Certifying Spoofing-Protection of Firewalls Cornelius Diekmann, Lukas Schwaighofer, and Georg Carle Technische Universität München Email: {diekmann schwaighofer carle}@net.in.tum.de Abstract We present

### NAT & IP Masquerade. Internet NETWORK ADDRESS TRANSLATION INTRODUCTION. NAT & IP Masquerade Page 1 of 5. Internal PC 192.168.0.25

NAT & IP Masquerade Page 1 of 5 INTRODUCTION Pre-requisites TCP/IP IP Address Space NAT & IP Masquerade Protocol version 4 uses a 32 bit IP address. In theory, a 32 bit address space should provide addresses

### INTRODUCTION TO FIREWALL SECURITY

INTRODUCTION TO FIREWALL SECURITY SESSION 1 Agenda Introduction to Firewalls Types of Firewalls Modes and Deployments Key Features in a Firewall Emerging Trends 2 Printed in USA. What Is a Firewall DMZ

### POLYTYPIC PROGRAMMING OR: Programming Language Theory is Helpful

POLYTYPIC PROGRAMMING OR: Programming Language Theory is Helpful RALF HINZE Institute of Information and Computing Sciences Utrecht University Email: ralf@cs.uu.nl Homepage: http://www.cs.uu.nl/~ralf/

### ΕΠΛ 674: Εργαστήριο 5 Firewalls

ΕΠΛ 674: Εργαστήριο 5 Firewalls Παύλος Αντωνίου Εαρινό Εξάμηνο 2011 Department of Computer Science Firewalls A firewall is hardware, software, or a combination of both that is used to prevent unauthorized

### Host Discovery with nmap

Host Discovery with nmap By: Mark Wolfgang moonpie@moonpie.org November 2002 Table of Contents Host Discovery with nmap... 1 1. Introduction... 3 1.1 What is Host Discovery?... 4 2. Exploring nmap s Default

### 12. Firewalls Content

Content 1 / 17 12.1 Definition 12.2 Packet Filtering & Proxy Servers 12.3 Architectures - Dual-Homed Host Firewall 12.4 Architectures - Screened Host Firewall 12.5 Architectures - Screened Subnet Firewall

### Check Point Software Technologies LTD. Creating A Generic Service Proxy (GSP) Using Network Address Translation (NAT)

Check Point Software Technologies LTD. Creating A Generic Service Proxy (GSP) Using Network Address Translation (NAT) This document will outline the basic procedure for achieving the equivalent of a Generic

### ΕΠΛ 475: Εργαστήριο 9 Firewalls Τοίχοι πυρασφάλειας. University of Cyprus Department of Computer Science

ΕΠΛ 475: Εργαστήριο 9 Firewalls Τοίχοι πυρασφάλειας Department of Computer Science Firewalls A firewall is hardware, software, or a combination of both that is used to prevent unauthorized Internet users

### Network Security - ISA 656 Firewalls & NATs

Network Security - ISA 656 & NATs Angelos Stavrou Types of Schematic of a Conceptual Pieces Packet UDP Types of Packet Dynamic Packet Application Gateways Circuit Relays Personal /or Distributed Many firewalls

### HOL-TestGen/fw An Environment for Specification-Based Firewall Conformance Testing

HOL-TestGen/fw An Environment for Specification-Based Firewall Conformance Testing Achim D. Brucker 1, Lukas Brügger 2, and Burkhart Wolff 3 1 SAP AG, Vincenz-Priessnitz-Str. 1, 76131 Karlsruhe, Germany

### Guardian Digital WebTool Firewall HOWTO. by Pete O Hara

Guardian Digital WebTool Firewall HOWTO by Pete O Hara Guardian Digital WebTool Firewall HOWTO by by Pete O Hara Revision History Revision \$Revision: 1.1 \$ \$Date: 2006/01/03 17:25:17 \$ Revised by: pjo

### Network Security. Chapter 1. Prof. Dr.-Ing. Georg Carle Dr. Heiko Niedermayer Cornelius Diekmann, M.Sc. Technische Universität München

Network Security Chapter 1 Prof. Dr.-Ing. Georg Carle Dr. Heiko Niedermayer Cornelius Diekmann, M.Sc. Lehrstuhl für Netzarchitekturen und Netzdienste Institut für Informatik Version: June 13, 2015 IN2101,

### CSCI 7000-001 Firewalls and Packet Filtering

CSCI 7000-001 Firewalls and Packet Filtering November 1, 2001 Firewalls are the wrong approach. They don t solve the general problem, and they make it very difficult or impossible to do many things. On

### Formal Firewall Conformance Testing: An Application of Test and Proof Techniques

SOFTWARE TESTING, VERIFICATION AND RELIABILITY Softw. Test. Verif. Reliab. 2014; 00:1 40 Published online in Wiley InterScience (www.interscience.wiley.com). Formal Firewall Conformance Testing: An Application

### Network Security CS 192

Network Security CS 192 Firewall Rules Department of Computer Science George Washington University Jonathan Stanton 1 Client Web Auth paper Today s topics Firewall Rules Jonathan Stanton 2 Required: Additional

### Discrete Mathematics, Chapter 5: Induction and Recursion

Discrete Mathematics, Chapter 5: Induction and Recursion Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 5 1 / 20 Outline 1 Well-founded

### GregSowell.com. Mikrotik Security

Mikrotik Security IP -> Services Disable unused services Set Available From for appropriate hosts Secure protocols are preferred (Winbox/SSH) IP -> Neighbors Disable Discovery Interfaces where not necessary.

### Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso

Lecture 2-ter. 2 A communication example Managing a HTTP v1.0 connection Managing a HTTP request User digits URL and press return (or clicks ). What happens (HTTP 1.0): 1. Browser opens a TCP transport

### Setting up a reflector-reflector interconnection using Alkit Reflex RTP reflector/mixer

Setting up a reflector-reflector interconnection using Alkit Reflex RTP reflector/mixer Mathias Johanson Alkit Communications AB Introduction The Alkit Reflex reflector/mixer system can be set-up to interconnect

### Comparing and debugging firewall rule tables

Comparing and debugging firewall rule tables L. Lu, R. Safavi-Naini, J. Horton and W. Susilo Abstract: Firewalls are one of the essential components of secure networks. However, configuring firewall rule

### Attack and Defense Techniques 2

Network Security Attack and Defense Techniques 2 Anna Sperotto, Ramin Sadre Design and Analysis of ommunication Networks (DAS) University of Twente The Netherlands Firewalls Network firewall Internet 25

### Adding an Extended Access List

CHAPTER 11 This chapter describes how to configure extended access lists (also known as access control lists), and it includes the following topics: Information About Extended Access Lists, page 11-1 Licensing

### What is Firewall Builder

Firewall Builder The Problem In a heterogeneous environment, the administrator needs to be proficient with many different tools and CLI Administrator should understand how various firewalls differ in their

### Use Domain Name System and IP Version 6

Use Domain Name System and IP Version 6 What You Will Learn The introduction of IP Version 6 (IPv6) into an enterprise environment requires some changes both in the provisioned Domain Name System (DNS)

### Firewalls. Ingress Filtering. Ingress Filtering. Network Security. Firewalls. Access lists Ingress filtering. Egress filtering NAT

Network Security s Access lists Ingress filtering s Egress filtering NAT 2 Drivers of Performance RequirementsTraffic Volume and Complexity of Static IP Packet Filter Corporate Network The Complexity of

### Solution of Exercise Sheet 5

Foundations of Cybersecurity (Winter 15/16) Prof. Dr. Michael Backes CISPA / Saarland University saarland university computer science Protocols = {????} Client Server IP Address =???? IP Address =????

### Firewalls with IPTables. Jason Healy, Director of Networks and Systems

Firewalls with IPTables Jason Healy, Director of Networks and Systems Last Updated Mar 18, 2008 2 Contents 1 Host-based Firewalls with IPTables 5 1.1 Introduction.............................. 5 1.2 Concepts...............................

### Firewall Firewall August, 2003

Firewall August, 2003 1 Firewall and Access Control This product also serves as an Internet firewall, not only does it provide a natural firewall function (Network Address Translation, NAT), but it also

### Firewall Testing. Cameron Kerr Telecommunications Programme University of Otago. May 16, 2005

Firewall Testing Cameron Kerr Telecommunications Programme University of Otago May 16, 2005 Abstract Writing a custom firewall is a complex task, and is something that requires a significant amount of

### Firewalls, NAT and Intrusion Detection and Prevention Systems (IDS)

Firewalls, NAT and Intrusion Detection and Prevention Systems (IDS) Internet (In)Security Exposed Prof. Dr. Bernhard Plattner With some contributions by Stephan Neuhaus Thanks to Thomas Dübendorfer, Stefan

### Timing,... in Firewall Testing

,... in Firewall Testing Information Security ETH Zurich Semester Thesis, Winter Term 2006/07 Prof. Dr. D. Basin, Tutor: Diana von Bidder April 1, 2007 Overview 1 2 3 4 5 Firewall Testing Tool Definition

### This Technical Support Note shows the different options available in the Firewall menu of the ADTRAN OS Web GUI.

TECHNICAL SUPPORT NOTE Introduction to the Firewall Menu in the Web GUI Featuring ADTRAN OS and the Web GUI Introduction This Technical Support Note shows the different options available in the Firewall

### How To Configure Virtual Host with Load Balancing and Health Checking

How To Configure Virtual Host with Load How To Configure Virtual Host with Load Balancing and Health Checking Balancing and Health Checking Applicable Version: 10.02.0 Build 473 onwards Overview This article

### The Foundations: Logic and Proofs. Chapter 1, Part III: Proofs

The Foundations: Logic and Proofs Chapter 1, Part III: Proofs Rules of Inference Section 1.6 Section Summary Valid Arguments Inference Rules for Propositional Logic Using Rules of Inference to Build Arguments

### CHAPTER 7 GENERAL PROOF SYSTEMS

CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes

### Inference Rules and Proof Methods

Inference Rules and Proof Methods Winter 2010 Introduction Rules of Inference and Formal Proofs Proofs in mathematics are valid arguments that establish the truth of mathematical statements. An argument

### CSE331: Introduction to Networks and Security. Lecture 12 Fall 2006

CSE331: Introduction to Networks and Security Lecture 12 Fall 2006 Announcements Midterm I will be held Friday, Oct. 6th. True/False Multiple Choice Calculation Short answer Short essay Project 2 is on

### SPML: A Visual Approach for Modeling Firewall Configurations

SPML: A Visual Approach for Modeling Configurations Kleber Manrique Trevisani and 2 Rogério Eduardo Garcia Universidade do Oeste Paulista Faculdade de Informática de Presidente Prudente, Rua José Bongiovani,

### Firewalls. Test your Firewall knowledge. Test your Firewall knowledge (cont) (March 4, 2015)

s (March 4, 2015) Abdou Illia Spring 2015 Test your knowledge Which of the following is true about firewalls? a) A firewall is a hardware device b) A firewall is a software program c) s could be hardware

### Firewalls 1 / 43. Firewalls

What s a Firewall Why Use? Tradttional by Analogy Should We Fix the Network Protocols Instead? Firewall Advantages Schematic of a Firewall Conceptual Pieces The DMZ Positioning Why Administrative Domains?

### Chapter 15. Firewalls, IDS and IPS

Chapter 15 Firewalls, IDS and IPS Basic Firewall Operation The firewall is a border firewall. It sits at the boundary between the corporate site and the external Internet. A firewall examines each packet

### SOLUTIONS TO ASSIGNMENT 1 MATH 576

SOLUTIONS TO ASSIGNMENT 1 MATH 576 SOLUTIONS BY OLIVIER MARTIN 13 #5. Let T be the topology generated by A on X. We want to show T = J B J where B is the set of all topologies J on X with A J. This amounts

### Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Firewall

Chapter 2: Security Techniques Background Chapter 3: Security on Network and Transport Layer Chapter 4: Security on the Application Layer Chapter 5: Security Concepts for Networks Firewalls Intrusion Detection

### Higher-Order Logic. Specification and Verification with Higher-Order Logic

Higher-Order Logic Specification and Verification with Higher-Order Logic Arnd Poetzsch-Heffter Software Technology Group Fachbereich Informatik Technische Universität Kaiserslautern Sommersemester 2010

### Firewalls, IDS and IPS

Session 9 Firewalls, IDS and IPS Prepared By: Dr. Mohamed Abd-Eldayem Ref.: Corporate Computer and Network Security By: Raymond Panko Basic Firewall Operation 2. Internet Border Firewall 1. Internet (Not

### We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

Chapter 10 Firewall Firewalls are devices used to protect a local network from network based security threats while at the same time affording access to the wide area network and the internet. Basically,

### How To - Configure Virtual Host using FQDN How To Configure Virtual Host using FQDN

How To - Configure Virtual Host using FQDN How To Configure Virtual Host using FQDN Applicable Version: 10.6.2 onwards Overview Virtual host implementation is based on the Destination NAT concept. Virtual

### CSC574 - Computer and Network Security Module: Firewalls

CSC574 - Computer and Network Security Module: Firewalls Prof. William Enck Spring 2013 1 Firewalls A firewall... is a physical barrier inside a building or vehicle, designed to limit the spread of fire,

### F i r e s ec tm F i r e w a l l R u l e b a s e A n a l y s i s T o o l

F i r e s ec tm F i r e w a l l R u l e b a s e A n a l y s i s T o o l P C I D S S C o m p l i a n c e Usage guide Comprehensive rule base analysis for medium to large enterprise environments The large

### Managed VPSv3 Firewall Supplement

Managed VPSv3 Firewall Supplement Copyright 2006 VERIO Europe page 1 1 INTRODUCTION 3 1.1 Overview of the Documentation Library 3 1.2 Overview of this Document 3 2 TWO OPTIONS FOR BUILDING A FIREWALL 4

### On every sheet please give your first name, last name, and matriculation number.

RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://verify.rwth-aachen.de/ LuFG Informatik II Functional Programming Exam,

### Introduction to Analyzer and the ARP protocol

Laboratory 6 Introduction to Analyzer and the ARP protocol Objetives Network monitoring tools are of interest when studying the behavior of network protocols, in particular TCP/IP, and for determining

### Introduction to type systems

Introduction to type systems p. 1/5 Introductory Course on Logic and Automata Theory Introduction to type systems Polyvios.Pratikakis@imag.fr Based on slides by Jeff Foster, UMD Introduction to type systems

### Configuring Class Maps and Policy Maps

CHAPTER 4 Configuring Class Maps and Policy Maps This chapter describes how to configure class maps and policy maps to provide a global level of classification for filtering traffic received by or passing

### IP Address: the per-network unique identifier used to find you on a network

Linux Networking What is a network? A collection of devices connected together Can use IPv4, IPv6, other schemes Different devices on a network can talk to each other May be walls to separate different

### Firewall Examples. Using a firewall to control traffic in networks

Using a firewall to control traffic in networks 1 1 Example Network 1 2 1.0/24 1.2.0/24.4 1.0.0/16 Rc 5.6 4.0/24 2 Consider this example internet which has: 6 subnets (blue ovals), each with unique network

### + iptables. packet filtering && firewall

+ iptables packet filtering && firewall + what is iptables? iptables is the userspace command line program used to configure the linux packet filtering ruleset + a.k.a. firewall + iptable flow chart what?

Classic IOS Firewall using CBACs 2012 Cisco and/or its affiliates. All rights reserved. 1 Although CBAC serves as a good foundation for understanding the revolutionary path toward modern zone based firewalls,

### Chapter 7: Functional Programming Languages

Chapter 7: Functional Programming Languages Aarne Ranta Slides for the book Implementing Programming Languages. An Introduction to Compilers and Interpreters, College Publications, 2012. Fun: a language

### Middleboxes. Firewalls. Internet Ideal: Simple Network Model. Internet Reality. Middleboxes. Firewalls. Globally unique idenpfiers

Ideal: Simple Network Model Middleboxes Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101 hgp://www.cs.princeton.edu/courses/archive/spr12/cos461/ Globally unique

### Linux Networking: IP Packet Filter Firewalling

Linux Networking: IP Packet Filter Firewalling David Morgan Firewall types Packet filter Proxy server 1 Linux Netfilter Firewalling Packet filter, not proxy Centerpiece command: iptables Starting point:

### Cork Institute of Technology Master of Science in Computing in Education National Framework of Qualifications Level 9

Cork Institute of Technology Master of Science in Computing in Education National Framework of Qualifications Level 9 February 2005 System and Network Management (Time: 2 Hours) Answer any THREE questions

### USING WIRESHARK TO CAPTURE AND ANALYZE NETWORK DATA

USING WIRESHARK TO CAPTURE AND ANALYZE NETWORK DATA CPSC 441 TUTORIAL JANUARY 30, 2012 TA: RUITING ZHOU The content of these slides are taken from CPSC 526 TUTORIAL by Nashd Safa (Extended and partially

### How to protect your home/office network?

How to protect your home/office network? Using IPTables and Building a Firewall - Background, Motivation and Concepts Adir Abraham adir@vipe.technion.ac.il Do you think that you are alone, connected from

### Network forensics 101 Network monitoring with Netflow, nfsen + nfdump

Network forensics 101 Network monitoring with Netflow, nfsen + nfdump www.enisa.europa.eu Agenda Intro to netflow Metrics Toolbox (Nfsen + Nfdump) Demo www.enisa.europa.eu 2 What is Netflow Netflow = Netflow

### Conflict Classification and Analysis of Distributed Firewall Policies

Conflict Classification and Analysis of Distributed Firewall Policies 1 Ehab Al-Shaer and Hazem Hamed School of Computer Science DePaul University, Chicago, USA Email: {ehab, hhamed}@cs.depaul.edu Raouf

### Overview. Firewall Security. Perimeter Security Devices. Routers

Overview Firewall Security Chapter 8 Perimeter Security Devices H/W vs. S/W Packet Filtering vs. Stateful Inspection Firewall Topologies Firewall Rulebases Lecturer: Pei-yih Ting 1 2 Perimeter Security

### Functional Programming. Functional Programming Languages. Chapter 14. Introduction

Functional Programming Languages Chapter 14 Introduction Functional programming paradigm History Features and concepts Examples: Lisp ML 1 2 Functional Programming Functional Programming Languages The

### Lecture 8. IP Fundamentals

Lecture 8. Internet Network Layer: IP Fundamentals Outline Layer 3 functionalities Internet Protocol (IP) characteristics IP packet (first look) IP addresses Routing tables: how to use ARP Layer 3 functionalities

### Wireshark DNS. Introduction. nslookup

Wireshark DNS Introduction The Domain Name System (DNS) translates hostnames to IP addresses, fulfilling a critical role in the Internet infrastructure. In this lab, we ll take a closer look at the client

### Internet Privacy Options

2 Privacy Internet Privacy Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 19 June 2014 Common/Reports/internet-privacy-options.tex, r892 1 Privacy Acronyms

### Automating Server Firewalls

Automating Server Firewalls With CloudPassage Halo Contents: About Halo Server Firewalls Implementing Firewall Policies Create and Assign a Firewall Policy Specify Firewall-Related Components Managing

Workload Firewall Management Setup Guide Contents: About Halo Workload Firewalls Implementing Halo Workload Firewalls Creating Firewall Policies Define Firewall-Related Components Create Inbound Rules

### How to Open HTTP or HTTPS traffic to a webserver behind the NetVanta 2000 Series unit (Enhanced OS)

NetVanta 2000 Series Technical Note How to Open HTTP or HTTPS traffic to a webserver behind the NetVanta 2000 Series unit (Enhanced OS) This document is applicable to NetVanta 2600 series, 2700 series,

### Proxy Server, Network Address Translator, Firewall. Proxy Server

Proxy Server, Network Address Translator, Firewall 1 Proxy Server 2 1 Introduction What is a proxy server? Acts on behalf of other clients, and presents requests from other clients to a server. Acts as

### 3. Mathematical Induction

3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)

### Semantics and Verification of Software

Semantics and Verification of Software Lecture 21: Nondeterminism and Parallelism IV (Equivalence of CCS Processes & Wrap-Up) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification)

### Reconciling multiple IPsec and firewall policies

Reconciling multiple IPsec and firewall policies Tuomas Aura, Moritz Becker, Michael Roe, Piotr Zieliński Submission to SPW 2007 Abstract Manually configuring large firewall policies can be a hard and

### ICS 351: Today's plan. IP addresses Network Address Translation Dynamic Host Configuration Protocol Small Office / Home Office configuration

ICS 351: Today's plan IP addresses Network Address Translation Dynamic Host Configuration Protocol Small Office / Home Office configuration IP address exhaustion IPv4 addresses are 32 bits long so there

### Application Firewalls

Application Moving Up the Stack Advantages Disadvantages Example: Protecting Email Email Threats Inbound Email Different Sublayers Combining Firewall Types Firewalling Email Enforcement Application Distributed

### 263-2200 Types and Programming Languages

263-2200 Types and Programming Languages 1 / 49 Outline Types Evaluation Rules Typing Rules Properties of the Typing Relation The Inversion Lemma Prolog Implementation Reasoning Involving Types Progress

### Chapter I Logic and Proofs

MATH 1130 1 Discrete Structures Chapter I Logic and Proofs Propositions A proposition is a statement that is either true (T) or false (F), but or both. s Propositions: 1. I am a man.. I am taller than