Detecting potential malware in host memory
Apparatuses, systems, and techniques of using one or more circuits (e.g., of a network interface) to obtain assembly code for one or more machine code segments loaded and/or injected into a process, and determine whether the assembly code is likely to perform at least one unauthorized task.
1. A method comprising:
obtaining, by a network interface, one or more machine code segments at least one of loaded or injected into a process;
using a data structure to identify a region of memory used by the process to store the one or more machine code segments;
obtaining, by the network interface, assembly code for the one or more machine code segments stored in the region of memory; and
determining, by the network interface, whether the assembly code is likely to perform at least one unauthorized task.
2. The method of claim 1 , wherein determining whether the assembly code is likely to perform the at least one unauthorized task comprises using artificial intelligence to classify the assembly code as potentially being malware or as not being malware.
3. The method of claim 2 , wherein the artificial intelligence comprises at least one machine learning model that is used to classify the assembly code.
4. The method of claim 3 , wherein the at least one machine learning model comprises at least one of a Natural Language Processing (“NLP”) model or a Graph Neural Network (“GNN”).
5. The method of claim 1 , further comprising:
causing, by the network interface, information to be displayed when the assembly code is classified as potentially being malware.
6. The method of claim 1 , further comprising:
identifying, by the network interface, the process based at least in part on contents of at least one memory region associated with the process.
7. The method of claim 1 , further comprising:
identifying, by the network interface, the process by detecting at least one suspicious machine code segment at least one of loaded or injected into the process.
8. The method of claim 7 , wherein the network interface uses at least one heuristic to detect the at least one suspicious machine code segment at least one of loaded or injected into the process.
9. A system comprising:
at least one host processor to perform a process;
a host memory to store one or more machine code segments at least one of loaded or injected into the process; and
one or more circuits connected to the host memory to use a data structure to identify a region of the host memory used by the process to store the one or more machine code segments, obtain assembly code for the one or more machine code segments stored in the region of the host memory, and determine whether the assembly code is likely to perform at least one unauthorized task.
10. The system of claim 9 , wherein determining whether the assembly code is likely to perform the at least one unauthorized task comprises using artificial intelligence to classify the assembly code as potentially being malicious or as not being malicious.
11. The system of claim 10 , wherein the artificial intelligence comprises at least one machine learning model that is used to classify the assembly code.
12. The system of claim 11 , wherein the at least one machine learning model comprises at least one of a Natural Language Processing (“NLP”) model or a Graph Neural Network (“GNN”).
13. The system of claim 9 , wherein the one or more circuits are to cause information to be displayed when the assembly code is classified as potentially being malicious.
14. The system of claim 9 , wherein the one or more circuits are to identify the process based at least in part on contents of at least one memory region associated with the process.
15. The system of claim 9 , wherein the one or more circuits are to identify the process by detecting at least one suspicious machine code segment at least one of loaded or injected into the process.
16. The system of claim 15 , wherein the one or more circuits are to use at least one heuristic to detect the at least one suspicious machine code segment at least one of loaded or injected into the process.
17. The system of claim 9 , further comprising:
a host computing system comprising the at least one host processor and the host memory; and
a network interface comprising the one or more circuits.
18. The system of claim 9 , wherein the one or more circuits are at least one of out-of-band or agentless with respect to the at least one host processor.
19. A processor comprising:
one or more circuits to use a data structure to identify a region of memory used by a process to store one or more machine code segments, obtain assembly code by disassembling one or more machine code segments stored in the region of memory, and determine whether the assembly code is likely to perform at least one unauthorized task.
20. The processor of claim 19 , wherein determining whether the assembly code is likely to perform the at least one unauthorized task comprises using artificial intelligence to classify the assembly code as potentially being malicious or as not being malicious.
21. The processor of claim 20 , wherein the artificial intelligence comprises at least one machine learning model that is used to classify the assembly code.
22. The processor of claim 21 , wherein the at least one machine learning model comprises at least one of a Natural Language Processing (“NLP”) model or a Graph Neural Network (“GNN”).
23. The processor of claim 19 , wherein the one or more circuits are to cause information to be displayed when the assembly code is classified as potentially being malicious.
24. The processor of claim 19 , wherein the one or more circuits are to:
identify the process based at least in part on contents of the region of memory used by the process; and
obtain the one or more machine code segments which were at least one of loaded or injected into the process.
25. The processor of claim 24 , wherein the one or more circuits are to identify the process by detecting at least one suspicious machine code segment at least one of loaded or injected into the process.
26. The processor of claim 25 , wherein the one or more circuits are to use at least one heuristic to detect the at least one suspicious machine code segment.
27. The processor of claim 19 , wherein the one or more circuits are at least one of out-of-band or agentless with respect to at least one host processor when the at least one host processor executes the one or more machine code segments.
28. The processor of claim 19 , wherein at least a portion of the processor is comprised in at least one of a network interface or a data processing unit (“DPU”).