Automated Software Guard Injection for Piracy Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software piracy poses a significant threat to software vendors due to the vulnerability of electronic files to modification by hackers, with existing security mechanisms often being easily breached or imposing excessive runtime overhead.

Innovation Solution

A system and method for protecting software programs from unauthorized modification by automating the injection of guards into the software, which are difficult to detect and defeat, while minimizing runtime overhead, using guard instructions that deter tampering and can take defensive actions upon detection of unauthorized modifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing software security mechanisms are implemented, then software piracy protection is improved, but the mechanisms are easily breached by skilled hackers or crackers

Engineering Contradiction:
Improvesoftware piracy protectionVSAvoiddifficulty to breach security
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The software program is divided into multiple code segments, and security guards are injected at strategic boundaries between segments. This segmentation makes it difficult for hackers to analyze and breach the entire security mechanism, as they would need to overcome multiple distributed security checks rather than a single centralized security layer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Security guards act as intermediary components between the software code segments and external threats. These guards monitor and control access to critical code segments, providing a layered defense mechanism that intermediates between potential attackers and the protected software functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If existing software security mechanisms are implemented, then software piracy protection is improved, but excessive runtime overhead is imposed on the software program

Engineering Contradiction:
Improvesoftware piracy protectionVSAvoidruntime performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Security guards are selectively deployed only at critical code segments where piracy protection is most needed, rather than uniformly across the entire software program. This partial action approach provides adequate protection against software piracy while minimizing the runtime overhead imposed by security checks in non-critical areas.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Different security guard implementations are applied to different code segments based on their specific protection needs. Critical segments receive more rigorous security checks, while less sensitive segments receive lighter monitoring, optimizing the balance between security effectiveness and runtime performance across the entire software program.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8510571B1System and method for inserting security mechanisms into a software program
Publication Date: 2013.08.13 ARXAN TECH
  • US8510571B1 patent drawing
  • US8510571B1 patent drawing
  • US8510571B1 patent drawing

AI summary

A system and method for protecting a software program from unauthorized modification or exploitation. A software security mechanism according to the present invention is difficult for a hacker or cracker to detect and/or defeat, but does not impose excessive runtime overhead on the host software program. The present invention further comprises a system and method for automating the injection of a software security mechanism according to the present invention into a host software program.