1. A computer-implemented method, the method comprising: initializing a first descriptor table associated with a first permission level; generating a random location for a second descriptor table, wherein the random location is a location that is not determinable by user mode software processes using commands associated with a hardware processor initializing the second descriptor table at the random location, wherein the second descriptor table is associated with a second permission level that is different from the first permission level, the first descriptor table and the second descriptor table are associated with the hardware processor and initialized by an operating system kernel, the first permission level is read only and the second permission level is read write; in response to a descriptor table address request, providing a memory address associated with the first descriptor table, wherein the descriptor table address request is provided by at least one user mode software process; and in response to an update request for the first descriptor table by the at least one user mode software process, updating the second descriptor table responsive to the operating system kernel determining that the update request is valid and trusted, wherein the location of the second descriptor table is not revealed to the at least one user mode software process.