Published August 2, 2021 | Version v1
Publication Open

MalDroid: Secure DL‐enabled intelligent malware detection framework

  • 1. Bahria University
  • 2. Universiti of Malaysia Sabah
  • 3. Yangzhou University

Description

IET CommunicationsEarly View ORIGINAL RESEARCH PAPEROpen Access MalDroid: Secure DL-enabled intelligent malware detection framework Ikram Ul Haq, Corresponding Author Ikram Ul Haq Ikram.haq@gmail.com orcid.org/0000-0002-1100-7932 Software Engineering Department, Bahria University, Islamabad, Pakistan Correspondence Ikram Ul Haq, Software Engineering Department, Bahria University, Islamabad, Pakistan. Email: Ikram.haq@gmail.comSearch for more papers by this authorTamim Ahmed Khan, Tamim Ahmed Khan orcid.org/0000-0002-8209-6100 Software Engineering Department, Bahria University, Islamabad, PakistanSearch for more papers by this authorAdnan Akhunzada, Adnan Akhunzada orcid.org/0000-0001-8370-9290 Faculty of Computing and Informatics, University Malaysia Sabah, Kota Kinabalu, MalaysiaSearch for more papers by this authorXuan Liu, Xuan Liu orcid.org/0000-0002-7966-4488 College of Information Engineering (College of Artificial Intelligence), Yangzhou University, Yangzhou, ChinaSearch for more papers by this author Ikram Ul Haq, Corresponding Author Ikram Ul Haq Ikram.haq@gmail.com orcid.org/0000-0002-1100-7932 Software Engineering Department, Bahria University, Islamabad, Pakistan Correspondence Ikram Ul Haq, Software Engineering Department, Bahria University, Islamabad, Pakistan. Email: Ikram.haq@gmail.comSearch for more papers by this authorTamim Ahmed Khan, Tamim Ahmed Khan orcid.org/0000-0002-8209-6100 Software Engineering Department, Bahria University, Islamabad, PakistanSearch for more papers by this authorAdnan Akhunzada, Adnan Akhunzada orcid.org/0000-0001-8370-9290 Faculty of Computing and Informatics, University Malaysia Sabah, Kota Kinabalu, MalaysiaSearch for more papers by this authorXuan Liu, Xuan Liu orcid.org/0000-0002-7966-4488 College of Information Engineering (College of Artificial Intelligence), Yangzhou University, Yangzhou, ChinaSearch for more papers by this author First published: 02 August 2021 https://doi.org/10.1049/cmu2.12265AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinked InRedditWechat Abstract Nowadays, smartphones are provided with an abundance of capabilities. During the last decade, the availability of smartphone users and online mobile payment services and applications have substantially grown. Besides, the Android infotainment market is exponentially growing and thus potentially becoming a primary target for cyber adversaries and attackers. Likewise, varied Android vulnerability exploitation and targeted pervasive malware sophisticated attacks are also becoming a hot spot for both industry and academia. The authors present a secure by design efficient and intelligent Android detection framework against prevalent, sophisticated and persistent malware threats and attacks. A novel and highly proficient Cuda-enabled multi-class malware threat detection and identification Deep Learning (DL)-driven mechanism that leverages ConvLSTM2D and CNN has been proposed. The devised approach has been extensively evaluated on publicly available state-of-the-art datasets of Android applications (i.e. Android Malware Dataset (AMD), Androzoo). Standard and extended assessment metrics have been employed to thoroughly evaluate the proposed technique. Moreover, the performance of the proposed algorithm has been verified both with the constructed hybrid DL-driven algorithms and current benchmarks. Additionally, the proposed scheme is cross validated to explicitly show unbiased results. 1 INTRODUCTION In the current era, smartphones and Internet of Things (IoT) are ubiquitous being used as the prime medium of communication and infotainment. Despite largely serving humanity, these smart devices play a pivotal role in providing consistent digital connectivity, ease of communication, and improved quality of life. Android platform is majorly contributing to create vast digital landscape and convenient access to information and communication. So far, Android dominates the smart phones market and thus serving as a backbone and only open source operating system (OS) for telecommunications. Besides, it helps to collect sensitive data and information such as contact details, accounts, location, healthcare tracking, social interests, and varied other services for better decision making and analysis. Android is the current backbone of smartphones industry. However, the success of Android market has become an attractive opportunity and prime target for cyber adversaries and attacker [1]. Android is an open-source Operating System (OS) and has acquired the highest 85% market share of smartphone industry. Android OS allows users to download and execute available applications that are owned by different third-party clients and organizations [2]. The astonishing growth and popularity of Android is not limited to smartphones only but also serves smart TV's, smart homes, intelligent watches, and car navigation systems [3]. Android is also recognized as a promising platform for the growth and development of intelligent IoT-based infrastructure [4, 5]. Being an open-source OS, it is an alluring target for the attackers to disseminate and craft malicious software's [6, 7]. These malicious software's precisely known as malware are intentionally developed to perform diverse attacks [8, 9]. Consequently, having diverse variants and complex nature, detecting these notorious malicious applications is quite challenging [10, 11]. Malware is a set of deliberately crafted malicious software to extensively damage significant data and devices through information theft, privilege escalation, remote unauthorized access, and so on [12]. Besides, this prevalent and sophisticated malware is extremely immaculate that can throw the entire Android OS into chaos [13]. Besides, the growth of malware increased exponentially because of Android overwhelming effect on both business and end-users. Malware can simply gain root access and thus cannot be traced back easily [14]. Moreover, cyber adversaries manage to gain unparalleled levels of disruption to compromise Android systems using varied techniques, strategies, and persistent zero-day attacks [15]. Considering the potentially increased threats and attacks targeting Android environment; the research community still lacks identifying emerging potent behavior, pattern, and trends of diverse malware families. Besides, identifying proficiently zero-day Android malware attacks is still in its infancy. Finally, researchers and analysts are currently trying hard to develop systems that can efficiently identify zero-day malware. Deep Learning (DL) has emerged as a promising face of the Artificial Intelligence (AI) community, inspired by the number of effective approaches in natural language processing, image classification, speech recognition, security, privacy etc. Recently, the Android-based research community is taking a keen interest in exploring DL-based mechanisms for the identification of sophisticated, persistent, and lethal malware [16]. In this research work, a proficient and scalable Android malware detection scheme has been proposed that employs ConvLSTM2D and CNN. The framework of our devised malware detection module in Android OS is depicted in Figure 1. FIGURE 1Open in figure viewerPowerPoint The overview of proposed android malware detection module in android architecture 1.1 Contributions The following are the major contributions of the proposed study: The authors propose an adaptive, intelligent, and scalable secure by design DL-based detection framework leveraging ConvLSTM2D and CNN to effectively ascertain multi-class attacks and threats in the Android environment. The state-of-art publicly accessible datasets named Android Malware Dataset(AMD) and Androzoo have been used to thoroughly evaluate multi-class attacks. To completely evaluate the proposed scheme, standard and extended performance assessment metrics including accuracy, precision, recall, F1-score, TNR, TPR, FPR, FNR, FDR, MCC, FOR have been utilized. Moreover, 10-fold cross-validation has been carried out to utterly show unbiased results. Likewise, our devised mechanism has been verified extensively with our constructed hybrid DL architectures and current benchmarks. 1.2 Organization The rest of this paper is structured as follows. Section 2 presents the relevant literature related to different malware identification scheme. While, Section 3 defines the methodology of presented system including dataset, preprocessing techniques, and proposed system. Experimental setup, performance evaluation metrics, and discussion on achieved results are defined in Section 4. Finally, we conclude the paper in Section 5. 2 RELATED WORK Extant research efforts have mainly using Android permission to detect prevalent malware [12, 17]. Zhu et al. in [18] presented a stacking ensemble known as SEDMDroid for the identification of sophisticated Android malware. The proposed framework employed bootstrap and Principal Component Analysis (PCA) to ensure the diversity for the generation of random feature subspace. Multi-Layer perception (MLP) and Support Vector Machine (SVM) are trained to learn supplementary information that yield the final prediction. The experiment is performed on official benign Android applications and malicious apps are collected from the virus share repository. The SEDMDroid achieved 94.92% detection accuracy. Iram et al. [19] proposed a dynamic deep learning-based architecture to identify Android malware leveraging Gated Recurrent Unit (GRU). Experimentation has been carried out on two diverse datasets known as Androzoo and Android Malware Dataset. The proposed scheme achieved 98.99% detection accuracy. Millar et al. in [20] implemented DAN for identification of malicious Android applications. While practical experimentation is performed on the Drebin dataset and achieved 97% average detection accuracy. Amin et al. in [21] presented a VM based open-source mobile anti-malware system. The detection system worked on opcodes extracted from application byte codes. A byte code dataset is augmented and BiLSTM is used to detect the static behavior achieving an accuracy of 99%. The authors in [22] proposed an end to end malware identification scheme based on deep learning for Android IoT devices. The model takes an input of re-sample the byte codes of the classes of around 16k samples of windows executable files. While the proposed model achieved detection accuracy of 95.8% . Alzaylaee et al. in [23], implemented an Android malware detection scheme using Deep Neural Network using API calls. The experimentation of the scheme is performed on APK's gathered from Intel-Security. The achieved detection accuracy is 95.2%. The Xiao et al. introduced a malware identification mechanism utilizing systems calls while using LSTM in [24]. The experimentation is performed on Drebin dataset with identification accuracy 93.7%. In [25], Iram et al. proposed an effective DL-based ransomware detection scheme through using Long Short-Term Memory (LSTM). The feature selection has been performed using simple majority voting on CICAndMal2017 dataset. The scheme achieved 97.08% detection accuracy. In [26] the permission induced risks in android applications are investigated using Gated Recurrent Unit and Convolutional Neural Network. The experimentation of the system is performed on the VirusTotal dataset and achieved a detection rate of 97.7%. In [27], to classify malicious Android apps, a Deep Neural Network (DNN) has been implemented. The Android APKs dataset has been used for evaluation and achieved 95% detection accuracy. In [28], an AI-based android malware characterization framework is developed leveraging LSTM. The dataset consists of 1738 instances of android applications which achieved 93.9–97.5% accuracy for dynamic and static analysis. Karbab et al. in [29] developed an AI-based intrusion detection system called MalDozer for the identification of malware. MalDozer is provided the sequences of API calls in a raw form as input. The system has been comprehensively checked on various datasets. The system has proved its efficacy and viability in pattern detection. Nonetheless, [30] uses Deep Neural Network (DNN) for static and dynamic analysis to design a DDefender strategy for malware detection. For experimentation dataset was comprised of 4208 instances and reached 95% identification accuracy. The authors in [31] came up with a detection framework to investigate the android based API calls generated by an application. A CNN classification sequence is arranged, directing convolution assignments along the sequence. The system learns progressive shapes for every zone as the convolution window slides down. The system used a dataset comprising of 1016 APK instances and acquired detection accuracy of 99.4%. Karbab et al. in [32] developed an android based malware detection system Cypider, the proposed system is a community-based malware detection module, as the malware families share some common characteristics hence the suspicious features are extracted and compared. It detects about 50% of malware in its single iteration and achieved an average accuracy of 87%. The literature review defined in Table 1 is very clear that DL-models are yet in their beginning towards an assessment of cyber attacks in Android OS. The majority part of the current work is based on binary classification [33-35]. Furthermore, the proposed hybrid model of ConvLSTM2D and CNN mechanism can be utilized to widely assess DL-models for the identification of Android malware. TABLE 1. The tabular comparison of existing literature for android malware detection Ref Year Dataset Model Contribution Limitation [18] 2020 Virus share, Android APK's Ensemble (MLP & SVM) Presented a stacking ensemble of MLP and SVM, called SEDMDroid for identification of sophisticated malware and achieved accuracy of 94.94%. The achieved detection accuracy is not good. [19] 2020 AMD, Androzoo GRU Presented a dynamic deep learning based scheme employing GRU and achieved accuracy of 98.99%. Testing time for proposed GRU is high for real time detection. [20] 2020 Drebin DAN Proposed android malware detection framework using DAN for classification of applications and achieved 97% accuracy. Detection accuracy is not very promising. [21] 2020 byte codes of Android Applications BiLSTM Presented a VM based open source mobile anti-malware through BiLSTM and achieved 99% detection accuracy. Number of instances are limited. [22] 2020 Byte codes of Android Application DNN Presented a DNN-based malware identification model on windows executable files for Android based IoT devices. The detection accuracy is not satisfactory in real time deployment. [23] 2019 Intel Security (McAfee-Labs). DNN Implemented a DL-based system to identify malware in Android with detection accuracy of 95.2% . Investigate diverse DL-based classifiers to improve overall efficiency of system. [24] 2019 Drebin LSTM Proposed a malware identification scheme leveraging LSTM and achieved detection accuracy as low as 93.7%. For real world deployment, other DL-based classifiers need to be investigated to improve detection accuracy. [25] 2019 CICAndMal2017 LSTM Presented a scheme for Android Ransomware identification and achieved 97.08% accuracy. Other deep learning classifiers needs to be investigated for improved accuracy. [26] 2019 VirusTotal GRU, CNN A deep learning based framework employing GRU, CNN has been implemented and achieved 97.7% detection accuracy. Other deep learning classifiers needs to be investigated for improved accuracy. [27] 2019 APK files DNN Presented DNN-based classification scheme for Android and obtained 95% detection accuracy. Very low detection accuracy. [28] 2018 Feature extraction through real time execution of Android application LSTM Implemented a malware identification scheme employing LSTM achieved 97.5%. The time of execution for Applications in emulator is short. [29] 2018 Drebin, Genome, Virusshare, Contagio, minidump ANN Proposed a malware detection scheme using ANN and acquired 90% detection accuracy. Limited family attribution. [30] 2018 Android APK DNN Utilized deep neural network (DNN) for android mawlare detection and reached 95% accuracy. Accuracy is not sufficient for commercial use. [31] 2017 Android Apk files CNN A Android malware detection scheme has been proposed using CNN and achieved 99.4% detection accuracy. Limited feature set. [32] 2016 Android Apk files DNN Proposed community-based malware identification scheme and obtained 87% detection accuracy. The feature set is very limited. 3 METHODOLOGY For the identification of sophisticated and prevalent Android malware. Figure 2 represents simplified overview of our devised framework of DL-based hybrid architecture (i.e. ConvLSTM2D and CNN). During the data acquisition phase, dataset is created that incorporates code, classes, and extraction of manifest file from Apk (Android package kit). Furthermore, manifest file is used to extract a feature vector. However, important feature selection, data normalization, transformation and label encoding have been performed in the data preprocessing phase. While in the model engineering phase, a DL-enabled hybrid of ConvLSTM2D and CNN is utilized for the recognition of truly evolving malware in Android OS. Lastly, the accomplished results have thoroughly been evaluated using standard and extended evaluation. FIGURE 2Open in figure viewerPowerPoint The basic architectural description for the proposed hybrid android malware detection framework 3.1 Android application overview In this section, the Android app structure has been briefly defined to get a better understanding of the feature extraction process. A basic Android Application Package (APK) from the App store contains Dalvik bytecode file, resources (i.e. templates, menu, attributes etc.), classes with executable code, and the AndroidManifest.xml file. The Android Manifest file is the global configuration file for an Android application. The components of an application are identified like services, activities, content providers, the broadcast receiver, and also implementation classes. The Android manifest file also includes access permissions for API and communication with other applications. The intent filters are also declared in Manifest file. Consequently, it declares the minimal version of the API that an application needs. 3.2 Data acquisition The Android security mechanisms primarily depend on its security authorization. Besides, the permission-based analysis and detection mechanisms are the reliable and fastest ones. However, inspired by the success of existing feature extraction techniques, our proposed architecture also extracted features at different levels from an APK file. To achieve an efficient and computational cost-effective approach for malware analysis, the unzipping of and Android APK has been performed using Java code. For the extraction of features from the Android manifest file, a customized python code has been executed to extract feature values for permissions, API call, and filtered intents. 3.3 Dataset For efficient Android malware identification, the selection of an appropriate dataset plays a momentous role in the evaluation of results. For experimentation, dataset containing 38842 APK's (30831 benign APK's from Androzoo [36] and 8011 malicious APK's from Android Malware Dataset (AMD) [37] have been utilized. AMD dataset overall contains ten different malware classes known as Trojan, Trojan-Dropper, Trojan-clicker, Trojan-Spy, Trojan-Banker, Trojan-SMS, Backdoor, Adware, Hacker Tool, Ransomware). Six diverse Trojan classes are combined into a single Trojan class label to create a balanced dataset. Hence, the whole distribution of the dataset consists of three different classes namely, Benign, Backdoor and Trojan. The dataset distribution for three classes can be visualized in Table 2. TABLE 2. Dataset distribution table for proposed malware identification scheme Class No. of samples Target label Benign 29903 0 Backdoor 1022 1 Trojan 6863 2 3.4 Data preprocessing Dataset preprocessing steps have been applied on raw datasets for transformation of data to achieve effective performance. Moreover, preprocessing of the dataset makes it less complex in terms of time and storage. Android Apk files of Androzoo and AMD are combined to produce dataset for the classification of applications. All the necessary characteristics for a dataset have been fulfilled (i.e. labeled dataset, malware diversity and heterogeneity, complete manifest file features). Using python code, almost 19,000 features are gathered but 350 important and frequently appeared features are selected for malware identification. It is necessary to achieve the scaled version of all the feature values to increase the efficiency of the malware detection system. Normalization of the dataset has been done using the python standard scalar function. The one hot encoding has been applied on target labels for learning of DL-algorithms. 3.5 Model engineering For the identification of evolving lethal malware, a hybrid of ConvLSTM2D and CNN has been employed. A proficient, adaptable and scalable Android malware identification technique has been executed which can recognize Trojan and Backdoor effectively. The complete architecture of devised hybrid framework including Layers, number of Neurons, Loss Function, Activation Functions, Optimizer, Epochs, Batch Size and Learning Rate are placed in Table 3. Furthermore, detailed working of proposed Hybrid (ConvLSTM2D + CNN) is described in Algorithm 1. TABLE 3. Description of proposed hybrid of ConvLSTM2D and CNN for malware detection system ConvLSTM2D + LSTM Conv2D + Conv2D Conv2D + LSTM DNN + DNN Algorithms Layer Neurons Layer Neurons Layer Neurons Layer Neurons Conv-LSTM2D 150 Conv2D 400 Conv2D 200 CNN 350 Conv-LSTM2D 75 Conv2D 100 Conv2D 100 DNN 100 Conv-LSTM2D 50 Conv2D 50 Conv2D 50 DNN 50 Flatten() – Flatten() – Flatten() – Flatten() – LSTM 150 Conv2D 400 LSTM 200 DNN 350 LSTM 75 Conv2D 100 LSTM 100 DNN 100 LSTM 50 Conv2D 50 LSTM 50 DNN 50 Flatten() – Flatten() – Flatten() – Flatten() – Dense 30 Dense 40 Dense 30 Dense 30 Dense 15 Dense 15 Dense 15 Dense 15 Dense 3 Dense 3 Dense 3 Dense 3 Activation function Relu, Softmax Loss function categorical crossentropy Optimizer Adam Epochs 50 Batch-size 16 Learning rate 0.01 ALGORITHM 1. Training of Hybrid (ConvLSTM2D + CNN) Require: Dataset-Training T, Dataset-Testing t, ConvLSTM2D-layers CL, Epochs E, Batch-Size B, Weights W Ensure: Training, Testing & Saving Results 1: function ConvLSTM2D(T): 2: Normalize T (0∼1) 3: Reshape T 4: Initialize W for CL & D 5: Hybrid(ConvLSTM2D + CNN) = ⊕(CL, D) 6: for E p o c h ← 1 to E do 7: for S a m p l e ← 1 …. T do 8: Train w.r.t B from T 9: Calculate Loss w.r.t B 10: if WrongPrediction then 11: Update W 12: end if 13: end for 14: end for 15: Result = Predict on t 16: Save Result 17: end function 3.6 Algorithms The basic engineering of utilized varied DL-algorithms ConvLSTM2D, Convolutional Neural Network (CNN), Long Short-Term Memory (LSTM), and Deep Neural Network (DNN)) is explained. 3.6.1 ConvLSTM2D The ConvLSTM2D is a recurrent layer similar to LSTM. However, the internal matrix duplication's are traded with convolution operation. The data that moves through the ConvLSTM cells keep the 3D tensor shape for input rather than being only a 1D feature vector. A Convolutional-LSTM model is an alternative way of a Convolutional-CNN, in which data has been passed as in 3D shape and outcome is achieved as a set of flattened 1D array. when the same process works in iterations so after some time a bunch of features are retrieved as a feature vector. 3.6.2 Long short-term memory Long Short-Term Memory a variation of RNN [38], is an algorithm used to learn and maintain long sequences of data. To flow error signal for learning long features, the LSTM classifier uses an unprecedented module called constant error carousel (CEC). To handle backpropagation error in LSTM, the gating mechanism has been used. The inside calculations and decision of CEC is chosen by the "gate" state as indicated by current data and past flow to control the data flow and memory. One LSTM cell is included with two states and three gates named hidden state, cell state, input gate, forget gate, output gate. Given the input sequence x = { x 1 + x 2 , … . , x t } where input gate, forget gate, and output gate in LSTM structure are documented individually as i t , f t and o t and the weights attached to them are W i , W f , W o , b i , b f and b o . The LSTM cell updates two states at each time step, cell state c t and hidden state h t . While for sigmoid function σ symbol is used. In equation 1, the decision of information like how much information is necessary to keep is decided by f t in a cell. x t is the current input vector and h t − 1 is obtained output value from previous layer. And b f is forget gate bias and W f is referred as weight matrix. f t = σ ( W f ∗ [ h t − 1 , x t ] + b f ) . (1)The input gate i t decides which information needs to be kept and update cell state accordingly. i t = σ ( W i ∗ [ h t − 1 , x t ] + b i ) . (2)For generation of new candidate values c t , Tanh is used which is basically hyperbolic tangent function. c t = tanh ( W c . [ h t − 1 , x t ] + b c ) . (3)Through multiplication of f t and old achieved value, the current candidate value is decided. Further the values are added in the equation like i t * c t . c t = f t ∗ c t − 1 + i t ∗ c t . (4)Lastly, the final output is calculated as o t . o t = σ ( W o ∗ [ h t − 1 , x t ] + b o ) . (5) h t = o t ∗ tanh ( c t ) . (6)The LSTM cell considers data as input to the LSTM input layer and hidden layers are associated with it. The neurons in output layer depend on the number of classes that are being classified. 3.6.3 Convolutional neural network For accomplishing exceptional outcomes in image processing, natural language processing, and speech recognition, Convolutional Neural Network (CNN) is currently being employed in the cybersecurity field [39, 40]. CNN can gain proficiency with the significant highlights consequently contrasted with ordinary element determination calculations. CNN is comprised of sequence of processing unit which is interconnected and planned to change the arrangement of input to the arrangement of required output. Input, hidden layers, filter size, stride, and output are fundamental parts of a CNN classifier [41]. CNN perform different operations on the data, which incorporate convolution, pooling, flattening, and padding. 3.6.4 Deep neural network DNN [42] is perceived as a standard Artificial Neural Network with various interconnected layers among input and output layers [41]. The DNN finds the right numerical equation to change over the contribution to the output classification. Each single layer of DNN comprises neurons which performs computation. The node gets input, performs calculation while using weights, applies activation function, and afterward passes the information to the following node until to an end node for classification. 4 EXPERIMENTAL SETUP, RESULTS AND DISCUSSION This part of the paper defines the arrangements for experimentation, performance metrics, and achieved results alongside discussion. 4.1 Experimental setup The training of the proposed hybrid of ConvLSTM2D and CNN is performed using a python library known as Keras with python version 3.8. The libraries used to accomplish the desired results are Numpy, Tensorflow, Scikitlearn, Pandas. The experimentation is performed by using a single PC server having a Core-i7 (3.4 GHz) processor, Model 9700, GPU (Graphical processing Unit) NVIDIA GTX-1660. The operating system used to perform the experiments is Windows 10-64 Bit and RAM 16 GB-2400 MHz. The specifications of underlying system are defined in Table 4. TABLE 4. Software and hardware requirements for hybrid DL-based classifier CPU Processor Core-i7(3.4Ghz) Model 9700 Generation 9th GPU NVIDIA GTX-1660 OS Windows 10 - 64 Bit RAM 16GB - 2400 MHz Language Python3.8 Software Scikitlearn, Numpy, Pandas, Tensorflow 4.2 Performance evaluation Standard evaluation metrics are employed to measure and analyze the efficiency and accuracy of proposed anomaly detection system [43]. These performance metrics for evaluation that have been implemented in our work are Accuracy, Recall Precision, ROC, F1-Score, True Negative Rate (TNR), False Discovery Rate (FDR), False Negative Rate (FNR), False Positive Rate (FPR), False Omission Rate (FOR), Matthews Correlation Coefficient (MCC) and testing and training time. The confusion matrix is used to represent the actual values of some elements such as True Positive (TP), True Negative (TN), False Positive (FP), and False Negative (FN). The graphical representation for doing the difference and contrast

