Application Randomization Mechanism for Reconnaissance Defense
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems are vulnerable to reconnaissance attacks as attackers can gather crucial information about server operating characteristics, which can be exploited for infiltration, and existing methods to limit this information are not universally applicable or effective.
Innovation Solution
The implementation of a system-wide application randomization mechanism (SWARM) that generates randomized instances of software components with unique operating characteristics, providing false information to attackers and evolving system characteristics over time, using ephemeral virtual machines and modified system call conventions, ABI changes, and configuration randomization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If server applications are configured to limit information disclosure, then security against reconnaissance is improved, but compatibility with non-configurable applications and protocols deteriorates
Solution Approach 1:
The patent introduces a proxy layer between applications and network services that intercepts and randomizes information before it reaches the network. This intermediary mechanism allows applications to function normally while the proxy handles information randomization, resolving the contradiction between security and compatibility.
Solution Approach 2:
The system dynamically changes parameters such as server version numbers, protocol identifiers, and configuration values to create randomized instances. By modifying these parameters rather than changing the fundamental application interface, the system maintains compatibility while improving security.
2Ease of operation
If system information is made static and fixed, then ease of operation is improved, but vulnerability to reconnaissance attacks increases
Solution Approach 1:
The patent implements dynamic randomization where system information changes between different instances. Each instance presents different configuration values, server identifiers, and operational characteristics, making the system resilient to reconnaissance while maintaining normal operation for legitimate users.
Solution Approach 2:
By randomly changing system parameters such as configuration values, version strings, and operational characteristics between instances, the system creates uncertainty for attackers while preserving functional stability for authorized operations.
3Reliability
If multiple instances of software components are generated with different configurations, then effectiveness against reconnaissance is improved, but device complexity increases
Solution Approach 1:
The system segments the randomization function into separate modular components: a randomization engine, configuration managers for different software components, and instance creators. This segmentation reduces overall system complexity by organizing the complexity into manageable, independent modules.
Solution Approach 2:
The patent implements a universal randomization framework that can generate multiple instances of different software components (applications, services, protocols) using the same core randomization mechanisms. This multi-functionality reduces complexity by reusing the same randomization infrastructure across different components.
4Ease of operation
If server applications reveal detailed information about installed modules and configuration, then ease of operation is improved, but security against infiltration deteriorates
Solution Approach 1:
The proxy layer acts as an intermediary that sits between applications and network requests, allowing applications to operate with full functionality while the proxy filters and randomizes the information exposed to network traffic, preventing infiltration while maintaining ease of operation.
Solution Approach 2:
The system extracts sensitive configuration and version information from applications and replaces it with randomized placeholders or false information in network communications. This extraction and replacement maintains application functionality while removing the harmful information that would aid infiltration.
Data Source
AI summary
An example method includes providing, by a computing system, first randomized configuration information, generating, by the computing system and based on the first randomized configuration information, a first unique instance of a software component, providing second randomized configuration information, wherein the second randomized configuration information is different from the first randomized configuration information, and generating, based on the second randomized configuration information, a second unique instance of the software component that is executable on the runtime computing system. The first and second unique instances of the software component comprise different instances of the same software component that each are configured to have uniquely different operating characteristics during execution on the runtime computing system, and the first and second unique instances of the software component are each further configured, during execution on the runtime computing system, to output false information to an external computing system.


