×

Evaluating results of multiple virtual machines that use application randomization mechanism

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

1. A method comprising:

  • initializing, by a computing system, a plurality of virtual machines (VMs), wherein initializing the plurality of VMs comprises;

    for at least one particular VM of the plurality of VMs;

    generating, by the computing system, a randomized instance of an operating system for the particular VM, wherein the randomized instance of the operating system for the particular VM has a randomized Application Binary Interface (ABI), the randomized ABI being a randomized version of an ABI of the operating system; and

    installing, by the computing system, the randomized instance of the operating system for the particular VM on the particular VM; and

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

    receiving, by the computing system, a series of incoming messages from a client device;

    distributing, by the computing system, a copy of each incoming message in the series of incoming messages to each VM of the plurality of VMs;

    receiving, by the computing system, results generated by the plurality of VMs in response to the series of incoming messages, wherein the results generated by the VMs in response to the series of incoming messages include a first result different from a second result if code executing in one of the VMs uses the randomized version of the ABI and code executing in another one of the VMs uses a publicly available version of the ABI, the publicly available version of the ABI being different from the randomized version of the ABI;

    performing, by the computing system, a comparison on the results; and

    in response to the comparison revealing that two or more of the results are not the same, performing, by the computing system, a cybersecurity defense action.

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