information flow security 2
play

Information Flow Security (2) DD2460 Software Safety and Security: - PowerPoint PPT Presentation

Information Flow Security (2) DD2460 Software Safety and Security: Part III, lecture 3 Gurvan Le Guernic DD2460 (III, L3) February 24 th , 2012 V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Outline Information Flow Security deals with


  1. Information Flow Security (2) DD2460 Software Safety and Security: Part III, lecture 3 Gurvan Le Guernic DD2460 (III, L3) February 24 th , 2012

  2. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Outline Information Flow Security deals with Confidentiality and Integrity related security policies. 1 Noninterference Variants 2 Enforcement Techniques 3 Conclusion / Wrap-up G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 2/21

  3. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Noninterference Variants G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 3/21

  4. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Termination (In)sensitive Noninterference Main idea: attacker is (un)able to observe ( O ) if execution terminated or not ∀ σ 1 , σ 2 : σ 1 = L σ 2 ⇒ O [[ σ 1 ⊢ P ]] = O [[ σ 2 ⊢ P ]] Sensitive: tag termination into observables Insensitive (1): observable prefixes of nonterminating executions � Insensitive (2): discard non-terminating executions ( σ ) G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 4/21

  5. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Declassification Definition 1 (Noninterference modulo declassification φ ) A program is safe if and only if any executions, started with the same public inputs and agreeing on φ , output the same sequence. φ = secret is or is not yellow private input ? ? ? ? : public input program : as a function output : G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 5/21

  6. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Taint Analysis Takes into account only (direct) explicit flows Weaker security guarantees, but more efficient enforcement mechanisms not efficient against malicious code, but OK against buggy code Examples: Python’s taint library Perl taint mode . . . G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 6/21

  7. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Enforcement Techniques G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 7/21

  8. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Noninterference Enforcement: Main Idea H inputs H outputs P H L inputs L outputs P L Process P G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 8/21

  9. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Old Security Mechanism: Confined Processes Lampson’s 1973 notion of confinement Confined processes: are memoryless ( ⇒ side-effect free) call only confined processes, but can be called by unconfined processes have masked output belonging to a predefined set could extend to label verification Main concepts underlying sandboxing one of Java’s main security mechanisms G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 9/21

  10. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Static Information Flow Analysis Principles: analyze IF before execution do nothing during execution Advantages: no runtime overhead run iff NI is proved old strong soundness culture Main drawback: can be too restrictive G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 10/21

  11. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Dynamic Information Flow Analysis Principles: track flows at execution prevent data leak just before it occurs Advantages: enforce runtime policies more easily allow safe executions of unsafe programs may be more precise in some cases reduced space (not all executions) access to runtime values Main drawback: hard to spot all flows (implicit flows) G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 11/21

  12. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Hybrid Information Flow Analysis Principles: mix of static and dynamic analyses dynamically analyze C 2 and C 3 for direct and explicit indirect flows if l statically analyze C 4 for implicit indirect flows C 1 C 2 C 2 dynamically analyze C 5 with results of C 3 and C 4 mixed if h Advantages: C 3 C 4 best of both worlds C 5 Main drawback: worst of both worlds higher complexity G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 12/21

  13. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Is Detection Enough? What happens with an analysis which is sound with regard to information flow detection? Static analysis: Expert: “You should not use this program!” Dynamic analysis: ATM: “Oh, by the way, I probably sent your PIN code all over the web.” A user expects dynamic IF analyses to detect and correct information flows. G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 13/21

  14. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP The Correction Pitfall 1 Code block A outputs value 1: A 1 Analysis concludes: secret test public data: secret data: Sound detection does not imply sound (detection A B + correction) � dynamic analysis + “stop” correction “stop” correction with termination 1 3 0 1 insensitive NI proof G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 14/21

  15. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Conclusion / Wrap-up G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 15/21

  16. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP 3 Most Important Points ∃ many information flow security policy variants termination sensitivity declassification . . . taint analyses Enforcement Static analyses: ( + ) soundness ( - ) usability (often too restrictive) Dynamic analyses: ( + ) usability ( - ) soundness Hybrid analyses: ( +/- ) soundness & usability ( - ) complexity Correction pitfall dynamic and hybrid analyses require correction mechanism sound detection �⇒ sound (detection + correction) G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 16/21

  17. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP IF Workshop Goal: simulate review of some existing IF security techniques you do not need to defend or kill your paper you need to: describe the enforcement technique used [and its implementation] (for reproducibility) evaluate the level of security provided describe advantages and limitations of the technique compare with other known techniques: workshop: type system + taint analysis report: type system + taint analysis + workshop techniques After the workshop and report, I/you should be able to pick up the best adapted tool/technique for a particular IF problem. G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 17/21

  18. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Grading Workshop presentation is not graded per se (report is) [due 12/3] E: give a decent presentation (or at least additions/corrections session) be able to give an accurate description/summary of the paper at the course level C: (subsumes E) detail specific advantages and limitations of the paper’s technique A: (subsumes A) compare with the relevant techniques presented in class and in the other papers Level of learning of course material also reflected in the final grade if/where possible, report should contain proof of knowledge of channels, flows, labels, noninterference, enforcement, . . . G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 18/21

  19. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Information Flow Wrap-up Enforcement Concepts Definitions Type System Taint Others lectures 1 & 3: basic lecture 3: lecture 2: type E IF policies, chan- static, dynamic, systems, nonin- nels, flows, labels, A terference, . . . hybrid, . . . C correction, . . . exercises 1 & 2: exercises 2: exercises 1: IF policies, timing workshop type systems, channels, flows, taint, . . . deeper Jif, . . . . . . G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 19/21

  20. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Course Wrap-up Software safety and security: prevent bad behaviors causing system (base) and data (load) damage due to specification and/or implementation errors and/or weaknesses Formal methods: precise correctness guarantees often complex and expensive for critical systems and/or data 3 different techniques for software safety and security Temporal logic and model checking Hoare logic and VCG/symbolic execution Information flow and type system G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 20/21

  21. V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Announcements and Questions? Soon online: lab 2 booking course evaluation Questions? G. Le Guernic DD2460 (III, L3): Information Flow Security (2) 21/21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend