IP Library Granted Patent US 10,055,579
Granted Patent B2
US 10,055,579 · App. 15/395,299 · Granted Aug 21, 2018

System resources for sandboxing

Inventor: Yonatan Striem-Amit (Somerville, MA)
Assignee: Cybereason, Inc.
G06F21/53G06F9/45533G06F2221/033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,055,579
App. No.
15/395,299
Granted
Aug 21, 2018
Kind
B2
Abstract

A method, computer program product, and apparatus for implementing a distributed sandbox is disclosed. The method comprises discovering a machine with sufficient resources to run a virtual machine for a process, starting the process in a virtual machine on the discovered machine, if the virtual machine terminates, discovering another machine with sufficient resources to run a virtual machine for a process, and deciding if the process is benign when the virtual machine is finished. Control of the distributed sandbox is done by utilizing a broadcast network.

Claims (50)

1. A method for implementing a distributed sandbox, comprising the steps of:

(A) discovering a machine with sufficient resources to run a virtual machine for a process;

(B) starting the process in a virtual machine on the discovered machine;

(C) returning to (A) if the virtual machine is terminated; and

(D) deciding if the process is benign when the virtual machine is finished;

wherein the process is run in parallel on a sandbox while being allowed to run on a vulnerable system, thereby preventing an associated slowdown with sandboxing.

2. The method of claim 1 , wherein control of the distributed sandbox is done by utilizing a broadcast network in which idle machines listen to a channel and accept responsibility for running a given virtual machine.

3. The method of claim 1 , wherein virtual machines periodically ping so that other machines know that they are still working.

4. The method of claim 1 , wherein the discovering step (A) is done by locating a machine with excess capacity using a peer to peer gossip protocol in which each node knows a limited number of other nodes.

5. The method of claim 1 , wherein a centralized server is used for control and reporting of the distributed sandbox.

6. The method of claim 1 , wherein the discovering step (A) is done using the BitTorrent protocol.

7. The method of claim 1 , further comprising the step of preventing the process to run on vulnerable systems if the process is determined not to be benign in step (D).

8. The method of claim 1 , wherein if an attack is detected in the sandbox it is then mitigated in the vulnerable system.

9. The method of claim 1 , wherein the virtual machine is selected based on the average load on nearby machines, the probability of early termination on a given machine, the speed of copying a program/data, or the peak load on machines.

10. A computer program product for implementing a distributed sandbox on a computer, comprising:

a non-transitory computer readable medium;

a first program instruction for (A) discovering a machine with sufficient resources to run a virtual machine for a process;

a second program instruction for (B) starting the process in a virtual machine on the discovered machine;

a third program instruction for (C) returning to (A) if the virtual machine is terminated;

a fourth program instruction for (D) deciding if the process is benign when the virtual machine is finished;

wherein the process is run in parallel on a sandbox while being allowed to run on a vulnerable system, thereby preventing an associated slowdown with sandboxing; and

wherein said first, second, third, and fourth program instructions are stored on said non-transitory computer readable medium.

11. The computer program product of claim 10 , wherein control of the distributed sandbox is done by utilizing a broadcast network in which idle machines listen to a channel and accept responsibility for running a given virtual machine.

12. The computer program product of claim 10 , wherein virtual machines periodically ping so that other machines know that they are still working.

13. The computer program product of claim 10 , wherein the discovering step (A) is done by locating a machine with excess capacity using a peer to peer gossip protocol in which each node knows a limited number of other nodes.

14. The computer program product of claim 10 , further comprising a fifth program instruction for preventing the process to run on vulnerable systems if the process is determined not to be benign in step (D).

15. An apparatus having a processing unit and a storage device, the apparatus comprising:

a discovering component for (A) discovering a machine with sufficient resources to run a virtual machine for a process;

an initiation component for (B) starting the process in a virtual machine on the discovered machine;

an iteration component for (C) returning to (A) if the virtual machine is terminated; and

a decision component for (D) deciding if the process is benign when the virtual machine is finished;

wherein the process is run in parallel on a sandbox while being allowed to run on a vulnerable system, thereby preventing an associated slowdown with sandboxing.

