IP Library Granted Patent US 9,009,818
Granted Patent B2
US 9,009,818 · App. 11/697,658 · Granted Apr 14, 2015

Malware detection system and method for compressed data on mobile platforms

Inventors: George Tuvell (Westerville, OH); Deepak Venugopal (Columbus, OH)
Assignee: Pulse Secure, LLC
G06F21/566G06F21/56G06F21/562G06F21/563G06F21/564G06F21/565H04L63/1441H04L63/145H04W12/12H04W12/10
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,009,818
App. No.
11/697,658
Granted
Apr 14, 2015
Kind
B2
Abstract

A system and method for detecting malware in compressed data. The system and method identifies a set of search strings extracted from compressed executables, each of which is infected with malware from a family of malware. The search strings detect the presence of the family of malware in other compressed executables, fragments of compressed executables, or data streams.

Claims (70)

1. A method of developing search strings for detecting malware in compressed data, the method comprising:

selecting a plurality of malware-infected executables infected with a family of malware, wherein each of the plurality of malware-infected executables comprises a respective compressed code portion;

extracting a plurality of candidate strings from the compressed code portions of the plurality of malware-infected executables;

identifying, by a computing device, at least one of the plurality of candidate strings that is present in each of the plurality of malware-infected executables as a search string common to the compressed code portions of the plurality of malware-infected executables; and

storing the search string common to the plurality of malware-infected executables to a mobile device to cause the mobile device to determine whether target applications including compressed code portions are infected with malware based at least in part on the search string.

2. The method of claim 1 , further comprising:

extracting candidate strings from uncompressed header portions of the plurality of malware-infected executables.

3. The method of claim 1 , wherein the candidate strings are extracted from non-ASCII portions of the compressed code portions of the plurality of malware-infected executables.

4. The method of claim 1 , wherein identifying comprises identifying a plurality of search strings common to the compressed code portions of the plurality of malware-infected executables from the plurality of candidate strings.

5. The method of claim 1 , wherein the searching is performed using an algorithm selected from the group consisting of: a greedy algorithm, a heuristic algorithm, an evolutionary algorithm, and dynamic programming.

6. The method of claim 1 , further comprising:

receiving a target executable with the search string present in the target executable;

incorporating the target executable into the plurality of malware-infected executables;

re-executing the identifying to develop one or more improved search strings; and,

distributing the improved search strings to a platform performing the scanning of the target executable.

7. The method of claim 6 , wherein the distributing the improved search strings is performed using a device independent secure management protocol.

8. A method of detecting malware in compressed data, the method comprising:

obtaining a search string common to compressed code portions of a plurality of malware-infected executables, wherein each of the malware-infected executables is infected with a family of malware;

scanning, by a mobile device, a compressed code portion of a target executable for the search string to detect whether the search string is present in the compressed code portion of the target executable; and

determining that the target executable is infected with malware from the family of malware when the search string is detected by the mobile device in the compressed code portion of the target executable.

9. The method of claim 8 , further comprising:

obtaining a second, different search string extracted from uncompressed header portions of the malware-infected executables; and

scanning an uncompressed header of the target executable for the second search string.

10. The method of claim 8 , further comprising:

reporting the target executable to an operational support system after determining that the search string is present in the compressed code portion of the target executable.

11. The method of claim 8 , wherein the mobile device 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.

12. A system for creating search strings to detect malware in compressed data, the system comprising:

a selecting means for selecting a plurality of malware-infected executables infected with a family of malware, wherein each of the plurality of malware-infected executables comprises a respective compressed code portion;

an extracting means for extracting a plurality of candidate strings from the compressed code portions of the plurality of malware-infected executables;

an identifying means for identifying at least one of the plurality of candidate strings that is present in each of the plurality of malware-infected executables as a search string common to the compressed code portions of the plurality of malware-infected executables; and

a storing means for storing the search string common to the plurality of malware-infected executables to a mobile device to cause the mobile device to determine whether target applications including compressed code portions are infected with malware based at least in part on the search string.

13. The system of claim 12 , wherein the extracting means further comprises means for extracting one or more candidate strings from an uncompressed header portion of the plurality of malware-infected executables.

14. The system of claim 12 , wherein the system is an operational support system.

15. The system of claim 12 , wherein the system further comprises:

a receiving means for receiving a new malware-infected executable infected with the family of malware;

an incorporating means for incorporating the new malware-infected executable into the plurality of malware-infected executables to produce an updated plurality of malware-infected executables, and wherein the identifying means uses the updated plurality of malware infected executables and identifies one or more improved search strings; and,

a distributing means for distributing the improved search strings to one or more platforms.

16. A system for detecting malware in compressed data, the system comprising:

an obtaining means for obtaining a search string common to compressed code portions of a plurality of malware-infected executables, wherein each of the malware-infected executables is infected with a family of malware;

