IP Library Granted Patent US 9,800,590
Granted Patent B1
US 9,800,590 · App. 14/749,683 · Granted Oct 24, 2017

Systems and methods for threat detection using a software program update profile

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 9,800,590
App. No.
14/749,683
Granted
Oct 24, 2017
Kind
B1
Abstract

The disclosed computer-implemented method for threat detection using a software program update profile may include (1) building an update behavioral model that identifies legitimate update behavior for a software application by (a) monitoring client devices for update events associated with the software application and (b) analyzing the update events to identify the legitimate update behavior of the software application, (2) using the update behavioral model to identify suspicious behavior on a computing system by (a) detecting an update instance on the computing system, (b) comparing the update instance with the legitimate update behavior identified in the update behavioral model, and (c) determining, based on the comparison of the update instance with the legitimate update behavior, that the update instance is suspicious, and (3) in response to determining that the update instance is suspicious, performing a security action. Various other methods, systems, and computer-readable media are also disclosed.

Claims (117)

1. A computer-implemented method for threat detection using a software program update profile, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

building an update behavioral model that identifies legitimate update behavior for a software application by:

monitoring at least one client device for at least one update event associated with updating the software application prior to executing the updated software application by:

monitoring at least one process to detect at least one update event initiated by the process;

detecting that the update event initiated by the process modified at least one executable file;

determining that the executable file is associated with the software application; and

determining, based on the executable file being associated with the software application, that the update event initiated by the process is associated with the software application; and

analyzing the at least one update event initiated by the process to identify the legitimate update behavior for the software application;

using the update behavioral model to identify suspicious update behavior on a computing system by:

detecting an instance of software application update on the computing system;

comparing the instance of software application update with the legitimate update behavior identified in the update behavioral model; and

determining, based on the comparison of the instance of software application update with the legitimate update behavior, that the instance of software application update is suspicious; and

in response to determining that the instance of software application update is suspicious, performing a security action that blocks execution of the instance of software application update.

2. The computer-implemented method of claim 1 , wherein analyzing the at least one update event initiated by the process to identify the legitimate update behavior for the software application comprises at least one of:

identifying an update creator;

identifying an update distributor;

identifying a file system location of at least one file modified by the update of the software application;

identifying a process hierarchy for at least one update process;

calculating a digital fingerprint identifying the update of the software application;

compiling a history of network communications of at least one update process;

identifying an operating system version of the client device;

identifying a language configuration of the client device; and

identifying a locality configuration of the client device.

3. The computer-implemented method of claim 1 , wherein analyzing the at least one update event initiated by the process to identify the legitimate update behavior for the software application further comprises:

aggregating update event data from a plurality of client devices; and

analyzing the aggregated update event data to identify variations in update events within the update behavioral model.

4. The computer-implemented method of claim 3 , further comprising analyzing the aggregated update event data to identify at least one of:

common features of a plurality of update behavioral models related to a plurality of version updates to the software application;

a timing pattern of the version updates to the software application; and

common features of update behavioral models related to a plurality of software applications from a single software developer.

5. The computer-implemented method of claim 1 , wherein determining that the instance of software application update is suspicious comprises determining that the instance of software application update differs from the legitimate update behavior identified in the update behavioral model by at least a threshold.

6. The computer-implemented method of claim 5 , wherein determining that the instance of software application update differs from the legitimate update behavior identified in the update behavioral model by at least a threshold comprises at least one of:

identifying at least one process associated with the instance of software application update that is not associated with the update behavioral model;

identifying file activity associated with the instance of software application update that is not associated with the update behavioral model; and

identifying registry modification activity associated with the instance of software application update that is not associated with the update behavioral model.

7. The computer-implemented method of claim 1 , wherein the at least one update event initiated by the process comprises at least one of:

receiving a signal to initiate an update of the software application;

communicating with an update service;

receiving a file from a network device;

modifying a file;

creating a file;

moving a file;

renaming a file;

overwriting a portion of a file; and

modifying a registry entry.

8. The computer-implemented method of claim 7 , wherein:

the at least one update event initiated by the process comprises receiving the signal to initiate the update of the software application; and

the signal to initiate the update of the software application comprises at least one of:

a user action initiating the software application update;

a process connecting to a network device to determine that the software application update is available; and

a message from an update service indicating that the software application update is available.

9. The computer-implemented method of claim 1 , wherein analyzing the at least one update event initiated by the process to identify the legitimate update behavior for the software application comprises analyzing at least one file associated with the at least one update event initiated by the process.

10. A system for threat detection using a software program update profile, the system comprising:

a modeling module, stored in memory, that builds an update behavioral model that identifies legitimate update behavior for a software application by:

