IP Library Granted Patent US 9,560,059
Granted Patent B1
US 9,560,059 · App. 14/942,327 · Granted Jan 31, 2017

System, apparatus and method for conducting on-the-fly decryption of encrypted objects for malware detection

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,560,059
App. No.
14/942,327
Granted
Jan 31, 2017
Kind
B1
Abstract

A decryption scheme for recover of a decrypted object without a cryptographic key is described. First, logical operation(s) are conducted on data associated with a first data string expected at a first location within an object having the predetermined format and data within the encrypted object at the first location to recover data associated with a portion of a cryptographic key from the encrypted object. Thereafter, logical operation(s) are conducted on that data and a first portion of the encrypted object at a second location to produce a result. Responsive to the result including data associated with the plaintext version of the second data string, logical operation(s) are conducted on a second portion of the encrypted object and the data associated with the plaintext version of the second data string to recover data associated with the cryptographic key. Thereafter, the encrypted object may be decrypted using the cryptographic key.

Claims (64)

1. A computerized method for decrypting an encrypted object having a predetermined format that is received by an electronic device, the method comprising:

performing, by a processor, one or more logical operations at least on (i) data associated with a first data string expected at a first location within the encrypted object having the predetermined format and (ii) data within the encrypted object at the first location to recover data associated with a portion of a cryptographic key from the encrypted object;

conducting, by the processor, one or more logical operations at least on (i) the data associated with the portion of the cryptographic key and (ii) a first portion of the encrypted object at a second location within the encrypted object to produce a result, wherein the second location being different than the first location and the result includes a portion of data associated with a plaintext version of a second data string that is expected at the second location;

responsive to the result including data associated with the plaintext version of the second data string, conducting one or more logical operations by the processor at least on (i) a second portion of the encrypted object and (ii) the data associated with the plaintext version of the second data string expected at the second location to recover data associated with the cryptographic key, wherein the recovered data associated with the cryptographic key includes the data associated with the portion of the cryptographic key; and

decrypting, by the processor, the encrypted object using the cryptographic key to produce a decrypted object.

2. The computerized method of claim 1 , wherein the recovered data associated with the cryptographic key is the cryptographic key and the data associated with the portion of the cryptographic key is a portion of the cryptographic key.

3. The computerized method of claim 1 further comprising:

performing a static scanning operation associated with the decrypted object to determine whether the decrypted object is suspected of including malware; and

classifying the decrypted object to identify a suspected presence of malware when the static scanning operation determines that the decrypted object includes malware.

4. The computerized method of claim 1 , wherein the conducting of the one or more logical operations on the data associated with the first data string and the data within the encrypted object at the first location comprises conducting a first Exclusive OR (XOR) operation on a first plurality of alphanumeric characters and a portion of the encrypted object at a first prescribed address.

5. The computerized method of claim 4 , wherein the one or more logical operations conducted on the second portion of the encrypted object and the data associated with the plaintext version of the second data string further comprises a second Exclusive OR (XOR) operation on the second portion of the encrypted object and the data associated with the plaintext version of the second data string, the data associated with the plaintext version of the second data string includes a second plurality of alphanumeric characters greater in number than the first plurality of alphanumeric characters of the first data string.

6. The computerized method of claim 1 , wherein the conducting of the one or more logical operations on the second portion of the encrypted object and the data associated with the plaintext version of the second data string expected at the second location comprises conducting an Exclusive OR (XOR) operation on the second portion of the encrypted object that corresponds to a plurality of alphanumeric characters and the data associated with the plaintext version of the second data string corresponds to an anticipated plaintext version of the plurality of alphanumeric characters.

7. The computerized method of claim 1 , wherein the data associated with the first data string comprises a first plurality of alphanumeric characters, the result comprises a second plurality of alphanumeric characters greater in number than the first plurality of alphanumeric characters, and the data associated with the second data string comprises a third plurality of alphanumeric characters greater in number than the second plurality of characters.

8. The computerized method of claim 7 , wherein each of the logical operations operates as an Exclusive OR (XOR) operation.

9. The computerized method of claim 1 , wherein prior to decrypting the encrypted object using the cryptographic key, the method further comprises validating the cryptographic key.

10. The computerized method of claim 9 , wherein the validating of the cryptographic key comprises

conducting one or more logical operations on both a third portion of the encrypted object and the cryptographic key to recover a value associated with an address offset;

conducting one or more logical operations on the third portion of the encrypted object at the address offset and the cryptographic key to recover a data string; and

comparing the data string to a prescribed data string expected at the address offset.

11. The computerized method of claim 1 further comprising analyzing the decrypted object by one or more virtual machines and monitoring for anomalous or unexpected activity indicative of the presence of malware.

