TEE Microservice Debugging via Secure Privilege Separation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging microservices in trusted execution environments is challenging due to access restrictions, preventing users from extracting core dump files and determining the cause of failures, thus compromising the security and integrity of sensitive user data.

Innovation Solution

A computer-implemented method utilizing a debugger server within a trusted execution environment performs debug operations on microservices, sending debug results through a secure channel to a debugger client outside the environment via a privilege separation secure channel, ensuring secure communication and data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If access restrictions are enforced in trusted execution environment, then security of sensitive user data is improved, but debugging capability deteriorates

Engineering Contradiction:
Improvesecurity of sensitive user dataVSAvoiddebugging capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

A debugger server acts as an intermediary component within the trusted execution environment that mediates between the restricted microservice and external debugger clients. The server receives debugging requests, performs operations on the microservice, and returns results while maintaining the security boundaries of the TEE.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The debugging system is segmented into three distinct components: (1) debugger clients outside the TEE for user interaction, (2) a debugger server inside the TEE for executing debug operations, and (3) the target microservice being debugged. This segmentation allows each component to operate in its appropriate security context.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If core dump files are extracted for debugging, then debugging information is improved, but data integrity and security deteriorate

Engineering Contradiction:
Improvedebugging informationVSAvoiddata integrity and security
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The debugger server serves as an intermediary that retrieves debugging information from the microservice's memory space and translates it into usable debug output. This allows debugging information to be obtained without external tools directly accessing or extracting core dump files from the protected environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of extracting actual core dump files from the trusted execution environment, the debugger server creates copies of the necessary debugging information (such as register states, memory contents, and stack traces) and transmits these copies to external debugger clients through secure channels.

Inventive Principle:
Principle #26Copying

3Ease of operation

If debugger client is placed outside trusted execution environment, then accessibility is improved, but security risk increases

Engineering Contradiction:
ImproveaccessibilityVSAvoidsecurity risk
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The debugger server within the TEE acts as a secure intermediary that receives all debugging requests from external clients. It validates requests, executes safe debugging operations, and returns results through controlled communication channels, preventing direct access to the protected microservice.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system architecture segments the debugger client outside the TEE from the protected microservice inside the TEE, with only the debugger server having access to the internal state. This segmentation ensures that external clients can interact with the debugging system without compromising the security boundary of the TEE.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250370918A1Debugging Microservices in Trusted Execution Environments
Publication Date: 2025.12.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250370918A1 patent drawing
  • US20250370918A1 patent drawing
  • US20250370918A1 patent drawing

AI summary

Trusted execution environment microservice debugging is provided. A debug operation is performed on a microservice running in the trusted execution environment utilizing a debugger server within a trusted execution environment based on a set of microservice debug messages received from a client device of a user. A microservice debug result of performing the debug operation on the microservice running in the trusted execution environment is sent to a debugger client within a privilege separation container outside the trusted execution environment via a secure channel between a privilege separation secure channel client within the trusted execution environment and a privilege separation secure channel server within the privilege separation container outside the trusted execution environment utilizing the debugger server. The microservice debug result of performing the debug operation on the microservice running in the trusted execution environment is sent to the client device of the user utilizing the debugger client.