Isolating Untrusted Script Code via Remote Virtual Machine Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Operating systems without isolation mechanisms pose a risk when executing untrusted script code, as they cannot securely execute such code without affecting other client data or files, making it difficult to maintain privacy and security during synthetic transactions.
Innovation Solution
The system creates a virtual machine with an isolation mechanism on a remote server to execute untrusted script code, establishing a secure connection with the client machine, allowing the script to run without compromising other client information by using a key and address to isolate the execution environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If untrusted script code is executed on a client machine without isolation mechanisms, then the script can be executed directly, but other client data and files may be compromised
Solution Approach 1:
A virtual machine is introduced as an intermediary between the untrusted script code and the client machine's data. The virtual machine executes the script in an isolated environment, acting as a mediator that prevents direct access to client data while still enabling script functionality. This resolves the contradiction by allowing script execution without compromising data security.
Solution Approach 2:
The execution environment is segmented into separate virtual machines, each isolated from others and from the host client machine. This segmentation creates discrete execution spaces where untrusted code cannot access other client data or files, resolving the security concern while maintaining execution capability.
2Reliability
If isolation mechanisms are implemented on every client machine, then data security is improved, but system complexity increases
Solution Approach 1:
Instead of implementing isolation mechanisms within the client machine's operating system, a virtual machine serves as an intermediary layer. This approach provides security isolation without modifying or complicating the client's OS, as the virtual machine handles isolation externally through its own isolated environment.
Solution Approach 2:
The isolation mechanism is extracted from the client machine's operating system and implemented separately in the virtual machine layer. This removes the complexity burden from the client OS while maintaining security functionality, as isolation is provided by the virtualization layer rather than the host system.
3Productivity
If synthetic transactions are executed without isolation, then execution speed is maintained, but privacy and security of customer data are compromised
Solution Approach 1:
The execution environment is divided into separate virtual machine segments, each capable of executing synthetic transactions independently. This segmentation enables parallel execution across multiple isolated VMs, maintaining productivity while ensuring that customer data in one segment cannot be accessed by scripts in other segments, thus protecting privacy.
Solution Approach 2:
The virtual machine acts as an intermediary that processes synthetic transactions while maintaining isolation boundaries. This allows transactions to execute at full speed through the virtualized environment while the intermediary layer ensures data privacy by preventing unauthorized access between different execution contexts.
Data Source
AI summary
Code intended to operate in an operating system without an isolation mechanism is executed in isolation. The present system enables synthetic transactions to be executed in isolation without affecting other client data and files. Isolation may be outsourced to a separate set of servers that have an operating system which does support isolation. A handshake or other protocol is utilized to maintain secure data and communication. Untrusted script code provided by a customer is isolated in one or more remote servers. To execute the script on a client machine, a key is provided to access this script. A machine at which the script is to be run is provided with the key and the address of the script code on the remote server. A secure connection is established between the client machine and the script code server and script is executed on the client machine.


