IP Library Granted Patent US 12,585,759
Granted Patent B2
US 12,585,759 · App. 17/845,674 · Granted Mar 24, 2026

Application integrity verification

Inventors: Sarat Chandra Chowdary Kongara (San Jose, CA); Nagesh Ayyagari (Bangalore, IN); Fnu Pankaj Kumar (San Jose, CA); Vinoj Ebenezer Stanley (Seattle, WA); Praveen Kalla (Austin, TX)
Assignee: Ivanti, Inc.
G06F21/554G06F21/568G06F21/577G06F2221/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 12,585,759
App. No.
17/845,674
Filed
Jun 21, 2022
Granted
Mar 24, 2026
Kind
B2
Art Unit
2407
USPC
713/193
Abstract

A method of application integrity verification and remediation includes scanning an appliance to identify installed program files associated with an application under analysis deployed at the appliance. The method includes computing a hash value of a first installed file of the installed program files. The method includes determining whether the first installed file exists in vendor program files of the application that are maintained separate from the installed program files. The method includes fetching a hash value of a first vendor file of the vendor program files. The first vendor file corresponds to the first installed file. Responsive to the fetched hash value differing from the computed hash value, the method includes classifying the first installed program file as a compromised file and remediating the compromised file at the network appliance.

Claims (60)

1 . A method of software application integrity verification and remediation, the method comprising:

performing an out-of-band scan of the network appliance to identify installed program files at the network appliance, wherein the out-of-band scan is performed without interfering with normal operation of applications on the network appliance and while the applications are running on the network appliance, the installed program files correspond to the applications, and the installed program files are associated with a vendor-supplied software application under analysis that is deployed at the network appliance;

computing a hash value of a first installed program file of the installed program files, wherein the computed hash value is a representation of content of the first installed program file;

determining whether the first installed program file exists in vendor program files of the vendor-supplied software application under analysis, the vendor program files being maintained separate from the installed program files;

responsive to a determination that the first installed program file exists in the vendor program files:

fetching a hash value of a first vendor program file of the vendor program files, wherein the first vendor program file corresponds to the first installed program file, and the fetched hash value is a representation of content of the first vendor program file;

determining whether the fetched hash value matches the computed hash value, wherein a difference between the fetched hash value and the computed hash value is an indication of an unauthorized modification to the first installed program file; and

responsive to the fetched hash value differing from the computed hash value:

classifying the first installed program file as a compromised file; and

remediating the compromised file at the network appliance, wherein the remediating the compromised file includes:

performing a factory reset of the vendor-supplied software application under analysis;

generating an artifact of the first installed program file;

adding the artifact of the first installed program file to an archive; and

encrypting the archive to prevent further access to the first installed program file to preserve the first installed program file such that a difference in content of the first installed program file relative to the first vendor program file is able to be analyzed.

2 . The method of claim 1 , further comprising responsive to a determination that the first installed program file does not exist in the vendor program files:

classifying the first installed program file as an unauthorized file; and

remediating the unauthorized file at the network appliance.

3 . The method of claim 2 , further comprising responsive to the fetched hash value matching the computed hash value, classifying the first installed program file as a verified program file at the network appliance.

4 . The method of claim 1 , further comprising:

reading an integrity file that includes the vendor program files associated with the vendor-supplied software application; and

populating a first hash map based on the integrity file, the first hash map including a list of the vendor program files and hash values of the vendor program files.

5 . The method of claim 4 , wherein:

the determining whether the first installed program file exists in vendor program files includes determining whether the first installed program file exists in the first hash map;

the hash value is fetched from the first hash map; and

the first hash map is formatted according to a bill of materials (BOM) file format.

6 . The method of claim 1 , wherein the scanning the network appliance is performed responsive to a clock signal.

7 . The method of claim 1 , wherein the vendor-supplied software application under analysis includes:

an encrypted application running in a client environment; or

a Linux-based application.

8 . The method of claim 1 , wherein the applications are running such that a malicious actor does not know that the integrity verification and remediation operations are underway.

