Software Analysis Module Detecting Unauthorized Code via Environment Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software applications often contain unauthorized or harmful code, such as logic bombs or backdoors, which can be difficult to detect, especially when they are latent and only executed in development environments, posing a risk in production environments.

Innovation Solution

A computerized system with a software analysis module that monitors and compares the execution of software applications in development and production environments, identifying discrepancies and transmitting alerts to user devices, allowing for the detection of unauthorized code by highlighting differences in code or processes executed in one environment but not the other.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software applications are deployed to production environment without extensive testing, then productivity is improved, but unauthorized code may remain undetected

Engineering Contradiction:
Improvesoftware deployment speedVSAvoiddetection of unauthorized code
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary monitoring and comparison of code execution between development and production environments before deployment. By establishing execution baselines in the development environment and comparing them against production environment executions, the system proactively identifies unauthorized code changes before they can cause harm, enabling faster deployment with maintained security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback loops by monitoring software execution in both development and production environments, comparing the executions, and alerting when discrepancies are detected. This feedback mechanism enables real-time detection of unauthorized code without requiring extensive manual testing, thus improving both productivity and reliability.

Inventive Principle:
Principle #23Feedback

2Reliability

If comprehensive code testing is performed in development environment, then detection of unauthorized code is improved, but loss of time occurs

Engineering Contradiction:
Improvedetection of unauthorized codeVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system creates a copy of the development environment's execution baseline and compares it against the production environment's execution. Instead of performing exhaustive testing in both environments, the system uses the development environment as a reference model, reducing the time required for detection while maintaining high reliability through automated comparison of execution behaviors.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The monitoring system serves multiple functions: it monitors execution in development environment, establishes baselines, monitors execution in production environment, and performs comparisons. This multi-functional approach consolidates what would otherwise be separate testing and monitoring activities into a single unified system, reducing total time investment while improving detection capability.

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

3Measurement precision

If monitoring is performed in both development and production environments, then detection accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvedetection accuracyVSAvoidmonitoring system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system uses an intermediary comparison mechanism that takes execution data from both development and production environments and processes it through a unified analysis framework. This intermediary layer abstracts the complexity of dual-environment monitoring, allowing accurate detection without requiring complex separate monitoring systems for each environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system merges the monitoring functions for development and production environments into a single integrated system. By combining the monitoring, baseline establishment, and comparison operations into one unified process, the system achieves high detection accuracy while minimizing the complexity that would arise from separate independent monitoring systems.

Inventive Principle:
Principle #5Merging (Combining)

4Object-generated harmful factors

If unauthorized code is not detected, then harmful factors are generated, but improving detection increases loss of time

Engineering Contradiction:
Improveharmful functions from unauthorized codeVSAvoidtime for detection and alerting
Core Design Contradiction:
Object-generated harmful factorsVSLoss of time

Solution Approach 1:

The system uses automated monitoring and comparison to rapidly identify unauthorized code changes, skipping the time-consuming manual analysis phase. By implementing real-time execution monitoring and automated discrepancy detection, the system rushes through the detection process, identifying harmful code changes quickly and transmitting alerts immediately, thus reducing both detection time and potential harm.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS9836605B2System for detecting unauthorized code in a software application
Publication Date: 2017.12.05 BANK OF AMERICA CORP
  • US9836605B2 patent drawing
  • US9836605B2 patent drawing
  • US9836605B2 patent drawing

AI summary

Disclosed is a computerized system for detecting unauthorized code in a software application. The system typically includes a processor, a memory, and a software analysis module stored in the memory. The system for is typically configured for: executing a software application in a development environment and in a production environment; monitoring execution of the software application in the development environment and in the production environment; comparing the execution of the software application in the development environment and the execution of the software application in the production environment; identifying a discrepancy between the execution of the software application in the development environment and the execution of the software application in the production environment; and, based on identifying the discrepancy, transmitting an alert to a user computing device. Unauthorized code associated with the discrepancy may then be removed from the software application.