Giving Semantics to Program-Counter Labels via Secure Effects
Abstract
Type systems designed for information-flow control commonly use a program-counter label to track the sensitivity of the context and rule out data leakage arising from effectful computation in a sensitive context. Currently, type-system designers reason about this label informally except in security proofs, where they use ad-hoc techniques. We develop a framework based on monadic semantics for effects to give semantics to program-counter labels. This framework leads to three results about program-counter labels. First, we develop a new proof technique for noninterference, the core security theorem for information-flow control in effectful languages. Second, we unify notions of security for different types of effects, including state, exceptions, and nontermination. Finally, we formalize the folklore that program-counter labels are a lower bound on effects. We show that, while not universally true, this folklore has a good semantic foundation.
- Publication:
-
arXiv e-prints
- Pub Date:
- October 2020
- DOI:
- 10.48550/arXiv.2010.13191
- arXiv:
- arXiv:2010.13191
- Bibcode:
- 2020arXiv201013191H
- Keywords:
-
- Computer Science - Programming Languages;
- Computer Science - Cryptography and Security;
- D.4.6;
- F.3.2
- E-Print:
- Proceedings of the ACM on Programming Languages 5, POPL, Article 35 (January 2021)