Printer Security via CPU Stack Execution Restrictions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Image forming apparatuses and printers are vulnerable to malicious software attacks through stack overflow, which can bypass security features and allow unauthorized access and data manipulation, posing risks such as unauthorized printing and high-quality counterfeit document production.
Innovation Solution
Implementing a method to prevent the execution of machine code from task stacks by managing the central processing unit to ensure that it does not execute instructions from task stacks, thereby securing the device against malicious code insertion during a stack overflow attack.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If stack overflow protection is not implemented, then software complexity is reduced and development is easier, but security against malicious code execution deteriorates
Solution Approach 1:
The patent segments the memory space into different regions with distinct execution permissions. Specifically, it separates the stack memory region from the code execution region, allowing the stack to be used for data storage while preventing machine code execution from stack-based buffers. This segmentation resolves the contradiction by providing targeted security without requiring complete system redesign.
Solution Approach 2:
The patent applies different execution permissions to different memory regions. The stack region is configured to allow data storage but explicitly disallows machine code execution, while other memory regions maintain their normal execution permissions. This local differentiation provides security where needed without impacting overall software functionality or requiring universal complexity increases.
2Object-affected harmful factors
If stack overflow attacks are allowed to proceed, then attack complexity is reduced for the attacker, but the impact of malicious code execution increases
Solution Approach 1:
The patent implements preliminary protective measures by configuring the stack region with execute-disallow permissions before any attack can occur. This preemptive security feature prevents malicious code execution from stack buffers without requiring detection or response mechanisms, thereby reducing the impact of successful attacks while adding minimal complexity to the security architecture.
3Reliability
If security features are added to prevent stack overflow attacks, then security against unauthorized access improves, but device complexity increases
Solution Approach 1:
The patent implements self-service security by enabling the processor itself to automatically enforce execution permissions based on memory region configuration. The CPU inherently prevents machine code execution from the stack region without requiring external security software, additional hardware, or complex control logic. This approach improves security while minimizing added complexity by leveraging the processor's built-in capabilities.
Data Source
AI summary
A method for securing a computer device against malicious code, the method including the steps of: executing a computer program on the computer device, the computer device having a central processing unit, which carries out instructions of the computer program, and wherein at least a portion of the computer program is executed by one or more tasks, each of the one or more tasks having a task stack associated therewith; and managing the central processing unit such that the central processing unit does not execute machine code from the task stacks associated with each of the one or more task so as to secure the computer device against malicious code from the task stack.


