Information Flow Control for Concurrent Programs via Program Slicing
Dennis Giffhorn
Universität Karlsruhe (TH), Germany
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 1 / 19
Information Flow Control for Concurrent Programs via Program Slicing - - PowerPoint PPT Presentation
Information Flow Control for Concurrent Programs via Program Slicing Dennis Giffhorn Universitt Karlsruhe (TH), Germany Dennis Giffhorn (Universitt Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID08 1 / 19 Context
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 1 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 2 / 19
◮ Low-classified data at certain program points (e.g. input, output) ◮ The relative order of low-observable events ◮ Termination behaviour
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 3 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 4 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 4 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 4 / 19
◮ the larger the probability that l1 = 2 when printed ◮ the larger the probability that l1 is printed after l2
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 5 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 6 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 7 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 7 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 7 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 7 / 19
◮ The same input produces always the same low-observable behaviour ◮ It is sufficient to check implicit and explicit flow
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 8 / 19
1
2
3
◮ Algorithm of Hammer/Krinke. ◮ Developed for full sequential Java Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 9 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 10 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 11 / 19
◮ h = readPIN() gets providing level high ◮ both print-statements get requiring level low Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 12 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 13 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 14 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 15 / 19
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 16 / 19
◮ Obs. det. for trace-based specifications
◮ Algorithm for obs. det. for CSP calculus
◮ Low-security observational determinism ◮ Abscence of data conflicts + sane implicit and explicit flow ◮ Non-standard type system
◮ Termination-sensitive extension ◮ Model checking produces counter-examples Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 17 / 19
◮ Message-passing mechanisms? ◮ Declassification?
Dennis Giffhorn (Universität Karlsruhe (TH)) IFC for Concurrent Programs via Slicing PLID’08 18 / 19