发明名称 Methods for enforcing control flow of a computer program
摘要 One aspect of the invention provides a method of controlling execution of a computer program. The method comprises the following runtime steps: parsing code to identify one or more indirect branches; creating a branch ID data structure that maps an indirect branch location to a branch ID, which is the indirect branch's equivalence class ID; creating a target ID data structure that maps a code address to a target ID, which is an equivalence class ID to which the address belongs; and prior to execution of an indirect branch including a return instruction located at an address: obtaining the branch ID associated with the return address from the branch ID data structure; obtaining the target ID associated with an actual return address for the indirect branch from the target ID data structure; and comparing the branch ID and the target ID.
申请公布号 US9361102(B2) 申请公布日期 2016.06.07
申请号 US201514734601 申请日期 2015.06.09
申请人 Lehigh University 发明人 Tan Gang;Niu Ben
分类号 G06F9/44;G06F9/30;G06F21/62;G06F9/45 主分类号 G06F9/44
代理机构 Saul Ewing LLP 代理人 Saul Ewing LLP
主权项 1. A method of controlling execution of a computer program, the method comprising the following runtime steps: parsing code to identify one or more indirect branches; creating a branch ID data structure that maps an indirect branch location to a branch ID, which is the indirect branch's equivalence class ID; creating a target ID data structure that maps a code address to a target ID, which is an equivalence class ID to which the address belongs; and prior to execution of an indirect branch including a return instruction located at an address: obtaining the branch ID associated with the return address from the branch ID data structure;obtaining the target ID associated with an actual return address for the indirect branch from the target ID data structure;comparing the branch ID and the target ID; andif the branch ID and the target ID differ, preventing execution of the indirect branch.
地址 Bethleham PA US