16. The apparatus of claim 15 , wherein control of the distributed sandbox is done by utilizing a broadcast network in which idle machines listen to a channel and accept responsibility for running a given virtual machine.

17. The apparatus of claim 15 , wherein virtual machines periodically ping so that other machines know that they are still working.

18. The apparatus of claim 15 , wherein the discovering step (A) is done by locating a machine with excess capacity using a peer to peer gossip protocol in which each node knows a limited number of other nodes.

19. The apparatus of claim 15 , further comprising a prevention component for preventing the process to run on vulnerable systems if the process is determined not to be benign in step (D).

20. A method for implementing a distributed sandbox, comprising the steps of:

(A) discovering a machine with sufficient resources to run a virtual machine for a process;

(B) starting the process in a virtual machine on the discovered machine;

(C) returning to (A) if the virtual machine is terminated; and

(D) deciding if the process is benign when the virtual machine is finished;

wherein the virtual machine is selected based on the average load on nearby machines, the probability of early termination on a given machine, the speed of copying a program/data, or the peak load on machines.

21. The method of claim 20 , wherein control of the distributed sandbox is done by utilizing a broadcast network in which idle machines listen to a channel and accept responsibility for running a given virtual machine.

22. The method of claim 20 , wherein virtual machines periodically ping so that other machines know that they are still working.

23. The method of claim 20 , wherein the discovering step (A) is done by locating a machine with excess capacity using a peer to peer gossip protocol in which each node knows a limited number of other nodes.

24. The method of claim 20 , wherein a centralized server is used for control and reporting of the distributed sandbox.

25. The method of claim 20 , wherein the discovering step (A) is done using the BitTorrent protocol.

26. The method of claim 20 , further comprising the step of preventing the process to run on vulnerable systems if the process is determined not to be benign in step (D).

27. The method of claim 20 , wherein the process is run in parallel on a sandbox while being allowed to run on a vulnerable system, thereby preventing an associated slowdown with sandboxing.

28. The method of claim 27 , wherein if an attack is detected in the sandbox it is then mitigated in the vulnerable system.

Assignments (11)
SECURITY INTEREST Recorded Apr 9, 2026
From: CYBEREASON INC.; ALERT LOGIC, LLC
To: ANKURA TRUST COMPANY, LLC
Reel/Frame 075375/0297 →
SECURITY INTEREST Recorded Apr 7, 2026
From: CYBEREASON INC.; ALERT LOGIC, LLC
To: AT&T ENTERPRISES, LLC
Reel/Frame 075377/0304 →
RELEASE OF SECURITY INTEREST (REEL/FRAME 065316/0551 ) Recorded Nov 26, 2025
From: JPMORGAN CHASE BANK, N.A.
To: CYBEREASON INC.
Reel/Frame 073781/0852 →
RELEASE OF SECURITY INTEREST (REEL/FRAME 054517/0199) Recorded Nov 26, 2025
From: JPMORGAN CHASE BANK, N.A.
To: CYBEREASON INC.
Reel/Frame 073781/0912 →
SUPPLEMENT NO. 2 TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 23, 2023
From: CYBEREASON INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065316/0551 →
RELEASE OF SECURITY INTEREST Recorded Jun 26, 2023
From: SOFTBANK CORP.
To: CYBEREASON INC.
Reel/Frame 064108/0725 →
SECURITY INTEREST Recorded May 5, 2023
From: CYBEREASON INC.
To: SOFTBANK CORP.
Reel/Frame 063550/0415 →
RELEASE OF SECURITY INTEREST Recorded Dec 28, 2020
From: SOFTBANK GROUP CORP.
To: CYBEREASON INC.
Reel/Frame 054756/0846 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 25, 2020
From: CYBEREASON INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 054517/0199 →
SHORT-FORM PATENT SECURITY AGREEMENT Recorded Feb 11, 2019
From: CYBEREASON INC.
To: SOFTBANK GROUP CORP.
Reel/Frame 048303/0501 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2016
From: STRIEM-AMIT, YONATAN
To: CYBEREASON INC.
Reel/Frame 041228/0065 →
Continuity (3)
Provisional Application 62273854 · Dec 31, 2015
Provisional Application 62273823 · Dec 31, 2015
Related Publication 20170193223A1 · Jul 6, 2017