Sangam: A Confluence of Knowledge Streams

On Reducing the Trusted Computing Base in Binary Verification

Show simple item record

dc.contributor Electrical and Computer Engineering
dc.contributor Ravindran, Binoy
dc.contributor Lee, Dongyoon
dc.contributor Chantem, Thidapat
dc.contributor Zeng, Haibo
dc.contributor Verbeek, Freek
dc.creator An, Xiaoxin
dc.date 2022-06-16T08:00:21Z
dc.date 2022-06-16T08:00:21Z
dc.date 2022-06-15
dc.date.accessioned 2023-03-01T08:11:33Z
dc.date.available 2023-03-01T08:11:33Z
dc.identifier vt_gsexam:35073
dc.identifier http://hdl.handle.net/10919/110791
dc.identifier.uri http://localhost:8080/xmlui/handle/CUHPOERS/276762
dc.description Doctor of Philosophy
dc.description Binary verification is a process that verifies a class of properties, usually security-related properties, on binary files, and does not need access to source code. Since a binary file is composed of byte sequences and is not human-readable, in the binary verification process, a number of assumptions are usually made. The assumptions often involve the error-free nature of a set of subsystems used in the verification process and constitute the verification process's trusted computing base (or TCB). The reliability of the verification process therefore depends on how reliable the TCB is. The dissertation presents three research contributions in this regard. The first two contributions include reducing the TCB in binary verification, and the last contribution includes a binary verification process that leverages a reduced TCB. The dissertation's first contribution presents a validation on OCaml-to-PVS translations -- commonly used to translate a computer architecture's instruction specifications to PVS, a language that allows mathematical specifications. To build up a reliable semantical model of assembly instructions, which is assumed to be in the TCB, it is necessary to validate the translation. The dissertation's second contribution validates the soundness of the disassembly process, which translates a binary file to corresponding assembly instructions. Since the disassembly process is generally assumed to be trustworthy in many binary verification works, the TCB of binary verification could be reduced by validating the soundness of the disassembly process. With the reduced TCB, the dissertation introduces WinCheck, the dissertation's third and final contribution: a concolic model checker that validates pointer-related properties of closed-source Windows binaries. The pointer-related properties include absence of buffer overflow, absence of use-after-free, and absence of null-pointer dereference.
dc.format ETD
dc.format application/pdf
dc.format application/pdf
dc.language en
dc.publisher Virginia Tech
dc.rights In Copyright
dc.rights http://rightsstatements.org/vocab/InC/1.0/
dc.subject Translation Validation
dc.subject Disassembly Soundness
dc.subject Binary Verification
dc.subject Random Testing
dc.subject Symbolic Execution
dc.subject Bounded Model Checking
dc.title On Reducing the Trusted Computing Base in Binary Verification
dc.type Dissertation


Files in this item

Files Size Format View
An_X_D_2022_support_1.pdf 69.21Kb application/pdf View/Open
An_X_D_2022.pdf 1.168Mb application/pdf View/Open

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse