Modular Enforcement of Information Flow Policies in Data Structures
BibTeX
@MISC{Stewart_modularenforcement,
author = {Gordon Stewart and Anindya Banerjee and Aleksandar Nanevski},
title = {Modular Enforcement of Information Flow Policies in Data Structures},
year = {}
}
OpenURL
Abstract
Abstract—Standard implementations of common data structures such as hash tables can leak information, e.g. the operation history, to attackers with later access to a machine’s memory. This leakage is particularly damaging whenever the history of operations performed on a data structure must remain secret, such as in voting machines. We show how unique representation—the requirement that a data structure have canonical machine representations—can be used to perform modular verification of information flow policies in programs that compose data structures with their clients. We present a compositional verification system based on Relational Hoare Type Theory (RHTT) that uses unique representation to enforce end-to-end security guarantees such as noninterference for such programs. We validate our system and technique with examples drawn from arrays, multisets, hash tables, and a medical database application. The system, theorems, and examples have all been verified in Coq. I.







