×

Application randomization mechanism

  • US 10,284,592 B1
  • Filed: 05/25/2017
  • Issued: 05/07/2019
  • Est. Priority Date: 12/17/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • initializing, by a computing system comprising one or more processors, a plurality of virtual machines (VMs), wherein initializing the plurality of VMs comprises, for each respective VM of the plurality of VMs, initializing the respective VM, wherein initializing the respective VM comprises;

    generating, by the computing system, a respective randomized instance of an operating system, the respective randomized instance of the operating system having a respective randomized system call numbering scheme for the respective VM that associates a plurality of system calls of the operating system with a respective randomized set of call numbers different from a publicly available set of call numbers associated with the system calls of the operating system;

    generating, by the computing system, a respective randomized instance of a software program, the respective randomized instance of the software program configured to use the respective randomized system call numbering scheme for the respective VM to invoke one or more of the system calls of the operating system using a respective one or more of the respective randomized set of call numbers; and

    installing, by the computing system, the respective randomized instance of the operating system and the respective randomized instance of the software program on the respective VM,wherein the randomized system call numbering schemes for the VMs are different in each of the randomized instances of the operating system;

    deploying, by the computing system, the plurality of VMs;

    determining, by the computing system, that a first software process running on a VM of the plurality of VMs has invoked a system call;

    determining, by the computing system, whether the first software process invoked the system call using a call number in the randomized set of call numbers of the randomized system call numbering scheme for the VM; and

    responsive to determining that the first software process invoked the system call not using any call number in the randomized set of call numbers of the randomized system call numbering scheme for the VM, performing, by the computing system, a cybersecurity defense action;

    determining, by the computing system, that a second software process running on the VM has invoked the system call;

    determining, by the computing system, whether the second software process invoked the system call using the call number in the randomized set of call numbers; and

    responsive to determining that the second software process invoked the system call using the call number in the randomized call numbering scheme for the VM, executing, by the computer system, the system call corresponding to the call number without performing the cybersecurity defense action.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×