Dynamic File Format Adjustment for Untrusted Code Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cybersecurity infrastructure is insecure and easily subverted by cybercriminals, leading to economic losses as it fails to effectively manage untrusted data and detect unknown vulnerabilities, with existing methods focusing on scanning for known viruses and relying on detection and quarantine approaches that are inadequate against emerging threats.
Innovation Solution
Implementing a dynamic operating system micro-virtualization approach that uses multiple independent virtual machines to isolate and manage untrusted code and data, with a trusted virtual machine (VM0) serving as the root of trust, and untrusted code virtual machines (UCVMs) for handling potentially malicious data, ensuring secure execution and minimizing risk through isolation and controlled access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional virus scanning and quarantine methods are used, then known viruses can be detected, but emerging threats and unknown vulnerabilities cannot be effectively detected
Solution Approach 1:
The system segments the execution environment into multiple isolated virtual machines. Untrusted code is executed in sandboxed VMs separate from the trusted host system, allowing detection and analysis without compromising overall system reliability. This segmentation enables the system to handle both known viruses (through traditional scanning) and emerging threats (through isolated execution and behavioral analysis).
Solution Approach 2:
Virtual machines serve as intermediary layers between untrusted code and the trusted host system. The VMs act as mediators that can execute potentially malicious code while preventing direct access to system resources, thereby improving adaptability to new threats without compromising detection reliability of known viruses.
2Speed
If untrusted code is executed directly on the host system, then processing speed is faster, but system security is compromised
Solution Approach 1:
The execution environment is segmented into isolated virtual machines that provide fast code execution through optimized virtualization. The segmentation ensures that even if untrusted code executes quickly, any harmful effects are contained within the VM boundaries and cannot affect the host system, thus maintaining security while preserving speed.
Solution Approach 2:
Instead of executing untrusted code directly on the host, the system creates virtual copies (virtual machines) that replicate the necessary execution environment. These copied environments provide the speed needed for code execution while isolating any potential harm, as the VMs are disposable and can be destroyed after execution without affecting the actual host system.
3Reliability
If multiple virtual machines are used to isolate untrusted code, then system security is improved, but device complexity increases
Solution Approach 1:
The virtual machine infrastructure is designed to be universal and multi-functional, serving both security isolation purposes and code execution purposes. By making the VM system versatile, the same infrastructure handles multiple tasks (isolation, execution, analysis, quarantine), reducing overall system complexity despite the presence of multiple VMs.
Solution Approach 2:
The virtual machine system is designed to be self-managing, with automated creation, execution, and destruction of VMs based on security policies. The system automatically handles the complexity of managing multiple VMs through self-service mechanisms, reducing the burden on users and administrators while maintaining high security standards.
Data Source
AI summary
Approaches for an operating system to ascertain whether files stored its file system have been deemed trustworthy. When an operating system receives a request to perform an operation involving a file that is stored within the file system maintained by the operating system, the operating system requests the file from a driver. In turn, the driver consults a set of trust data to identify whether the file has been previously deemed trustworthy. Upon the driver determining that the file has been deemed trustworthy, the driver provides the file to the operating system in a first format. On the other hand, upon the driver determining that the file has not been deemed trustworthy, the driver provides the file to the operating system in a second format that is different than the first format. Advantageously, the file is stored in a single format in the file system.


