PLCRMar 3, 2021

An Axiomatic Approach to Detect Information Leaks in Concurrent Programs

arXiv:2103.02171v1
Originality Incremental advance
AI Analysis

This addresses security vulnerabilities in concurrent programs for developers, but appears incremental as it builds on existing Hoare-style proof systems.

The paper tackles the problem of detecting information leaks in concurrent programs due to non-deterministic execution and observable statements, by introducing leaky assertions at observable points. It demonstrates a method for detecting leaks and claims soundness and relative completeness.

Realizing flow security in a concurrent environment is extremely challenging, primarily due to non-deterministic nature of execution. The difficulty is further exacerbated from a security angle if sequential threads disclose control locations through publicly observable statements like print, sleep, delay, etc. Such observations lead to internal and external timing attacks. Inspired by previous works that use classical Hoare style proof systems for establishing correctness of distributed (real-time) programs, in this paper, we describe a method for finding information leaks in concurrent programs through the introduction of leaky assertions at observable program points. Specifying leaky assertions akin to classic assertions, we demonstrate how information leaks can be detected in a concurrent context. To our knowledge, this is the first such work that enables integration of different notions of non-interference used in functional and security context. While the approach is sound and relatively complete in the classic sense, it enables the use of algorithmic techniques that enable programmers to come up with leaky assertions that enable checking for information leaks in sensitive applications.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes