SlideShare a Scribd company logo
1 of 31
Download to read offline
Computing Information Flow Using
Symbolic Model-Checking
10 avril 2018
Introduction
Literature review
Background
Leakage in non-probabilistic programs
Demo
Experimental results
Conclusion and future work
Introduction
Literature review
Background
Leakage in non-probabilistic programs
Demo
Experimental results
Conclusion and future work
Introduction
Information Leakage :
I Information about the secret inputs using publicly observable
outputs
I Outputs independent of inputs =⇒ No leakage
I Unique input corresponding to given output =⇒ Full leakage
The quantitative information flow bounding problem and the
quantitative information flow comparison problem for Boolean
programs are PSPACE-complete .
Introduction
Literature review
Background
Leakage in non-probabilistic programs
Demo
Experimental results
Conclusion and future work
Literature review
I .[M. Backes , al] - S&P 2009 . DisQuant :
Automatic discovery and quantification of information leaks
I .[Heusser , al] - ACSAC 2010 . selfcomp :
Quantifying Information Leaks in Software
I .[Quoc-Sang Phan , al ] - ACM SIGSOFT 2012. jpf-qif :
Symbolic Quantitative Information Flow
I .[Quoc-Sang Phan , al ] - ASIACCS 2014. sqifc :
Abstract model counting : a novel approach for quantification
of information leaks.
I .[Rohit Chadha , al] - FSTTCS 2014. Moped-QLeak :
Computing Information Flow Using Symbolic Model-Checking
Introduction
Literature review
Background
Leakage in non-probabilistic programs
Demo
Experimental results
Conclusion and future work
Symbolic Model-Checking
Model Checking :
I Exhaustive search of the state space of the system .
I Disadvantage : State Explosion Problem
Symbolic Model Checking :
I uses boolean encoding for state machine and sets of states.
I BDDs used to represent boolean functions .
Boolean programs
I Global variables G : Input and output
I Local variables : Internal calculations
I Program statements : transform global and local variables
I For Program P, Fp : 2G 7−→ 2G ∪ {⊥}
I Fp( ¯
g0) = ⊥ : P does not terminate ¯
g0
Binary decision diagrams (BDDs)
I Set of variables V = {x, y, z} with the order x < y < z
I f (x, y, z) = x → (y ↔ z)
I BDDs are data structures for storing elements : 2G −→ {0, 1}
Unreduced decision diagram (left) and corresponding BDD (right)
Algebraic Decision Diagrams (ADDs)
I Set of variables V
I ADD : 2G −→ M (M = R)
I BDDs + real values on the terminal nodes
I BDDs as 0/1-ADDs
ADD (right) and its reduced form (left)
Fixed-point
Consider the complete lattice (2G , ⊆)
Consider a function f : 2S 7−→ 2S
X ∈ 2S is fixed point of f ⇐⇒ f (X) = X
X is least fixed point of f if for every fixed point Y , X ⊆ Y
Theorem (Tarski-knaster)
Consider a function f : 2S 7−→ 2S that is monotonic
X ⊆ Y then f (X) ⊆ f (Y )
Consider the sequence :
X0 = ∅
X1 = f (X0)
X2 = f (X1)... This eventually converge to the least fixed point
Information leakage in programs
1. Min-entropy leakage measures vulnerability of the secret
inputs to being guessed correctly in a single attempt of the
adversary
MEU(P) = log
P
o∈O maxs∈S µ(S = s|O = o)
2. Shannon entropy leakage measures expected number of
guesses required to correctly guess the secret input
SEU(P) = log|S| − 1
|S|
P
o∈O |P−1(o)|log(|P−1(o)|)
Introduction
Literature review
Background
Leakage in non-probabilistic programs
Demo
Experimental results
Conclusion and future work
Definition (Summary of a Program)
Let P be a program with G = {x1, ..., xn} as the set of global
variables. Let G0 = {x0
1, ..., x0
n} and G ∩ G0 = ∅.
The summary of P , denoted TP , is a function
TP : 2(G∪G0) → {0, 1}
such that for every z1, ..., zn, z0
1, ..., z0
n ∈ {true, false}, we have
TP(z1, ..., zn, z0
1, ..., z0
n) = 1 ⇐⇒ P(z1, ..., zn) = (z0
1, ..., z0
n).
Example : Boolean program Pex with global variables : s1, s2, o1
and o2.
o1 = false ; o2 = false ;
while s1 ;
o1 = false ; o2 = s2 ;
s1 = false ; s2 = false ;
Assuming the order s1 < s0
1 < s2 < s0
2 < o1 < o0
1 < o2 < o0
2 :
Pex is shown as a 0/1-ADD :
Leakage measured using min-entropy
Let post(2G ) = { ¯
g0 ∈ 2G |∃ḡ ∈ 2G .P(ḡ) = ¯
g0}.
If P terminates on all inputs then the min-entropy leakage : is
log(|post(2G )|) .
otherwise it is log(|post(2G )| + 1)
Lemma
Let Tout,P = orAbstract(G, TP) ∧ Tterm,P = orAbstract(G0, TP).
1. |post(2G )| = val(abstract(+, G0, Tout,P)).
2. P terminates on every input iff
isConst(Tterm,P) and val(Tterm,P) = 1.
Leakage measured using min-entropy
The ADD representing Tout,P : the set of all possible outputs of P
.
Algorithm : Symbolic computation of min-entropy leakage
Leakage measured using Shannon entropy
Two possible outputs =⇒ We need to compute :
P
¯
g0∈2G0 |P−1( ¯
g0)|log|P−1( ¯
g0)| + |P−1(⊥)|log|P−1(⊥)|
.
The ADD Teq−size,P : The ADD Tnon−term,P :
Algorithm :Symbolic computation of Shannon-entropy
leakage
Introduction
Literature review
Background
Leakage in non-probabilistic programs
Demo
Experimental results
Conclusion and future work
Example : Sum Query
Input language : Remopla
Instructions for running
Introduction
Literature review
Background
Leakage in non-probabilistic programs
Demo
Experimental results
Conclusion and future work
Examples used for evaluation
Introduction
Literature review
Background
Leakage in non-probabilistic programs
Demo
Experimental results
Conclusion and future work
Conclusion and future work
I Symbolic algorithms for measuring information leakage
I Integrable in any BDD based reachability analysis tool
I Summary calculation is the overhead - BDD size (algebraic
operations) and variable orderings
I future work :
I ProPed :Support recursive programs
I Other symbolic verification approaches : CEGAR
(Counterexample Guided Abstraction Refinement )
References
R. Chadha, U. Mathur, S. Schwoon
Computing Information Flow Using Symbolic Model Checking
Foundations of Software Technology and Theoretical
Computer Science (FSTTCS), 2014
.
Moped QLeak : https://sites.google.com/site/mopedqleak
Presented By : LOTFI LARBAOUI

More Related Content

What's hot

TMPA-2017: Generating Cost Aware Covering Arrays For Free
TMPA-2017: Generating Cost Aware Covering Arrays For Free TMPA-2017: Generating Cost Aware Covering Arrays For Free
TMPA-2017: Generating Cost Aware Covering Arrays For Free Iosif Itkin
 
Algorithm And analysis Lecture 03& 04-time complexity.
 Algorithm And analysis Lecture 03& 04-time complexity. Algorithm And analysis Lecture 03& 04-time complexity.
Algorithm And analysis Lecture 03& 04-time complexity.Tariq Khan
 
digital signal-processing-lab-manual
digital signal-processing-lab-manualdigital signal-processing-lab-manual
digital signal-processing-lab-manualAhmed Alshomi
 
Digital signal Processing all matlab code with Lab report
Digital signal Processing all matlab code with Lab report Digital signal Processing all matlab code with Lab report
Digital signal Processing all matlab code with Lab report Alamgir Hossain
 
Circular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab CodeCircular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab CodeBharti Airtel Ltd.
 
Algorithm Analyzing
Algorithm AnalyzingAlgorithm Analyzing
Algorithm AnalyzingHaluan Irsad
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to AlgorithmsVenkatesh Iyer
 
Symbolic Execution as DPLL Modulo Theories
Symbolic Execution as DPLL Modulo TheoriesSymbolic Execution as DPLL Modulo Theories
Symbolic Execution as DPLL Modulo TheoriesQuoc-Sang Phan
 
Digital Signal Processing Lab Manual
Digital Signal Processing Lab Manual Digital Signal Processing Lab Manual
Digital Signal Processing Lab Manual Amairullah Khan Lodhi
 
Introduction to Algorithms and Asymptotic Notation
Introduction to Algorithms and Asymptotic NotationIntroduction to Algorithms and Asymptotic Notation
Introduction to Algorithms and Asymptotic NotationAmrinder Arora
 
Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02mansab MIRZA
 
Time and space complexity
Time and space complexityTime and space complexity
Time and space complexityAnkit Katiyar
 
Fundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm EfficiencyFundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm EfficiencySaranya Natarajan
 

What's hot (20)

