Dynamic Credential Injection Bypassing Hard-Coded Authentication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network applications with hard-coded credentials for remote services are vulnerable to security breaches, as hackers can obtain and exploit these credentials, potentially leading to significant damage, especially when they have administrative access rights.

Innovation Solution

A system and method for bypassing hard-coded credentials by generating and injecting randomly generated credentials, using a trampoline function and credential vault, which dynamically authenticates the application without modifying the existing application or its interfaces, ensuring that even if the code is hacked, the original credentials are useless.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If hard coded credentials are used in existing applications for remote service access, then the application can function normally without requiring manual login, but the security is compromised as hackers can obtain and exploit these credentials

Engineering Contradiction:
Improveautomatic login capabilityVSAvoidsecurity vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent implements dynamic credential generation and injection, where credentials are not static but change over time. The system generates credentials dynamically at runtime and injects them into the application's memory space, making the credentials dynamic rather than fixed, thereby resolving the contradiction between automatic login and security vulnerability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces an intermediary component (the credential injection system) that acts as a mediator between the application and the credential storage. This intermediary generates credentials dynamically and injects them into the application's memory, preventing direct exposure of credentials in the code while maintaining automatic login functionality

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If administrative access rights are granted to hard coded credentials for enhanced functionality, then the application can perform privileged operations, but the potential damage from credential exposure increases significantly

Engineering Contradiction:
Improveaccess rights capabilityVSAvoidpotential damage from exposure
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system dynamically generates credentials with appropriate access rights at runtime rather than using static administrative credentials. This allows the application to maintain necessary access rights for privileged operations while the credentials themselves change over time, reducing the impact of any single credential exposure

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of credential persistence from static to dynamic. By continuously regenerating credentials and injecting them into the application memory, the system maintains the necessary access rights parameters while changing the credential values, thereby reducing the harm from potential exposure

Inventive Principle:
Principle #35Parameter changes

3Object-affected harmful factors

If credentials are changed to improve security, then security is enhanced, but the application must be modified and recompiled on all clients

Engineering Contradiction:
Improvesecurity improvementVSAvoiddeployment complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary credential injection system that operates between the application and the credential storage without requiring modification of the application code itself. This intermediary handles credential generation and injection dynamically, allowing credential changes without application recompilation or redeployment

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a virtual copy of the credential storage in the application's memory space through dynamic injection. Instead of changing the actual credential storage that the application accesses, the system injects credential values into the application's memory, creating a functional copy that can be changed without affecting the application code

Inventive Principle:
Principle #26Copying

4Ease of manufacture

If source code is not available on clients (only binaries), then distribution is simplified, but credential extraction becomes more difficult to detect and prevent

Engineering Contradiction:
Improvedistribution simplicityVSAvoidcredential extraction detection
Core Design Contradiction:
Ease of manufactureVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements dynamic credential injection that occurs at runtime in the application's memory space. Since the credentials are generated and injected dynamically rather than being embedded in the binary code, they are extremely difficult to detect or extract through static analysis of the distributed binary, while still maintaining distribution simplicity

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10936383B2Hard coded credential bypassing
Publication Date: 2021.03.02 MICRO FOCUS LLC
  • US10936383B2 patent drawing
  • US10936383B2 patent drawing
  • US10936383B2 patent drawing

AI summary

An existing application processing on a client device initiates a function to provide a hard coded credential to a remote target application for purposes of logging into and gaining access to the remote target application. A hook to the function causes an agent to be activated, the agent dynamically contacts a credential vault to obtain a randomly generated credential for access to the remote target application. The hook injects the randomly generated credential over the hard coded credential supplied by the existing application and the function is initiated. The function logs into the target application using the randomly generated credential providing the existing application access to the remote target application. The hard coded credential is bypassed by the randomly generated credential.