AI-POWERED ADVANCED MALWARE DETECTION SYSTEM
An artificial intelligence (AI) based advanced malware detection tool (AIMaD), which uses a combination of both static and dynamic malware analysis in a machine learning (ML) framework. It uses reverse engineering and feature extraction technique at DLL, function call, and assembly levels; these multi-level features are then processed with N-gram (i.e., Natural Language Processing, NLP), association rule mining to feed in different machine learning classifiers. The AIMaD is able to detect malware/ransomware with high accuracy and low false-positive rate.
1 . A method to detect and analyze malware, comprising:
receiving, at a server with a microprocessor in electronic communication with a database over a network, code that may comprise malware;
automatically performing, using said microprocessor, static analysis of said code to identify structural properties thereof;
automatically performing, using said microprocessor, dynamic analysis of said code;
automatically generating a feature list based on said static analysis and said dynamic analysis;
automatically performing multi-level classification using said feature list to determine one or more behavior chains in said code, based on relations and patterns among variables at multiple levels in said code; and
automatically determining whether any of said one or more behavior chains in said code comprise a malware-specific chain.
2 . The method of claim 1 , wherein said structural properties comprise import and export of functions.
3 . The method of claim 1 , wherein performing dynamic analysis is performed in a virtualized environment.
4 . The method of claim 1 , wherein performing dynamic analysis is performed by analyzing function call traces of the code.
5 . The method of claim 4 , wherein analyzing function call traces is performed using a dynamic binary instrumentation tool.
6 . The method of claim 5 , wherein said dynamic binary instrumentation tool controls run-time execution of the code and tracks every instruction executed.
7 . The method of claim 1 , wherein performing dynamic analysis comprises reverse engineering of binary code.
8 . The method of claim 1 , wherein performing multi-level classification comprises detecting behavior chains at a Dynamic Link Library (DLL) level, a function call level, and an assembly-code level.
9 . The method of claim 1 , wherein performing multi-level classification comprises identifying association rules.
10 . The method of claim 1 , further comprising automatically determining whether said code comprises malware.
11 . A non-transitory process-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
receive, at a server in electronic communication with a database over a network, code that may comprise malware;
automatically perform static analysis of said code to identify structural properties thereof;
automatically perform dynamic analysis of said code;
automatically generate a feature list based on said static analysis and said dynamic analysis;
automatically perform multi-level classification using said feature list to determine one or more behavior chains in said code, based on relations and patterns among variables at multiple levels in said code; and
automatically determine whether any of said one or more behavior chains in said code comprise a malware-specific chain.
12 . The medium of claim 11 , wherein said structural properties comprise import and export of functions.
13 . The medium of claim 11 , wherein performing dynamic analysis is performed in a virtualized environment.
14 . The medium of claim 11 , wherein performing dynamic analysis is performed by analyzing function call traces of the code.
15 . The medium of claim 14 , wherein analyzing function call traces is performed using a dynamic binary instrumentation tool.
16 . The medium of claim 15 , wherein said dynamic binary instrumentation tool controls run-time execution of the code and tracks every instruction executed.
17 . The medium of claim 11 , wherein performing dynamic analysis comprises reverse engineering of binary code.
18 . The medium of claim 11 , wherein performing multi-level classification comprises detecting behavior chains at a DLL level, a function call level, and an assembly-code level.
19 . The medium of claim 11 , wherein performing multi-level classification comprises identifying association rules.
20 . The medium of claim 11 , further comprising automatically determining whether said code comprises malware.