IP Library Granted Patent US 8,312,545
Granted Patent B2
US 8,312,545 · App. 11/697,668 · Granted Nov 13, 2012

Non-signature malware detection system and method for mobile platforms

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 8,312,545
App. No.
11/697,668
Granted
Nov 13, 2012
Kind
B2
Abstract

A system and method for detecting malware on a mobile platform in a mobile network. The system and method verifies that an executable is malware-free by computing the checksum of the executable and comparing that checksum with a checksum obtained from a malware-free copy of the executable. The checksum is a sum of all 32-bit values in a code section and an import section of said executable, a byte sequence at an entry point in said executable, a size descriptor of an import table, a size descriptor of said import section, a cyclic redundancy check of said executable, or a combination thereof.

Claims (38)

1. A method of detecting malware on a mobile platform, the method comprising:

selecting an executable on the mobile platform as a selected executable;

obtaining a malware-free checksum for the selected executable;

computing a recomputed checksum for the selected executable in response to the selection, wherein computing the recomputed checksum comprises deriving the recomputed checksum from a plurality of checksum parameters including a sum of all 32-bit values in a code section and an import section of the executable, a byte sequence at an entry point in the executable, a size descriptor of an import table, and a size descriptor of the import section;

comparing the recomputed checksum with the malware-free checksum for the selected executable; and

preventing execution of the executable following the selection when the recomputed checksum does not match the malware-free checksum, based on the comparison.

2. The method of claim 1 , further comprising pre-loading a set of pre-defined malware-free checksums for a known configuration of executables onto the mobile platform, and wherein obtaining the malware-free checksum comprises obtaining the malware-free checksum from the set of pre-defined malware-free checksums.

3. The method of claim 1 , further comprising:

before receiving the selection of the executable, loading the executable on the mobile platform; and

when the executable is loaded on the mobile platform, computing the malware-free checksum for the executable.

4. The method of claim 1 , wherein selecting of an executable occurs when the mobile platform executes the executable.

5. The method of claim 1 , wherein the selecting of an executable occurs when an operating system of the mobile platform detects a change to the executable.

6. The method of claim 5 , wherein detecting the change to the executable comprises:

constructing a tree structure of information detailing a directory structure for a file system of the operating system, the file system comprising one or more directory folders, each of the directory folders containing a respective set of one or more files;

creating, for each directory folder, a monitor that actively monitors the operating system for a change in the file system; and,

for each of the monitors:

scanning the directory folder for one or more changes to the set of files when the operating system indicates the change in the file system;

updating the tree structure of information if one or more changes to the set of files is detected; and,

selecting a changed file when the changed file is an executable as the selected executable.

7. The method of claim 1 , further comprising:

reporting the selected executable to an operational support system if the recomputed checksum does not match the malware-free checksum.

8. The method of claim 1 , wherein the malware-free checksum is derived from a plurality of checksum parameters including a sum of all 32-bit values in a code section and an import section of a malware-free version of the executable, a byte sequence at an entry point in the malware-free version of the executable, a size descriptor of an import table of the malware-free version of the executable, and a size descriptor of the import section of the malware-free version of the executable.

9. The method of claim 1 , wherein the mobile platform is selected from a group consisting of: a mobile telephone, a smart phone, a mobile computing device, a smart handheld device, and a network element.

10. A system for detecting malware on a mobile platform, comprising one or more hardware-based processors configured to receive a selection of an executable on the mobile platform as a selected executable, obtain a malware-free checksum for the selected executable, compute a recomputed checksum for the selected executable in response to the selection, wherein to compute the checksum, the one or more hardware-based processors are configured to derive the recomputed checksum from a plurality of checksum parameters including a sum of all 32-bit values in a code section and an import section of the executable, a byte sequence at an entry point in the executable, a size descriptor of an import table, and a size descriptor of the import section, compare the recomputed checksum with the malware-free checksum, and prevent the selected executable from executing following the selection when the recomputed checksum does not match the malware-free checksum of the selected executable.

11. The system of claim 10 , further comprising a memory storing a preloaded set of malware-free checksums for a known configuration of executables.

12. The system of claim 10 , wherein the one or more processors are configured to compute the malware-free checksum when the selected executable is initially loaded onto the mobile platform.

13. The system of claim 10 , wherein the selected executable is an executable for which an operating system on the mobile platform has initiated execution.

14. The system of claim 10 , wherein the selected executable is an executable for which an operating system on the mobile platform has detected a file system change.

15. The system of claim 14 , wherein the one or more processors are configured to construct a tree structure of information detailing a directory structure for a file system of the operating system, the file system comprising one or more directory folders, the directory folder containing a subtended set of files, create, for each directory folder, a monitor that actively monitors the operating system for a change in the file system, and, for each of the monitors, scan the directory folder for one or more changes to the set of subtended set of files when the operating system indicates the change in the file system, update the tree structure of information if one or more changes to the set of subtended set of files is detected, and select a changed file when the changed file is an executable.

16. The system of claim 10 , wherein the one or more processors are configured to report the selected executable to an operational support system if the recomputed checksum does not match the malware-free checksum of the selected executable.

17. The system of claim 10 , wherein the malware-free checksum is derived from a plurality of checksum parameters including a sum of all 32-bit values in a code section and an import section of a malware-free version of the executable, a byte sequence at an entry point in the malware-free version of the executable, a size descriptor of an import table of the malware-free version of the executable, and a size descriptor of the import section of the malware-free version of the executable.

18. The system of claim 10 , wherein the mobile platform is selected from a group consisting of a mobile telephone, a smart phone, a mobile computing device, a smart handheld device, and a network element.

19. A non-transitory computer-readable storage medium comprising instructions that, when executed, cause a processor of a mobile platform to:

select an executable on the mobile platform as a selected executable;

obtain a malware-free checksum for the selected executable;

compute a recomputed checksum for the selected executable in response to the selection, wherein the instructions that cause the processor to compute the recomputed checksum comprise instructions that cause the processor to derive the recomputed checksum from a plurality of checksum parameters including a sum of all 32-bit values in a code section and an import section of the executable, a byte sequence at an entry point in the executable, a size descriptor of an import table, and a size descriptor of the import section;

compare the recomputed checksum with the malware-free checksum for the selected executable; and

prevent execution of the executable following the selection when the recomputed checksum does not match the malware-free checksum, based on the comparison.

Assignments (15)
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 3, 2025
From: PULSE SECURE LLC
To: ALTER DOMUS (US) LLC
Reel/Frame 071165/0027 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 053638-0220 Recorded Dec 1, 2020
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: PULSE SECURE, LLC
Reel/Frame 054559/0368 →
SECURITY INTEREST Recorded Aug 29, 2020
From: PULSE SECURE, LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 053638/0220 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 042380/0859 Recorded Aug 29, 2020
From: CERBERUS BUSINESS FINANCE, LLC, AS AGENT
To: PULSE SECURE, LLC
Reel/Frame 053638/0259 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2020
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
Reel/Frame 053271/0307 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL 037338, FRAME 0408 Recorded May 1, 2017
From: US BANK NATIONAL ASSOCIATION
To: PULSE SECURE, LLC
Reel/Frame 042381/0568 →
GRANT OF SECURITY INTEREST PATENTS Recorded May 1, 2017
From: PULSE SECURE, LLC
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 042380/0859 →
SECURITY INTEREST Recorded Dec 21, 2015
From: PULSE SECURE, LLC
To: U.S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037338/0408 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2014
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC
Reel/Frame 034036/0904 →
SECURITY INTEREST Recorded Oct 23, 2014
From: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 034037/0526 →