发明名称 Continuous run-time validation of program execution: a practical approach
摘要 Trustworthy systems require that code be validated as genuine. Most systems implement this requirement prior to execution by matching a cryptographic hash of the binary file against a reference hash value, leaving the code vulnerable to run time compromises, such as code injection, return and jump-oriented programming, and illegal linking of the code to compromised library functions. The Run-time Execution Validator (REV) validates, as the program executes, the control flow path and instructions executed along the control flow path. REV uses a signature cache integrated into the processor pipeline to perform live validation of executions, at basic block boundaries, and ensures that changes to the program state are not made by the instructions within a basic block until the control flow path into the basic block and the instructions within the basic block are both validated.
申请公布号 US9122873(B2) 申请公布日期 2015.09.01
申请号 US201314027362 申请日期 2013.09.16
申请人 The Research Foundation for the State University of New York 发明人 Ghose Kanad
分类号 G06F11/00;G06F21/00;G06F11/14;G06F21/56;G06F9/30;G06F9/38 主分类号 G06F11/00
代理机构 Ostrolenk Faber LLP. 代理人 Hoffberg, Esq. Steven M.;Ostrolenk Faber LLP.
主权项 1. A microprocessor configured to validate code during runtime, comprising: an instruction pipeline device configured to decode and execute instructions along a control flow path of a block; a signature generator device configured to generate, concurrently with decoding of the respective instructions on the instruction pipeline device, a signature of at least one of: a trace cache storing a plurality of blocks,the control flow path of the block, andthe instructions to be executed along the control flow path of the block; a dynamically updatable signature cache system, configured to securely receive and store a set of valid signatures selectively dependent on at least instructions of a block stored in the trace cache, including a signature associated with a content of the instruction pipeline device or trace cache; and a validator, integrated into the instruction pipeline device, configured to validate the generated signature against a signature from the signature cache.
地址 Binghamton NY US