Software Piracy Prevention via Virtual File System and Protected Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for preventing software piracy are inadequate, as they either inconvenience users with network dependencies or require hardware changes that are not easily implementable on conventional desktops, and lack effective tracking of piracy sources.

Innovation Solution

A method that spawns applications without using files on the computer's file system by retrieving protected data from a remote or local server, encrypting it, and mapping it to inaccessible memory, with watermarking and self-mutating operating system features to prevent unauthorized copying and track piracy sources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If software is distributed as files that can be copied, then ease of distribution and installation is improved, but software piracy and unauthorized copying increase

Engineering Contradiction:
Improveease of distributionVSAvoidsoftware piracy
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent extracts the software executable code from the file system and loads it directly into protected memory space during runtime. This separation prevents pirates from copying traditional executable files, as the software exists in memory rather than as a distributable file that can be easily replicated and distributed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses virtualization to create a virtual file system that appears to contain software files but actually redirects all file access operations to protected memory regions. This virtual copying mechanism allows the software to function as if files exist while preventing actual file copying and distribution.

Inventive Principle:
Principle #26Copying

2Object-affected harmful factors

If software is protected using network-based licensing (SaaS), then software piracy is reduced, but user convenience and reliability deteriorate due to network dependency

Engineering Contradiction:
Improvesoftware piracyVSAvoidsoftware availability
Core Design Contradiction:
Object-affected harmful factorsVSReliability

Solution Approach 1:

The patent divides the software protection mechanism into two segments: a protected kernel portion stored in secure hardware (such as a Trusted Platform Module or secure enclave) and an application portion that can execute locally. This segmentation allows the software to run locally without continuous network connectivity while maintaining protection through the secure hardware kernel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtual file system as an intermediary layer between the user and the actual software code. This virtual layer intercepts all file access requests and redirects them to protected memory regions, creating a barrier that prevents piracy while allowing normal software operation without network dependency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Object-affected harmful factors

If hardware-based security solutions are implemented, then data security against piracy is improved, but device complexity and ease of implementation worsen

Engineering Contradiction:
Improveunauthorized data capturingVSAvoidhardware changes required
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent implements a virtualization-based protection mechanism that can run on conventional off-the-shelf hardware without requiring specialized security hardware. The virtual file system and protected memory management provide hardware-level security functionality through software, making the solution universally applicable to standard computers and laptops.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent replaces physical hardware security mechanisms with a virtualized software-based protection system. Instead of requiring secure hardware enclaves or specialized security processors, the invention uses virtual memory management and file system virtualization to achieve comparable security outcomes on general-purpose hardware.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Object-affected harmful factors

If software code is obfuscated or encrypted, then piracy resistance is improved, but software execution speed and reliability worsen

Engineering Contradiction:
Improvepiracy resistanceVSAvoidsoftware execution speed
Core Design Contradiction:
Object-affected harmful factorsVSSpeed

Solution Approach 1:

The patent performs decryption and code transformation in advance during the software installation and first-execution phases. The protected kernel is pre-loaded into secure memory, and the virtual file system is pre-configured with appropriate redirection rules. This preliminary setup eliminates the need for real-time decryption during normal operation, maintaining execution speed while providing protection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent establishes continuous protection through the virtual file system that remains active throughout software execution. Once the virtualization layer is set up, it continuously intercepts and redirects file access operations without interrupting the normal flow of program execution, maintaining both security and performance.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11829454B2Method and apparatus for preventing and investigating software piracy
Publication Date: 2023.11.28 KOREN PATRICK ROBERT
  • US11829454B2 patent drawing
  • US11829454B2 patent drawing
  • US11829454B2 patent drawing

AI summary

An apparatus, method, and system for curtailing and investigating software piracy is provided. The method includes spawning user applications on a computer without use of a file on the file system. A protected application data source is retrieved by an operating system of the computer from a server and placed into a portion of memory not accessible by at least one application. The operating system also prevents the protected application data source from being written to the file system. In this manner there is no file subject to unauthorized distribution. The protected application data may also be watermarked by ordering at least one of executable functions, function call parameters, and program data according to a license identifier so that any two versions execute the same, but carry an identifier which can be used to trace piracy to the source.