Secure Program Memory Segmentation for Debugger Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software systems that process confidential information are vulnerable to unauthorized analysis due to the ease of access by software debuggers operating on multiple OSes, even when securely implemented, as these debuggers can determine regions of the software that call OS-dependent libraries, potentially exposing confidential information.

Innovation Solution

A computer system architecture is implemented with a processor that fetches and decodes instructions for basic, normal, and secure programs, featuring a memory structure with controlled and uncontrollable areas. The secure program operates independently of the OS, accessing an uncontrollable area, while the normal program accesses a controlled area via the basic program, preventing unauthorized access and analysis by software debuggers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software operates on an OS using OS-dependent libraries, then the software can be securely implemented to process confidential information, but the software becomes vulnerable to software debuggers operating on the OS

Engineering Contradiction:
Improvesecurity implementationVSAvoidvulnerability to debugger analysis
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The memory space is segmented into controlled area and uncontrollable area. The secure program is loaded into the uncontrollable area which is inaccessible to the OS and its debuggers, while the OS operates in the controlled area. This spatial segmentation prevents debugger analysis of confidential information in the secure program.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A memory management unit (MMU) acts as an intermediary between the OS and the secure program. The MMU enforces access control by allowing the OS to access only the controlled area while blocking access to the uncontrollable area where the secure program resides, thus protecting against unauthorized debugger access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If the secure program is made independent of the OS, then resistance to debugger analysis is improved, but access to memory and system resources becomes more restricted

Engineering Contradiction:
Improveresistance to debugger analysisVSAvoidaccess to system resources
Core Design Contradiction:
Object-affected harmful factorsVSAdaptability or versatility

Solution Approach 1:

The MMU serves as an intermediary that enables the independent secure program to access system resources. When the secure program needs to interact with the OS or hardware, the MMU mediates these access requests, allowing controlled communication while maintaining the isolation that provides security.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The secure program is extracted from the OS environment and placed in a separate uncontrollable memory area. This extraction makes the secure program independent of the OS, preventing debugger analysis, while the MMU provides necessary resource access channels.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the memory is divided into controlled and uncontrollable areas, then security is improved, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidmemory architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The MMU acts as an intermediary layer that manages the complexity of the divided memory architecture. It automatically handles address translation and access control between the controlled and uncontrollable areas, shielding the CPU from the underlying memory complexity while enforcing security policies.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7962746B2Computer system and program creating device
Publication Date: 2011.06.14 PANASONIC HOLDINGS CORP
  • US7962746B2 patent drawing
  • US7962746B2 patent drawing
  • US7962746B2 patent drawing

AI summary

A mobile telephone includes a CPU that obtains and decodes instructions included in an OS, a nonsecure program, a switch device driver, and a secure program, and operates according to the decoding results. A memory includes a controlled area and an uncontrollable area. The OS has only the controlled area as its access space, and includes an instruction for mediating access of the nonsecure program to the controlled area and an instruction for instructing the switch device driver to make a switch to the secure program. The nonsecure program includes an instruction to access the controlled area via the OS. The switch device driver includes an instruction to make a switch from execution of the OS to execution of the secure program in response to an instruction of the OS. The secure program has only the uncontrollable area as its access space, and includes an instruction to access the uncontrollable area.