IP Library Granted Patent US 7,650,504
Granted Patent B2
US 7,650,504 · App. 10/924,420 · Granted Jan 19, 2010

System and method of verifying the authenticity of dynamically connectable executable images

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,650,504
App. No.
10/924,420
Granted
Jan 19, 2010
Kind
B2
Abstract

System and method for verifying the authenticity of executable images. The system includes a validator that determines a reference digital signature for an executable image using the contents of the executable image excluding those portions of the executable that are fixed-up by a program loader. The validator then subsequent to the loading of the executable image determines an authenticity digital signature to verify that the executable image has not been improperly modified. In addition, the validator ensures that each of the pointers in the executable image have not been improperly redirected.

Claims (32)

1. A system configured to determine the authenticity of an executable image, the system comprising:

a computer configured to execute an executable image having one or more pointers in need of fixing-up by a program loader, wherein the executable image includes information specifying whether each of the pointers references a location that is within the executable image; and

a validator configured to generate a reference digital signature prior to loading the executable image into memory and an authenticity digital signature after loading the executable image into memory, both the reference digital signature and the authenticity digital signature excluding the one or more pointers in need of fixing-up, wherein the validator is configured to compare the reference digital signature and the authenticity digital signature to perform an authenticity check, and wherein the validator is configured to determine whether each of the pointers references a correct location that is within the executable image after each of the pointers has been bound.

2. The system of claim 1 , wherein the pointers reference an import table that is in the executable image.

3. The system of claim 1 , wherein the validator generates a warning upon the determination that the pointers do not reference a location within the executable image.

4. The system of claim 1 , wherein the validator generates a warning to a source of the executable image upon the determination that the pointers do not reference a location within the executable image.

5. A system configured to determine the authenticity of an executable image, the system comprising:

a computer configured to execute:

a first executable image; and

a second executable image that includes a pointer in need of fixing-up by a program loader, wherein the pointer references a location within the first executable image; and

a validator configured to generate a reference digital signature prior to loading the second executable image into memory and an authenticity digital signature after loading the second executable image into memory, both the reference digital signature and the authenticity digital signature excluding the pointer in need of fixing-up, wherein the validator is configured to compare the reference digital signature and the authenticity digital signature to perform an authenticity check, and wherein the validator is configured to determine whether the pointer references a correct location within the first executable image after loading the first and second executable images into the memory and the pointer has been bound.

6. The system of claim 5 , wherein the validator generates a warning upon the determination that the pointer does not reference a location within the first executable image.

7. The system of claim 5 , wherein the validator generates a warning to a provider of the executable image upon the determination that the pointer does not reference a location within the first executable image.

8. The system of claim 5 , wherein the validator determines whether the pointer references a location within the first executable image by:

requesting from an operating system the base address of the first executable image;

reading a pre-defined header that is in the beginning of the first executable image, the header specifying a beginning and an end address for the first executable image; and

determining whether the pointer references a location within the first executable image as specified by the pre-defined header.

9. A system configured to determine the authenticity of an executable image, the system comprising:

a computer configured to execute:

a first executable image;

a second executable image, comprising:

an import table including the identifier of the first executable image and one or more external pointers in need of fixing-up, each of the external pointers referencing a location within the first executable image; and

a code section containing machine code and one or more import pointers in need of fixing-up, each of the import pointers referencing a location within the import table; and

a validator configured to generate at a first point in time a reference digital signature based upon a selected content of the second executable image prior to loading the second executable image into memory, the selected content excluding each of the import pointers and the external pointers in need of fixing-up, wherein the validator generates an authenticity digital signature at a second point in time based upon the selected content of the second executable image excluding each of the one or more pointers in need of fixing-up after loading the second executable image into memory, wherein the validator determines whether the reference digital signature matches the authenticity digital signature, wherein the validator determines whether each of the external pointers in need of fixing-up references a correct location within the first executable image after each of the external pointers in need of fixing-up has been bound, and wherein the validator determines whether each of the import pointers in need of fixing-up references a correct location within the import table after each of the import pointers in need of fixing up has been bound.

10. A method of determining the authenticity of an executable image, the method comprising:

identifying one or more locations within an executable image that has been loaded into a memory, each of the identified locations having a fixed-up pointer that has been bound to a selected address in the memory by a program loader;

generating a reference digital signature prior to loading the executable image into memory, the reference digital signature excluding one or more pointers in need of fixing up;

generating an authenticity digital signature after loading the executable image into memory, the authenticity digital signature excluding one or more pointers in need of fixing up;

comparing the reference digital signature and the authenticity digital signature to perform an authenticity check; and

determining after each of the pointers has been bound whether each of the pointers at the identified locations reference a correct destination that is specified by the executable image.

