2016
DOI: 10.1007/978-3-319-29613-5_12
|View full text |Cite
|
Sign up to set email alerts
|

AUSPICE: Automatic Safety Property Verification for Unmodified Executables

Abstract: Verification of machine-code programs using program logic has focused on functional correctness, and proofs have required manuallyprovided program specifications. Fortunately, the verification of shallow safety properties such as memory isolation and control-flow safety can be easier to automate, but past techniques for automatically verifying machine-code safety have required post-compilation transformations, which can change program behavior. In this work, we automatically verify safety properties for unmodi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
6
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
5

Relationship

0
5

Authors

Journals

citations
Cited by 8 publications
(6 citation statements)
references
References 26 publications
0
6
0
Order By: Relevance
“…Fully automated approaches to formal verification, however, do not scale either. The recent automated approach AUSPICE takes about 6 hours for a 533-instruction string search algorithm [56]. To the best of our knowledge, our methodology is the first that is able to deal with optimized x86-64 binaries produced by production code, with a "manual effort vs. instruction count ratio" of roughly 1 to 11.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Fully automated approaches to formal verification, however, do not scale either. The recent automated approach AUSPICE takes about 6 hours for a 533-instruction string search algorithm [56]. To the best of our knowledge, our methodology is the first that is able to deal with optimized x86-64 binaries produced by production code, with a "manual effort vs. instruction count ratio" of roughly 1 to 11.…”
Section: Related Workmentioning
confidence: 99%
“…As example of interactive theorem proving, Boyer and Yu verified machine-code implementations of various standard sort-and string functions, requiring over 19,000 lines of manually written proof code for the verification of roughly 900 instructions [8]. As example of automated theorem proving, Tan et al presented an approach which takes about 6 hours for a 533-instruction string search algorithm [56]. In constrast, this paper involves a degree of user interaction of ≈85 lines of proof code per 1,000 lines of assembly.…”
Section: Introductionmentioning
confidence: 99%
“…Balliu et al [3] does this for noninterference, Tan et al [22] for safety-properties. Despite the seeming similarities, ISA analysis and binary code analysis dier in many respects.…”
Section: Related Workmentioning
confidence: 99%
“…As discussed above, we choose an instruction-wide context from the beginning. Both [3] and [22] employ a more local reasoning. In [22] a Hoare-style logic is used and context is provided by selective synchronisation of pre-and postconditions between neighbouring code blocks.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation