Software Object Fingerprinting for Leak Attribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The unauthorized release of software objects, such as those for new operating system versions, poses risks to manufacturers, including competitive exploitation and damage to sales, due to pre-release leaks, which can occur during development and distribution processes.

Innovation Solution

Implementing a fingerprinting system that marks software objects with unique identifiers of individuals manipulating them, which are cryptographically obfuscated and incorporated into the objects, allowing for tracking of the last person within the development organization to handle the object in case of unauthorized leaks, and enabling the object to be disabled if a valid fingerprint is not present during execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software objects are distributed during development for testing and collaboration, then development productivity and team collaboration are improved, but the risk of unauthorized leaks and unauthorized execution increases

Engineering Contradiction:
Improvedevelopment productivityVSAvoidunauthorized execution risk
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

A fingerprint is embedded into the software object during the build process, before distribution. This preliminary marking enables later identification and control of the object's execution, allowing the system to prevent unauthorized execution while maintaining distribution for development purposes

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system checks for the presence of a valid fingerprint at runtime and provides feedback by either allowing execution or preventing execution based on the fingerprint validation result. This feedback mechanism enables dynamic control of software execution based on authorization status

Inventive Principle:
Principle #23Feedback

2Reliability

If access controls and encryption are implemented to prevent leaks, then security is improved, but the ease of legitimate access and development workflow is reduced

Engineering Contradiction:
ImprovesecurityVSAvoidlegitimate access ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The software object carries its own fingerprint identifier that enables self-identification and self-validation. This eliminates the need for complex external access control systems, as the object itself provides the security information needed for authorization decisions

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the state of the software object by embedding a fingerprint parameter during construction. This parameter modification enables security control without adding complex access control mechanisms, as the fingerprint serves as an intrinsic security attribute

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If fingerprints are embedded in all software objects, then tracking capability is improved, but the complexity of the build and distribution system increases

Engineering Contradiction:
Improvetracking precisionVSAvoidbuild system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The fingerprint embedding process is merged with the existing software build process. By combining these operations, the system achieves tracking capability without adding separate fingerprinting infrastructure, as the fingerprint is generated and embedded during normal compilation and packaging operations

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8656182B2Security mechanism for developmental operating systems
Publication Date: 2014.02.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8656182B2 patent drawing
  • US8656182B2 patent drawing
  • US8656182B2 patent drawing

AI summary

A security technique to reduce the risk of unauthorized release of a software object. The technique allows identification of an individual responsible for the unauthorized release by marking each object with information, which acts as a fingerprint from which a person manipulating the object in a development environment can be identified. The development environment may be configured to quickly and automatically mark the object whenever a manipulation that may precede an unauthorized release occurs. To prevent circumventing the security technique, the object may be configured to enforce a requirement for a valid fingerprint such that the object is disabled if the fingerprint is removed or altered. Despite the marking, personally identifiable information is not revealed because the fingerprint is generated through a one-way cryptographic function performed on identifying information.