⚠️ This is an automatic machine translation with an accuracy of 90-95%

Translated Description (Arabic)

IET CommunicationsEarly View ORIGINAL RESEARCH PAPEROpen Access MalDroid: Secure DL - enabled intelligent malware detection framework Ikram Ul Haq ,responding author Ikram Ul Haq Ikram.haq@gmail.com orcid.org/0000-0002-1100-7932 Software Engineering Department, Bahria University, Islamabad, Pakistan Correspondence Ikram Ul Haq, Software Engineering Department, Bahria University, Islamabad, Pakistan. البريد الإلكتروني: Ikram.haq@gmail.com ابحث عن المزيد من الأبحاث التي كتبها هذا المؤلف تميم أحمد خان، تميم أحمد خان orcid.org/0000-0002-8209-6100 قسم هندسة البرمجيات، جامعة البحرين، إسلام أباد، باكستانابحث عن المزيد من الأبحاث التي كتبها هذا المؤلفعدنان أخونزاده، عدنان أخونزاده orcid.org/0000-0001-8370-9290 كلية الحاسبات والمعلوماتية، جامعة ماليزيا صباح، كوتا كينابالو، ماليزياابحث عن المزيد من الأبحاث التي كتبها هذا المؤلف شوان ليو، شوان ليو orcid.org/0000-0002-7966-4488 كلية هندسة المعلومات (كلية الذكاء الاصطناعي)، جامعة يانغتشو، يانغتشو، الصينابحث عن المزيد من الأبحاث التي كتبها هذا المؤلف إكرام الحق، المؤلف المراسل إكرام الحق Ikram Ul Haqram.haq@gmail.com orcid.org/00002-0002-1100-7932 قسم هندسة البرمجيات، جامعة البحرية، إسلام أباد، باكستان المراسلات إكرام الحق، هندسة البرمجيات، جامعة البهراء، باكستان. البريد الإلكتروني: Ikram.haq@gmail.com ابحث عن المزيد من الأوراق البحثية لهذا المؤلفTamim Ahmed Khan، Tamim Ahmed Khan orcid.org/0000-0002-8209-6100 قسم هندسة البرمجيات، جامعة البحرين، إسلام أباد، باكستانابحث عن المزيد من الأوراق البحثية لهذا المؤلفAdnan Akhunzada، Adnan Akhunzada orcid.org/0000-0001-8370-9290 كلية الحوسبة والمعلوماتية، جامعة ماليزيا Sabah، Kota Kinabalu، ماليزياابحث عن المزيد من الأوراق البحثية لهذا المؤلفXuan Liu، Xuan Liu orcid.org/0000-0002-7966-4488 كلية هندسة المعلومات (كلية الذكاء الاصطناعي)، جامعة يانغتشو، يانغتشو، الصينابحث عن المزيد من الأوراق البحثية لهذا المؤلف المنشور لأول مرة: 02 أغسطس 2021 https://doi.org/10.1049/cmu2.12265AboutSectionsPDF ToolsRequest citationإضافة إلى التفضيلاتTrackcitation ShareShare Give accessShare full - text accessShare full - text accessالرجاء مراجعة شروطنا وشروط الاستخدام ومربع الاختيار أدناه لمشاركة النص الكامل للمقالة .اقرأتها على Wile Online Terms and UseShare مشاركة النص الكامل للمقالة. معرفة المزيد .نسخ عنوان URL مشاركة الرابط مشاركة على FacebookTwitterLinked InRedditWechat Abstract في الوقت الحاضر، يتم توفير الهواتف الذكية مع وفرة من القدرات. خلال العقد الماضي، نما توافر مستخدمي الهواتف الذكية وخدمات وتطبيقات الدفع عبر الإنترنت بشكل كبير. إلى جانب ذلك، ينمو سوق المعلومات والترفيه في Android بشكل كبير، وبالتالي من المحتمل أن يصبح هدفًا أساسيًا للخصوم والمهاجمين السيبرانيين. وبالمثل، أصبح استغلال الثغرات الأمنية المتنوعة في نظام Android والهجمات المتطورة المنتشرة المستهدِفة للبرمجيات الخبيثة نقطة ساخنة لكل من الصناعة والأوساط الأكاديمية. يقدم المؤلفون إطارًا آمنًا وذكيًا للكشف عن Android من خلال التصميم ضد تهديدات وهجمات البرامج الضارة السائدة والمتطورة والمستمرة. تم اقتراح آلية جديدة وذات كفاءة عالية للكشف عن تهديدات البرامج الضارة متعددة الفئات والتعرف عليها باستخدام التعلم العميق (DL) والتي تستفيد من ConvLSTM2D و CNN. تم تقييم النهج المبتكر على نطاق واسع على أحدث مجموعات البيانات المتاحة للجمهور لتطبيقات Android (مثل مجموعة بيانات البرامج الضارة Android (AMD) و Androzoo). تم استخدام مقاييس التقييم القياسية والموسعة لتقييم التقنية المقترحة بدقة. علاوة على ذلك، تم التحقق من أداء الخوارزمية المقترحة باستخدام كل من الخوارزميات الهجينة المبنية على DL والمعايير الحالية. بالإضافة إلى ذلك، يتم التحقق من صحة المخطط المقترح لإظهار نتائج غير متحيزة بشكل صريح. 1 المقدمة في العصر الحالي، يتم استخدام الهواتف الذكية وإنترنت الأشياء (IoT) في كل مكان كوسيلة رئيسية للاتصال والمعلومات والترفيه. على الرغم من أن هذه الأجهزة الذكية تخدم البشرية إلى حد كبير، إلا أنها تلعب دورًا محوريًا في توفير اتصال رقمي متسق وسهولة الاتصال وتحسين نوعية الحياة. تساهم منصة أندرويد بشكل كبير في إنشاء مشهد رقمي واسع والوصول المريح إلى المعلومات والاتصالات. حتى الآن، يهيمن Android على سوق الهواتف الذكية، وبالتالي يعمل كعمود فقري ونظام تشغيل مفتوح المصدر فقط (OS) للاتصالات السلكية واللاسلكية. إلى جانب ذلك، فإنه يساعد على جمع البيانات والمعلومات الحساسة مثل تفاصيل الاتصال والحسابات والموقع وتتبع الرعاية الصحية والاهتمامات الاجتماعية والخدمات الأخرى المتنوعة من أجل اتخاذ قرارات وتحليلات أفضل. أندرويد هو العمود الفقري الحالي لصناعة الهواتف الذكية. ومع ذلك، أصبح نجاح سوق Android فرصة جذابة وهدفًا رئيسيًا للخصوم والمهاجمين الإلكترونيين [1]. أندرويد هو نظام تشغيل مفتوح المصدر (OS) وقد استحوذ على أعلى حصة سوقية بنسبة 85 ٪ من صناعة الهواتف الذكية. يسمح نظام التشغيل Android للمستخدمين بتنزيل وتنفيذ التطبيقات المتاحة التي يملكها عملاء ومؤسسات مختلفة تابعة لجهات خارجية [2]. لا يقتصر النمو المذهل والشعبية لنظام Android على الهواتف الذكية فحسب، بل يخدم أيضًا أجهزة التلفزيون الذكية والمنازل الذكية والساعات الذكية وأنظمة الملاحة في السيارات [3]. يُعرف Android أيضًا بأنه منصة واعدة لنمو وتطوير البنية التحتية الذكية القائمة على إنترنت الأشياء [4، 5]. كونه نظام تشغيل مفتوح المصدر، يعد هدفًا مغريًا للمهاجمين لنشر وصياغة البرامج الضارة [6، 7]. يتم تطوير هذه البرامج الضارة المعروفة على وجه التحديد باسم البرامج الضارة عن قصد لتنفيذ هجمات متنوعة [8، 9]. وبالتالي، فإن اكتشاف هذه التطبيقات الخبيثة سيئة السمعة يمثل تحديًا كبيرًا نظرًا لوجود متغيرات متنوعة وطبيعة معقدة [10، 11]. البرامج الضارة هي مجموعة من البرامج الضارة المصممة عمدًا لإلحاق ضرر كبير بالبيانات والأجهزة المهمة من خلال سرقة المعلومات وتصعيد الامتيازات والوصول غير المصرح به عن بُعد وما إلى ذلك [12]. إلى جانب ذلك، فإن هذه البرامج الضارة السائدة والمتطورة نظيفة للغاية ويمكن أن تلقي بنظام التشغيل Android بأكمله في حالة من الفوضى [13]. إلى جانب ذلك، زاد نمو البرامج الضارة بشكل كبير بسبب التأثير الهائل لنظام Android على كل من الأعمال والمستخدمين النهائيين. يمكن للبرامج الضارة ببساطة الوصول إلى الجذر وبالتالي لا يمكن تتبعها بسهولة [14]. علاوة على ذلك، يتمكن الخصوم السيبرانيون من الحصول على مستويات لا مثيل لها من التعطيل لاختراق أنظمة Android باستخدام تقنيات واستراتيجيات متنوعة وهجمات يوم الصفر المستمرة [15]. بالنظر إلى التهديدات والهجمات المتزايدة المحتملة التي تستهدف بيئة Android ؛ لا يزال مجتمع البحث يفتقر إلى تحديد السلوك والنمط والاتجاهات القوية الناشئة لعائلات البرامج الضارة المتنوعة. إلى جانب ذلك، لا يزال تحديد هجمات البرامج الضارة التي تعمل بنظام Android في يوم الصفر بكفاءة في مراحله الأولى. أخيرًا، يحاول الباحثون والمحللون حاليًا تطوير أنظمة يمكنها تحديد البرامج الضارة في يوم الصفر بكفاءة. برز التعلم العميق (DL) كوجه واعد لمجتمع الذكاء الاصطناعي (AI)، مستوحى من عدد من الأساليب الفعالة في معالجة اللغة الطبيعية وتصنيف الصور والتعرف على الكلام والأمان والخصوصية وما إلى ذلك. في الآونة الأخيرة، يهتم مجتمع الأبحاث القائم على Android بشدة باستكشاف الآليات القائمة على DL لتحديد البرامج الضارة المتطورة والمستمرة والقاتلة [16]. في هذا العمل البحثي، تم اقتراح مخطط للكشف عن البرامج الضارة لنظام Android بارع وقابل للتطوير يستخدم ConvLSTM2D و CNN. يوضح الشكل 1 إطار وحدة الكشف عن البرامج الضارة المصممة في نظام التشغيل أندرويد. الشكل 1 مفتوح في عارض الشكل PowerPoint نظرة عامة على وحدة الكشف عن البرامج الضارة المقترحة لنظام أندرويد في بنية أندرويد 1.1 المساهمات فيما يلي المساهمات الرئيسية للدراسة المقترحة: يقترح المؤلفون إطارًا آمنًا تكيفيًا وذكيًا وقابلًا للتطوير حسب التصميم قائم على DL يستفيد من ConvLSTM2D و CNN للتأكد بشكل فعال من الهجمات والتهديدات متعددة الفئات في بيئة Android. تم استخدام أحدث مجموعات البيانات التي يمكن الوصول إليها بشكل عام والمسماة Android Malware Dataset(AMD) وAndrozoo لتقييم الهجمات متعددة الفئات بدقة. لتقييم المخطط المقترح بالكامل، تم استخدام مقاييس تقييم الأداء القياسية والموسعة بما في ذلك الدقة والدقة والاستدعاء ودرجة F1 و TNR و TPR و FPR و FNR و FDR و MCC. علاوة على ذلك، تم إجراء 10 أضعاف التحقق المتبادل لإظهار نتائج غير متحيزة تمامًا. وبالمثل، تم التحقق من آليتنا المبتكرة على نطاق واسع من خلال هياكل DL الهجينة المبنية والمعايير الحالية. 1.2 التنظيم يتم تنظيم بقية هذه الورقة على النحو التالي. يقدم القسم 2 الأدبيات ذات الصلة المتعلقة بمخطط تحديد البرامج الضارة المختلفة. بينما يحدد القسم 3 منهجية النظام المقدم بما في ذلك مجموعة البيانات وتقنيات المعالجة المسبقة والنظام المقترح. يتم تحديد الإعداد التجريبي ومقاييس تقييم الأداء ومناقشة النتائج المحققة في القسم 4. أخيرًا، نختتم الورقة في القسم 5. 2 عمل ذو صلة تستخدم الجهود البحثية الحالية بشكل أساسي إذن Android للكشف عن البرامج الضارة السائدة [12، 17]. قدم Zhu et al. في [18] مجموعة تكديس تعرف باسم SEDMDroid لتحديد البرامج الضارة المتطورة لنظام Android. استخدم الإطار المقترح bootstrap وتحليل المكونات الرئيسية (PCA) لضمان التنوع لتوليد الفضاء الفرعي العشوائي. يتم تدريب الإدراك متعدد الطبقات (MLP) وآلة ناقلات الدعم (SVM) على تعلم المعلومات التكميلية التي تؤدي إلى التنبؤ النهائي. يتم إجراء التجربة على تطبيقات Android الرسمية الحميدة ويتم جمع التطبيقات الضارة من مستودع مشاركة الفيروسات. حقق SEDMDroid دقة اكتشاف بنسبة 94.92 ٪. اقترح Iram et al. [19] بنية ديناميكية قائمة على التعلم العميق لتحديد البرامج الضارة التي تعمل بنظام Android والتي تستفيد من الوحدة المتكررة المسورة (GRU). تم إجراء التجارب على مجموعتي بيانات متنوعتين تعرفان باسم Androzoo وAndroid Malware Dataset. حقق المخطط المقترح دقة كشف بنسبة 98.99 ٪. قام ميلار وآخرون في [20] بتنفيذ DAN لتحديد تطبيقات Android الضارة. بينما يتم إجراء التجارب العملية على مجموعة بيانات Drebin وحققت 97 ٪ من متوسط دقة الكشف. قدم أمين وآخرون في [21] نظامًا متنقلًا مفتوح المصدر لمكافحة البرامج الضارة قائمًا على الأجهزة الافتراضية. عمل نظام الكشف على رموز التشغيل المستخرجة من رموز بايت التطبيق. يتم زيادة مجموعة بيانات رمز البايت ويتم استخدام BiLSTM للكشف عن السلوك الثابت الذي يحقق دقة 99 ٪. اقترح المؤلفون في [22] مخططًا للتعرف على البرامج الضارة من البداية إلى النهاية استنادًا إلى التعلم العميق لأجهزة إنترنت الأشياء التي تعمل بنظام Android. يأخذ النموذج مدخلات لإعادة أخذ عينات من رموز البايت لفئات حوالي 16 ألف عينة من الملفات القابلة للتنفيذ في ويندوز. بينما حقق النموذج المقترح دقة كشف بلغت 95.8% . قام Alzaylaee et al. في [23]، بتنفيذ مخطط الكشف عن البرامج الضارة لنظام Android باستخدام الشبكة العصبية العميقة باستخدام استدعاءات واجهة برمجة التطبيقات. يتم إجراء تجربة المخطط على ملفات APK التي تم جمعها من Intel - Security. دقة الكشف المحققة هي 95.2 ٪. قدم Xiao et al. آلية تحديد البرامج الضارة باستخدام مكالمات الأنظمة أثناء استخدام LSTM في [24]. يتم إجراء التجربة على مجموعة بيانات Drebin بدقة تحديد 93.7 ٪. في [25]، اقترح إيرام وآخرون مخططًا فعالًا للكشف عن برامج الفدية القائمة على DL من خلال استخدام الذاكرة طويلة الأجل (LSTM). تم إجراء اختيار الميزة باستخدام تصويت الأغلبية البسيطة على مجموعة بيانات CICAndMal2017. حقق المخطط دقة اكتشاف بنسبة 97.08 ٪. في [26] يتم التحقيق في المخاطر الناجمة عن الإذن في تطبيقات الروبوت باستخدام وحدة متكررة مسورة والشبكة العصبية الالتفافية. يتم إجراء تجربة النظام على مجموعة بيانات VirusTotal وتحقيق معدل اكتشاف بنسبة 97.7 ٪. في [27]، لتصنيف تطبيقات Android الضارة، تم تنفيذ شبكة عصبية عميقة (DNN). تم استخدام مجموعة بيانات Android APKs للتقييم وحققت دقة اكتشاف 95 ٪. في [28]، تم تطوير إطار عمل لتوصيف البرامج الضارة للأندرويد قائم على الذكاء الاصطناعي بالاستفادة من LSTM. تتكون مجموعة البيانات من 1738 حالة من تطبيقات أندرويد التي حققت دقة 93.9-97.5 ٪ للتحليل الديناميكي والثابت. طور كرباب وآخرون في [29] نظامًا للكشف عن التسلل قائم على الذكاء الاصطناعي يسمى MalDozer لتحديد البرامج الضارة. يتم توفير MalDozer تسلسل استدعاءات واجهة برمجة التطبيقات في شكل أولي كمدخلات. تم فحص النظام بشكل شامل على مجموعات البيانات المختلفة. أثبت النظام فعاليته وجدواه في الكشف عن الأنماط. ومع ذلك، [30] يستخدم الشبكة العصبية العميقة (DNN) للتحليل الثابت والديناميكي لتصميم استراتيجية DDefender للكشف عن البرامج الضارة. بالنسبة لمجموعة بيانات التجريب، كانت تتألف من 4208 حالة ووصلت إلى دقة تحديد 95 ٪. توصل المؤلفون في [31] إلى إطار عمل للكشف للتحقيق في مكالمات واجهة برمجة التطبيقات المستندة إلى Android التي تم إنشاؤها بواسطة أحد التطبيقات. يتم ترتيب تسلسل تصنيف CNN، وتوجيه مهام الالتفاف على طول التسلسل. يتعلم النظام الأشكال التدريجية لكل منطقة أثناء انزلاق نافذة الالتفاف لأسفل. استخدم النظام مجموعة بيانات تتكون من 1016 حالة APK ودقة كشف مكتسبة بنسبة 99.4 ٪. طور كرباب وآخرون في [32] نظامًا للكشف عن البرامج الضارة قائمًا على نظام أندرويد Cypider، والنظام المقترح هو وحدة الكشف عن البرامج الضارة القائمة على المجتمع، حيث تشترك عائلات البرامج الضارة في بعض الخصائص المشتركة وبالتالي يتم استخراج الميزات المشبوهة ومقارنتها. يكتشف حوالي 50 ٪ من البرامج الضارة في تكراره الفردي وحقق متوسط دقة بنسبة 87 ٪. من الواضح جدًا أن مراجعة الأدبيات المحددة في الجدول 1 هي أن نماذج DL لا تزال في بدايتها نحو تقييم الهجمات الإلكترونية في نظام التشغيل Android. يعتمد الجزء الأكبر من العمل الحالي على التصنيف الثنائي [33-35]. علاوة على ذلك، يمكن استخدام النموذج الهجين المقترح لآلية ConvLSTM2D و CNN لتقييم نماذج DL على نطاق واسع لتحديد البرامج الضارة التي تعمل بنظام Android. الجدول 1. قدمت المقارنة المجدولة للأدبيات الحالية للكشف عن البرمجيات الخبيثة التي تعمل بنظام أندرويد تحديد مساهمة نموذج مجموعة بيانات السنة المرجعية [18] 2020 Virus share، وفرقة Android APK (MLP & SVM) مجموعة تكديس من MLP و SVM، تسمى SEDMDroid لتحديد البرمجيات الخبيثة المتطورة وحققت دقة 94.94 ٪. دقة الكشف المحققة ليست جيدة. [19] 2020 AMD، قدمت Androzoo GRU مخططًا ديناميكيًا قائمًا على التعلم العميق يستخدم GRU وحقق دقة 98.99 ٪. وقت اختبار GRU المقترح مرتفع للكشف في الوقت الفعلي. [20] 2020 Drebin DAN إطار عمل مقترح للكشف عن البرامج الضارة للأندرويد باستخدام DAN لتصنيف التطبيقات وحقق دقة 97 ٪. دقة الكشف ليست واعدة للغاية. [21] قدمت رموز بايت 2020 لتطبيقات Android BiLSTM جهازًا افتراضيًا مفتوح المصدر لمكافحة البرامج الضارة من خلال BiLSTM وحققت دقة اكتشاف 99 ٪. عدد الحالات محدود. [22] قدمت رموز بايت 2020 لتطبيق Android DNN نموذج تعريف البرامج الضارة القائم على DNN على ملفات Windows القابلة للتنفيذ لأجهزة إنترنت الأشياء القائمة على Android. دقة الكشف غير مرضية في النشر في الوقت الفعلي. [23] 2019 Intel Security (McAfee - Labs). نفذت DNN نظامًا قائمًا على DL لتحديد البرامج الضارة في Android بدقة اكتشاف تبلغ 95.2 ٪ . التحقيق في المصنفات المتنوعة القائمة على DL لتحسين الكفاءة العامة للنظام. [24] 2019 Drebin LSTM اقترح مخططًا لتحديد البرامج الضارة يستفيد من LSTM وحقق دقة اكتشاف منخفضة تصل إلى 93.7 ٪. لنشرها في العالم الحقيقي، يجب التحقيق في المصنفات الأخرى القائمة على DL لتحسين دقة الكشف. [25] 2019 قدمت CICAndMal2017 LSTM مخططًا لتحديد برامج الفدية التي تعمل بنظام Android وحققت دقة 97.08 ٪. يجب التحقيق في مصنفات التعلم العميق الأخرى لتحسين الدقة. [26] 2019 VirusTotal GRU، CNN تم تنفيذ إطار قائم على التعلم العميق يستخدم GRU، CNN وحقق دقة اكتشاف 97.7 ٪. يجب التحقيق في مصنفات التعلم العميق الأخرى لتحسين الدقة. [27] 2019 قدمت ملفات APK DNN مخطط تصنيف يستند إلى DNN لنظام Android وحصلت على دقة اكتشاف 95 ٪. دقة كشف منخفضة للغاية. [28] 2018 حقق استخراج الميزات من خلال التنفيذ في الوقت الفعلي لتطبيق Android LSTM تنفيذ مخطط تحديد البرامج الضارة باستخدام LSTM 97.5 ٪. وقت تنفيذ التطبيقات في المحاكي قصير. [29] 2018 Drebin، Genome، Virusshare، Contagio، minidump ANN اقترح مخططًا للكشف عن البرامج الضارة باستخدام ANN واكتسب دقة اكتشاف بنسبة 90 ٪. إسناد عائلي محدود. [30] 2018 Android APK DNN استخدمت الشبكة العصبية العميقة (DNN) للكشف عن مولار الروبوت ووصلت إلى دقة 95 ٪. الدقة ليست كافية للاستخدام التجاري. [31] 2017 ملفات Android Apk CNN تم اقتراح مخطط الكشف عن البرامج الضارة لنظام Android باستخدام CNN وحقق دقة اكتشاف 99.4 ٪. مجموعة ميزات محدودة. [32] 2016 Android Apk files DNN نظام مقترح لتحديد البرامج الضارة قائم على المجتمع وحصل على دقة اكتشاف 87 ٪. مجموعة الميزات محدودة للغاية. 3 منهجية لتحديد البرامج الضارة المتطورة والسائدة لنظام Android. يمثل الشكل 2 نظرة عامة مبسطة على إطارنا المبتكر للبنية الهجينة القائمة على DL (أي ConvLSTM2D و CNN). أثناء مرحلة الحصول على البيانات، يتم إنشاء مجموعة بيانات تتضمن التعليمات البرمجية والفئات واستخراج ملف البيان من APK (مجموعة حزم Android). علاوة على ذلك، يتم استخدام ملف البيان لاستخراج متجه الميزة. ومع ذلك، تم إجراء اختيار الميزات المهمة وتطبيع البيانات والتحويل وترميز الملصقات في مرحلة ما قبل معالجة البيانات. بينما في مرحلة هندسة النموذج، يتم استخدام مزيج يدعم DL من ConvLSTM2D و CNN للتعرف على البرامج الضارة المتطورة حقًا في نظام التشغيل Android. أخيرًا، تم تقييم النتائج المحققة بدقة باستخدام التقييم القياسي والموسع. الشكل 2 افتح في عارض الأشكال PowerPoint الوصف المعماري الأساسي لإطار الكشف عن البرامج الضارة الهجينة المقترحة لنظام Android 3.1 نظرة عامة على تطبيق Android في هذا القسم، تم تعريف بنية تطبيق Android بإيجاز للحصول على فهم أفضل لعملية استخراج الميزات. تحتوي حزمة تطبيقات Android الأساسية (APK) من متجر التطبيقات على ملف Dalvik bytecode والموارد (مثل القوالب والقائمة والسمات وما إلى ذلك) والفئات ذات التعليمات البرمجية القابلة للتنفيذ وملف AndroidManifest.xml. ملف بيان Android هو ملف التكوين العالمي لتطبيق Android. يتم تحديد مكونات التطبيق مثل الخدمات والأنشطة ومقدمي المحتوى وجهاز استقبال البث وفئات التنفيذ أيضًا. يتضمن ملف بيان Android أيضًا أذونات الوصول إلى واجهة برمجة التطبيقات والتواصل مع التطبيقات الأخرى. يتم أيضًا الإعلان عن عوامل تصفية النية في ملف البيان. وبالتالي، فإنه يعلن عن الحد الأدنى من إصدار واجهة برمجة التطبيقات التي يحتاجها التطبيق. 3.2 الحصول على البيانات تعتمد آليات أمان Android في المقام الأول على تصريح الأمان الخاص بها. إلى جانب ذلك، فإن آليات التحليل والكشف القائمة على الأذونات هي الآليات الموثوقة والأسرع. ومع ذلك، مستوحاة من نجاح تقنيات استخراج الميزات الحالية، استخرجت هندستنا المعمارية المقترحة أيضًا ميزات على مستويات مختلفة من ملف APK. لتحقيق نهج فعال وحسابي فعال من حيث التكلفة لتحليل البرامج الضارة، تم إجراء فك ضغط ملفات APK و Android باستخدام شفرة Java. لاستخراج الميزات من ملف بيان Android، تم تنفيذ رمز بايثون مخصص لاستخراج قيم الميزات للأذونات واستدعاء واجهة برمجة التطبيقات والمقاصد التي تمت تصفيتها. 3.3 مجموعة البيانات لتحديد البرامج الضارة لنظام Android بكفاءة، يلعب اختيار مجموعة البيانات المناسبة دورًا مهمًا في تقييم النتائج. للتجريب، تم استخدام مجموعة بيانات تحتوي على 38842 ملف APK (30831 ملف APK حميد من Androzoo [36] و 8011 ملف APK ضار من Android Malware Dataset (AMD) [37]. تحتوي مجموعة بيانات AMD بشكل عام على عشر فئات مختلفة من البرامج الضارة المعروفة باسم Trojan و Trojan - Dropper و Trojan - clicker و Trojan - Spy و Trojan - Banker و Trojan - SMS و Backdoor و Adware و Hacker Tool و Ransomware). يتم دمج ست فئات متنوعة من أحصنة طروادة في تسمية واحدة لفئة أحصنة طروادة لإنشاء مجموعة بيانات متوازنة. وبالتالي، فإن التوزيع الكامل لمجموعة البيانات يتكون من ثلاث فئات مختلفة وهي حميدة، الباب الخلفي وأحصنة طروادة. يمكن تصور توزيع مجموعة البيانات لثلاث فئات في الجدول 2. الجدول 2. جدول توزيع مجموعة البيانات لمخطط تحديد البرمجيات الخبيثة المقترح الفئة رقم العينات العلامة المستهدفة حميدة 29903 0 الباب الخلفي 1022 1 طروادة 6863 2 3.4 تم تطبيق خطوات المعالجة المسبقة لمجموعة البيانات على مجموعات البيانات الأولية لتحويل البيانات لتحقيق الأداء الفعال. علاوة على ذلك، فإن المعالجة المسبقة لمجموعة البيانات تجعلها أقل تعقيدًا من حيث الوقت والتخزين. يتم دمج ملفات Android Apk الخاصة بـ Androzoo و AMD لإنتاج مجموعة بيانات لتصنيف التطبيقات. تم استيفاء جميع الخصائص اللازمة لمجموعة البيانات (أي مجموعة البيانات المسماة، وتنوع البرامج الضارة وعدم التجانس، وميزات ملف البيان الكاملة). باستخدام شفرة بايثون، يتم جمع ما يقرب من 19000 ميزة ولكن يتم اختيار 350 ميزة مهمة تظهر بشكل متكرر لتحديد البرامج الضارة. من الضروري تحقيق الإصدار المحسّن لجميع قيم الميزات لزيادة كفاءة نظام الكشف عن البرامج الضارة. تم تطبيع مجموعة البيانات باستخدام الدالة العددية القياسية لثعبان بايثون. تم تطبيق الترميز الساخن الوحيد على التسميات المستهدفة لتعلم خوارزميات DL. 3.5 هندسة النماذج لتحديد البرمجيات الخبيثة الفتاكة المتطورة، تم استخدام مزيج من ConvLSTM2D وCNN. تم تنفيذ تقنية التعرف على البرامج الضارة التي تعمل بنظام Android والتي تتميز بالكفاءة والقابلية للتكيف والقابلية للتطوير والتي يمكنها التعرف على حصان طروادة والباب الخلفي بشكل فعال. يتم وضع البنية الكاملة للإطار الهجين الذي تم ابتكاره بما في ذلك الطبقات، وعدد الخلايا العصبية، ووظيفة الفقد، ووظائف التنشيط، والمحسن، والعصر، وحجم الدفعة، ومعدل التعلم في الجدول 3. علاوة على ذلك، يتم وصف العمل التفصيلي للهجين المقترح (ConvLSTM2D + CNN) في الخوارزمية 1. الجدول 3. وصف الهجين المقترح من ConvLSTM2D و CNN لنظام الكشف عن البرامج الضارة ConvLSTM2D + LSTM Conv2D + Conv2D Conv2D + LSTM DNN + DNN خوارزميات طبقة العصبونات طبقة العصبونات Conv - LSTM2D 150 Conv2D 400 Conv2D 200 CNN 350 Conv - LSTM2D 75 Conv2D 100 Conv2D 100 DNN 100 Conv - LSTM2D 50 Conv2D 50 Conv2D 50 DNN 50 Flatten () - Flatten () - Flatten () - Flatten () - LSTM 150 Conv2D 400 LSTM 200 DN 350 LSTM 75 Conv2D 100 LSTM 100 DN 100 LSTM 50 Conv2D 50 LSTM 50 DN 50 Flatten () - Flatten (Flatten) - Flatten (Flatten) - Flatten) – Flatten(Dense) – Dense 30 Dense 30 Dense 30 Dense 30 Dense 15 Dense 15 Dense 15 Dense 15 Dense 15 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense DNS 75 Conv 75 Conv 75 Conv2D 100 LSTM 100 Conv2D 100 Conv 100 Conv2D 100 D 100 Conv2D 100 Conv2D 100 D 100 DN 100 DN 100 DN 100 DN 100 DN 100 DN 100 DN 100 DN 100 DN 100 DN 100 DN 100 DN 50 Conv2 DN 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 Conv2D 50 DL (Flat (Flatten) – تدريب الهجين (ConvLSTM2D + CNN) يتطلب: تدريب مجموعة البيانات T، اختبار مجموعة البيانات t، طبقات ConvLSTM2D CL، Epochs E، Batch - Size B، الأوزان W ضمان: التدريب والاختبار وحفظ النتائج 1: وظيفة ConvLSTM2D (T): 2: تطبيع T (01) 3: إعادة تشكيل T 4: تهيئة W لـ CL & D 5: هجين(ConvLSTM2D + CNN) = Ω (CL، D) 6: لـ E p o c h ← 1 إلى E do 7: لـ S a m p l e ← 1 ... T do 8: Train w.r.t B from T 9: Calculate Loss w.r.t B 10: if WrongPrediction then 11: Update W 12: end if 13: end for 14: end for 15: Result = Predict on t 16: Save Result 17: end function 3.6 Algorithms يتم شرح الهندسة الأساسية لخوارزميات DL المتنوعة المستخدمة ConvLSTM2D، والشبكة العصبية الالتفافية (CNN)، والذاكرة طويلة المدى (LSTM)، والشبكة العصبية العميقة (DNN)). 3.6.1 ConvLSTM2D ConvLSTM2D هي طبقة متكررة مماثلة لـ LSTM. ومع ذلك، يتم تداول نسخ المصفوفة الداخلية مع عملية الالتفاف. تحافظ البيانات التي تنتقل عبر خلايا ConvLSTM على شكل الموتر ثلاثي الأبعاد للإدخال بدلاً من أن تكون مجرد متجه ميزة أحادي الأبعاد. يعد نموذج Convolutional - LSTM طريقة بديلة لـ Convolutional - CNN، حيث يتم تمرير البيانات كما في شكل ثلاثي الأبعاد ويتم تحقيق النتيجة كمجموعة من المصفوفة أحادية الأبعاد المسطحة. عندما تعمل نفس العملية في التكرارات، يتم بعد مرور بعض الوقت استرداد مجموعة من الميزات كمتجه ميزة. 3.6.2 الذاكرة طويلة المدى قصيرة المدى هي اختلاف في RNN [38]، وهي خوارزمية تستخدم لتعلم والحفاظ على سلاسل طويلة من البيانات. لتدفق إشارة الخطأ لتعلم الميزات الطويلة، يستخدم مصنف LSTM وحدة غير مسبوقة تسمى دائري الخطأ الثابت (CEC). للتعامل مع خطأ الانتشار العكسي في LSTM، تم استخدام آلية البوابات. يتم اختيار الحسابات الداخلية وقرار CEC بواسطة حالة "البوابة" كما هو موضح في البيانات الحالية والتدفق السابق للتحكم في تدفق البيانات والذاكرة. يتم تضمين خلية LSTM واحدة مع حالتين وثلاث بوابات تسمى الحالة المخفية، وحالة الخلية، وبوابة الإدخال، وبوابة النسيان، وبوابة الإخراج. بالنظر إلى تسلسل الإدخال x = { x 1 + x 2 ،...، x t } حيث يتم توثيق بوابة الإدخال وبوابة النسيان وبوابة الإخراج في هيكل LSTM بشكل فردي مثل i t و f t و o t والأوزان المرتبطة بها هي W i و W f و W o و b i و b f و b o . تقوم خلية LSTM بتحديث حالتين في كل خطوة زمنية، حالة الخلية ct والحالة المخفية ht. بينما بالنسبة للوظيفة السينية، يتم استخدام رمز σ. في المعادلة 1، يتم تحديد قرار المعلومات مثل مقدار المعلومات اللازمة للاحتفاظ بها بواسطة f t في الخلية. x t هو متجه الإدخال الحالي و h t − 1 يتم الحصول على قيمة الإخراج من الطبقة السابقة. و b f هو تحيز بوابة النسيان ويشار إلى W f بمصفوفة الوزن. f t = σ ( W f ∗ [ h t − 1 , x t ] + b f ) . (1)تحدد بوابة الإدخال المعلومات التي يجب الاحتفاظ بها وتحديث حالة الخلية وفقًا لذلك. i t = σ ( W i ∗ [ h t − 1 , x t ] + b i ) . (2) لتوليد قيم مرشحة جديدة c t ، يتم استخدام Tanh وهي في الأساس دالة مماس زائدية. c t = tanh ( W c . [ h t − 1 , x t ] + b c ) . (3)من خلال ضرب f t والقيمة المحققة القديمة، يتم تحديد قيمة المرشح الحالية. علاوة على ذلك، يتم إضافة القيم في المعادلة مثل i t * c t . c t = f t ∗ c t − 1 + i t ∗ c t . (4)أخيرًا، يتم حساب الناتج النهائي على أنه o t . o t = σ ( W o ∗ [ h t − 1 ، x t ] + b o ) . (5) h t = o t ∗ tanh ( c t ) . (6)تعتبر خلية LSTM البيانات مدخلات لطبقة إدخال LSTM وترتبط بها الطبقات المخفية. تعتمد الخلايا العصبية في طبقة الخرج على عدد الفئات التي يتم تصنيفها. 3.6.3 الشبكة العصبية التطورية لتحقيق نتائج استثنائية في معالجة الصور ومعالجة اللغة الطبيعية والتعرف على الكلام، يتم حاليًا استخدام الشبكة العصبية التطورية (CNN) في مجال الأمن السيبراني [39، 40]. يمكن لـ CNN اكتساب الكفاءة مع النقاط البارزة المهمة التي تتناقض بالتالي مع حسابات تحديد العناصر العادية. تتكون CNN من تسلسل وحدة المعالجة المترابطة والمخطط لها لتغيير ترتيب المدخلات إلى ترتيب المخرجات المطلوبة. المدخلات والطبقات المخفية وحجم المرشح والخطوة والإخراج هي أجزاء أساسية من مصنف CNN [41]. تجري CNN عمليات مختلفة على البيانات، والتي تتضمن الالتفاف والتجميع والتسطيح والحشو. 3.6.4 يُنظر إلى الشبكة العصبية العميقة DNN [42] على أنها شبكة عصبية اصطناعية قياسية ذات طبقات مترابطة مختلفة بين طبقات الإدخال والإخراج [41]. يجد DNN المعادلة العددية الصحيحة للتغيير على المساهمة في تصنيف المخرجات. تحتوي كل طبقة واحدة من DNN على خلايا عصبية تقوم بالحساب. تحصل العقدة على الإدخال، وتجري الحساب أثناء استخدام الأوزان، وتطبق وظيفة التنشيط، وبعد ذلك تمرر المعلومات إلى العقدة التالية حتى العقدة النهائية للتصنيف. 4 الإعداد التجريبي والنتائج والمناقشة يحدد هذا الجزء من الورقة ترتيبات التجريب ومقاييس الأداء والنتائج المحققة جنبًا إلى جنب مع المناقشة. 4.1 الإعداد التجريبي يتم إجراء تدريب الهجين المقترح لـ ConvLSTM2D و CNN باستخدام مكتبة بايثون تعرف باسم Keras مع إصدار بايثون 3.8. المكتبات المستخدمة لتحقيق النتائج المرجوة هي Numpy و Tensorflow و Scikitlearn و Pandas. يتم إجراء التجربة باستخدام خادم كمبيوتر واحد يحتوي على معالج Core - i7 (3.4 جيجاهرتز)، موديل 9700، GPU (وحدة المعالجة الرسومية) NVIDIA GTX -1660. نظام التشغيل المستخدم لإجراء التجارب هو Windows 10-64 Bit وذاكرة الوصول العشوائي 16 GB -2400 MHz. تم تحديد مواصفات النظام الأساسي في الجدول 4. الجدول 4. متطلبات البرامج والأجهزة لمعالج وحدة المعالجة المركزية الهجين القائم على DL Core - i7 (3.4Ghz) موديل 9700 الجيل التاسع من GPU NVIDIA GTX -1660 OS Windows 10 - 64 Bit RAM 16GB - 2400 MHz Language Python3.8 Software Scikitlearn، Numpy، Pandas، Tensorflow 4.2 تقييم الأداء يتم استخدام مقاييس التقييم القياسية لقياس وتحليل كفاءة ودقة نظام الكشف عن الشذوذ المقترح [43]. مقاييس الأداء هذه للتقييم التي تم تنفيذها في عملنا هي الدقة، ودقة الاستدعاء، و ROC، و F1 - Score، والمعدل السلبي الحقيقي (TNR)، ومعدل الاكتشاف الكاذب (FDR)، والمعدل السلبي الكاذب (FNR)، والمعدل الإيجابي الكاذب (FPR)، ومعدل الإغفال الكاذب (FOR)، ومعامل ارتباط ماثيوز (MCC) ووقت الاختبار والتدريب. تُستخدم مصفوفة الارتباك لتمثيل القيم الفعلية لبعض العناصر مثل True Positive (TP) و True Negative (TN) و False Positive (FP) و False Negative (FN). التمثيل البياني للقيام بالفرق والتباين

