Performance against isolation

A subject. The loosest grouping, and the one to reach for last.

The Computer Systems course is described as operating systems, performance versus information security. This is that argument as a line of primary sources, and it has two halves fifty years apart.

Lampson states the problem in 1973: a confined program must not leak, and the channels by which it can are more numerous than anyone enumerates — he names the covert channel. Saltzer and Schroeder give the design principles meant to hold the line. Then a long gap in which the principles are taught and the hardware quietly acquires caches, branch predictors and speculation, each a performance feature and each a shared resource.

Ge, Yarom, Cock and Heiser catalogue the resulting timing channels in 2016, a year before anyone showed how bad it was. Meltdown and Spectre then show it: Meltdown an implementation defect that a software mitigation closes at a bounded cost, Spectre a consequence of speculation itself that does not close. Klein and colleagues' seL4 sits deliberately in this set as the other side of the boundary — a kernel proved to implement its specification, in a corpus where the attacks all live beneath the specification.

The through line is that isolation is asserted at one level and broken at a lower one, and that every performance feature which shares state between principals is a candidate for the next break.

6 references

Fundamentally Understanding and Solving RowHammer
Onur Mutlu et al. (2023) · Proceedings of the 28th Asia and South Pacific Design Automation Conference
Spectre Attacks: Exploiting Speculative Execution
Paul Kocher et al. (2019) · 2019 IEEE Symposium on Security and Privacy (SP)
A survey of microarchitectural timing attacks and countermeasures on contemporary hardware
Qian Ge et al. (2018) · Journal of Cryptographic Engineering
Adapting Kerckhoffs's Principle: CPU Attacks Leading a Path from Cryptography to Open-Source Hardware
Thorsten Knoll (2018) · Fourth Wiesbaden Workshop on Advanced Microkernel Operating Systems (WAMOS 2018)
Meltdown
Moritz Lipp et al. (2018)
The protection of information in computer systems
Jerome H. Saltzer et al. (1975) · Proceedings of the IEEE