Towards a Flow- and Path-Sensitive Information Flow Analysis
Peixuan Li, Danfeng Zhang
Pennsylvania State University
University Park, PA, USA {pzl129,zhang}@cse.psu.edu
Towards a Flow- and Path-Sensitive Information Flow Analysis - - PowerPoint PPT Presentation
Towards a Flow- and Path-Sensitive Information Flow Analysis Peixuan Li, Danfeng Zhang Pennsylvania State University University Park, PA, USA {pzl129,zhang}@cse.psu.edu Background: Information Flow Analysis o Security enforcement to prevent
Pennsylvania State University
University Park, PA, USA {pzl129,zhang}@cse.psu.edu
Program (secure)
08/22/2017 1 30th IEEE Computer Security Foundations Symposium
Secret Input
s
Public Input
p
Public Output
p
S: secret P: public
08/22/2017 2 30th IEEE Computer Security Foundations Symposium
Secure Program
Flow-Sensitive
Checked Program
Path-Sensitive
08/22/2017 3 30th IEEE Computer Security Foundations Symposium
Flow-Sensitivity
Insecure Program:
Path-Sensitivity
Insecure Program: Program (secure)
08/22/2017 4 30th IEEE Computer Security Foundations Symposium
Soundness Proof Comparison with a flow-sensitive system Program Transformed Flow-sensitivity Path-sensitivity
08/22/2017 5 30th IEEE Computer Security Foundations Symposium
MAX MIN
08/22/2017 6 30th IEEE Computer Security Foundations Symposium
Proof of soundness on non-interference Comparison with a flow-sensitive system Program Transformed Flow-sensitivity Path-sensitivity
08/22/2017 7 30th IEEE Computer Security Foundations Symposium
Flow-Sensitive Type System:
v Update & Record types at each program point v Complicates the design of the type system
Program (secure)
08/22/2017 8 30th IEEE Computer Security Foundations Symposium
Secure:
v Renaming gains flow-sensitivity Type checked by flow- insensitive type systems
Program (secure)
08/22/2017 9 30th IEEE Computer Security Foundations Symposium
Bracketed Assignment Active Set Program (secure) Active Copy
08/22/2017 10 30th IEEE Computer Security Foundations Symposium
Bracketed Assignment
Rename Merge
Program (secure)
08/22/2017 11 30th IEEE Computer Security Foundations Symposium
08/22/2017 12 30th IEEE Computer Security Foundations Symposium
x y … x1 x2 y1 y2 …
Memory of original program Memory of transformed program active set
08/22/2017 13 30th IEEE Computer Security Foundations Symposium
Soundness Proof Comparison with a flow-sensitive system Program Transformed Flow-sensitivity Path-sensitivity
08/22/2017 14 30th IEEE Computer Security Foundations Symposium
Program (secure) s y Line 2: Line 3:
08/22/2017 15 30th IEEE Computer Security Foundations Symposium
Program (secure)
y: S s y: P s
Insecure Program:
Implicit Declassification
Line 2: Line 4:
08/22/2017 16 30th IEEE Computer Security Foundations Symposium
y: S s y: P s
08/22/2017 17 30th IEEE Computer Security Foundations Symposium
08/22/2017 18 30th IEEE Computer Security Foundations Symposium
Excution 1: Excution 2: Initial State Final State Excution 1: Excution 2: Initial State Final State
08/22/2017 19 30th IEEE Computer Security Foundations Symposium
Soundness Proof Comparison with a flow-sensitive system Program Transformed Flow-sensitivity Path-sensitivity
in Principles of Programming Languages (POPL), 2006
08/22/2017 20 30th IEEE Computer Security Foundations Symposium
MAX MIN
HS System Our system
MAX MIN MAX MIN MAX MIN
HS System Our system
08/22/2017 21 30th IEEE Computer Security Foundations Symposium
Program (secure)
08/22/2017 22 30th IEEE Computer Security Foundations Symposium
Program Transformation Dependent Type System
Soundness Proof Comparison with classic flow-sensitive system Program Transformed