Memory Segmentation for Secure Program Block Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for controlling safety-relevant systems in motor vehicles are inefficient as they require additional computing effort or complex architectures to ensure separation of program blocks with different security classifications, which can impact vehicle safety.
Innovation Solution
Implementing a memory monitoring system that separates program blocks and data into distinct sections, using a memory protection device to block write access and trigger exceptions for unauthorized access, allowing only one section or data section to be accessed at a time, ensuring secure execution based on security levels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If explicit switch commands or multiple processor cores are used to separate program blocks with different security classifications, then security separation is improved, but device complexity and computing effort increase
Solution Approach 1:
The memory is segmented into multiple sections, each assigned to a specific security classification (ASIL A-D or QM). Program blocks are stored in sections corresponding to their security level, and a memory protection device prevents unauthorized access between sections, achieving security separation without requiring multiple processor cores or complex architectural changes
Solution Approach 2:
A memory protection device is introduced as an intermediary component between the processor and memory sections. This device monitors and controls access to different memory sections, triggering exceptions when unauthorized access attempts occur, thereby enabling security separation through a dedicated control mechanism rather than complex processor architecture
2Reliability
If explicit switch commands or additional operating systems are used to control program flow separation, then security separation is improved, but productivity and computing efficiency decrease
Solution Approach 1:
The memory protection device operates autonomously to monitor and control access between memory sections. When a program block attempts to access an unauthorized section, the memory protection device automatically triggers an exception and switches to the appropriate section without requiring intervention from an operating system or additional control software, thereby maintaining computing efficiency while ensuring program flow separation
3Reliability
If memory sections are strictly separated with write locks to prevent unauthorized access, then security separation is improved, but flexibility in data access is reduced
Solution Approach 1:
Different access control policies are applied to different memory sections based on their security classification. Write access is restricted to prevent unauthorized modification, while read access is permitted to allow necessary data retrieval. This localized differentiation of access rights maintains security while preserving operational flexibility
Data Source
Figure 1
Figure 2
AI summary
The application relates to a method for controlling separated running of linked program blocks, (20-24) which are designed for implementing functions of safety-relevant systems, particularly in motor vehicles. According to the method, a first program block (20) of the program blocks is executed on a processor (140), the first program block (20) being present in a first portion (10, 110) of a memory (130). The processor (140) accesses the memory (130). A second program block (22) of the program blocks is called during the execution of the first program block (20). The second program block (22) is present in a second portion (12, 112) of the memory (130), which is different from the first portion (10, 110) of the memory (130). The access to the memory (130) is monitored by a memory protection device (150), which initiates an exception if it is determined while the memory protection device (150) is monitoring access that the second program block (22) is called during execution of the first program block (20). An exception handler (160) locks the first portion (10, 110) upon occurrence of the exception and releases the second portion (12, 112) for execution. The access to data, particularly the write access, is controlled by the memory protection device (150) by means of exceptions and of the locks and releases resulting therefrom. The invention further relates to a control device for performing the method.