FRAMEWORK FOR RUNNING UNTRUSTED CODE
First Claim
Patent Images
1. A method for performing a task, comprising:
- booting into a first operating system maintained by a first file system, the first operating system being protected by a file protection mechanism;
checking, by an agent, to determine if a second operating system has been corrupted, the second operating system being maintained by a second file system;
storing the state of the second operating system, when said checking determines that the second operating system has not been corrupted;
providing task functionality at a location that is accessible to the second file system;
booting into the second file system;
performing a task using the task functionality, using the second operating system;
storing results of the task;
booting back into the first operating system;
retrieving, by the agent, the results; and
restoring the second file system to an original state based on the state that has been stored.
3 Assignments
0 Petitions
Accused Products
Abstract
A processing platform is described herein for performing a task on a physical system. For example, the task may entail testing untrusted code on the physical system. The processing platform provides the same isolation guarantees as a virtual machine, but without using a virtual machine. A processing framework is also described herein which includes two or more processing platforms, together with a control system for administering the operations performed by the processing platforms.
74 Citations
20 Claims
-
1. A method for performing a task, comprising:
-
booting into a first operating system maintained by a first file system, the first operating system being protected by a file protection mechanism; checking, by an agent, to determine if a second operating system has been corrupted, the second operating system being maintained by a second file system; storing the state of the second operating system, when said checking determines that the second operating system has not been corrupted; providing task functionality at a location that is accessible to the second file system; booting into the second file system; performing a task using the task functionality, using the second operating system; storing results of the task; booting back into the first operating system; retrieving, by the agent, the results; and restoring the second file system to an original state based on the state that has been stored. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A processing platform for performing a task, comprising:
-
a first file system for providing a first operating system; a file protection mechanism for protecting information that is provided by the first operating system; a second file system for providing a second operating system, an agent configured to determine whether the second operating system has been corrupted, task functionality configured to perform a task using the second operation system, to provide results; a data store for storing the results; and reversion functionality configured to store a state of the second operating system, and to revert to the state that has been stored, following the execution of the task, the first operating system being isolated from processing performed by the second operating system. - View Dependent Claims (15, 16, 17)
-
-
18. A processing framework comprising:
-
a control system for administering a test to be performed on at least one application, the application representing untrusted code; at least one processing platform for performing the test, each processing platform comprising; a first file system for providing a first operating system; a file protection mechanism for protecting information that is provided by the first operating system; a second file system for providing a second operating system, an agent configured to determine whether the second operating system has been corrupted, task functionality configured to perform the test using the second operation system, to provide results; a data store for storing the results; and reversion functionality configured to store a state of the second operating system, and to revert to the state that has been stored following the execution of the test; and an encrypted channel for coupling the control system with said at least one processing platform. - View Dependent Claims (19, 20)
-
Specification