# A Survey of the Recent Trends in Deep Learning Based Malware Detection
## Appendix B Glossary of All Terms  
This section is organized to help the reader get aware of some technical terms that he/she would come across quite frequently while reading this paper. **Obfuscation:** Ref. [86] explains it as the process of hiding a code using different techniques so that malware can bypass security devices/software. **Polymorphism:** Ref. [87] states it as the strategy through which malware keeps on changing its appearance to overcome detection. It is achieved through encryption using a different set of keys every time the malware executes. **Metamorphism:** Using metamorphism malware changes its code and signature pattern but it is achieved without using encryption. **PE (Portable Executable):** It is a file format for executables used in versions of windows. **Opcode:** In machine language, the opcode is the part of instruction that refers to the operation. **DDOS:** It is an acronym for Distributed Denial of Service, and it is categorized as a network attack. **Honeypot:** It is a system attached to the network to attract cyber attackers as mentioned by [88] in their work. It works by luring the attackers away from the systems having critical info. Furthermore, it helps in observing the attacker's behavior and collecting information about the attacker's activity. Honeypots are the systems that imitate to contain the data values for the attacker, but these systems do not get accessed by legitimate users. Ref. [89] further categorized into low interaction honeypots and high interaction honeypots. Low interaction honeypots contain software that emulates the real service whereas high interaction honeypots contain a complete operating system, services, and applications to give a complete real feeling of a valuable system to the attacker. **Machine Learning:** It is a specialized field that comes under the hood of Artificial Intelligence. It makes use of AI to take decisions by mining the information from data as described by [90]. **Supervised Learning:** It is a learning technique used by AI-based algorithms for finding out the mapping function between input (x) and output (y) provided input and corresponding output. **Unsupervised Learning:** It is a learning technique utilized by AI-based algorithms to find the underlying structure in data when only input is given. **Classification:** It is a supervised learning technique that is applied when the output variable is a category and there is no relationship among the values of the output. **Regression:** It is a supervised learning technique and is shed when the output variable is a real value and values of the output variable have a relationship (greater than or less than). **Clustering:** It is an unsupervised learning technique in which data is divided into groups based on some similarity measure. **SVM:** Support Vector Machine-It is a machine learning algorithm based on supervised learning and can be used for both classification and regression. **KNN:** K Nearest Neighbour-It is a machine learning algorithm that works by measuring similarity. **Random Forest:** It is a machine learning algorithm that can be used for both classification and regression. **Naive Bayes:** It is a supervised learning-based machine learning algorithm that works over applied Bayes. **LSH:** It is a clustering-based machine learning algorithm. **Neural Networks:** Neural networks also known as artificial neural networks are techniques of machine learning that simulate the process of learning by a human brain. The human brain consists of cells which are referred to as neurons in neural networks. Similarly, in a human brain, all the cells are connected through axons and dendrites with the connection region known as synapses. These connections when found in ANN (Artificial Neural Networks), contain weights to behave as the connections between nerve cells in the human brain. Figure A2 shows the human brain and simulated version of the human brain through the artificial neural network. **Deep Learning:** Ref.