Time Varying Address Space Layout Randomization
First Claim
1. A method of time varying address space layout randomization on a computing device, comprising:
- launching a first plurality of versions of a system service;
assigning a random virtual address space layout to each of the first plurality of versions of the system service;
receiving a first request to execute the system service from a first application;
randomly selecting a first version of the system service from the first plurality of versions of the system service; and
executing the system service using data of the first version of the system service.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments include computing devices, apparatus, and methods implemented by the apparatus for time varying address space layout randomization. The apparatus may launch first plurality of versions of a system service and assign a random virtual address space layout to each of the first plurality of versions of the system service. The apparatus may receive a first request to execute the system service from a first application. The apparatus may randomly select a first version of the system service from the first plurality of versions of the system service, and execute the system service using data of the first version of the system service.
-
Citations
36 Claims
-
1. A method of time varying address space layout randomization on a computing device, comprising:
-
launching a first plurality of versions of a system service; assigning a random virtual address space layout to each of the first plurality of versions of the system service; receiving a first request to execute the system service from a first application; randomly selecting a first version of the system service from the first plurality of versions of the system service; and executing the system service using data of the first version of the system service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computing device, comprising:
-
a launcher configured to perform operations comprising launching a first plurality of versions of a system service; a mapper communicatively connected to the launcher and configured to perform operations comprising assigning a random virtual address space layout to each of the first plurality of versions of the system service; a request coordinator communicatively connected to the launcher and configured to perform operations comprising; receiving a first request to execute the system service from a first application; randomly selecting a first version of the system service from the first plurality of versions of the system service; and a processor communicatively connected to the request coordinator and configured with executable instructions to perform operations comprising executing the system service using data of the first version of the system service. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computing device, comprising:
-
means for launching a first plurality of versions of a system service; means for assigning a random virtual address space layout to each of the first plurality of versions of the system service; means for receiving a first request to execute the system service from a first application; means for randomly selecting a first version of the system service from the first plurality of versions of the system service; and means for executing the system service using data of the first version of the system service. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a computing device to perform operations comprising:
-
launching a first plurality of versions of a system service; assigning a random virtual address space layout to each of the first plurality of versions of the system service; receiving a first request to execute the system service from a first application; randomly selecting a first version of the system service from the first plurality of versions of the system service; and executing the system service using data of the first version of the system service. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
Specification