11. The method of claim 10 , wherein the destination is an address in an import table that resides in the executable image.

12. The method of claim 10 , wherein the destination is an address in another executable image.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 25, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: APTIV DIGITAL INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; SONIC SOLUTIONS LLC; STARSIGHT TELECAST, INC.; UNITED VIDEO PROPERTIES, INC.; VEVEO, INC.
Reel/Frame 051145/0090 →
RELEASE OF SECURITY INTEREST Recorded Jan 5, 2017
From: ROVI SOLUTIONS CORPORATION
To: MARKING OBJECT VIRTUALIZATION INTELLIGENCE LLC
Reel/Frame 040866/0949 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2016
From: ROVI SOLUTIONS CORPORATION
To: MARKING OBJECT VIRTUALIZATION INTELLIGENCE, LLC
Reel/Frame 039426/0931 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE TO READ JULY 22, 2016 PREVIOUSLY RECORDED ON REEL 039261 FRAME 0298. ASSIGNOR(S) HEREBY CONFIRMS THE EXECUTION DATE OF THE SECURITY INTEREST. Recorded Jul 28, 2016
From: MARKING OBJECT VIRTUALIZATION INTELLIGENCE, LLC
To: ROVI SOLUTIONS CORPORATION
Reel/Frame 039503/0398 →
SECURITY INTEREST Recorded Jul 26, 2016
From: MARKING OBJECT VIRTUALIZATION INTELLIGENCE, LLC
To: ROVI SOLUTIONS CORPORATION
Reel/Frame 039261/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2016
From: MEDIADNA, INC.
To: MACROVISION CORPORATION
Reel/Frame 038830/0650 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2016
From: BODROV, DMITRY
To: MEDIADNA, INC.
Reel/Frame 038828/0145 →
PATENT RELEASE Recorded Jul 24, 2014
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ALL MEDIA GUIDE, LLC; APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI CORPORATION; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; STARSIGHT TELECAST, INC.; TV GUIDE INTERNATIONAL, INC.; UNITED VIDEO PROPERTIES, INC.
Reel/Frame 033396/0001 →
PATENT SECURITY AGREEMENT Recorded Jul 24, 2014
From: APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; SONIC SOLUTIONS LLC; STARSIGHT TELECAST, INC.; UNITED VIDEO PROPERTIES, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 033407/0035 →
CHANGE OF NAME Recorded Oct 3, 2013
From: MACROVISION CORPORATION
To: ROVI SOLUTIONS CORPORATION
Reel/Frame 031343/0867 →
SECURITY INTEREST Recorded Sep 13, 2011
From: APTIV DIGITAL, INC., A DELAWARE CORPORATION; GEMSTAR DEVELOPMENT CORPORATION, A CALIFORNIA CORPORATION; INDEX SYSTEMS INC, A BRITISH VIRGIN ISLANDS COMPANY; ROVI CORPORATION, A DELAWARE CORPORATION; ROVI GUIDES, INC., A DELAWARE CORPORATION; ROVI SOLUTIONS CORPORATION, A DELAWARE CORPORATION; ROVI TECHNOLOGIES CORPORATION, A DELAWARE CORPORATION; STARSIGHT TELECAST, INC., A CALIFORNIA CORPORATION; UNITED VIDEO PROPERTIES, INC., A DELAWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027039/0168 →
RELEASE OF SECURITY INTEREST Recorded Oct 29, 2010
From: JPMORGAN CHASE BANK, N.A. (A NATIONAL ASSOCIATION)
To: ALL MEDIA GUIDE, LLC; APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ODS PROPERTIES, INC.; ROVI DATA SOLUTIONS, INC. (FORMERLY KNOWN AS TV GUIDE DATA SOLUTIONS, INC.); ROVI GUIDES, INC. (FORMERLY KNOWN AS GEMSTAR-TV GUIDE INTERNATIONAL, INC.); ROVI SOLUTIONS CORPORATION (FORMERLY KNOWN AS MACROVISION CORPORATION); ROVI SOLUTIONS LIMITED (FORMERLY KNOWN AS MACROVISION EUROPE LIMITED); ROVI TECHNOLOGIES CORPORATION; STARSIGHT TELECAST, INC.; TV GUIDE, INC.; TV GUIDE ONLINE, LLC; UNITED VIDEO PROPERTIES, INC.
Reel/Frame 025222/0731 →
SECURITY AGREEMENT Recorded May 15, 2008
From: APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; GEMSTAR-TV GUIDE INTERNATIONAL, INC.; INDEX SYSTEMS INC; MACROVISION CORPORATION; ODS PROPERTIES, INC.; STARSIGHT TELECAST, INC.; TV GUIDE ONLINE, LLC; UNITED VIDEO PROPERTIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 020986/0074 →