Mechanized Noninterference for Gradual Security

11/28/2022
by   Tianyu Chen, et al.
0

This paper presents the first machine-checked proof of noninterference for a language with gradual information-flow control, thereby establishing a rock solid foundation for secure programming languages that give programmers the choice between runtime versus compile-time enforcement. Along the way we uncovered a flaw in one of the noninterference proofs in the literature, and give a counterexample for one of the main lemmas. The particular language studied in this paper, λ_𝚂𝙴𝙲^⋆, is based on the GLIO language of Azevedo de Amorim et al. [2020]. To make the design more accessible to other researchers, this paper contributes the first traditional semantics for the language, that is, we define compilation from λ_𝚂𝙴𝙲^⋆ to a cast calculus and design a reduction semantics for the latter that includes blame tracking. In addition to the proof of noninterference, we also mechanize proofs of type safety, determinism, and that compilation preserves types.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/26/2022

A metalanguage for cost-aware denotational semantics

We present two metalanguages for developing synthetic cost-aware denotat...
research
05/22/2021

Normalising Lustre Preserves Security

The synchronous reactive data flow language LUSTRE is an expressive lang...
research
04/20/2022

Sheaf semantics of termination-insensitive noninterference

We propose a new sheaf semantics for secure information flow over a spac...
research
11/23/2022

Data-Codata Symmetry and its Interaction with Evaluation Order

Data types and codata types are, as the names suggest, often seen as dua...
research
05/12/2022

Direct Foundations for Compositional Programming

The recently proposed CP language adopts Compositional Programming: a ne...
research
10/25/2020

Giving Semantics to Program-Counter Labels via Secure Effects

Type systems designed for information-flow control commonly use a progra...
research
09/08/2023

Data-Flow-Based Normalization Generation Algorithm of R1CS for Zero-Knowledge Proof

The communities of blockchains and distributed ledgers have been stirred...

Please sign up or login with your details

Forgot password? Click here to reset