Automated Software Guard Injection for Piracy Protection
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If existing software security mechanisms are implemented, then software piracy protection is improved, but excessive runtime overhead is imposed on the software program
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.
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.
Data Source
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.


