IP Library Granted Patent US 10,599,846
Granted Patent B2
US 10,599,846 · App. 16/110,696 · Granted Mar 24, 2020

Segregating executable files exhibiting network activity

Inventors: Neeraj Thakar (Pune, IN); Amit Malik (Gurgaon, IN)
Assignee: MCAFEE, LLC
G06F21/566G06F21/56G06F2221/034
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 10,599,846
App. No.
16/110,696
Granted
Mar 24, 2020
Kind
B2
Abstract

Systems, computer readable media, apparatuses, and methods are disclosed for segregating executable files exhibiting network activity. An example apparatus includes at least one processor and memory including instructions which, when executed, cause the at least one processor to launch an executable file in a segmented portion of a computing system to load one or more dynamically linked libraries (DLLs) associated with the executable file into a process environment block (PEB) of the segmented portion, enumerate the PEB to generate an address list of the one or more DLLs, scan the one or more DLLs to determine whether the one or more DLLs are to perform network activity, and perform malware analysis on the executable file when at least one of the one or more DLLs are to perform network activity.

Claims (45)

1. An apparatus comprising:

at least one processor; and

memory including instructions which, when executed, cause the at least one processor to:

launch an executable file in a segmented portion of a computing system to load one or more dynamically linked libraries (DLLs) associated with the executable file into a process environment block (PEB) of the segmented portion;

enumerate the PEB to generate an address list of the one or more DLLs;

scan the one or more DLLs to determine whether the one or more DLLs are to perform network activity; and

perform malware analysis on the executable file when at least one of the one or more DLLs are to perform network activity.

2. The apparatus of claim 1 , wherein the at least one processor is to determine whether the executable file is unpacked.

3. The apparatus of claim 2 , wherein when the executable file is unpacked, the at least one processor is to enumerate the executable file to generate an import descriptor data structure including the one or more DLLs.

4. The apparatus of claim 1 , wherein the segmented portion is a sandbox.

5. The apparatus of claim 1 , wherein when the scan of the one or more DLLs causes the at least one processor to determine the one or more DLLs do not exhibit network activity, the at least one processor is to:

hook at least one of the one or more DLLs;

load the at least one of the one or more DLLs;

hook a call of an application programming interface (API) when loading the at least one of the one or more DLLs; and

interrupt the call of the API to determine whether the at least one of the one or more DLLs exhibit network activity.

6. The apparatus of claim 5 , wherein the API is a first API, and the at least one processor is to interrupt the call of the first API by issuing a function parameter to the first API, the function parameter to indicate that the executable file is attempting to call a second API associated with the first API, the second API associated with accessing a network, the at least one processor to determine that the executable file exhibits network activity when the second API is called.

7. The apparatus of claim 1 , wherein the executable file is a portable executable file.

8. A computer readable storage device comprising instructions which, when executed, cause a machine to at least:

launch an executable file in a segmented portion of a computing system to load one or more dynamically linked libraries (DLLs) into a process environment block (PEB) of the segmented portion;

enumerate the PEB to generate an address list of the one or more DLLs associated with the executable file;

scan the one or more DLLs to determine whether the one or more DLLs are to perform network activity; and

perform malware analysis on the executable file when the one or more DLLs are to perform network activity.

9. The computer readable storage device of claim 8 , further including instructions which, when executed, cause the machine to determine whether the executable file is unpacked.

10. The computer readable storage device of claim 9 , further including instructions which, if the executable file is unpacked, cause the machine to enumerate the executable file to generate an import descriptor data structure including the one or more DLLs.

11. The computer readable storage device of claim 8 , wherein the segmented portion is a sandbox.

12. The computer readable storage device of claim 8 , further including instructions which, when executed, cause the machine to determine whether at least one of the one or more DLLs are to perform network activity by:

loading the at least one of the DLLs;

hooking a call of an application programming interface (API) when loading the at least one of the DLLs; and

interrupting the call of the API.

13. The computer readable storage device of claim 12 , wherein the API is a first API, and the instructions cause the machine to interrupt the call of the first API by issuing a function parameter to the first API, the function parameter to indicate whether the executable file is attempting to call a second API associated with the first API, the second API associated with accessing a network.

14. The computer readable storage device of claim 8 , wherein the executable file is a portable executable file.

15. A method comprising:

launching an executable file in a segmented portion of a computing system to load one or more dynamically linked libraries (DLLs) associated with the executable file into a process environment block (PEB) of the segmented portion;

enumerating, by executing an instruction with a processor, the PEB to generate an address list of the one or more DLLs;

scanning the one or more DLLs, by executing an instruction with the processor, to determine whether the one or more DLLs are to perform network activity; and

performing, by executing an instruction with the processor, malware analysis on the executable file when at least one of the one or more DLLs are to perform network activity.

16. The method of claim 15 , further including determining whether the executable file is unpacked.

17. The method of claim 16 , further including in response to determining that the executable file is unpacked, enumerating the executable file to generate an import descriptor data structure including the one or more DLLs.

18. The method of claim 15 , wherein the segmented portion is a sandbox.

19. The method of claim 15 , wherein the determining of whether the one or more DLLs are to perform network activity includes:

loading at least one of the one or more DLLs;

hooking a call of an application programming interface (API) when loading the at least one of the one or more DLLs; and

interrupting the call of the API.

20. The method of claim 19 , wherein the API is a first API, and interrupting the call of the first API includes issuing a function parameter to the first API, the function parameter to indicate that the executable file is attempting to call a second API associated with the first API, the second API associated with accessing a network.

21. The computer readable storage device of claim 8 , wherein the machine is the computing system.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2019
From: THAKAR, NEERAJ; MALIK, AMIT
To: MCAFEE, INC.
Reel/Frame 049507/0986 →
CHANGE OF NAME Recorded Jun 18, 2019
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 049511/0658 →
Continuity (2)
Continuation 15039779
Related Publication 20190005243A1 · Jan 3, 2019