Executable Instruction Memory Segmentation for Secure Deployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Desktop applications require cumbersome deployment procedures involving compilation and large data transfers, while web applications are vulnerable to cyberattacks due to lack of compilation and restricted permissions, limiting their functionality and security.
Innovation Solution
A method for executing multiple sets of computer executable instructions using allocated memory portions, where permissions are managed to create a safe execution environment, allowing for streamlined deployment and enhanced security by isolating data access and preventing unauthorized modifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If web applications are deployed without compilation to enable fast updates and reduced client burden, then deployment speed is improved, but security is worsened due to vulnerability to cyberattacks
Solution Approach 1:
The patent segments the application into multiple components: compiled binary code for execution and separate source code for updates. This allows the source code to be updated without re-deploying the entire compiled application, achieving fast updates while maintaining security through controlled compilation triggers.
Solution Approach 2:
The system performs preliminary compilation of source code into binary form and stores both versions. When updates are needed, the pre-compiled binary can be executed immediately while source code updates are prepared separately, enabling fast deployment without compromising security through on-demand compilation of updated code.
2Reliability
If desktop applications are compiled to improve security by hiding source code, then security is improved, but deployment complexity is worsened due to compilation requirements and large executable sizes
Solution Approach 1:
The patent extracts the source code from the compiled binary and stores them separately. This allows the lightweight binary to be deployed quickly while source code remains accessible for updates, reducing deployment complexity compared to traditional desktop applications that require full executable distribution.
Solution Approach 2:
The system changes the deployment parameter from distributing large compiled executables to distributing small binaries with separate source code. This reduces the deployed file size and simplifies deployment while maintaining security through the compiled binary format.
3Reliability
If memory permissions are restricted to prevent unauthorized access, then security is improved, but functionality is worsened due to limitations on data access and operations
Solution Approach 1:
The patent implements dynamic memory permission management where access rights are assigned based on the specific execution context and data sensitivity. Permissions can be adjusted during execution to allow necessary operations while maintaining security boundaries, resolving the conflict between security and functionality.
Solution Approach 2:
Different memory regions are assigned different permission levels according to their function and sensitivity. Critical data areas have restricted access while other areas allow broader operations, enabling secure execution without unnecessarily limiting overall application functionality.
Data Source
Figure 1
Figure 2a~2b
Figure 3
AI summary
A computer implemented method for executing a first set of computer executable instructions by using a third memory portion (123) of a first computer device (100), the method comprising the steps of executing the first set of computer executable instructions and executing a third set of computer executable instructions. The first set of computer executable instructions comprises instructions which, when the first set of computer executable instructions is executed, cause the first computing device (100) to generate at least a first data item comprising first information. The first computing device (100) also executes a second set of computer executable instructions by using at least a first memory portion (121) of the first computing device (100), the first memory portion (121) consisting of a second memory portion (122), the third memory portion (123) and a fourth memory portion (124). The third set of computer executable instructions is stored in the fourth memory portion (124) and comprises instructions which, when the third set of computer executable instructions is executed, cause the first computing device (100) to store the first information in the second memory portion. The first set of computer executable instructions has no permission to read from and write to the second memory portion (122).