The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
May. 11, 2021
Filed:
Apr. 19, 2012
Richard John Black, Cambridge, GB;
Timothy William Burrell, Cheltenham, GB;
Miguel Oom Temudo DE Castro, Cambridge, GB;
Manuel Silverio Da Silva Costa, Cambridge, GB;
Kenneth Johnson, Bellevue, WA (US);
Matthew Ryan Miller, Seattle, WA (US);
Richard John Black, Cambridge, GB;
Timothy William Burrell, Cheltenham, GB;
Miguel Oom Temudo de Castro, Cambridge, GB;
Manuel Silverio da Silva Costa, Cambridge, GB;
Kenneth Johnson, Bellevue, WA (US);
Matthew Ryan Miller, Seattle, WA (US);
Microsoft Technology Licensing, LLC, Redmond, WA (US);
Abstract
Various technologies described herein pertain to enforcing control flow integrity by adding instrumentation when source code is compiled or binary code is rewritten. An indirect call to a control transfer target (e.g., in the source code, in the binary code, etc.) can be identified. Moreover, the instrumentation can be inserted prior to the indirect call. The instrumentation can use a bit from a bitmap maintained by a runtime to verify whether the control transfer target is valid. When an executable image that includes the inserted instrumentation runs, execution can be terminated and/or other appropriate actions can be taken when the control transfer target is determined to be invalid; alternatively, execution can continue when the control transfer target is determined to be valid.