TMPA-2017: Generating Cost Aware Covering Arrays For Free
TMPA-2017: Generating Cost Aware Covering Arrays For Free TMPA-2017: Generating Cost Aware Covering Arrays For Free
TMPA-2017: Generating Cost Aware Covering Arrays For Free
 
Algorithm And analysis Lecture 03& 04-time complexity.
 Algorithm And analysis Lecture 03& 04-time complexity. Algorithm And analysis Lecture 03& 04-time complexity.
Algorithm And analysis Lecture 03& 04-time complexity.
 
Complexity analysis in Algorithms
Complexity analysis in AlgorithmsComplexity analysis in Algorithms
Complexity analysis in Algorithms
 
Algorithm.ppt
Algorithm.pptAlgorithm.ppt
Algorithm.ppt
 
digital signal-processing-lab-manual
digital signal-processing-lab-manualdigital signal-processing-lab-manual
digital signal-processing-lab-manual
 
Complexity of Algorithm
Complexity of AlgorithmComplexity of Algorithm
Complexity of Algorithm
 
Digital signal Processing all matlab code with Lab report
Digital signal Processing all matlab code with Lab report Digital signal Processing all matlab code with Lab report
Digital signal Processing all matlab code with Lab report
 
Circular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab CodeCircular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab Code
 
Algorithm Analyzing
Algorithm AnalyzingAlgorithm Analyzing
Algorithm Analyzing
 
Dsp manual
Dsp manualDsp manual
Dsp manual
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to Algorithms
 
DFT and IDFT Matlab Code
DFT and IDFT Matlab CodeDFT and IDFT Matlab Code
DFT and IDFT Matlab Code
 
Symbolic Execution as DPLL Modulo Theories
Symbolic Execution as DPLL Modulo TheoriesSymbolic Execution as DPLL Modulo Theories
Symbolic Execution as DPLL Modulo Theories
 
Digital Signal Processing Lab Manual
Digital Signal Processing Lab Manual Digital Signal Processing Lab Manual
Digital Signal Processing Lab Manual
 
Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
Introduction to Algorithms and Asymptotic Notation
Introduction to Algorithms and Asymptotic NotationIntroduction to Algorithms and Asymptotic Notation
Introduction to Algorithms and Asymptotic Notation
 
Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02
 
Time and space complexity
Time and space complexityTime and space complexity
Time and space complexity
 
Dsp lab manual
Dsp lab manualDsp lab manual
Dsp lab manual
 
Fundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm EfficiencyFundamentals of the Analysis of Algorithm Efficiency
Fundamentals of the Analysis of Algorithm Efficiency
 

Similar to Computing Information Flow Using Symbolic-Model-Checking_.pdf

Quantifying Information Leaks via Model Counting Modulo Theories
Quantifying Information Leaks via Model Counting Modulo TheoriesQuantifying Information Leaks via Model Counting Modulo Theories
Quantifying Information Leaks via Model Counting Modulo TheoriesQuoc-Sang Phan
 
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by OraclesEfficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by OraclesVissarion Fisikopoulos
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Deepak John
 
chapter1.ppt
chapter1.pptchapter1.ppt
chapter1.pptebinazer1
 
Lec03 04-time complexity
Lec03 04-time complexityLec03 04-time complexity
Lec03 04-time complexityAbbas Ali
 
Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark
Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and SparkCrystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark
Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and SparkJivan Nepali
 
Optimal L-shaped matrix reordering, aka graph's core-periphery
Optimal L-shaped matrix reordering, aka graph's core-peripheryOptimal L-shaped matrix reordering, aka graph's core-periphery
Optimal L-shaped matrix reordering, aka graph's core-peripheryFrancesco Tudisco
 
Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsAakash deep Singhal
 
01 EC 7311-Module IV.pptx
01 EC 7311-Module IV.pptx01 EC 7311-Module IV.pptx
01 EC 7311-Module IV.pptxVSUDHEER4
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notationsajinis3
 
Asymptotic Notation and Complexity
Asymptotic Notation and ComplexityAsymptotic Notation and Complexity
Asymptotic Notation and ComplexityRajandeep Gill
 
Cs6402 daa-2 marks set 1
Cs6402 daa-2 marks set 1Cs6402 daa-2 marks set 1
Cs6402 daa-2 marks set 1Vai Jayanthi
 
Probability cheatsheet
Probability cheatsheetProbability cheatsheet
Probability cheatsheetSuvrat Mishra
 
module1_Introductiontoalgorithms_2022.pdf
module1_Introductiontoalgorithms_2022.pdfmodule1_Introductiontoalgorithms_2022.pdf
module1_Introductiontoalgorithms_2022.pdfShiwani Gupta
 

Similar to Computing Information Flow Using Symbolic-Model-Checking_.pdf (20)

