Verifying Security Patches. Gallagher, J., Gonzalez, R., & Locasto, M. E. In Proc. of the Int'l Workshop on Privacy & Security in Programming, 2014.
abstract   bibtex   
In this paper, we introduce a formal framework for ensuring the correctness of security patches. We discuss the issues and provide a sketch of how one could implement a system that proves (in many cases) or provides robust evidence (in other cases) that a security patch fixes a bug, and changes nothing else about the semantics of a program. We make use of an analysis of "bug surfaces" the set of inputs that trigger a bug, to give a type theoretic characterization of the non-buggy surface of a program. We thus give credence to the Langsec notion that security flaws are often about input handling, and show how formal patch and bug analysis can be used to define a more correct input type for a program.
@inproceedings{gallagher_verifying_2014,
	title = {Verifying {Security} {Patches}},
	abstract = {In this paper, we introduce a formal framework for ensuring the correctness of security patches. We discuss the issues and provide a sketch of how one could implement a system that proves (in many cases) or provides robust evidence (in other cases) that a security patch fixes a bug, and changes nothing else about the semantics of a program. We make use of an analysis of "bug surfaces" the set of inputs that trigger a bug, to give a type theoretic characterization of the non-buggy surface of a program. We thus give credence to the Langsec notion that security flaws are often about input handling, and show how formal patch and bug analysis can be used to define a more correct input type for a program.},
	urldate = {2016-01-04TZ},
	booktitle = {Proc. of the {Int}'l {Workshop} on {Privacy} \& {Security} in {Programming}},
	author = {Gallagher, Jonathan and Gonzalez, Robin and Locasto, Michael E.},
	year = {2014},
	keywords = {formal methods, inoculation, patches, refinement types, security, veniok, verification}
}

Downloads: 0