Supervisor Processor Monitoring Control Flow for Software Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a need for an alternative solution to protect a software application during its execution, as existing methods are inadequate in ensuring the integrity and security of the application's control flow.

Innovation Solution

The method involves a first processor executing a first control flow and a second processor, in synchronization, executing a second application with predefined variables and conditions. The second processor verifies if the variables meet expected values or satisfy predetermined conditions, thereby determining if the first processor is executing the correct control flow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a supervisor processor monitors the execution of a program to detect anomalies, then security protection is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity protectionVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a supervisor processor as an intermediary component that monitors the execution of applications. This supervisor processor acts as a mediator between the application processor and the security management system, detecting anomalies in control flow and triggering security actions. This resolves the contradiction by providing enhanced security protection through the intermediary monitoring mechanism while managing device complexity through structured separation of monitoring and execution functions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If code is converted and sent to a HW token for exclusive execution, then reverse engineering protection is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvereverse engineering protectionVSAvoidease of operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the application code into different parts, with critical portions being converted and executed exclusively on a HW token while other parts remain on the main processor. This segmentation allows reverse engineering protection for sensitive functions while maintaining ease of operation for the overall system. The segmented approach enables selective protection without requiring complete offloading to hardware tokens.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses an intermediary mechanism where a supervisor processor monitors execution and coordinates between the main processor and HW token. This intermediary layer manages the complexity of code conversion and execution distribution, protecting critical code on the HW token while maintaining operational ease through automated monitoring and coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If multiple processors execute applications in synchronization, then security monitoring is improved, but productivity decreases

Engineering Contradiction:
Improvesecurity monitoringVSAvoidproductivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements partial monitoring where the supervisor processor focuses specifically on detecting control flow anomalies rather than monitoring all execution aspects. This partial action approach provides adequate security monitoring while minimizing the performance overhead that would result from comprehensive monitoring of all processor activities.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The supervisor processor implements feedback mechanisms where anomalies are detected and security actions are triggered only when necessary. This feedback-based approach allows the system to maintain normal high-speed execution during benign operations while providing security monitoring, thus improving productivity compared to continuous intervention while maintaining security.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3906489B1Method, system and device for managing an execution of a program relating to part or all of a first application
Publication Date: 2025.04.02 THALES DIS CPL USA INC
  • EP3906489B1 patent drawingFigure 1~2
  • EP3906489B1 patent drawingFigure 3

AI summary

A method 20 for managing a first application program comprises: - executing, by a first processor, a first control flow, the first control flow graph including at least two separated branches 260, 280, each of the at least two separated branches including at least one node 26; - executing, by a second processor, in synchronization with the first control flow execution, a second application; - determining, by the second processor, when executing the at least one second application, at least one transition decision between at least two first nodes of the at least two separated branches, the at least one transition decision being conditional (226 or 228) to continue from an execution of the current node to an execution of a first node of one branch of the at least two separated branches or a first node of another branch of the at least two separated branches; - controlling,by the second processor,when executing the at least one second application,based on the determined at least one transition decision, the first node of the branch to be executed by the first processor.