| CPC G06F 21/53 (2013.01) [G06F 8/65 (2013.01); G06F 9/455 (2013.01); G06F 21/566 (2013.01); G06F 21/577 (2013.01); G06Q 40/08 (2013.01); H04L 63/1425 (2013.01); H04L 63/1433 (2013.01); G06F 11/3058 (2013.01); G06F 2221/033 (2013.01); G06F 2221/2149 (2013.01); G06N 20/00 (2019.01); G06Q 50/01 (2013.01)] | 4 Claims |

|
1. A system for sandboxed software analysis with automated vulnerability detection, comprising:
a computing device comprising a memory and a processor;
a business operating system comprising a first plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the first plurality of programming instructions, when operating on the processor, cause the computing device to:
receive a file comprising executable machine code;
identify a type of device on which the executable machine code will operate;
transfer the executable machine code to a sandbox environment, the sandbox environment comprising a controlled environment that emulates functionality of the identified type of device;
receive an identified vulnerability from the sandbox environment; and
change an operational behavior of a real device of the identified type of device to prevent exploitation of the identified vulnerability through either address space layout randomization or data execution prevention;
wherein the sandbox environment comprises a second plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the second plurality of programming instructions, when operating on the processor, cause the computing device to:
receive the executable machine code from the business operating system;
create a first emulated environment configured to represent the identified type of device;
execute the executable machine code within the first emulated environment;
identify an irregularity in the execution of the executable machine code, the irregularity comprising two or more of the following activities performed in suspicious ways not normally performed by benign software: memory scanning, deletion of the file containing the executable machine code from storage media, access of system files, access of permissions, access of security settings, and access of network adapters;
identify a vulnerability of the identified type of device being targeted by the identified irregularity in the execution of the executable machine code; and
send the identified vulnerability to the business operating system.
|