Madrid easy
Madrid easyMadrid easy
Madrid easy
 
Quantifying Information Leaks via Model Counting Modulo Theories
Quantifying Information Leaks via Model Counting Modulo TheoriesQuantifying Information Leaks via Model Counting Modulo Theories
Quantifying Information Leaks via Model Counting Modulo Theories
 
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by OraclesEfficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1
 
Time complexity.ppt
Time complexity.pptTime complexity.ppt
Time complexity.ppt
 
chapter1.ppt
chapter1.pptchapter1.ppt
chapter1.ppt
 
Lec03 04-time complexity
Lec03 04-time complexityLec03 04-time complexity
Lec03 04-time complexity
 
Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark
Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and SparkCrystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark
Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark
 
Optimal L-shaped matrix reordering, aka graph's core-periphery
Optimal L-shaped matrix reordering, aka graph's core-peripheryOptimal L-shaped matrix reordering, aka graph's core-periphery
Optimal L-shaped matrix reordering, aka graph's core-periphery
 
Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithms
 
01 EC 7311-Module IV.pptx
01 EC 7311-Module IV.pptx01 EC 7311-Module IV.pptx
01 EC 7311-Module IV.pptx
 
Asymptotic notation
Asymptotic notationAsymptotic notation
Asymptotic notation
 
Asymptotic Notation and Complexity
Asymptotic Notation and ComplexityAsymptotic Notation and Complexity
Asymptotic Notation and Complexity
 
analysis.ppt
analysis.pptanalysis.ppt
analysis.ppt
 
Cs6402 daa-2 marks set 1
Cs6402 daa-2 marks set 1Cs6402 daa-2 marks set 1
Cs6402 daa-2 marks set 1
 
Probability cheatsheet
Probability cheatsheetProbability cheatsheet
Probability cheatsheet
 
module1_Introductiontoalgorithms_2022.pdf
module1_Introductiontoalgorithms_2022.pdfmodule1_Introductiontoalgorithms_2022.pdf
module1_Introductiontoalgorithms_2022.pdf
 
1.algorithms
1.algorithms1.algorithms
1.algorithms
 
Nbvtalkatbzaonencryptionpuzzles
NbvtalkatbzaonencryptionpuzzlesNbvtalkatbzaonencryptionpuzzles
Nbvtalkatbzaonencryptionpuzzles
 
Nbvtalkatbzaonencryptionpuzzles
NbvtalkatbzaonencryptionpuzzlesNbvtalkatbzaonencryptionpuzzles
Nbvtalkatbzaonencryptionpuzzles
 

Recently uploaded

UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfryanfarris8
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypseTomasz Kowalczewski
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMarkus Moeller
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Maxim Salnikov
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNeo4j
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdfSelfMade bd
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Chirag Panchal
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletAndrea Goulet
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024MulesoftMunichMeetup
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Clinic
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...drm1699
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio, Inc.
 

Recently uploaded (20)

UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMs
 
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
Abortion Clinic In Stanger ](+27832195400*)[ 🏥 Safe Abortion Pills In Stanger...
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 

Computing Information Flow Using Symbolic-Model-Checking_.pdf

  • 1. Computing Information Flow Using Symbolic Model-Checking 10 avril 2018
  • 2. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
  • 3. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
  • 4. Introduction Information Leakage : I Information about the secret inputs using publicly observable outputs I Outputs independent of inputs =⇒ No leakage I Unique input corresponding to given output =⇒ Full leakage The quantitative information flow bounding problem and the quantitative information flow comparison problem for Boolean programs are PSPACE-complete .
  • 5. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
  • 6. Literature review I .[M. Backes , al] - S&P 2009 . DisQuant : Automatic discovery and quantification of information leaks I .[Heusser , al] - ACSAC 2010 . selfcomp : Quantifying Information Leaks in Software I .[Quoc-Sang Phan , al ] - ACM SIGSOFT 2012. jpf-qif : Symbolic Quantitative Information Flow I .[Quoc-Sang Phan , al ] - ASIACCS 2014. sqifc : Abstract model counting : a novel approach for quantification of information leaks. I .[Rohit Chadha , al] - FSTTCS 2014. Moped-QLeak : Computing Information Flow Using Symbolic Model-Checking
  • 7. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
  • 8. Symbolic Model-Checking Model Checking : I Exhaustive search of the state space of the system . I Disadvantage : State Explosion Problem Symbolic Model Checking : I uses boolean encoding for state machine and sets of states. I BDDs used to represent boolean functions .
  • 9. Boolean programs I Global variables G : Input and output I Local variables : Internal calculations I Program statements : transform global and local variables I For Program P, Fp : 2G 7−→ 2G ∪ {⊥} I Fp( ¯ g0) = ⊥ : P does not terminate ¯ g0
  • 10. Binary decision diagrams (BDDs) I Set of variables V = {x, y, z} with the order x < y < z I f (x, y, z) = x → (y ↔ z) I BDDs are data structures for storing elements : 2G −→ {0, 1} Unreduced decision diagram (left) and corresponding BDD (right)
  • 11. Algebraic Decision Diagrams (ADDs) I Set of variables V I ADD : 2G −→ M (M = R) I BDDs + real values on the terminal nodes I BDDs as 0/1-ADDs ADD (right) and its reduced form (left)
  • 12. Fixed-point Consider the complete lattice (2G , ⊆) Consider a function f : 2S 7−→ 2S X ∈ 2S is fixed point of f ⇐⇒ f (X) = X X is least fixed point of f if for every fixed point Y , X ⊆ Y Theorem (Tarski-knaster) Consider a function f : 2S 7−→ 2S that is monotonic X ⊆ Y then f (X) ⊆ f (Y ) Consider the sequence : X0 = ∅ X1 = f (X0) X2 = f (X1)... This eventually converge to the least fixed point
  • 13. Information leakage in programs 1. Min-entropy leakage measures vulnerability of the secret inputs to being guessed correctly in a single attempt of the adversary MEU(P) = log P o∈O maxs∈S µ(S = s|O = o) 2. Shannon entropy leakage measures expected number of guesses required to correctly guess the secret input SEU(P) = log|S| − 1 |S| P o∈O |P−1(o)|log(|P−1(o)|)
  • 14. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
  • 15. Definition (Summary of a Program) Let P be a program with G = {x1, ..., xn} as the set of global variables. Let G0 = {x0 1, ..., x0 n} and G ∩ G0 = ∅. The summary of P , denoted TP , is a function TP : 2(G∪G0) → {0, 1} such that for every z1, ..., zn, z0 1, ..., z0 n ∈ {true, false}, we have TP(z1, ..., zn, z0 1, ..., z0 n) = 1 ⇐⇒ P(z1, ..., zn) = (z0 1, ..., z0 n). Example : Boolean program Pex with global variables : s1, s2, o1 and o2. o1 = false ; o2 = false ; while s1 ; o1 = false ; o2 = s2 ; s1 = false ; s2 = false ;
  • 16. Assuming the order s1 < s0 1 < s2 < s0 2 < o1 < o0 1 < o2 < o0 2 : Pex is shown as a 0/1-ADD :
  • 17. Leakage measured using min-entropy Let post(2G ) = { ¯ g0 ∈ 2G |∃ḡ ∈ 2G .P(ḡ) = ¯ g0}. If P terminates on all inputs then the min-entropy leakage : is log(|post(2G )|) . otherwise it is log(|post(2G )| + 1) Lemma Let Tout,P = orAbstract(G, TP) ∧ Tterm,P = orAbstract(G0, TP). 1. |post(2G )| = val(abstract(+, G0, Tout,P)). 2. P terminates on every input iff isConst(Tterm,P) and val(Tterm,P) = 1.
  • 18. Leakage measured using min-entropy The ADD representing Tout,P : the set of all possible outputs of P .
  • 19. Algorithm : Symbolic computation of min-entropy leakage
  • 20. Leakage measured using Shannon entropy Two possible outputs =⇒ We need to compute : P ¯ g0∈2G0 |P−1( ¯ g0)|log|P−1( ¯ g0)| + |P−1(⊥)|log|P−1(⊥)| . The ADD Teq−size,P : The ADD Tnon−term,P :
  • 21. Algorithm :Symbolic computation of Shannon-entropy leakage
  • 22. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
  • 23.
  • 24. Example : Sum Query Input language : Remopla
  • 26. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
  • 27. Examples used for evaluation
  • 28.
  • 29. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
  • 30. Conclusion and future work I Symbolic algorithms for measuring information leakage I Integrable in any BDD based reachability analysis tool I Summary calculation is the overhead - BDD size (algebraic operations) and variable orderings I future work : I ProPed :Support recursive programs I Other symbolic verification approaches : CEGAR (Counterexample Guided Abstraction Refinement )
  • 31. References R. Chadha, U. Mathur, S. Schwoon Computing Information Flow Using Symbolic Model Checking Foundations of Software Technology and Theoretical Computer Science (FSTTCS), 2014 . Moped QLeak : https://sites.google.com/site/mopedqleak Presented By : LOTFI LARBAOUI