12. The computerized method of claim 1 , wherein the receiving of the encrypted object comprises (i) determining that the encrypted object is embedded with a second object and (ii) extracting the encrypted object from the second object.

13. A non-transitory computer readable medium that includes software that, when executed by a processor, decrypts an encrypted object having a predetermined format, comprising:

performing one or more logical operations at least on data associated with a first data string expected at a first location within an object having the predetermined format and data within the encrypted object at the first location to recover data associated with a portion of a cryptographic key from the encrypted object;

conducting one or more logical operations at least on the data associated with the cryptographic key and a first portion of the encrypted object at a second location within the encrypted object to produce a result, wherein the second location being different than the first location and the result includes a portion of data associated with a plaintext version of a second data string that is expected at the second location;

responsive to the result including data associated with the plaintext version of the second data string, conducting one or more logical operations at least on a second portion of the encrypted object and the data associated with the plaintext version of the second data string expected at the second location to recover data associated with the cryptographic key, wherein the recovered data associated with the cryptographic key includes the data associated with the portion of the cryptographic key; and

decrypting the encrypted object using the cryptographic key to produce a decrypted object.

14. The non-transitory computer readable medium of claim 13 , wherein the software, when executed by the processor, further perform operations comprising:

performing a static scanning operation associated with the decrypted object, where results of the static scanning operation are used to classify the decrypted object to identify a suspected presence of malware; and

issuing one or more alerts to identify a presence of malware within the encrypted object.

15. The non-transitory computer readable medium of claim 13 , wherein the one or more logical operations conducted on the data associated with the first data string and the data within the encrypted object at the first location comprises a first Exclusive OR (XOR) operation conducted on a first plurality of alphanumeric characters and a portion of the encrypted object at a first prescribed address.

16. The non-transitory computer readable medium of claim 15 , wherein the one or more logical operations conducted on the second portion of the encrypted object and the data associated with the plaintext version of the second data string further comprises a second Exclusive OR (XOR) operation on the second portion of the encrypted object and the data associated with the plaintext version of the second data string, the data associated with the plaintext version of the second data string includes a second plurality of alphanumeric characters greater in number than the first plurality of alphanumeric characters of the first data string.

17. The non-transitory computer readable medium of claim 13 , wherein the data associated with the first data string comprises a first plurality of alphanumeric characters, the result comprises a second plurality of alphanumeric characters greater in number than the first plurality of characters, and the data associated with the second data string comprises a third plurality of alphanumeric characters greater in number than the second plurality of alphanumeric characters.

18. The non-transitory computer readable medium of claim 17 , each of the logical operations operates as one or more Exclusive OR (XOR) operations.

19. The non-transitory computer readable medium of claim 18 , wherein prior to decrypting the encrypted object using the cryptographic key, the software, when executed by the processor, further validating the cryptographic key.

20. The non-transitory computer readable medium of claim 19 , wherein

the validating of the cryptographic key comprises conducting one or more logical operations on both a third portion of the encrypted object and the cryptographic key to recover a value associated with an address offset;

conducting one or more logical operations on the third portion of the encrypted object at the address offset and the cryptographic key to recover a data string; and

comparing the data string to a prescribed data string expected at the address location.

21. The non-transitory computer readable medium of claim 13 , wherein the software, when executed by the processor, further performs the operations comprising analyzing the decrypted object by virtual execution of the decrypted object by one or more virtual machines and monitoring for anomalous or unexpected activity indicative of the presence of malware.

22. An electronic device, comprising:

one or more hardware processors; and

a memory communicatively coupled to the one or more hardware processors, the memory including one or more software modules that, upon execution by the one or more hardware processors, conducts a first scanning operation on an encrypted object to recover a decrypted object, wherein the first scanning operation comprises

performing one or more logical operations at least on data associated with a first data string expected at a first location within an object having the predetermined format and data within the encrypted object at the first location to recover data associated with a portion of a cryptographic key from the encrypted object,

conducting one or more logical operations at least on the data associated with the cryptographic key and a first portion of the encrypted object at a second location within the encrypted object to produce a result, wherein the second location being different than the first location and the result includes a portion of data associated with a plaintext version of a second data string that is expected at the second location,

responsive to the result including data associated with the plaintext version of the second data string, conducting one or more logical operations at least on a second portion of the encrypted object and the data associated with the plaintext version of the second data string expected at the second location to recover data associated with the cryptographic key, wherein the recovered data associated with the cryptographic key includes the data associated with the portion of the cryptographic key, and

decrypting the encrypted object using the cryptographic key to produce the decrypted object.

23. The electronic device of claim 22 , wherein the one or more hardware processors, upon execution of the one or more software modules, further comprises:

