Solving trust issues using Z3 Z3 SIG, November 2011 Moritz Y. Becker, Nik Sultana Alessandra Russo Masoud Koleini Microsoft Research, Cambridge Imperial.

Slides:



Advertisements
Similar presentations
Techniques for Proving the Completeness of a Proof System Hongseok Yang Seoul National University Cristiano Calcagno Imperial College.
Advertisements

Lecture 11: Datalog Tuesday, February 6, Outline Datalog syntax Examples Semantics: –Minimal model –Least fixpoint –They are equivalent Naive evaluation.
Current Techniques in Language-based Security David Walker COS 597B With slides stolen from: Steve Zdancewic University of Pennsylvania.
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
1 Logic Logic in general is a subfield of philosophy and its development is credited to ancient Greeks. Symbolic or mathematical logic is used in AI. In.
Logic CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
A Fixpoint Calculus for Local and Global Program Flows Swarat Chaudhuri, U.Penn (with Rajeev Alur and P. Madhusudan)
Artificial Intelligence Chapter 14. Resolution in the Propositional Calculus Artificial Intelligence Chapter 14. Resolution in the Propositional Calculus.
Automated Soundness Proofs for Dataflow Analyses and Transformations via Local Rules Sorin Lerner* Todd Millstein** Erika Rice* Craig Chambers* * University.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Language Specfication and Implementation - PART II: Semantics of Procedural Programming Languages Lee McCluskey Department of Computing and Mathematical.
Proof-system search ( ` ) Interpretation search ( ² ) Main search strategy DPLL Backtracking Incremental SAT Natural deduction Sequents Resolution Main.
Trust Management II Anupam Datta Fall A: Foundations of Security and Privacy.
1 CMSC424, Spring 2005 CMSC424: Database Design Lecture 9.
Dr. Alexandra I. Cristea CS 319: Theory of Databases: C3.
Artificial Intelligence Chapter 14 Resolution in the Propositional Calculus Artificial Intelligence Chapter 14 Resolution in the Propositional Calculus.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Propositional Logic Reasoning correctly computationally Chapter 7 or 8.
Geometry as a Deductive System or Structure. D Inductive Reasoning – observe specific cases to form a general rule Example: Little kid burns his hand.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
Abstraction Interpretation Abstract Interpretation is a general theory for approximating the semantics of dynamic systems (Cousot & Cousot 1977) Abstract.
A Brief Summary for Exam 1 Subject Topics Propositional Logic (sections 1.1, 1.2) –Propositions Statement, Truth value, Proposition, Propositional symbol,
Proof Systems KB |- Q iff there is a sequence of wffs D1,..., Dn such that Dn is Q and for each Di in the sequence: a) either Di is in KB or b) Di can.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
Ninghui Li (Purdue University) 2 nd Int’l Summer School in Computation Logic June 17, 2004 Logic and Logic Programming in Distributed Access Control (Part.
Logical Inference 2 rule based reasoning
Ethan Jackson, Nikolaj Bjørner and Wolfram Schulte Research in Software Engineering (RiSE), Microsoft Research 1. A FORMULA for Abstractions and Automated.
Logical Agents Logic Propositional Logic Summary
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Confidentiality-preserving Proof Theories for Distributed Proof Systems Kazuhiro Minami National Institute of Informatics FAIS 2011.
Logics for Data and Knowledge Representation Exercises: DL.
1 Reasoning about Concrete Security in Protocol Proofs A. Datta, J.Y. Halpern, J.C. Mitchell, R. Pucella, A. Roy.
Formal Specification of Intrusion Signatures and Detection Rules By Jean-Philippe Pouzol and Mireille Ducassé 15 th IEEE Computer Security Foundations.
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
Correctness Proofs and Counter-model Generation with Authentication-Protocol Logic Koji Hasebe Mitsuhiro Okada Department of Philosophy, Keio University.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 13 of 41 Monday, 20 September.
Computing & Information Sciences Kansas State University Lecture 13 of 42 CIS 530 / 730 Artificial Intelligence Lecture 13 of 42 William H. Hsu Department.
Formal Semantics of Programming Languages 虞慧群 Topic 1: Introduction.
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
COP4020 Programming Languages Introduction to Axiomatic Semantics Prof. Robert van Engelen.
1 Introduction to Abstract Mathematics Chapter 2: The Logic of Quantified Statements. Predicate Calculus Instructor: Hayk Melikya 2.3.
Naïve Set Theory. Basic Definitions Naïve set theory is the non-axiomatic treatment of set theory. In the axiomatic treatment, which we will only allude.
1 Introduction to Abstract Mathematics Proofs in Predicate Logic , , ~, ,  Instructor: Hayk Melikya Purpose of Section: The theorems.
SecPAL Presented by Daniel Pechulis CS5204 – Operating Systems1.
Artificial Intelligence “Introduction to Formal Logic” Jennifer J. Burg Department of Mathematics and Computer Science.
LDK R Logics for Data and Knowledge Representation ClassL (part 2): Reasoning with a TBox 1.
Lightweight Support for Magic Wands in an Automatic Verifier Malte Schwerhoff and Alexander J. Summers 10 th July 2015, ECOOP, Prague.
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
Logic Programming. Formal Logics- Recap Formulas – w/out quantifiers Free Variables Bound Variables Assignments and satisfaction Validity and satisfiability.
Inference in First Order Logic. Outline Reducing first order inference to propositional inference Unification Generalized Modus Ponens Forward and backward.
Automated Reasoning in Propositional Logic Problem Given: KB: a set of sentence  : a sentence Answer: KB  ?
1 Authorization Sec PAL: A Decentralized Authorization Language.
Automated Reasoning in Propositional Logic Russell and Norvig: Chapters 6 and 9 Chapter 7, Sections 7.5—7.6 CS121 – Winter 2003.
On Abductive Equivalence Katsumi Inoue National Institute of Informatics Chiaki Sakama Wakayama University MBR
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
Computing & Information Sciences Kansas State University Wednesday, 04 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 17 of 42 Wednesday, 04 October.
A Policy Based Infrastructure for Social Data Access with Privacy Guarantees Tim Finin (UMBC) for: Palanivel Kodeswaran (UMBC) Evelyne Viegas (Microsoft.
Computing & Information Sciences Kansas State University Friday, 13 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 21 of 42 Friday, 13 October.
COMP 412, FALL Type Systems C OMP 412 Rice University Houston, Texas Fall 2000 Copyright 2000, Robert Cartwright, all rights reserved. Students.
Artificial Intelligence Logical Agents Chapter 7.
Decentralized Access Control: Policy Languages and Logics
Decision Procedures in First Order Logic
Resolution in the Propositional Calculus
Lifting Propositional Interpolants to the Word-Level
Knowledge Inference for Optimizing Secure Multi-party Computation
CSE 311: Foundations of Computing
How science works (adapted from Coombs, 1983)
First-order (predicate) Logic
Presentation transcript:

Solving trust issues using Z3 Z3 SIG, November 2011 Moritz Y. Becker, Nik Sultana Alessandra Russo Masoud Koleini Microsoft Research, Cambridge Imperial College Birmingham University

What can be detected about policy A 0 ? probe observe Infer? e.g. SecPAL, DKAL, Binder, RT,...

A simple probing attack No: A 0 ∪ A ⊬ q Yes: A 0 ∪ A ⊢ q SvcAlice Svc says secretAg(Bob)! Alice can detect “Svc says secretAg(Bob)”! A = {Alice says foo if secretAg(Bob)} q = access? Alice says 1 A = {Alice says foo if secretAg(Bob), Alice says Svc cansay secretAg(Bob) } q = access? Svc says secrAg(B)  Alice says secrAg(B) 2 [Gurevich et al., CSF 2008] (There’s also an attack on DKAL2, to appear in: “Information Flow in Trust Management Systems”, Journal of Computer Security.)

Challenges 1.What does “attack”, “detect”, etc. mean?* 2.What can the attacker (not) detect? 3.How do we automate? *Based on “Information Flow in Credential Systems”, Moritz Y. Becker, CSF 2010

probe

Available probes

Yes, No, Yes, Yes,...!

p p p p p p!

Yes, No, Yes, Yes,...! p p p p p  p?? 

No! Svc says secretAg(B) is detectable in A 0 ! ({A says foo if secrAg(B)}, acc) ({A says Src cansay secAg(B), A says fooif secretAg(B)}, acc) Yes! secretAg(B) Available probes secretAg(B)!

Challenges 1.What does “attack”, “detect”, etc. mean? 2.What can the attacker (not) detect?* 3.How do we automate? *Based on “Opacity Analysis in Trust Management Systems”, Moritz Y. Becker and Masoud Koleini (U Birmingham), ISC2011

Example 1   

Example 2    

Challenges 1.What does “attack”, “detect”, etc. mean? 2.What can the attacker (not) detect? 3.How do we automate?

How do we automate? Previous approach: Build a policy in which the sought fact is opaque. Approach described here: Search for proof to show that a property is detectable.

Reasoning framework Policies/credentials, and their properties are mathematical objects Better still, are terms in a logic (object-level) Probes are just a subset of the theorems in the logic. Semantic constraints: Datalog entailment, hypothethical reasoning.

Policies Empty policy Fact Rule Policy union

Properties “phi holds if gamma”

Example 1

Example 2

Calculus + PL + ML + Hy

Reduced calculus (modulo normalisation)

Axioms C1 and C2

Props 8 and 9

Normal form

Naïve propositionalisation Normalise the formula Apply Prop9 (until fixpoint) Instantiate C1, C2 and Prop8 for each box-formula Abstract the boxes

Improvements Prop9 is very productive – in many cases this can be avoided – so it could be delayed. Axiom C1 can be used as a filter.

Summary 1.What does “attack”, “protect”, etc. mean? –Observational equivalence, opacity and detectability 2.What can the attacker (not) infer? –Algorithm for deciding opacity in Datalog policies –Tool with optimizations 3.How do we automate? –Encode as SAT problem