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.:

US 7577992 B1

PDF
Full Text
Expired
Date of Patent:
Aug. 18, 2009

Filed:

Jan. 14, 2005
Applicants:

Martin Abadi, Palo Alto, CA (US);

Mihai-dan Budiu, Sunnyvale, CA (US);

Ulfar Erlingsson, San Francisco, CA (US);

Jay A. Ligatti, Princeton, NJ (US);

Inventors:

Martin Abadi, Palo Alto, CA (US);

Mihai-Dan Budiu, Sunnyvale, CA (US);

Ulfar Erlingsson, San Francisco, CA (US);

Jay A. Ligatti, Princeton, NJ (US);

Assignee:

Microsoft Corporation, Redmond, WA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 21/22 (2006.01); G06F 9/44 (2006.01); G06F 11/30 (2006.01);
U.S. Cl.
CPC ...
Abstract

Software control flow integrity is provided by embedding identifying bit patterns at computed control flow instruction sources and destinations. The sources and destinations of computed control flow instructions are determined with reference to a control flow graph. The identifying bit patterns are compared during software execution, and a match between a source and a respective destination ensures control flow consistent with the control flow graph. Security measures are implemented when the comparison results in a mismatch, indicating that control flow has deviated from the anticipated course.


Find Patent Forward Citations

Loading…