a scanning means for scanning a compressed code portion of a target executable for the search string to detect whether the search string is present in the compressed code portion of the target executable; and

a determining means for determining that the target executable is infected with malware from the family of malware when the search string is detected in the compressed code portion of the target executable.

17. The system of claim 16 , wherein the scanning is performed on a compressed target executable fragment.

18. The system of claim 16 , wherein the scanning is performed on a compressed data stream.

19. The system of claim 16 , further comprising:

second obtaining means for obtaining a second, different search string extracted from uncompressed header portions of the malware-infected executables; and

second scanning means for scanning an uncompressed header portion of the target executable for the second search string.

20. The system of claim 16 , wherein the system executes on a platform selected from a group consisting of: a mobile telephone, a smart phone, a mobile computing device, a smart handheld device, and a network element.

21. The system of claim 16 , wherein the obtaining means comprises a receiving means for receiving the search string from an operational support system.

22. The system of claim 16 , wherein the search strings are dynamically configurable by the operational support system using a device independent secure management protocol.

23. The system of claim 16 , further comprising:

a reporting means for reporting the target executable to an operational support system if at least one of the search strings is present in the target executable.

24. The system of claim 16 , further comprising:

a prevention means for preventing the target executable from executing if at least one of the search strings is present in the target executable.

25. The system of claim 16 , further comprising:

a prompting means for prompting a user to take an action regarding the target executable if at least one of the search strings is present in the target executable.

26. The system of claim 16 , further comprising:

a forwarding means for forwarding the target executable to an operational support system if at least one of the search strings is present in the target executable.

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

select a plurality of malware-infected executables infected with a family of malware, wherein each of the plurality of malware-infected executables comprises a respective compressed code portion;

extract a plurality of candidate strings from the compressed code portions of the plurality of malware-infected executables;

identify at least one of the plurality of candidate strings that is present in each of the plurality of malware-infected executables as a search string common to the compressed code portions of the plurality of malware-infected executables; and

store the search string common to the plurality of malware-infected executables to a mobile device to cause the mobile device to determine whether target applications including compressed code portions are infected with malware based at least in part on the search string.

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

obtain a search string common to compressed code portions of a plurality of malware-infected executables, wherein each of the malware-infected executables is infected with a family of malware;

scan a compressed code portion of a target executable for the search string to detect whether the search string is present in the compressed code portion of the target executable; and

determine that the target executable is infected with malware from the family of malware when the search string is detected by the mobile device in the compressed code portion of the target executable.

29. A system comprising:

a plurality of mobile devices coupled to a mobile network; and

a network device, communicatively coupled to the plurality of mobile devices via the mobile network, configured to select a plurality of malware-infected executables infected with a family of malware, wherein each of the plurality of malware-infected executables comprises a respective compressed code portion, extract a plurality of candidate strings from the compressed code portions of the plurality of malware-infected executables, identify at least one of the plurality of candidate strings that is present in each of the plurality of malware-infected executables as a search string common to the compressed code portions of the plurality of malware-infected executables, and store the search string common to the plurality of malware-infected executables to each of the plurality of mobile devices,

wherein each of the plurality of mobile devices is configured to receive the search string from the network device, scan a compressed code portion of a target executable for the search string to detect whether the search string is present in the compressed code portion of the target executable, and determine that the target executable is infected with malware from the family of malware when the search string is detected by the mobile device in the compressed code portion of the target executable.

Assignments (19)
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 →
SECURITY INTEREST Recorded Oct 23, 2014
From: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 034037/0526 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2014
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC
Reel/Frame 034036/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2011
From: SMOBILE SYSTEMS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 025693/0282 →
RELEASE OF SECURITY INTEREST Recorded Jul 30, 2010
From: R.H. BOOK, LLC
To: S MOBILE SYSTEMS, INC.
Reel/Frame 024770/0447 →
SECURITY AGREEMENT Recorded Apr 15, 2010
From: S MOBILE SYSTEMS, INC.
To: R.H. BOOK, LLC
Reel/Frame 024239/0895 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2007
From: TUVELL, GEORGE; VENUGOPAL, DEEPAK
To: SMOBILE SYSTEMS, INC.
Reel/Frame 019203/0606 →
Continuity (11)
Provisional Application 60789766 · Apr 6, 2006
Provisional Application 60789748 · Apr 6, 2006
Provisional Application 60789749 · Apr 6, 2006
Provisional Application 60789746 · Apr 6, 2006
Provisional Application 60789744 · Apr 6, 2006
Provisional Application 60789745 · Apr 6, 2006
Provisional Application 60789743 · Apr 6, 2006
Provisional Application 60789958 · Apr 6, 2006
Provisional Application 60824649 · Sep 6, 2006
Provisional Application 60828491 · Oct 6, 2006
Related Publication 20070240219A1 · Oct 11, 2007