Visible to the public Compositional Non-Interference for Fine-Grained Concurrent Programs

TitleCompositional Non-Interference for Fine-Grained Concurrent Programs
Publication TypeConference Paper
Year of Publication2021
AuthorsFrumin, Dan, Krebbers, Robbert, Birkedal, Lars
Conference Name2021 IEEE Symposium on Security and Privacy (SP)
Date Publishedmay
KeywordsAutomation, Buildings, composability, Computer languages, Concurrency, Concurrent computing, Coq, fine-grained concurrency, Iris, logical relations, Manuals, Metrics, non-interference, privacy, pubcrawl, resilience, Resiliency, security, separation logic
AbstractNon-interference is a program property that ensures the absence of information leaks. In the context of programming languages, there exist two common approaches for establishing non-interference: type systems and program logics. Type systems provide strong automation (by means of type checking), but they are inherently restrictive in the kind of programs they support. Program logics support challenging programs, but they typically require significant human assistance, and cannot handle modules or higher-order programs.To connect these two approaches, we present SeLoC--a separation logic for non-interference, on top of which we build a type system using the technique of logical relations. By building a type system on top of separation logic, we can compositionally verify programs that consist of typed and untyped parts. The former parts are verified through type checking, while the latter parts are verified through manual proof.The core technical contribution of SeLoC is a relational form of weakest preconditions that can track information flow using separation logic resources. SeLoC is fully machine-checked, and built on top of the Iris framework for concurrent separation logic in Coq. The integration with Iris provides seamless support for fine-grained concurrency, which was beyond the reach of prior type systems and program logics for non-interference.
DOI10.1109/SP40001.2021.00003
Citation Keyfrumin_compositional_2021