Object Code Authorization via Linked MAP File Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing security measures for performance tools used by software developers to debug and optimize graphical applications are vulnerable to unauthorized access, allowing users to reverse-engineer the applications, hardware drivers, and hardware, despite conventional security implementations.

Innovation Solution

A computer-implemented method for author verification and authorization of object code, which involves linking program object code with data blocks to create linked object code and a MAP file, followed by digital signing using a checksum, PE header, and computer-system identifier, and encrypting the signature data block for secure execution and access monitoring.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional security measures are implemented for performance tools, then basic protection is provided, but unauthorized users can still usurp these measures and gain access to performance data through methods like DLL injection, LoadLibrary functions, raw reads, and system-wide counter access

Engineering Contradiction:
Improvesecurity protectionVSAvoidunauthorized access
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by performing authorization verification before the graphical application executes. The system checks authorization status during the loading phase, preventing unauthorized applications from ever reaching execution state. This is implemented through intercepting the application loading process and verifying authorization credentials before allowing the application to access performance counters.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary authorization verification mechanism that sits between the application and the performance counter resources. This intermediary layer validates authorization credentials and controls access to counters, preventing direct access by unauthorized applications while allowing legitimate applications to function normally.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If performance tools provide comprehensive information about application and hardware operation, then developers gain useful debugging and optimization insights, but unauthorized users can intercept this information and reverse-engineer the application, drivers, and hardware

Engineering Contradiction:
Improvedebugging and optimization capabilityVSAvoidintellectual property exposure
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent applies local quality by providing different access rights to different applications. Authorized applications receive full access to performance counter data for debugging and optimization, while unauthorized applications receive no access. The system identifies the specific application making the request and applies appropriate authorization rules, ensuring that useful information flows to legitimate developers while protecting intellectual property from unauthorized users.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If the system allows multiple applications to access performance counters simultaneously, then comprehensive monitoring is enabled, but unauthorized applications can exploit system-wide counter access to gather information without performing graphical operations

Engineering Contradiction:
Improvemulti-application monitoringVSAvoidinformation gathering by unauthorized applications
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by verifying authorization status before allowing any application to access performance counters, regardless of whether the application is performing graphical operations. The system checks authorization credentials during the application loading phase and maintains this authorization state throughout execution, preventing unauthorized information gathering even when applications attempt to access counters without performing graphical work.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8966272B2Method for author verification and software authorization
Publication Date: 2015.02.24 NVIDIA CORP
  • US8966272B2 patent drawing
  • US8966272B2 patent drawing
  • US8966272B2 patent drawing

AI summary

Embodiments of the present invention are directed to a computer-implemented method for author verification and authorization of object code. In one embodiment, program object code is linked with a plurality of data blocks to create linked object code and a MAP file. Thereafter, author verification is performed by executing a plurality of comparisons between the linked object code and the MAP file. In another embodiment, a digital signing procedure is performed on linked object code by creating a signature data block. The signature data block is then encrypted and written to the linked object code to create digitally-signed object code. In another embodiment, an application program embodied in linked object code generates a data packet. The data packet is then compared to a previously-generated signature data packet from the linked object code to determine if the linked object code is authorized.