Visible to the public Rocksalt: A Formally Verified Machine Code Security Checker


Software-based fault isolation (SFI), as used in Google's Native Client (NaCl), relies upon a conceptually simple machine-code analysis to enforce a security policy. But for complicated architectures such as the x86, it is all too easy to get the details of the analysis wrong. We have built a new checker that is smaller, faster, and has a much reduced trusted computing base when compared to Google's original analysis. The key to our approach is automatically generating the bulk of the analysis from a declarative description which we relate to a formal model of a subset of the x86 instruction set architecture. The x86 model, developed in Coq, is of independent interest and should be usable for a wide rang of machine-level verification tasks.

Award ID: 0915157, 1149211

Creative Commons 2.5

Other available formats:

Rocksalt: A Formally Verified Machine Code Security Checker
Switch to experimental viewer