Dynamic Patch Application for Executable Code Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing systems for applying patches to executable codes in mobile devices require costly and time-consuming security certification, especially after changes to the operating system, which necessitates recertification of applets and operating systems, leading to inefficient and costly functional testing.

Innovation Solution

A system and method for dynamically applying patches to executable codes by utilizing a control unit that maps execution contexts to patches, allowing specific patches to be applied only when an execution environment switches to a corresponding context, thereby avoiding unnecessary recertification and minimizing changes to original code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If patches are applied to executable codes in mobile devices, then code functionality can be updated and security can be maintained, but security certification becomes costly and time-consuming, requiring recertification of applets and operating systems

Engineering Contradiction:
Improvesecurity certificationVSAvoidrecertification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies patches dynamically at runtime rather than requiring static recertification. The control unit monitors execution contexts and applies patches when specific contexts are detected, allowing security updates without time-consuming recertification processes for each change.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the codebase into different execution contexts (e.g., eUICC, eSE, different applications). Patches are applied selectively to specific contexts rather than requiring recertification of the entire system, thereby reducing time and cost while maintaining security.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If patches are applied to executable codes, then code functionality can be updated, but extensive functional testing is required to ensure no unintended changes occur

Engineering Contradiction:
Improvecode update capabilityVSAvoidfunctional testing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies patches locally to specific execution contexts rather than universally. The control unit identifies the specific context (e.g., payment application, network communication) and applies only the relevant patch, minimizing the scope of testing required and reducing overall testing time.

Inventive Principle:
Principle #3Local quality

3Reliability

If patches are applied to executable codes, then security and functionality can be maintained, but the complexity of managing multiple execution environments and contexts increases

Engineering Contradiction:
Improvesecurity maintenanceVSAvoidexecution environment management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The control unit automatically monitors execution contexts and applies patches autonomously based on predefined conditions. This self-service mechanism reduces the manual complexity of managing multiple execution environments by automating the patch application process.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3722981B1System and method for applying patches to executable codes
Publication Date: 2025.01.01 NXP BV
  • EP3722981B1 patent drawingFigure 1
  • EP3722981B1 patent drawingFigure 2
  • EP3722981B1 patent drawingFigure 3

AI summary

In accordance with a first aspect of the present disclosure, a system is provided for applying patches to executable codes, comprising: a plurality of execution environments configured to execute said codes in different execution contexts; a control unit configured to apply the patches to said codes; wherein the control unit is configured to apply a specific patch to a specific code upon or after an execution environment configured to execute said specific code switches to an execution context corresponding to said specific code. In accordance with other aspects of the present disclosure, a corresponding method is conceived for applying patches to executable codes, and a corresponding computer program is provided.