Proxy Driver for Secure File Indirection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing environments, transferring files between trusted and untrusted virtual machines is challenging due to security concerns, as untrusted domains may compromise the integrity of shared data, and existing solutions lack efficient mechanisms for secure data indirection.
Innovation Solution
A method involving a proxy driver that intercepts file system calls in the guest domain, aliases shared data files, and passes file system calls to a trusted domain for execution using shared memory, allowing secure access and management of shared files while maintaining data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If files are shared between trusted and untrusted domains, then data accessibility is improved, but data integrity and security deteriorate
Solution Approach 1:
A proxy driver is introduced as an intermediary component in the untrusted domain that intercepts file system calls and forwards them to the trusted domain. This mediator ensures that untrusted applications cannot directly access or corrupt trusted files, while still enabling necessary file operations through controlled proxy execution, thus resolving the contradiction between accessibility and integrity
2Productivity
If direct file access is allowed from guest domain to trusted domain, then operation efficiency is improved, but security risks increase
Solution Approach 1:
The proxy driver serves as a security intermediary that maintains efficient file operations by handling common file system calls locally when safe, while automatically escalating to the trusted domain only when necessary. This approach preserves operational efficiency while eliminating direct security risks through controlled mediation
3Reliability
If file system calls are intercepted and proxied, then data security is improved, but system complexity increases
Solution Approach 1:
The proxy driver implements self-service mechanisms by maintaining a cache of file system operations and automatically handling routine file access requests without requiring continuous trusted domain involvement. This self-managing capability reduces the overall system complexity while maintaining security through selective proxy execution
Data Source
AI summary
Methods and systems for performing file transfers across different domains hosted by a virtualization server are described herein. A trusted domain (Dom 0) may indicate that one or more files, directories, and/or volumes are available to a second domain (guest domain) by updating share information stored in a key value store. The guest domain may enumerate the shared files to appear as if within its own file system structure. The guest domain intercepts calls to its file system, determines whether the requested data is actually stored in its own file system or in trusted domain, and proxies the file system call to the trusted domain when the requested data is shared by the trusted domain. Key value store information and shared data information and contents may be communicated using one or more memories shared between the trusted domain and guest domain.


