US 11,720,385 B2
Automated platform to assess commercial off the shelf (COTS) software assurance
Vincent Urias, Albuquerque, NM (US); David Jakob Fritz, Fort Collins, CO (US); Caleb Loverro, Albuquerque, NM (US); and Richard James Strong, Albuquerque, NM (US)
Assigned to National Technology & Engineering Solutions of Sandia, LLC, Albuquerque, NM (US)
Filed by National Technology & Engineering Solutions of Sandia, LLC, Albuquerque, NM (US)
Filed on Jun. 16, 2020, as Appl. No. 16/902,341.
Claims priority of provisional application 62/862,524, filed on Jun. 17, 2019.
Prior Publication US 2020/0394064 A1, Dec. 17, 2020
Int. Cl. G06F 9/455 (2018.01); G06F 8/53 (2018.01); G06F 12/08 (2016.01); G06N 20/00 (2019.01)
CPC G06F 9/45558 (2013.01) [G06F 8/53 (2013.01); G06F 12/08 (2013.01); G06F 2009/45562 (2013.01); G06F 2009/45583 (2013.01); G06F 2009/45587 (2013.01); G06F 2212/151 (2013.01)] 33 Claims
OG exemplary drawing
 
1. A computer-implemented method of verifying software programs, the computer-implemented method comprising:
creating, by a number of processors, a number of virtual machines that simulate a number of computing environments;
running, by the number of processors, a number of software programs on the virtual machines, wherein the software programs have full access to the computing environments simulated by the virtual machines, and wherein source code of the software programs is unavailable;
performing, by the number of processors, virtual machine introspection using a hypervisor as the software programs run on the virtual machines, wherein the virtual machine introspection tracks all memory mappings in the virtual machines including libraries, operating system code, and software program code, and wherein the virtual machines and software programs are unaware that the virtual machine introspection is being performed using the hypervisor;
collecting, by the number of processors, telemetry data about the software programs including any identified threats posed by the software programs to the Gimulatcd computing environments simulated by the virtual machines; and
presenting, by the number of processors, the telemetry data about the software programs to a user via an interface.