IP Library Granted Patent US 11,537,722
Granted Patent B1
US 11,537,722 · App. 16/861,339 · Granted Dec 27, 2022

Passive software identification for vulnerability management

Inventor: Sheung Hei Joseph Yeung (Toronto, CA)
Assignee: Rapid7, Inc.
G06F21/577G06F8/71G06F9/44505G06F21/51G06F21/552G06F21/554G06F21/566
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 11,537,722
App. No.
16/861,339
Granted
Dec 27, 2022
Kind
B1
Abstract

Disclosed herein are methods, systems, and processes to perform passive and realtime software identification and data collection for vulnerability management. Vulnerability management based on agent-collected event data involves monitoring a process start event associated with an application executing on a computing device that is part of a network, identifying a binary location of the process start event, and based on the binary location, identifying a software type of the application and a version of the software type. Vulnerability management based on event data in logs involves monitoring the process start event for configuration or file changes, generating fingerprint rules by mapping the configuration or files changes and the process start event associated with a software installation or an upgrade of the software, and processing log data to fingerprint the software type and the version of the software type. Agent-collected event data and event data in logs can be amalgamated to perform software and version identification for vulnerability management.

Claims (47)

1. A computer-implemented method, comprising:

monitoring, using an agent, a process start event associated with an application executing on a computing device that is part of a network;

identifying a binary location of the process start event;

based on the binary location of the process start event, determining a software type of the application and a version of the software type;

accessing a record of previously processed binaries;

if a binary in the binary location of the process start event is part of the record of previously processed binaries, inhibiting the processing of the binary; and

determining whether the binary should be processed to determine the software type of the application and the version of the software type based on a frequency of the process start event.

2. The computer-implemented method of claim 1 , further comprising:

monitoring the process start event for one or more configuration modifications or one or more file modifications.

3. The computer-implemented method of claim 2 , further comprising:

generating one or more fingerprint rules by mapping the one or more file modifications and one or more events associated with a software installation or an upgrade of the application.

4. The computer-implemented method of claim 3 , further comprising:

processing log data comprising the process start event with the one or more fingerprint rules to fingerprint the software type and the version of the software type.

5. The computer-implemented method of claim 1 , further comprising:

identifying a vulnerability associated with the software type and the version of the software type; and

quarantining the application from being accessed by the computing device and one or more other computing device that are part of the network.

6. A non-transitory computer readable storage medium comprising program instructions executable to:

monitor, using an agent, a process start event associated with an application executing on a computing device that is part of a network;

identify a binary location of the process start event;

based on the binary location of the process start event, determine a software type of the application and a version of the software type;

access a record of previously processed binaries;

if a binary in the binary location of the process start event is part of the record of previously processed binaries, inhibit the processing of the binary; and

determine whether the binary should be processed to determine the software type of the application and the version of the software type based on a frequency of the process start event.

7. The non-transitory computer readable storage medium of claim 6 , further comprising program instructions executable to:

monitor the process start event for one or more configuration modifications or one or more file modifications; and

generate one or more fingerprint rules by mapping the one or more file modifications and one or more events associated with a software installation or an upgrade of the application.

8. The non-transitory computer readable storage medium of claim 7 , further comprising program instructions executable to:

process log data comprising the process start event with the one or more fingerprint rules to fingerprint the software type and the version of the software type.

9. The non-transitory computer readable storage medium of claim 6 , further comprising program instructions executable to:

identify a vulnerability associated with the software type and the version of the software type; and

quarantine the application from being accessed by the computing device and one or more other computing device that are part of the network.

10. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

monitor, using an agent, a process start event associated with an application executing on a computing device that is part of a network;

identify a binary location of the process start event;

based on the binary location of the process start event, determine a software type of the application and a version of the software type;

access a record of previously processed binaries;

if a binary in the binary location of the process start event is part of the record of previously processed binaries, inhibit the processing of the binary; and

determine whether the binary should be processed to determine the software type of the application and the version of the software type based on a frequency of the process start event.

11. The system of claim 10 , further comprising program instructions executable by the one or more processers to:

identify a vulnerability associated with the software type and the version of the software type; and

quarantine the application from being accessed by the computing device and one or more other computing device that are part of the network.

12. The system of claim 10 , further comprising program instructions executable by the one or more processers to:

monitor the process start event for one or more configuration modifications or one or more file modifications;

generate one or more fingerprint rules by mapping the one or more file modifications and one or more events associated with a software installation or an upgrade of the application; and

process log data comprising the process start event with the one or more fingerprint rules to fingerprint the software type and the version of the software type.

Assignments (2)
SECURITY INTEREST Recorded Jun 26, 2025
From: RAPID7, INC.; RAPID7 LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 071743/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: YEUNG, SHEUNG HEI JOSEPH
To: RAPID7, INC.
Reel/Frame 053767/0433 →