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:
Dec. 15, 2020
Filed:
Jul. 23, 2015
Apple Inc., Cupertino, CA (US);
Gregory D. Hughes, San Francisco, CA (US);
Conrado Blasco, Sunnyvale, CA (US);
Gerard R. Williams, III, Los Altos, CA (US);
Jacques Anthony Vidrine, San Francisco, CA (US);
Jeffry E. Gonion, Campbell, CA (US);
Timothy R. Paaske, Cupertino, CA (US);
Tristan F. Schaap, San Francisco, CA (US);
Apple Inc., Cupertino, CA (US);
Abstract
Systems, apparatuses, methods, and computer-readable mediums for preventing return oriented programming (ROP) attacks. A compiler may insert landing pads adjacent to valid return targets in an instruction sequence. When a return instruction is executed, the processor may treat the return as suspicious if the target of the return instruction does not have an adjacent landing pad. Additionally, each landing pad may be encoded with a color, and a colored launch pad may be inserted into the instruction stream next to each return instruction. When a return instruction is executed, the processor may determine if the target of the return has a landing pad with the same color as the launch pad of the return instruction. Return-target pairs with color mismatches may be treated as suspicious and the offending process may be killed.