Translated Description (French)

IET CommunicationsEarly Voir la RECHERCHE ORIGINALE PAPEROpen Access MalDroid : Secure DL-enabled intelligent malware detection framework Ikram Ul Haq, Corresponding Author Ikram Ul Haq Ikram.haq@gmail.com orcid.org/0000-0002-1100-7932 Software Engineering Department, Bahria University, Islamabad, Pakistan Correspondance Ikram Ul Haq, Software Engineering Department, Bahria University, Islamabad, Pakistan. Courriel : Ikram.haq@gmail.comRechercher d'autres articles de cet auteurTamim Ahmed Khan, Tamim Ahmed Khan orcid.org/0000-0002-8209-6100 Département de génie logiciel, Université de Bahria, Islamabad, PakistanRechercher d'autres articles de cet auteurAdnan Akhunzada, Adnan Akhunzada orcid.org/0000-0001-8370-9290 Faculté d'informatique et d'informatique, Université Malaisie Sabah, Kota Kinabalu, MalaisieRechercher d'autres articles de cet auteurXuan Liu, Xuan Liu orcid.org/0000-0002-7966-4488 Collège de génie de l'information (Collège d'intelligence artificielle), Université de Yangzhou, Yangzhou, ChineRechercher d'autres articles de cet auteur Ikram Ul Haq, auteur correspondant Ikram Ul Haq Ikram.haq@gmail.com orcid.org/0000-0002-1100-7932 Département de génie logiciel, Université de Bahria, Islamabad, Pakistan Correspondance Ikram Ul Haq, Département de génie logiciel, Université de Bahria, Islamabad, Pakistan. E-mail : Ikram.haq@gmail.comRechercher d'autres articles de cet auteurTamim Ahmed Khan, Tamim Ahmed Khan orcid.org/0000-0002-8209-6100 Département de génie logiciel, Université de Bahria, Islamabad, PakistanRechercher d'autres articles de cet auteurAdnan Akhunzada, Adnan Akhunzada orcid.org/0000-0001-8370-9290 Faculté d'informatique et d'informatique, Université Malaisie Sabah, Kota Kinabalu, MalaisieRechercher d'autres articles de cet auteurXuan Liu, Xuan Liu orcid.org/0000-0002-7966-4488 Collège d'ingénierie de l'information (Collège d'intelligence artificielle), Université de Yangzhou, Yangzhou, ChineRechercher d'autres articles de cet auteur Première publication : 02 août 2021 https://doi.org/10.1049/cmu2.12265AboutSectionsOutils PDFRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Use and check box below to share full-text version of article.I have read and accept the Wiley Online Terms and Conditions of UseShare LinkUse the below to a full-text of this article with your friends and colleagues. En savoir plus.Copier l'URL Partager un lienPartager surFacebookTwitterLinked InRedditWechat Abstract De nos jours, les smartphones sont fournis avec une abondance de fonctionnalités. Au cours de la dernière décennie, la disponibilité des utilisateurs de smartphones et des services et applications de paiement mobile en ligne a considérablement augmenté. En outre, le marché de l'infodivertissement Android connaît une croissance exponentielle et devient donc potentiellement une cible principale pour les cyber-attaquants et les attaquants. De même, l'exploitation variée des vulnérabilités Android et les attaques sophistiquées de logiciels malveillants omniprésents ciblés deviennent également un point chaud pour l'industrie et le monde universitaire. Les auteurs présentent un cadre de détection Android sécurisé, efficace et intelligent contre les menaces et les attaques de logiciels malveillants répandues, sophistiquées et persistantes. Un mécanisme novateur et hautement performant de détection et d'identification des menaces de logiciels malveillants multi-classes activé par Cuda, piloté par Deep Learning (DL), qui exploite ConvLSTM2D et CNN a été proposé. L'approche conçue a été largement évaluée sur des ensembles de données de pointe d'applications Android accessibles au public (c'est-à-dire Android Malware Dataset (AMD), Androzoo). Des mesures d'évaluation standard et étendues ont été utilisées pour évaluer en profondeur la technique proposée. De plus, les performances de l'algorithme proposé ont été vérifiées à la fois avec les algorithmes hybrides construits pilotés par DL et les benchmarks actuels. De plus, le schéma proposé est validé de manière croisée pour montrer explicitement des résultats impartiaux. 1 INTRODUCTION À l'ère actuelle, les smartphones et l'Internet des objets (IoT) sont omniprésents et sont utilisés comme principal moyen de communication et d'infodivertissement. Bien qu'ils servent en grande partie l'humanité, ces appareils intelligents jouent un rôle essentiel dans la fourniture d'une connectivité numérique cohérente, d'une facilité de communication et d'une meilleure qualité de vie. La plate-forme Android contribue de manière majeure à créer un vaste paysage numérique et un accès pratique à l'information et à la communication. Jusqu'à présent, Android domine le marché des téléphones intelligents et sert donc de colonne vertébrale et de seul système d'exploitation open source (OS) pour les télécommunications. En outre, il aide à collecter des données et des informations sensibles telles que les coordonnées, les comptes, la localisation, le suivi des soins de santé, les intérêts sociaux et divers autres services pour une meilleure prise de décision et une meilleure analyse. Android est l'épine dorsale actuelle de l'industrie des smartphones. Cependant, le succès d'Android Market est devenu une opportunité attrayante et une cible de choix pour les cyber-attaquants et les attaquants [1]. Android est un système d'exploitation (OS) open source et a acquis la plus grande part de marché de 85% de l'industrie des smartphones. Android OS permet aux utilisateurs de télécharger et d'exécuter des applications disponibles appartenant à différents clients et organisations tiers [2]. La croissance et la popularité étonnantes d'Android ne se limitent pas aux smartphones, mais servent également les téléviseurs intelligents, les maisons intelligentes, les montres intelligentes et les systèmes de navigation automobile [3]. Android est également reconnu comme une plate-forme prometteuse pour la croissance et le développement d'une infrastructure intelligente basée sur l'IoT [4, 5]. Étant un système d'exploitation open source, c'est une cible séduisante pour les attaquants de diffuser et d'élaborer des logiciels malveillants [6, 7]. Ces logiciels malveillants, précisément connus sous le nom de logiciels malveillants, sont intentionnellement développés pour effectuer diverses attaques [8, 9]. Par conséquent, ayant des variantes diverses et une nature complexe, la détection de ces applications malveillantes notoires est assez difficile [10, 11]. Les logiciels malveillants sont un ensemble de logiciels malveillants délibérément conçus pour endommager considérablement des données et des appareils importants par le vol d'informations, l'escalade des privilèges, l'accès non autorisé à distance, etc. [12]. En outre, ce malware répandu et sophistiqué est extrêmement immaculé et peut plonger tout le système d'exploitation Android dans le chaos [13]. En outre, la croissance des logiciels malveillants a augmenté de manière exponentielle en raison de l'effet écrasant d'Android sur les entreprises et les utilisateurs finaux. Les logiciels malveillants peuvent simplement accéder à la racine et ne peuvent donc pas être retracés facilement [14]. De plus, les cyberadversaires parviennent à obtenir des niveaux de perturbation inégalés pour compromettre les systèmes Android en utilisant des techniques, des stratégies et des attaques zero-day persistantes [15]. Compte tenu de l'augmentation potentielle des menaces et des attaques ciblant l'environnement Android, la communauté des chercheurs n'a toujours pas identifié les comportements, les modèles et les tendances émergents de diverses familles de logiciels malveillants. En outre, l'identification efficace des attaques de logiciels malveillants Android zero-day en est encore à ses balbutiements. Enfin, les chercheurs et les analystes s'efforcent actuellement de développer des systèmes capables d'identifier efficacement les logiciels malveillants zero-day. Le Deep Learning (DL) est apparu comme un visage prometteur de la communauté de l'Intelligence Artificielle (IA), inspiré par le nombre d'approches efficaces dans le traitement du langage naturel, la classification des images, la reconnaissance vocale, la sécurité, la confidentialité, etc. Récemment, la communauté de recherche basée sur Android s'intéresse vivement à l'exploration des mécanismes basés sur DL pour l'identification des logiciels malveillants sophistiqués, persistants et mortels [16]. Dans ce travail de recherche, un schéma de détection de logiciels malveillants Android compétent et évolutif a été proposé qui utilise ConvLSTM2D et CNN. Le cadre de notre module de détection de logiciels malveillants conçu dans le système d'exploitation Android est illustré à la figure 1. FIGURE 1Open in figure viewerPowerPoint Vue d'ensemble du module de détection de logiciels malveillants android proposé dans l'architecture android 1.1 Contributions Voici les principales contributions de l'étude proposée : Les auteurs proposent un cadre de détection adaptatif, intelligent et évolutif basé sur DL qui exploite ConvLSTM2D et CNN pour identifier efficacement les attaques et les menaces multi-classes dans l'environnement Android. Les ensembles de données de pointe accessibles au public nommés Android Malware Dataset(AMD) et Androzoo ont été utilisés pour évaluer en profondeur les attaques multi-classes. Pour évaluer complètement le schéma proposé, des mesures d'évaluation des performances standard et étendues, y compris l'exactitude, la précision, le rappel, le score F1, le TNR, le TPR, le FPR, le FNR, le FDR, le MCC, ont été utilisées. De plus, une validation croisée de 10 fois a été effectuée pour montrer complètement des résultats impartiaux. De même, notre mécanisme conçu a été largement vérifié avec nos architectures DL hybrides construites et nos benchmarks actuels. 1.2 Organisation Le reste de ce document est structuré comme suit. La section 2 présente la littérature pertinente relative aux différents schémas d'identification des logiciels malveillants. Alors que la section 3 définit la méthodologie du système présenté, y compris l'ensemble de données, les techniques de prétraitement et le système proposé. La configuration expérimentale, les paramètres d'évaluation des performances et la discussion sur les résultats obtenus sont définis à la section 4. Enfin, nous concluons le document dans la section 5. 2 TRAVAUX CONNEXES Les efforts de recherche existants ont principalement utilisé la permission Android pour détecter les logiciels malveillants répandus [12, 17]. Zhu et al. dans [18] ont présenté un ensemble d'empilage connu sous le nom de SEDMDroid pour l'identification de logiciels malveillants Android sophistiqués. Le cadre proposé a utilisé le bootstrap et l'analyse en composantes principales (ACP) pour assurer la diversité de la génération de sous-espace de caractéristiques aléatoires. La perception multicouche (MLP) et la machine vectorielle de support (SVM) sont formées pour apprendre des informations supplémentaires qui donnent la prédiction finale. L'expérience est réalisée sur des applications Android bénignes officielles et des applications malveillantes sont collectées à partir du référentiel de partage de virus. Le SEDMDroid a atteint une précision de détection de 94,92 %. Iram et al. [19] ont proposé une architecture dynamique basée sur l'apprentissage profond pour identifier les logiciels malveillants Android en tirant parti de Gated Recurrent Unit (GRU). L'expérimentation a été réalisée sur deux ensembles de données divers connus sous le nom d'Androzoo et Android Malware Dataset. Le schéma proposé a atteint une précision de détection de 98,99 %. Millar et al. dans [20] ont mis en œuvre DAN pour l'identification des applications Android malveillantes. Alors que l'expérimentation pratique est effectuée sur l'ensemble de données Drebin et a atteint une précision de détection moyenne de 97 %. Amin et al. dans [21] ont présenté un système anti-malware mobile open-source basé sur une machine virtuelle. Le système de détection a travaillé sur les opcodes extraits des codes octets de l'application. Un ensemble de données de code octet est augmenté et BiLSTM est utilisé pour détecter le comportement statique atteignant une précision de 99 %. Les auteurs de [22] ont proposé un schéma d'identification des logiciels malveillants de bout en bout basé sur l'apprentissage en profondeur pour les appareils Android IoT. Le modèle prend une entrée de rééchantillonnage des codes octets des classes d'environ 16k échantillons de fichiers exécutables Windows. Alors que le modèle proposé a atteint une précision de détection de 95,8 % . Alzaylaee et al. dans [23], ont mis en œuvre un système de détection de logiciels malveillants Android utilisant Deep Neural Network à l'aide d'appels API. L'expérimentation du schéma est réalisée sur des APK recueillis auprès d'Intel-Security. La précision de détection obtenue est de 95,2 %. Xiao et al. ont introduit un mécanisme d'identification des logiciels malveillants utilisant des appels système tout en utilisant LSTM dans [24]. L'expérimentation est réalisée sur l'ensemble de données Drebin avec une précision d'identification de 93,7 %. Dans [25], Iram et al. ont proposé un système efficace de détection des rançongiciels basé sur DL en utilisant la mémoire à long terme (LSTM). La sélection des fonctionnalités a été effectuée à l'aide du vote à la majorité simple sur l'ensemble de données CICAndMal2017. Le système a atteint une précision de détection de 97,08 %. Dans [26], les risques induits par la permission dans les applications androïdes sont étudiés à l'aide de l'unité récurrente fermée et du réseau neuronal convolutionnel. L'expérimentation du système est réalisée sur l'ensemble de données VirusTotal et a atteint un taux de détection de 97,7 %. En [27], pour classer les applications Android malveillantes, un réseau neuronal profond (DNN) a été mis en place. L'ensemble de données Android APKs a été utilisé pour l'évaluation et a atteint une précision de détection de 95 %. Dans [28], un cadre de caractérisation des logiciels malveillants androïdes basé sur l'IA est développé en s'appuyant sur LSTM. L'ensemble de données se compose de 1 738 instances d'applications Android qui ont atteint une précision de 93,9 à 97,5 % pour l'analyse dynamique et statique. Karbab et al. dans [29] ont développé un système de détection d'intrusion basé sur l'IA appelé MalDozer pour l'identification des logiciels malveillants. MalDozer fournit les séquences d'appels API sous forme brute en entrée. Le système a été entièrement vérifié sur divers ensembles de données. Le système a prouvé son efficacité et sa viabilité dans la détection de modèles. Néanmoins, [30] utilise Deep Neural Network (DNN) pour l'analyse statique et dynamique afin de concevoir une stratégie DDefender pour la détection de logiciels malveillants. Pour l'expérimentation, l'ensemble de données était composé de 4208 instances et a atteint une précision d'identification de 95 %. Les auteurs de [31] ont mis au point un cadre de détection pour enquêter sur les appels API basés sur Android générés par une application. Une séquence de classification CNN est organisée, dirigeant les affectations de convolution le long de la séquence. Le système apprend des formes progressives pour chaque zone lorsque la fenêtre de convolution glisse vers le bas. Le système a utilisé un ensemble de données comprenant 1016 instances APK et une précision de détection acquise de 99,4 %. Karbab et al. dans [32] ont développé un système de détection de logiciels malveillants basé sur Android, Cypider, le système proposé est un module de détection de logiciels malveillants basé sur la communauté, car les familles de logiciels malveillants partagent certaines caractéristiques communes, de sorte que les fonctionnalités suspectes sont extraites et comparées. Il détecte environ 50 % des logiciels malveillants en une seule itération et atteint une précision moyenne de 87 %. La revue de la littérature définie dans le tableau 1 est très claire sur le fait que les modèles DL en sont encore à leurs débuts vers une évaluation des cyberattaques dans le système d'exploitation Android. La majeure partie des travaux en cours est basée sur la classification binaire [33-35]. En outre, le modèle hybride proposé de ConvLSTM2D et le mécanisme CNN peuvent être utilisés pour évaluer largement les modèles DL pour l'identification des logiciels malveillants Android. TABLEAU 1. La comparaison tabulaire de la littérature existante pour la détection des logiciels malveillants Android Référence Année Ensemble de données Modèle Contribution Limitation [18] Partage de virus 2020, Ensemble Android APK (MLP & SVM) Présenté un ensemble d'empilement de MLP et SVM, appelé SEDMDroid pour l'identification des logiciels malveillants sophistiqués et a atteint une précision de 94,94 %. La précision de détection obtenue n'est pas bonne. [19] 2020 AMD, Androzoo GRU a présenté un programme dynamique basé sur l'apprentissage en profondeur utilisant GRU et a atteint une précision de 98,99 %. Le temps de test pour le GRU proposé est élevé pour la détection en temps réel. [20] 2020 Drebin DAN A proposé un cadre de détection des logiciels malveillants Android utilisant DAN pour la classification des applications et a atteint une précision de 97 %. La précision de la détection n'est pas très prometteuse. [21] 2020 byte codes of Android Applications BiLSTM Presented a VM based open source mobile anti-malware through BiLSTM and achieved 99% detection accuracy. Le nombre d'instances est limité. [22] 2020 Byte codes of Android Application DNN Presented a DNN-based malware identification model on windows executable files for Android-based IoT devices. La précision de détection n'est pas satisfaisante en temps réel. [23] Sécurité Intel 2019 (McAfee-Labs). DNN a mis en place un système basé sur DL pour identifier les logiciels malveillants dans Android avec une précision de détection de 95,2 % . Étudier divers classificateurs basés sur DL pour améliorer l'efficacité globale du système. [24] 2019 Drebin LSTM a proposé un système d'identification des logiciels malveillants s'appuyant sur LSTM et a atteint une précision de détection aussi faible que 93,7 %. Pour un déploiement réel, d'autres classificateurs basés sur DL doivent être étudiés pour améliorer la précision de la détection. [25] 2019 CICAndMal2017 LSTM a présenté un schéma pour l'identification des ransomwares Android et a atteint une précision de 97,08 %. D'autres classificateurs d'apprentissage profond doivent être étudiés pour une meilleure précision. [26] 2019 VirusTotal GRU, CNN Un cadre basé sur l'apprentissage en profondeur utilisant GRU, CNN a été mis en œuvre et a atteint une précision de détection de 97,7 %. D'autres classificateurs d'apprentissage profond doivent être étudiés pour une meilleure précision. [27] 2019 APK files DNN Presented DNN-based classification scheme for Android and obtained 95% detection accuracy. Très faible précision de détection. [28] L'extraction de fonctionnalités en 2018 par l'exécution en temps réel de l'application Android LSTM a mis en œuvre un schéma d'identification de logiciels malveillants utilisant LSTM qui a atteint 97,5 %. Le temps d'exécution pour les applications dans l'émulateur est court. [29] 2018 Drebin, Genome, Virusshare, Contagio, minidump ANN Proposed a malware detection scheme using ANN and acquired 90% detection accuracy. Attribution familiale limitée. [30] 2018 Android APK DNN Utilise le réseau de neurones profonds (DNN) pour la détection des mawlares androïdes et atteint une précision de 95 %. La précision n'est pas suffisante pour un usage commercial. [31] Fichiers Apk Android 2017 CNN Un système de détection de logiciels malveillants Android a été proposé à l'aide de CNN et a atteint une précision de détection de 99,4 %. Ensemble de fonctionnalités limité. [32] 2016 Android Apk files DNN Proposed community-based malware identification scheme and obtained 87% detection accuracy. L'ensemble des fonctionnalités est très limité. 3 MÉTHODOLOGIE Pour l'identification des logiciels malveillants Android sophistiqués et répandus. La figure 2 représente un aperçu simplifié de notre cadre conçu d'architecture hybride basée sur DL (c.-à-d. ConvLSTM2D et CNN). Au cours de la phase d'acquisition des données, un ensemble de données est créé qui intègre le code, les classes et l'extraction du fichier manifeste à partir d'Apk (kit de package Android). En outre, le fichier manifeste est utilisé pour extraire un vecteur de caractéristiques. Cependant, la sélection des caractéristiques importantes, la normalisation des données, la transformation et le codage des étiquettes ont été effectués au cours de la phase de prétraitement des données. Pendant la phase d'ingénierie du modèle, un hybride compatible DL de ConvLSTM2D et CNN est utilisé pour la reconnaissance des logiciels malveillants en pleine évolution dans le système d'exploitation Android. Enfin, les résultats obtenus ont été soigneusement évalués à l'aide d'une évaluation standard et étendue. FIGURE 2Open in figure viewerPowerPoint La description architecturale de base du cadre de détection de logiciels malveillants android hybride proposé 3.1 Aperçu de l'application Android Dans cette section, la structure de l'application Android a été brièvement définie pour mieux comprendre le processus d'extraction de fonctionnalités. Un package d'application Android de base (APK) de l'App Store contient un fichier de bytecode Dalvik, des ressources (modèles, menu, attributs, etc.), des classes avec du code exécutable et le fichier AndroidManifest.xml. Le fichier Android Manifest est le fichier de configuration global d'une application Android. Les composants d'une application sont identifiés comme les services, les activités, les fournisseurs de contenu, le récepteur de diffusion et également les classes de mise en œuvre. Le fichier manifeste Android comprend également des autorisations d'accès pour l'API et la communication avec d'autres applications. Les filtres d'intention sont également déclarés dans le fichier Manifeste. En conséquence, il déclare la version minimale de l'API dont une application a besoin. 3.2 Acquisition de données Les mécanismes de sécurité Android dépendent principalement de son autorisation de sécurité. En outre, les mécanismes d'analyse et de détection basés sur les autorisations sont les plus fiables et les plus rapides. Cependant, inspirée par le succès des techniques d'extraction de fonctionnalités existantes, notre architecture proposée a également extrait des fonctionnalités à différents niveaux d'un fichier APK. Pour parvenir à une approche efficace et rentable sur le plan informatique pour l'analyse des logiciels malveillants, le décompressage de et Android APK a été effectué en utilisant du code Java. Pour l'extraction des fonctionnalités du fichier manifeste Android, un code python personnalisé a été exécuté pour extraire les valeurs des fonctionnalités pour les autorisations, les appels API et les intentions filtrées. 3.3 Ensemble de données Pour une identification efficace des logiciels malveillants Android, la sélection d'un ensemble de données approprié joue un rôle capital dans l'évaluation des résultats. Pour l'expérimentation, un ensemble de données contenant 38842 APK (30831 APK bénins d'Androzoo [36] et 8011 APK malveillants d'Android Malware Dataset (AMD) [37] ont été utilisés. L'ensemble des données AMD contient dix classes de logiciels malveillants différentes connues sous le nom de Trojan, Trojan-Dropper, Trojan-clicker, Trojan-Spy, Trojan-Banker, Trojan-SMS, Backdoor, Adware, Hacker Tool, Ransomware). Six classes de chevaux de Troie différentes sont combinées en une seule étiquette de classe de cheval de Troie pour créer un ensemble de données équilibré. Par conséquent, l'ensemble de la distribution de l'ensemble de données se compose de trois classes différentes, à savoir Benign, Backdoor et Trojan. La distribution des ensembles de données pour trois classes peut être visualisée dans le tableau 2. TABLEAU 2. Tableau de distribution des ensembles de données pour le schéma d'identification des logiciels malveillants proposé Classe Nombre d'échantillons Étiquette cible Bénigne 29903 0 Porte dérobée 1022 1 Cheval de Troie 6863 2 3.4 Pré-traitement des données Des étapes de pré-traitement des ensembles de données ont été appliquées sur des ensembles de données brutes pour la transformation des données afin d'obtenir des performances efficaces. De plus, le prétraitement de l'ensemble de données le rend moins complexe en termes de temps et de stockage. Les fichiers Android Apk d'Androzoo et AMD sont combinés pour produire un ensemble de données pour la classification des applications. Toutes les caractéristiques nécessaires pour un ensemble de données ont été remplies (c.-à-d. ensemble de données étiqueté, diversité et hétérogénéité des logiciels malveillants, fonctionnalités complètes du fichier manifeste). En utilisant le code python, près de 19 000 fonctionnalités sont rassemblées, mais 350 fonctionnalités importantes et fréquemment apparues sont sélectionnées pour l'identification des logiciels malveillants. Il est nécessaire d'obtenir la version mise à l'échelle de toutes les valeurs de fonctionnalités pour augmenter l'efficacité du système de détection de logiciels malveillants. La normalisation de l'ensemble de données a été effectuée à l'aide de la fonction scalaire standard python. Le codage à chaud a été appliqué sur des étiquettes cibles pour l'apprentissage des algorithmes DL. 3.5 Ingénierie des modèles Pour l'identification des logiciels malveillants létaux en évolution, un hybride de ConvLSTM2D et CNN a été utilisé. Une technique d'identification des logiciels malveillants Android compétente, adaptable et évolutive a été exécutée, capable de reconnaître efficacement les chevaux de Troie et les portes dérobées. L'architecture complète du cadre hybride conçu, y compris les couches, le nombre de neurones, la fonction de perte, les fonctions d'activation, l'optimiseur, les époques, la taille de lot et le taux d'apprentissage, est placée dans le tableau 3. En outre, le fonctionnement détaillé de l'hybride proposé (ConvLSTM2D + CNN) est décrit dans l'algorithme 1. TABLEAU 3. Description de l'hybride proposé de ConvLSTM2D et CNN pour le système de détection de logiciels malveillants ConvLSTM2D + LSTM Conv2D + Conv2D Conv2D + LSTM DNN + DNN Algorithmes Couche Neurones Couche Neurones Couche Neurones Couche Neurones Conv-LSTM2D 150 Conv2D 400 Conv2D 200 CNN 350 Conv-LSTM2D 75 Conv2D 100 Conv2D 100 DNN 100 Conv-LSTM2D 50 Conv2D 50 Conv2D 50 Conv2D 50 DNN 50 Flatten() – Flatten() – Flatten() – Flatten() – Flatten() – LSTM 150 Conv2D 400 LSTM 200 DNN 350 LSTM 75 Conv2D 100 LSTM 100 DNN 100 LSTM 50 Conv2D 50 LSTM 50 DNN 50 Flatten() – Flatten() – Flatten() – Flatten() – Flatten() – Dense 30 Dense 40 Dense 30 Dense 30 Dense 15 Dense 15 Dense 15 Dense 3 Dense 3 Dense 3 Dense 3 Fonction d'activation 3, fonction de relu, fonction de perte maxime, fonction d'optimisation de la catégorropie, Optimiseur Adam Batch 50, vitesse d'apprentissage 161. Formation des couches hybrides (ConvLSTM2D + CNN) Nécessite : Ensemble de données-Formation T, Ensemble de données-Testing t, ConvLSTM2D-CL, Epoques E, Taille de lot B, Poids W Assurer : Formation, Test & Enregistrement des résultats 1 : fonction ConvLSTM2D (T) : 2 : Normaliser T (0∼1) 3 : Remise en forme T 4 : Initialiser W pour CL & D 5 : Hybride(ConvLSTM2D + CNN) = ⊕(CL, D) 6 : pour E p o c h ← 1 à E do 7 : pour S a m p l e ← 1 …. T do 8 : Train w.r.t B from T 9 : Calculate Loss w.r.t B 10 : if WrongPrediction then 11 : Update W 12 : end if 13 : end for 14 : end for 15 : Result = Predict on t 16 : Save Result 17 : end function 3.6 Algorithms The basic engineering of used varied DL-algorithms ConvLSTM2D, Convolutional Neural Network (CNN), Long Short-Term Memory (LSTM), and Deep Neural Network (DNN)) is explained. 3.6.1 ConvLSTM2D Le ConvLSTM2D est une couche récurrente similaire à LSTM. Cependant, les duplications de matrices internes sont échangées avec une opération de convolution. Les données qui se déplacent dans les cellules ConvLSTM conservent la forme de tenseur 3D pour l'entrée plutôt que de n'être qu'un vecteur de caractéristique 1D. Un modèle Convolutional-LSTM est une autre façon d'un Convolutional-CNN, dans lequel les données ont été transmises comme dans la forme 3D et le résultat est obtenu comme un ensemble de tableau 1D aplati. Lorsque le même processus fonctionne en itérations, après un certain temps, un tas de caractéristiques sont récupérées en tant que vecteur de caractéristiques. 3.6.2 Mémoire à long terme La mémoire à long terme, une variation de RNN [38], est un algorithme utilisé pour apprendre et maintenir de longues séquences de données. Pour acheminer le signal d'erreur pour l'apprentissage des caractéristiques longues, le classificateur LSTM utilise un module sans précédent appelé carrousel d'erreurs constantes (CEC). Pour gérer l'erreur de rétropropagation dans LSTM, le mécanisme de porte a été utilisé. Les calculs internes et la décision de la CEC sont choisis par l'état « porte » comme indiqué par les données actuelles et le flux passé pour contrôler le flux de données et la mémoire. Une cellule LSTM est incluse avec deux états et trois portes nommées état caché, état de cellule, porte d'entrée, porte d'oubli, porte de sortie. Étant donné la séquence d'entrée x = { x 1 + x 2 , … . , x t } où la porte d'entrée, la porte d'oubli et la porte de sortie dans la structure LSTM sont documentées individuellement comme i t , f t et o t et les poids qui leur sont attachés sont W i , W f , W o , b i , b f et b o . La cellule LSTM met à jour deux états à chaque pas de temps, l'état de cellule c t et l'état caché h t . Tandis que pour la fonction sigmoïde, le symbole σ est utilisé. Dans l'équation 1, la décision d'informations telles que la quantité d'informations nécessaire à conserver est décidée par f t dans une cellule. x t est le vecteur d'entrée actuel et h t − 1 est la valeur de sortie de la couche précédente. Et b f est un biais de grille d'oubli et W f est appelé matrice de poids. f t = σ ( W f ∗ [ h t − 1 , x t ] + b f ) . (1)La porte d'entrée i t décide quelles informations doivent être conservées et met à jour l'état de la cellule en conséquence. i t = σ ( W i ∗ [ h t − 1 , x t ] + b i ) . (2)Pour la génération de nouvelles valeurs candidates c t , on utilise Tanh qui est essentiellement une fonction tangente hyperbolique. c t = tanh ( W c. [ h t − 1 , x t ] + b c ) . (3)Par multiplication de f t et de l'ancienne valeur atteinte, la valeur candidate actuelle est décidée. En outre, les valeurs sont ajoutées dans l'équation comme i t * c t . c t = f t ∗ c t − 1 + i t ∗ c t . (4)Enfin, la sortie finale est calculée comme suit : o t . o t = σ ( W o * [ h t − 1 , x t ] + b o ) . (5) h t = o t ∗ tanh ( c t ) . (6)La cellule LSTM considère les données comme entrées dans la couche d'entrée LSTM et les couches cachées lui sont associées. Les neurones de la couche de sortie dépendent du nombre de classes qui sont classées. 3.6.3 Réseau neuronal convolutif Pour obtenir des résultats exceptionnels dans le traitement de l'image, le traitement du langage naturel et la reconnaissance vocale, Convolutional Neural Network (CNN) est actuellement utilisé dans le domaine de la cybersécurité [39, 40]. CNN peut gagner en maîtrise avec les faits saillants significatifs par conséquent contrastés avec les calculs de détermination d'éléments ordinaires. CNN est composé d'une séquence d'unité de traitement qui est interconnectée et prévue pour modifier la disposition des entrées à la disposition des sorties requises. L'entrée, les couches cachées, la taille du filtre, la foulée et la sortie sont des parties fondamentales d'un classificateur CNN [41]. CNN effectue différentes opérations sur les données, qui intègrent la convolution, la mise en commun, l'aplatissement et le remplissage. 3.6.4 Le réseau neuronal profond DNN [42] est perçu comme un réseau neuronal artificiel standard avec diverses couches interconnectées entre les couches d'entrée et de sortie [41]. Le DNN trouve la bonne équation numérique pour modifier la contribution à la classification des extrants. Chaque couche unique de DNN comprend des neurones qui effectuent le calcul. Le nœud obtient une entrée, effectue un calcul tout en utilisant des poids, applique une fonction d'activation, puis transmet les informations au nœud suivant jusqu'à un nœud final pour la classification. 4 CONFIGURATION EXPÉRIMENTALE, RÉSULTATS ET DISCUSSION Cette partie du document définit les arrangements pour l'expérimentation, les mesures de performance et les résultats obtenus parallèlement à la discussion. 4.1 Configuration expérimentale La formation de l'hybride proposé de ConvLSTM2D et CNN est effectuée à l'aide d'une bibliothèque python connue sous le nom de Keras avec la version python 3.8. Les bibliothèques utilisées pour atteindre les résultats souhaités sont Numpy, Tensorflow, Scikitlearn, Pandas. L'expérimentation est réalisée en utilisant un seul serveur PC doté d'un processeur Core-i7 (3,4 GHz), modèle 9700, GPU (unité de traitement graphique) NVIDIA GTX-1660. Le système d'exploitation utilisé pour effectuer les expériences est Windows 10-64 bits et RAM 16 Go-2400 MHz. Les spécifications du système sous-jacent sont définies dans le tableau 4. TABLEAU 4. Configuration logicielle et matérielle requise pour le processeur CPU Core-i7(3,4 GHz) du classificateur hybride basé sur DL, modèle 9700, génération 9e GPU NVIDIA GTX-1660 OS Windows 10 - 64 bits RAM 16 Go - 2400 MHz Langage Python3.8 Logiciel Scikitlearn, Numpy, Pandas, Tensorflow 4.2 Évaluation des performances Des mesures d'évaluation standard sont utilisées pour mesurer et analyser l'efficacité et la précision du système de détection d'anomalies proposé [43]. Ces mesures de performance pour l'évaluation qui ont été mises en œuvre dans notre travail sont l'exactitude, la précision de rappel, le ROC, le score F1, le taux de vrais négatifs (TNR), le taux de fausses découvertes (FDR), le taux de faux négatifs (FNR), le taux de faux positifs (FPR), le taux de fausses omissions (FOR), le coefficient de corrélation de Matthews (MCC) et le temps de test et de formation. La matrice de confusion est utilisée pour représenter les valeurs réelles de certains éléments tels que Vrai Positif (TP), Vrai Négatif (TN), Faux Positif (FP) et Faux Négatif (FN). La représentation graphique pour faire la différence et le contraste