monitoring at least one client device for at least one update event associated with updating the software application prior to executing the updated software application by:

monitoring at least one process to detect at least one update event initiated by the process;

detecting that the update event initiated by the process modified at least one executable file;

determining that the executable file is associated with the software application; and

determining, based on the executable file being associated with the software application, that the update event initiated by the process is associated with the software application; and

analyzing the at least one update event initiated by the process to identify the legitimate update behavior for the software application;

an application module, stored in memory, that uses the update behavioral model to identify suspicious update behavior on a computing system by:

detecting an instance of software application update on the computing system;

comparing the instance of software application update with the legitimate update behavior identified in the update behavioral model; and

determining, based on the comparison of the instance of software application update with the legitimate update behavior, that the instance of software application update is suspicious;

a security module that, in response to determining that the instance of software application update is suspicious, performs a security action that blocks execution of the instance of software application update; and

at least one physical processor configured to execute the modeling module, the application module, and the security module.

11. The system of claim 10 , wherein the modeling module analyzes the at least one update event initiated by the process to identify the legitimate update behavior for the software application by at least one of:

identifying an update creator;

identifying an update distributor;

identifying a file system location of at least one file modified by the update of the software application;

identifying a process hierarchy for at least one update process;

calculating a digital fingerprint identifying the update of the software application;

compiling a history of network communications of at least one update process;

identifying an operating system version of the client device;

identifying a language configuration of the client device; and

identifying a locality configuration of the client device.

12. The system of claim 10 , wherein the modeling module analyzes the at least one update event initiated by the process to identify the legitimate update behavior for the software application further by:

aggregating update event data from a plurality of client devices; and

analyzing the aggregated update event data to identify variations in update events within the update behavioral model.

13. The system of claim 12 , wherein the modeling module analyzes the aggregated update event data to identify at least one of:

common features of a plurality of update behavioral models related to a plurality of version updates to the software application;

a timing pattern of the version updates to the software application; and

common features of update behavioral models related to a plurality of software applications from a single software developer.

14. The system of claim 10 , wherein the application module determines that the instance of software application update is suspicious by determining that the instance of software application update differs from the legitimate update behavior identified in the update behavioral model by at least a threshold.

15. The system of claim 14 , wherein the application module determines that the instance of software application update differs from the legitimate update behavior identified in the update behavioral model by at least a threshold by at least one of:

identifying at least one process associated with the instance of software application update that is not associated with the update behavioral model;

identifying file activity associated with the instance of software application update that is not associated with the update behavioral model; and

identifying registry modification activity associated with the instance of software application update that is not associated with the update behavioral model.

16. The system of claim 10 , wherein the at least one update event initiated by the process comprises at least one of:

receiving a signal to initiate an update of the software application;

communicating with an update service;

receiving a file from a network device;

modifying a file;

creating a file;

moving a file;

renaming a file;

overwriting a portion of a file; and

modifying a registry entry.

17. The system of claim 16 , wherein:

the at least one update event initiated by the process comprises receiving the signal to initiate the update of the software application; and

the signal to initiate the update of the software application comprises at least one of:

a user action initiating the software application update;

a process connecting to a network device to determine that the software application update is available; and

a message from an update service indicating that the software application update is available.

18. A non-transitory computer-readable medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

build an update behavioral model that identifies legitimate update behavior for a software application by:

monitoring at least one client device for at least one update event associated with updating the software application prior to executing the updated software application by:

monitoring at least one process to detect at least one update event initiated by the process;

detecting that the update event initiated by the process modified at least one executable file;

determining that the executable file is associated with the software application; and

determining, based on the executable file being associated with the software application, that the update event initiated by the process is associated with the software application; and

analyzing the at least one update event initiated by the process to identify the legitimate update behavior for the software application;

use the update behavioral model to identify suspicious update behavior on a computing system by:

detecting an instance of software application update on the computing system;

comparing the instance of software application update with the legitimate update behavior identified in the update behavioral model; and

determining, based on the comparison of the instance of software application update with the legitimate update behavior, that the instance of software application update is suspicious; and

in response to determining that the instance of software application update is suspicious, perform a security action that blocks execution of the instance of software application update.

Assignments (6)
CHANGE OF NAME Recorded Feb 6, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 062714/0605 →
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Feb 14, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 051935/0228 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2015
From: GATES, CHRISTOPHER; ROUNDY, KEVIN; BHATKAR, SANDEEP; KASHYAP, ANAND; LIU, YIN; PARKER-WOOD, ALEATHA; YUMER, LEYLYA
To: SYMANTEC CORPORATION
Reel/Frame 035965/0240 →