9 . A non-transitory computer-readable medium having encoded therein programming code executable by one or more processors to perform or control performance of operations of software application integrity verification and remediation, the operations comprising:

performing an out-of-band scan of the network appliance to identify installed program files at the network appliance, wherein the out-of-band scan is performed without interfering with normal operation of applications on the network appliance and while the applications are running on the network appliance, the installed program files correspond to the applications, and the installed program files are associated with a vendor-supplied software application under analysis that is deployed at the network appliance;

computing a hash value of a first installed program file of the installed program files, wherein the computed hash value is a representation of content of the first installed program file;

determining whether the first installed program file exists in vendor program files of the vendor-supplied software application under analysis, the vendor program files being maintained separate from the installed program files;

responsive to a determination that the first installed program file exists in the vendor program files:

fetching a hash value of a first vendor program file of the vendor program files, wherein the first vendor program file corresponds to the first installed program file, and the fetched hash value is a representation of content of the first vendor program file;

determining whether the fetched hash value matches the computed hash value, wherein a difference between the fetched hash value and the computed hash value is an indication of an unauthorized modification to the first installed program file; and

responsive to the fetched hash value differing from the computed hash value:

classifying the first installed program file as a compromised file; and

remediating the compromised file at the network appliance, wherein the remediating the compromised file includes:

performing a factory reset of the vendor-supplied software application under analysis;

generating an artifact of the first installed program file;

adding the artifact of the first installed program file to an archive; and

encrypting the archive to prevent further access to the first installed program file to preserve the first installed program file such that a difference in content of the first installed program file relative to the first vendor program file is able to be analyzed.

10 . The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise responsive to a determination that the first installed program file does not exist in the vendor program files:

classifying the first installed program file as an unauthorized file; and

remediating the unauthorized file at the network appliance.

11 . The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise responsive to the fetched hash value matching the computed hash value, classifying the first installed program file as a verified program file at the network appliance.

12 . The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise:

reading an integrity file that includes the vendor program files associated with the vendor-supplied software application; and

populating a first hash map based on the integrity file, the first hash map including a list of the vendor program files and hash values of the vendor program files.

13 . The non-transitory computer-readable medium of claim 12 , wherein:

the determining whether the first installed program file exists in vendor program files includes determining whether the first installed program file exists in the first hash map;

the hash value is fetched from the first hash map; and

the first hash map is formatted according to a bill of materials (BOM) file format.

14 . The non-transitory computer-readable medium of claim 9 , wherein the scanning the network appliance is performed responsive to a clock signal.

15 . The non-transitory computer-readable medium of claim 9 , wherein the vendor-supplied software application under analysis includes:

an encrypted application running in a client environment; or

a Linux-based application.

16 . The non-transitory computer-readable medium of claim 9 , wherein the applications are running such that a malicious actor does not know that the integrity verification and remediation operations are underway.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 2, 2025
From: IVANTI, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071164/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2023
From: KONGARA, SARAT CHANDRA CHOWDARY; STANLEY, VINOJ EBENEZER; KALLA, PRAVEEN; KUMAR, FNU PANKAJ; AYYAGARI, NAGESH
To: IVANTI, INC.
Reel/Frame 064593/0095 →
Priority Claims (1)
IN 202111029480 · Jun 30, 2021 · national
Continuity (2)
Provisional Application 63234162 · Aug 17, 2021
Related Publication 20230004642A1 · Jan 5, 2023
References Cited (7)
US 9939475B2 · Collins · 2018 [cited by examiner]
US 20080271019A1 · Stratton · 2008 [cited by examiner]
US 20200387611A1 · Yao · 2020 [cited by examiner]
US 20200401693A1 · Yamato · 2020 [cited by examiner]
US 20230254143A1 · Yu · 2023 [cited by examiner]
CN 105302803A · 2016 [cited by examiner]
WO WO9939475A1 · 1999 [cited by examiner]