Translated Description (Spanish)

Comunicaciones IETVer primero la INVESTIGACIÓN ORIGINAL PAPEROpen Access MalDroid: Marco de detección inteligente de malware con DL seguro Ikram Ul Haq, autor correspondiente Ikram Ul Haq Ikram.haq@gmail.com orcid.org/0000-0002-1100-7932 Departamento de Ingeniería de Software, Universidad de Bahria, Islamabad, Pakistán Correspondencia Ikram Ul Haq, Departamento de Ingeniería de Software, Universidad de Bahria, Islamabad, Pakistán. Correo electrónico: Ikram.haq@gmail.comBusque más artículos de este autorTamim Ahmed Khan, Tamim Ahmed Khan orcid.org/0000-0002-8209-6100 Departamento de Ingeniería de Software, Universidad de Bahria, Islamabad, PakistánBusque más artículos de este autorAdnan Akhunzada, Adnan Akhunzada orcid.org/0000-0001-8370-9290 Facultad de Computación e Informática, Universidad de Malasia Sabah, Kota Kinabalu, MalasiaBusque más artículos de este autorXuan Liu, Xuan Liu orcid.org/0000-0002-7966-4488 Facultad de Ingeniería de la Información (Facultad de Inteligencia Artificial), Universidad de Yangzhou, Yangzhou, ChinaBusque más artículos de este autor Ikram Ul Haq, Autor Corresponsal Ikram Ul Haq Ikram.haq@gmail.com orcid.org/0000-0002-1100-7932 Departamento de Ingeniería de Software, Universidad de Bahria, Islamabad, Pakistán Correspondencia Ikram Ul Haq, Departamento de Ingeniería de Software, Universidad de Bahria, Islamabad, Pakistán. Correo electrónico: Ikram.haq@gmail.comBusque más artículos de este autorTamim Ahmed Khan, Tamim Ahmed Khan orcid.org/0000-0002-8209-6100 Departamento de Ingeniería de Software, Universidad de Bahria, Islamabad, PakistánBusque más artículos de este autorAdnan Akhunzada, Adnan Akhunzada orcid.org/0000-0001-8370-9290 Facultad de Computación e Informática, Universidad de Malasia Sabah, Kota Kinabalu, MalasiaBusque más artículos de este autorXuan Liu, Xuan Liu orcid.org/0000-0002-7966-4488 Facultad de Ingeniería de la Información (Facultad de Inteligencia Artificial), Universidad de Yangzhou, Yangzhou, ChinaBusque más artículos de este autorPrimera publicación: 02 de agosto de 2021 https://doi.org/10.1049/cmu2.12265AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShare LinkUse to share full-text version of this article with your friends and colleagues. Más información.Copiar URL Compartir un enlaceCompartir enFacebookTwitterLinked InRedditWechat Abstract Hoy en día, los teléfonos inteligentes cuentan con una gran cantidad de capacidades. Durante la última década, la disponibilidad de usuarios de teléfonos inteligentes y servicios y aplicaciones de pago móvil en línea ha crecido sustancialmente. Además, el mercado de infoentretenimiento de Android está creciendo exponencialmente y, por lo tanto, potencialmente se está convirtiendo en un objetivo principal para los ciberadversarios y atacantes. Del mismo modo, la explotación variada de vulnerabilidades de Android y los ataques sofisticados de malware generalizados también se están convirtiendo en un punto caliente tanto para la industria como para el mundo académico. Los autores presentan un marco de detección de Android seguro, eficiente e inteligente contra amenazas y ataques de malware prevalentes, sofisticados y persistentes. Se ha propuesto un mecanismo novedoso y altamente competente de detección e identificación de amenazas de malware de múltiples clases habilitado por Cuda que aprovecha ConvLSTM2D y CNN. El enfoque ideado se ha evaluado exhaustivamente en conjuntos de datos de última generación disponibles públicamente de aplicaciones Android (es decir, Android Malware Dataset (AMD), Androzoo). Se han empleado métricas de evaluación estándar y extendida para evaluar a fondo la técnica propuesta. Además, el rendimiento del algoritmo propuesto se ha verificado tanto con los algoritmos híbridos basados en DL construidos como con los puntos de referencia actuales. Además, el esquema propuesto se valida de forma cruzada para mostrar explícitamente resultados imparciales. 1 INTRODUCCIÓN En la era actual, los teléfonos inteligentes y el Internet de las cosas (IoT) son omnipresentes y se utilizan como el principal medio de comunicación e infoentretenimiento. A pesar de servir en gran medida a la humanidad, estos dispositivos inteligentes desempeñan un papel fundamental para proporcionar conectividad digital consistente, facilidad de comunicación y una mejor calidad de vida. La plataforma Android está contribuyendo en gran medida a crear un vasto panorama digital y un acceso conveniente a la información y la comunicación. Hasta ahora, Android domina el mercado de los teléfonos inteligentes y, por lo tanto, sirve como columna vertebral y único sistema operativo (SO) de código abierto para las telecomunicaciones. Además, ayuda a recopilar datos e información confidenciales, como datos de contacto, cuentas, ubicación, seguimiento de la atención médica, intereses sociales y otros servicios variados para una mejor toma de decisiones y análisis. Android es la columna vertebral actual de la industria de los teléfonos inteligentes. Sin embargo, el éxito del mercado de Android se ha convertido en una oportunidad atractiva y un objetivo principal para los ciberadversarios y atacantes [1]. Android es un sistema operativo (SO) de código abierto y ha adquirido la mayor cuota de mercado del 85% de la industria de los teléfonos inteligentes. El sistema operativo Android permite a los usuarios descargar y ejecutar aplicaciones disponibles que son propiedad de diferentes clientes y organizaciones de terceros [2]. El asombroso crecimiento y popularidad de Android no se limita solo a los teléfonos inteligentes, sino que también sirve para televisores inteligentes, hogares inteligentes, relojes inteligentes y sistemas de navegación para automóviles [3]. Android también es reconocido como una plataforma prometedora para el crecimiento y desarrollo de infraestructura inteligente basada en IoT [4, 5]. Al ser un sistema operativo de código abierto, es un objetivo atractivo para que los atacantes diseminen y creen software malicioso [6, 7]. Estos programas maliciosos, conocidos precisamente como malware, se desarrollan intencionalmente para realizar diversos ataques [8, 9]. En consecuencia, al tener diversas variantes y naturaleza compleja, detectar estas notorias aplicaciones maliciosas es bastante desafiante [10, 11]. El malware es un conjunto de software malicioso diseñado deliberadamente para dañar ampliamente datos y dispositivos significativos a través del robo de información, la escalada de privilegios, el acceso remoto no autorizado, etc. [12]. Además, este malware prevalente y sofisticado es extremadamente inmaculado y puede llevar a todo el sistema operativo Android al caos [13]. Además, el crecimiento del malware aumentó exponencialmente debido al efecto abrumador de Android tanto en las empresas como en los usuarios finales. El malware simplemente puede obtener acceso root y, por lo tanto, no se puede rastrear fácilmente [14]. Además, los ciberadversarios logran obtener niveles incomparables de interrupción para comprometer los sistemas Android utilizando diversas técnicas, estrategias y ataques persistentes de día cero [15]. Teniendo en cuenta el aumento potencial de las amenazas y los ataques dirigidos al entorno Android, la comunidad de investigación aún carece de la identificación de comportamientos, patrones y tendencias potentes emergentes de diversas familias de malware. Además, la identificación de ataques de malware de Android de día cero aún está en pañales. Por último, los investigadores y analistas están tratando de desarrollar sistemas que puedan identificar de manera eficiente el malware de día cero. Deep Learning (DL) se ha convertido en una cara prometedora de la comunidad de Inteligencia Artificial (IA), inspirada por la cantidad de enfoques efectivos en el procesamiento del lenguaje natural, la clasificación de imágenes, el reconocimiento de voz, la seguridad, la privacidad, etc. Recientemente, la comunidad de investigación basada en Android está teniendo un gran interés en explorar mecanismos basados en DL para la identificación de malware sofisticado, persistente y letal [16]. En este trabajo de investigación, se ha propuesto un esquema de detección de malware para Android competente y escalable que emplea ConvLSTM2D y CNN. El marco de nuestro módulo de detección de malware diseñado en el sistema operativo Android se muestra en la Figura 1. FIGURA 1Abrir en el visor de figurasPowerPoint La descripción general del módulo de detección de malware de Android propuesto en la arquitectura de Android 1.1 Contribuciones Las siguientes son las principales contribuciones del estudio propuesto: Los autores proponen un marco de detección seguro, adaptable, inteligente y escalable mediante el diseño basado en DL que aprovecha ConvLSTM2D y CNN para determinar de manera efectiva los ataques y amenazas de varias clases en el entorno Android. Los conjuntos de datos de acceso público de última generación llamados Android Malware Dataset(AMD) y Androzoo se han utilizado para evaluar a fondo los ataques de varias clases. Para evaluar completamente el esquema propuesto, se han utilizado métricas de evaluación de desempeño estándar y extendidas que incluyen precisión, recordación, puntaje F1, TNR, TPR, FPR, FNR, FDR, MCC, etc. Además, se ha llevado a cabo una validación cruzada de 10 veces para mostrar resultados totalmente imparciales. Del mismo modo, nuestro mecanismo ideado se ha verificado ampliamente con nuestras arquitecturas DL híbridas construidas y los puntos de referencia actuales. 1.2 Organización El resto de este trabajo se estructura de la siguiente manera. La sección 2 presenta la literatura relevante relacionada con diferentes esquemas de identificación de malware. Mientras que la Sección 3 define la metodología del sistema presentado, incluido el conjunto de datos, las técnicas de preprocesamiento y el sistema propuesto. La configuración experimental, las métricas de evaluación del rendimiento y la discusión sobre los resultados logrados se definen en la Sección 4. Finalmente, concluimos el trabajo en la Sección 5. 2 TRABAJOS RELACIONADOS Los esfuerzos de investigación existentes han utilizado principalmente el permiso de Android para detectar malware prevalente [12, 17]. Zhu et al. en [18] presentaron un conjunto de apilamiento conocido como SEDMDroid para la identificación de malware sofisticado para Android. El marco propuesto empleó bootstrap y análisis de componentes principales (PCA) para garantizar la diversidad para la generación de subespacio de características aleatorias. La percepción multicapa (MLP) y la máquina de vectores de soporte (SVM) están capacitadas para aprender información complementaria que produzca la predicción final. El experimento se realiza en aplicaciones oficiales benignas de Android y las aplicaciones maliciosas se recopilan del repositorio de recursos compartidos de virus. El SEDMDroid logró una precisión de detección del 94,92%. Iram et al. [19] propusieron una arquitectura dinámica basada en el aprendizaje profundo para identificar el malware de Android aprovechando la Unidad Recurrente Cerrada (Gru). La experimentación se ha llevado a cabo en dos conjuntos de datos diversos conocidos como Androzoo y Android Malware Dataset. El esquema propuesto logró una precisión de detección del 98,99%. Millar et al. en [20] implementaron DAN para la identificación de aplicaciones maliciosas para Android. Mientras que la experimentación práctica se realiza en el conjunto de datos de Drebin y logró una precisión de detección promedio del 97%. Amin et al. en [21] presentaron un sistema antimalware móvil de código abierto basado en VM. El sistema de detección funcionó con códigos de operación extraídos de los códigos de bytes de la aplicación. Se aumenta un conjunto de datos de código de bytes y se utiliza BiLSTM para detectar el comportamiento estático logrando una precisión del 99%. Los autores en [22] propusieron un esquema de identificación de malware de extremo a extremo basado en el aprendizaje profundo para dispositivos Android IoT. El modelo toma una entrada de volver a muestrear los códigos de bytes de las clases de alrededor de 16k muestras de archivos ejecutables de Windows. Mientras que el modelo propuesto logró una precisión de detección del 95.8% . Alzaylaee et al. en [23], implementaron un esquema de detección de malware para Android utilizando Deep Neural Network mediante llamadas a la API. La experimentación del esquema se realiza en APK recopilados de Intel-Security. La precisión de detección alcanzada es del 95,2%. Xiao et al. introdujeron un mecanismo de identificación de malware utilizando llamadas de sistemas mientras usaban LSTM en [24]. La experimentación se realiza en el conjunto de datos de Drebin con una precisión de identificación del 93,7%. En [25], Iram et al. propusieron un esquema efectivo de detección de ransomware basado en DL mediante el uso de memoria a largo plazo (LSTM). La selección de características se ha realizado utilizando la votación por mayoría simple en el conjunto de datos CICAndMal2017. El esquema logró una precisión de detección del 97.08%. En [26], los riesgos inducidos por el permiso en las aplicaciones de Android se investigan utilizando una unidad recurrente cerrada y una red neuronal convolucional. La experimentación del sistema se realiza en el conjunto de datos VirusTotal y logró una tasa de detección del 97,7%. En [27], para clasificar las aplicaciones maliciosas de Android, se ha implementado una red neuronal profunda (DNN). El conjunto de datos APKs de Android se ha utilizado para la evaluación y ha logrado una precisión de detección del 95%. En [28], se desarrolla un marco de caracterización de malware Android basado en IA que aprovecha LSTM. El conjunto de datos consta de 1738 instancias de aplicaciones Android que lograron una precisión del 93,9-97,5% para el análisis dinámico y estático. Karbab et al. en [29] desarrollaron un sistema de detección de intrusiones basado en IA llamado MalDozer para la identificación de malware. MalDozer recibe las secuencias de llamadas API en formato RAW como entrada. El sistema se ha comprobado exhaustivamente en varios conjuntos de datos. El sistema ha demostrado su eficacia y viabilidad en la detección de patrones. No obstante, [30] utiliza Deep Neural Network (DNN) para el análisis estático y dinámico para diseñar una estrategia DDefender para la detección de malware. Para la experimentación, el conjunto de datos estaba compuesto por 4208 instancias y alcanzó el 95% de precisión de identificación. Los autores en [31] idearon un marco de detección para investigar las llamadas a la API basadas en Android generadas por una aplicación. Se organiza una secuencia de clasificación CNN, dirigiendo las asignaciones de convolución a lo largo de la secuencia. El sistema aprende formas progresivas para cada zona a medida que la ventana de convolución se desliza hacia abajo. El sistema utilizó un conjunto de datos que comprendía 1016 instancias APK y adquirió una precisión de detección del 99,4%. Karbab et al. en [32] desarrollaron un sistema de detección de malware basado en Android Cypider, el sistema propuesto es un módulo de detección de malware basado en la comunidad, ya que las familias de malware comparten algunas características comunes, por lo que se extraen y comparan las características sospechosas. Detecta alrededor del 50% del malware en su única iteración y logra una precisión media del 87%. La revisión de la literatura definida en la Tabla 1 es muy clara en que los modelos DL aún están en sus inicios hacia una evaluación de los ataques cibernéticos en el sistema operativo Android. La mayor parte del trabajo actual se basa en la clasificación binaria [33-35]. Además, el modelo híbrido propuesto del mecanismo ConvLSTM2D y CNN se puede utilizar para evaluar ampliamente los modelos DL para la identificación de malware para Android. TABLA 1. La comparación tabular de la literatura existente para la detección de malware Android Ref Year Dataset Model Contribution Limitation [18] 2020 Virus share, Android APK's Ensemble (MLP & SVM) Presentó un conjunto de apilamiento de MLP y SVM, llamado SEDMDroid para la identificación de malware sofisticado y logró una precisión del 94.94%. La precisión de detección alcanzada no es buena. [19] 2020 AMD, Androzoo Gru Presentó un esquema dinámico basado en el aprendizaje profundo que emplea Gru y logró una precisión del 98,99%. El tiempo de prueba para el Gru propuesto es alto para la detección en tiempo real. [20] 2020 Drebin DAN Propuso un marco de detección de malware para Android utilizando DAN para la clasificación de aplicaciones y logró una precisión del 97%. La precisión de detección no es muy prometedora. [21] 2020 byte codes of Android Applications BiLSTM Presentó un antimalware móvil de código abierto basado en VM a través de BiLSTM y logró una precisión de detección del 99%. El número de instancias es limitado. [22] 2020 Byte codes of Android Application DNN Presentó un modelo de identificación de malware basado en DNN en archivos ejecutables de Windows para dispositivos IoT basados en Android. La precisión de detección no es satisfactoria en el despliegue en tiempo real. [23] 2019 Intel Security (McAfee-Labs). DNN Implementó un sistema basado en DL para identificar malware en Android con una precisión de detección del 95,2% . Investigar diversos clasificadores basados en DL para mejorar la eficiencia general del sistema. [24] 2019 Drebin LSTM Propuso un esquema de identificación de malware que aprovecha LSTM y logró una precisión de detección tan baja como 93.7%. Para la implementación en el mundo real, se deben investigar otros clasificadores basados en DL para mejorar la precisión de la detección. [25] 2019 CICAndMal2017 LSTM Presentó un esquema para la identificación de Android Ransomware y logró una precisión del 97.08%. Es necesario investigar otros clasificadores de aprendizaje profundo para mejorar la precisión. [26] 2019 VirusTotal Gru, CNN Se ha implementado un marco basado en el aprendizaje profundo que emplea Gru, CNN, y se ha logrado una precisión de detección del 97,7%. Es necesario investigar otros clasificadores de aprendizaje profundo para mejorar la precisión. [27] 2019 APK files DNN Presentó un esquema de clasificación basado en DNN para Android y obtuvo una precisión de detección del 95%. Precisión de detección muy baja. [28] 2018 Extracción de características a través de la ejecución en tiempo real de la aplicación Android LSTM Implementación de un esquema de identificación de malware que emplea LSTM logró el 97,5%. El tiempo de ejecución de las aplicaciones en el emulador es corto. [29] 2018 Drebin, Genome, Virusshare, Contagio, minidump ANN Propuso un esquema de detección de malware utilizando ANN y adquirió una precisión de detección del 90%. Atribución de familia limitada. [30] 2018 Android APK DNN Utilizó la red neuronal profunda (DNN) para la detección de mawlare androide y alcanzó el 95% de precisión. La precisión no es suficiente para el uso comercial. [31] 2017 Android Apk files CNN Se ha propuesto un esquema de detección de malware para Android utilizando CNN y se ha logrado una precisión de detección del 99,4%. Conjunto limitado de funciones. [32] 2016 Android Apk files DNN Propuesta de esquema de identificación de malware basado en la comunidad y obtuvo una precisión de detección del 87%. El conjunto de funciones es muy limitado. 3 METODOLOGÍA Para la identificación de malware Android sofisticado y prevalente. La Figura 2 representa una descripción simplificada de nuestro marco ideado de arquitectura híbrida basada en DL (es decir, ConvLSTM2D y CNN). Durante la fase de adquisición de datos, se crea un conjunto de datos que incorpora código, clases y extracción de archivos de manifiesto de Apk (kit de paquetes de Android). Además, el archivo de manifiesto se utiliza para extraer un vector de entidad. Sin embargo, la selección de características importantes, la normalización de datos, la transformación y la codificación de etiquetas se han realizado en la fase de preprocesamiento de datos. Mientras se encuentra en la fase de ingeniería de modelos, se utiliza un híbrido habilitado para DL de ConvLSTM2D y CNN para el reconocimiento de malware realmente en evolución en el sistema operativo Android. Por último, los resultados obtenidos se han evaluado a fondo utilizando una evaluación estándar y extendida. FIGURA 2Abrir en el visor de figurasPowerPoint La descripción básica de la arquitectura para el marco de detección de malware Android híbrido propuesto 3.1 Descripción general de la aplicación Android En esta sección, la estructura de la aplicación Android se ha definido brevemente para comprender mejor el proceso de extracción de características. Un paquete de aplicaciones Android (APK) básico de la App Store contiene el archivo de bytecode Dalvik, recursos (es decir, plantillas, menú, atributos, etc.), clases con código ejecutable y el archivo AndroidManifest.xml. El archivo de manifiesto de Android es el archivo de configuración global para una aplicación de Android. Los componentes de una aplicación se identifican como servicios, actividades, proveedores de contenido, el receptor de difusión y también clases de implementación. El archivo de manifiesto de Android también incluye permisos de acceso para la API y la comunicación con otras aplicaciones. Los filtros de intención también se declaran en el archivo de manifiesto. En consecuencia, declara la versión mínima de la API que necesita una aplicación. 3.2 Adquisición de datos Los mecanismos de seguridad de Android dependen principalmente de su autorización de seguridad. Además, los mecanismos de análisis y detección basados en permisos son los más fiables y rápidos. Sin embargo, inspirados por el éxito de las técnicas de extracción de características existentes, nuestra arquitectura propuesta también extrajo características a diferentes niveles de un archivo APK. Para lograr un enfoque eficiente y rentable desde el punto de vista computacional para el análisis de malware, la descompresión de y el APK de Android se ha realizado utilizando código Java. Para la extracción de características del archivo de manifiesto de Android, se ha ejecutado un código Python personalizado para extraer valores de características para permisos, llamadas a la API e intenciones filtradas. 3.3 Conjunto de datos Para una identificación eficiente del malware de Android, la selección de un conjunto de datos apropiado juega un papel trascendental en la evaluación de los resultados. Para la experimentación, se ha utilizado un conjunto de datos que contiene 38842 APK (30831 APK benignos de Androzoo [36] y 8011 APK maliciosos de Android Malware Dataset (AMD) [37]). El conjunto de datos de AMD en general contiene diez clases diferentes de malware conocidas como Trojan, Trojan-Dropper, Trojan-clicker, Trojan-Spy, Trojan-Banker, Trojan-SMS, Backdoor, Adware, Hacker Tool, Ransomware). Seis clases de troyanos diversas se combinan en una sola etiqueta de clase de troyano para crear un conjunto de datos equilibrado. Por lo tanto, toda la distribución del conjunto de datos consta de tres clases diferentes, a saber, Benigno, Backdoor y Troyano. La distribución del conjunto de datos para tres clases se puede visualizar en la Tabla 2. TABLA 2. Tabla de distribución de conjuntos de datos para el esquema de identificación de malware propuesto Clase Nº de muestras Etiqueta de destino Benigno 29903 0 Puerta trasera 1022 1 Troyano 6863 2 3.4 Preprocesamiento de datos Se han aplicado pasos de preprocesamiento de conjuntos de datos en conjuntos de datos sin procesar para la transformación de datos para lograr un rendimiento efectivo. Además, el preprocesamiento del conjunto de datos lo hace menos complejo en términos de tiempo y almacenamiento. Los archivos Android Apk de Androzoo y AMD se combinan para producir un conjunto de datos para la clasificación de aplicaciones. Se han cumplido todas las características necesarias para un conjunto de datos (es decir, conjunto de datos etiquetado, diversidad y heterogeneidad de malware, características completas del archivo de manifiesto). Usando el código de Python, se recopilan casi 19.000 características, pero se seleccionan 350 características importantes y que aparecen con frecuencia para la identificación de malware. Es necesario lograr la versión escalada de todos los valores de las características para aumentar la eficiencia del sistema de detección de malware. La normalización del conjunto de datos se ha realizado utilizando la función escalar estándar de Python. La codificación en caliente se ha aplicado en etiquetas de destino para el aprendizaje de algoritmos DL. 3.5 Ingeniería de modelos Para la identificación de malware letal en evolución, se ha empleado un híbrido de ConvLSTM2D y CNN. Se ha ejecutado una técnica de identificación de malware de Android competente, adaptable y escalable que puede reconocer troyanos y puertas traseras de manera efectiva. La arquitectura completa del marco híbrido diseñado, incluidas las capas, el número de neuronas, la función de pérdida, las funciones de activación, el optimizador, las épocas, el tamaño del lote y la tasa de aprendizaje, se colocan en la Tabla 3. Además, el trabajo detallado del híbrido propuesto (ConvLSTM2D + CNN) se describe en el algoritmo 1. TABLA 3. Descripción del híbrido propuesto de ConvLSTM2D y CNN para el sistema de detección de malware ConvLSTM2D + LSTM Conv2D + Conv2D Conv2D + LSTM DNN + DNN Algoritmos Capa Neuronas Capa Neuronas Capa Neuronas Conv-LSTM2D 150 Conv2D 400 Conv2D 200 CNN 350 Conv-LSTM2D 75 Conv2D 100 Conv2D 100 DNN 100 Conv-LSTM2D 50 Conv2D 50 Conv2D 50 DNN 50 Flatten() – Flatten() – Flatten() – LSTM 150 Conv2D 400 LSTM 200 DNN 350 LSTM 75 Conv2D 100 LSTM 100 DNN 100 LSTM 50 Conv2D 50 LSTM 50 DNN 50 Flatten() – Flatten() – Flatten() – Flatten() – Flatten 30 Dense 40 Dense 30 Dense 30 Dense 15 Dense 15 Dense 15 Dense 15 Dense 3 Dense 3 Dense 3 Dense 3 Dense 3 Dense Activation function Relu, Soft Losmax function categorical crossentropy Optimizer Adam 50 Echchsize 16 Batch-size Learning rate 1 0.01. Training of Hybrid (ConvLSTM2D + CNN) Require: Dataset-Training T, Dataset-Testing t, ConvLSTM2D-layers CL, Epochs E, Batch-Size B, Weights W Ensure: Training, Testing & Saving Results 1: function ConvLSTM2D (T): 2: Normalize T (0∼1) 3: Reshape T 4: Initialize W for CL & D 5: Hybrid(ConvLSTM2D + CNN) = (CL, D) 6: for E p o c h ← 1 to E do 7: for S a m p l e ← 1 …. T do 8: Train w.r.t B from T 9: Calculate Loss w.r.t B 10: if WrongPrediction then 11: Update W 12: end if 13: end for 14: end for 15: Result = Predict on t 16: Save Result 17: end function 3.6 Algorithms Se explica la ingeniería básica de los algoritmos DL variados utilizados ConvLSTM2D, Convolutional Neural Network (CNN), Long Short-Term Memory (LSTM) y Deep Neural Network (DNN)). 3.6.1 ConvLSTM2D El ConvLSTM2D es una capa recurrente similar al LSTM. Sin embargo, las duplicaciones de la matriz interna se negocian con la operación de convolución. Los datos que se mueven a través de las celdas ConvLSTM mantienen la forma del tensor 3D para la entrada en lugar de ser solo un vector de características 1D. Un modelo Convolutional-LSTM es una forma alternativa de un Convolutional-CNN, en el que los datos se han pasado como en forma 3D y el resultado se logra como un conjunto de matrices 1D aplanadas. Cuando el mismo proceso funciona en iteraciones, después de algún tiempo se recuperan un montón de características como un vector de características. 3.6.2 Memoria a largo plazo Memoria a largo plazo Una variación de RNN [38], es un algoritmo utilizado para aprender y mantener largas secuencias de datos. Para fluir la señal de error para aprender características largas, el clasificador LSTM utiliza un módulo sin precedentes llamado carrusel de error constante (CEC). Para manejar el error de retropropagación en LSTM, se ha utilizado el mecanismo de compuerta. Los cálculos internos y la decisión de CEC se eligen mediante el estado de "compuerta" según lo indicado por los datos actuales y el flujo pasado para controlar el flujo de datos y la memoria. Se incluye una celda LSTM con dos estados y tres puertas denominadas estado oculto, estado de celda, puerta de entrada, puerta de olvido, puerta de salida. Dada la secuencia de entrada x = { x 1 + x 2 ,... . , x t } donde la puerta de entrada, la puerta de olvido y la puerta de salida en la estructura LSTM se documentan individualmente como i t , f t y o t y los pesos adjuntos a ellas son W i , W f , W o , b i , b f y b o . La celda LSTM actualiza dos estados en cada paso de tiempo, estado de celda c t y estado oculto h t . Mientras que para la función sigmoidea se utiliza el símbolo σ. En la ecuación 1, la decisión de información como cuánta información es necesaria mantener se decide por f t en una celda. x t es el vector de entrada actual y h t − 1 es el valor de salida obtenido de la capa anterior. Y b f es el sesgo de la puerta de olvido y W f se denomina matriz de peso. f t = σ ( W f ∗ [ h t − 1 , x t ] + b f ) . (1)La puerta de entrada i t decide qué información debe mantenerse y actualizar el estado de la celda en consecuencia. i t = σ ( W i ∗ [ h t − 1 , x t ] + b i ) . (2)Para la generación de nuevos valores candidatos c t , se utiliza Tanh, que es básicamente una función tangente hiperbólica. c t = tanh ( W c . [ h t − 1 , x t ] + b c ) . (3)A través de la multiplicación de f t y el antiguo valor alcanzado, se decide el valor candidato actual. Además, los valores se suman en la ecuación como i t * c t . c t = f t ∗ c t − 1 + i t ∗ c t . (4)Por último, el resultado final se calcula como o t . o t = σ ( W o ∗ [ h t − 1 , x t ] + b o ) . (5) h t = o t ∗ tanh ( c t ) . (6)La celda LSTM considera los datos como entrada a la capa de entrada LSTM y las capas ocultas están asociadas a ella. Las neuronas en la capa de salida dependen del número de clases que se están clasificando. 3.6.3 Red neuronal convolucional Para lograr resultados excepcionales en el procesamiento de imágenes, el procesamiento del lenguaje natural y el reconocimiento de voz, la Red neuronal convolucional (CNN) se está empleando actualmente en el campo de la ciberseguridad [39, 40]. CNN puede ganar competencia con los aspectos destacados significativos en contraste con los cálculos de determinación de elementos ordinarios. La CNN se compone de la secuencia de la unidad de procesamiento que está interconectada y planificada para cambiar la disposición de la entrada a la disposición de la salida requerida. La entrada, las capas ocultas, el tamaño del filtro, la zancada y la salida son partes fundamentales de un clasificador CNN [41]. CNN realiza diferentes operaciones sobre los datos, que incorporan convolución, agrupación, aplanamiento y relleno. 3.6.4 La red neuronal profunda DNN [42] se percibe como una red neuronal artificial estándar con varias capas interconectadas entre las capas de entrada y salida [41]. La DNN encuentra la ecuación numérica correcta para cambiar la contribución a la clasificación de salida. Cada capa única de DNN comprende neuronas que realizan cálculos. El nodo obtiene la entrada, realiza el cálculo mientras usa los pesos, aplica la función de activación y luego pasa la información al siguiente nodo hasta un nodo final para su clasificación. 4 CONFIGURACIÓN EXPERIMENTAL, RESULTADOS Y DISCUSIÓN Esta parte del documento define los arreglos para la experimentación, las métricas de rendimiento y los resultados logrados junto con la discusión. 4.1 Configuración experimental El entrenamiento del híbrido propuesto de ConvLSTM2D y CNN se realiza utilizando una biblioteca de python conocida como Keras con la versión 3.8 de python. Las bibliotecas utilizadas para lograr los resultados deseados son Numpy, Tensorflow, Scikitlearn, Pandas. La experimentación se realiza utilizando un único servidor de PC que tiene un procesador Core-i7 (3,4 GHz), modelo 9700, GPU (unidad de procesamiento gráfico) NVIDIA GTX-1660. El sistema operativo utilizado para realizar los experimentos es Windows 10-64 Bit y RAM 16 GB-2400 MHz. Las especificaciones del sistema subyacente se definen en la Tabla 4. TABLA 4. Requisitos de software y hardware para el procesador de CPU clasificador híbrido basado en DL Core-i7(3.4Ghz) Modelo 9700 Generación 9ª GPU NVIDIA GTX-1660 OS Windows 10 - 64 Bit RAM 16GB - 2400 MHz Lenguaje Python3.8 Software Scikitlearn, Numpy, Pandas, Tensorflow 4.2 Evaluación del rendimiento Se emplean métricas de evaluación estándar para medir y analizar la eficiencia y precisión del sistema de detección de anomalías propuesto [43]. Estas métricas de rendimiento para la evaluación que se han implementado en nuestro trabajo son Exactitud, Precisión de recuperación, ROC, Puntuación F1, Tasa de verdaderos negativos (TNR), Tasa de falsos descubrimientos (FDR), Tasa de falsos negativos (FNR), Tasa de falsos positivos (FPR), Tasa de falsas omisiones (FOR), Coeficiente de correlación de Matthews (MCC) y tiempo de prueba y capacitación. La matriz de confusión se utiliza para representar los valores reales de algunos elementos como Verdadero Positivo (TP), Verdadero Negativo (TN), Falso Positivo (FP) y Falso Negativo (FN). La representación gráfica para hacer la diferencia y el contraste

Files

cmu2.12265.pdf

Files (15.9 kB)

⚠️ Please wait a few minutes before your translated files are ready ⚠️ Note: Some files might be protected thus translations might not work.
Name Size Download all
md5:d696e24529e8f79d2bc53d83a82f8bf3
15.9 kB
Preview Download

Additional details

Additional titles

Translated title (Arabic)
MalDroid: إطار عمل ذكي آمن للكشف عن البرامج الضارة يدعم DL
Translated title (French)
MalDroid : cadre de détection intelligente de logiciels malveillants sécurisé activé par DL
Translated title (Spanish)
MalDroid: marco de detección inteligente de malware habilitado para Secure DL

Identifiers

Other
https://openalex.org/W3187143853
DOI
10.1049/cmu2.12265

GreSIS Basics Section

Is Global South Knowledge
Yes
Country
Pakistan

References

  • https://openalex.org/W2064675550
  • https://openalex.org/W2407313496
  • https://openalex.org/W2559815580
  • https://openalex.org/W2612123163
  • https://openalex.org/W2620763085
  • https://openalex.org/W2620844046
  • https://openalex.org/W2735043505
  • https://openalex.org/W2753669113
  • https://openalex.org/W2789983203
  • https://openalex.org/W2792310543
  • https://openalex.org/W2792736988
  • https://openalex.org/W2795309687
  • https://openalex.org/W2795845996
  • https://openalex.org/W2800912855
  • https://openalex.org/W2801888526
  • https://openalex.org/W2806534592
  • https://openalex.org/W2825974271
  • https://openalex.org/W2885070483
  • https://openalex.org/W2912258151
  • https://openalex.org/W2922526186
  • https://openalex.org/W2934046414
  • https://openalex.org/W2937054116
  • https://openalex.org/W2962883549
  • https://openalex.org/W2963541464
  • https://openalex.org/W2963879194
  • https://openalex.org/W2966399854
  • https://openalex.org/W2968263527
  • https://openalex.org/W2970560269
  • https://openalex.org/W2981859286
  • https://openalex.org/W2986232939
  • https://openalex.org/W3006325478
  • https://openalex.org/W3009677746
  • https://openalex.org/W3014829096
  • https://openalex.org/W3033429809
  • https://openalex.org/W3042562967
  • https://openalex.org/W3045755143
  • https://openalex.org/W3083155189
  • https://openalex.org/W3088054835
  • https://openalex.org/W3088067349
  • https://openalex.org/W3090865871
  • https://openalex.org/W4250107139