Cryptographic Path Hardening: Hiding Vulnerabilities in Software Through Cryptography

Date Added: Feb 2012
Format: PDF

The authors propose a novel approach to improving software security called Cryptographic Path Hardening, which is aimed at hiding security vulnerabilities in software from attackers through the use of provably secure and obfuscated cryptographic devices to harden paths in programs. By "Harden" they mean that certain error-checking if-conditionals in a given program P are replaced by equivalent obfuscated if conditionals in an obfuscated version of P. By "Hiding vulnerabilities" they mean that adversaries cannot use semi-automatic program analysis techniques to reason about the hardened program paths and thus cannot discover as-yet-unknown errors along those paths, except perhaps through black-box dictionary attacks or random testing (which they can never prevent).