performing a second scanning operation associated with the decrypted object to determine whether the decrypted object is suspected of including malware; and

classifying the decrypted object to identify a suspected presence of malware based on results of the second scanning operation.

24. The electronic device of claim 22 , wherein the one or more hardware processors, upon execution of the one or more software modules, conducting the one or more logical operations on the data associated with and part of the first data string and the data within the encrypted object at the first location that comprises a first Exclusive OR (XOR) operation on a first plurality of alphanumeric characters and a portion of the encrypted object at a first prescribed address.

25. The electronic device of claim 24 , wherein the one or more hardware processors, upon execution of the one or more software modules, conducting the one or more logical operations on the second portion of the encrypted object and the data associated with the plaintext version of the second data string that comprises a second Exclusive OR (XOR) operation on the second portion of the encrypted object and the data associated with the plaintext version of the second data string, the data associated with the plaintext version of the second data string includes a second plurality of alphanumeric characters greater in number than the first plurality of alphanumeric characters of the first data string.

26. The electronic device of claim 22 , wherein the one or more hardware processors, upon execution of the one or more software modules, conduct the one or more logical operations on the second portion of the encrypted object and the data associated with the plaintext version of the second data string expected at the second location that comprise conducting an Exclusive OR (XOR) operation on the second portion of the encrypted object that corresponds to a first plurality of alphanumeric characters and the data associated with the plaintext version of the second data string corresponds to an anticipated plaintext version of the first plurality of alphanumeric characters.

27. The electronic device of claim 22 , wherein the data associated with the first data string comprises a first plurality of alphanumeric characters, the result comprises a second plurality of alphanumeric characters greater in number than the first plurality of alphanumeric characters, and the data associated with the second data string comprises a third plurality of alphanumeric characters greater in number than the second plurality of characters.

28. The electronic device of claim 27 , wherein the one or more hardware processors, upon execution of the one or more software modules, conduct the one or more logical operations that operate as one or more Exclusive OR (XOR) operations.

29. The electronic device of claim 22 , wherein the one or more hardware processors, upon execution of the one or more software modules and prior to decrypting the encrypted object using the cryptographic key, further validates the cryptographic key.

30. The electronic device of claim 29 , wherein the one or more hardware processors, upon execution of the one or more software modules, validates the cryptographic key by

conducting one or more logical operations on both a third portion of the encrypted object and the cryptographic key to recover a value associated with an address offset;

conducting one or more logical operations on the third portion of the encrypted object at the address offset and the cryptographic key to recover a data string; and

comparing the data string to a prescribed data string expected at the address offset.

31. The electronic device of claim 22 , wherein the one or more hardware processors, upon execution of the one or more software modules, further performing a second scanning operation associated with the decrypted object to determine whether the decrypted object is suspected of including malware; and classifying the decrypted object to identify a suspected presence of malware based on results of the second scanning operation.

32. The electronic device of claim 22 , wherein the one or more software modules further comprises a reporting module that, upon execution by the one or more hardware processors, transmits an alert indicating a presence of malware within the encrypted object.

33. The electronic device of claim 22 , wherein prior to conducting the first scanning operation, the one or more hardware processors, upon execution of the one or more software modules, receive an object, determines that the object is embedded with a second object and (ii) extracting the second object as the encrypted object from the first object.

34. The electronic device of claim 33 , wherein the alert comprises reference information that identifies a particular message or messages within the encrypted object that contains malware.

35. The electronic device of claim 34 , wherein the reference information includes a pointer that points to a memory location associated with the particular message or messages that contain malware.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Aug 16, 2024
From: STG PARTNERS, LLC
To: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
Reel/Frame 068671/0435 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068656/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068657/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068657/0764 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY HOLDINGS LLC; SKYHIGH SECURITY LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 068657/0666 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068656/0920 →
MERGER Recorded Aug 13, 2024
From: FIREEYE SECURITY HOLDINGS US LLC
To: MUSARUBRA US LLC
Reel/Frame 068581/0279 →
SECURITY INTEREST Recorded Aug 1, 2024
From: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
To: STG PARTNERS, LLC
Reel/Frame 068324/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2023
From: FIREEYE, INC.
To: FIREEYE SECURITY HOLDINGS US LLC
Reel/Frame 063287/0776 →
CHANGE OF NAME Recorded Mar 16, 2023
From: FIREEYE, INC.
To: MANDIANT, INC.
Reel/Frame 063287/0771 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 11, 2021
From: FIREEYE SECURITY HOLDINGS US LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057772/0791 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Oct 11, 2021
From: FIREEYE SECURITY HOLDINGS US LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057772/0681 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2016
From: ISLAM, ALI
To: FIREEYE, INC.
Reel/Frame 039160/0952 →