|
The Gleipnir Software Security Mitigation Project
Overview
The Gleipnir project at MSR SVC is an investigation into security mechanisms that mitigate software vulnerabilities, i.e., without eliminating the underlying program errors make vulnerabilities difficult or impossible to exploit in a successful attack. One particular strategy we are exploring is a provably-correct security mechanism that can prevent powerful attackers from being able to execute machine code of their choice (so called code injection attacks). We are studying several efficient implementations of this strategy based on variants of Inlined Reference Monitors, or program instrumentation. We are also investigating runtime security mitigation mechanisms based on operating system modifications. Project Members
Publications
Control-Flow Integrity, or CFI, is one mitigation mechanism that we have developed, implemented, and formally studied as part of the Gleipnir project. Below are the papers on CFI; an extended version of this material, with further proofs and formalizations, can be found in this PDF manuscript.
Given the foundation of CFI guarantees,
additional inlined checks can be
used to enforce a wide range of
software-based protection. To
explore this option, we have
implemented XFI: a comprehensive
software protection system that
offers fine-grained memory access
control and fundamental integrity
guarantees for critical system
state. XFI can be seen as a
flexible, generalized form of
software-based fault isolation
[SFI].
We have also explored modest Instruction Set Architecture (ISA) support that implement CFI and XFI guards with single instructions, and can offer correspondingly increased performance and simplicity.
References
|