Very Static Enforcement of Dynamic Policies
Bart van Delft, Sebastian Hunt, David Sands

TL;DR
This paper extends a principal flow-sensitive type system to verify dynamic security policies by inferring data dependencies at all program points, enabling static analysis of evolving information flow policies without re-inference for each policy.
Contribution
It introduces a formal extension to an existing type system to handle dynamic policies and provides a new knowledge-based security definition that avoids previous anomalies.
Findings
Type inference remains independent of specific policies.
The extension infers dependencies at intermediate program points.
A new knowledge-based security definition is proposed.
Abstract
Security policies are naturally dynamic. Reflecting this, there has been a growing interest in studying information-flow properties which change during program execution, including concepts such as declassification, revocation, and role-change. A static verification of a dynamic information flow policy, from a semantic perspective, should only need to concern itself with two things: 1) the dependencies between data in a program, and 2) whether those dependencies are consistent with the intended flow policies as they change over time. In this paper we provide a formal ground for this intuition. We present a straightforward extension to the principal flow-sensitive type system introduced by Hunt and Sands (POPL '06, ESOP '11) to infer both end-to-end dependencies and dependencies at intermediate points in a program. This allows typings to be applied to verification of both static and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Advanced Malware Detection Techniques · Cloud Data Security Solutions
