Preprint
Article

This version is not peer-reviewed.

MINDPRES: A Hybrid Prototype System for Comprehensive Data Protection in the User Layer of the Mobile Cloud

A peer-reviewed article of this preprint also exists.

Submitted:

11 November 2024

Posted:

12 November 2024

You are already at the latest version

Abstract
Mobile cloud computing (MCC) is a prevailing technological paradigm for providing services to customers who have access to mobile devices (MD). Security compromises at the user layer of MCC may cause harm to the MD user as well as to other MCC customers. This study proposes MINDPRES, a mobile app intrusion prevention and detection system to protect against malicious apps in the MD device. It applies machine learning models deployed on a cloud server to support the static analysis of the apps resident on the mobile device as well as performing dynamic monitoring of app activities and network traffic at runtime. The host-based MINDPRES manages the intrusion detection and protection process, including risk assessment and user communication. The paper also presents the outcomes of the testing of the prototype system on a set of real life benign and malicious apps, and compares its performance to results reported in the extant literature.
Keywords: 
;  ;  ;  ;  ;  ;  ;  ;  ;  

1. Introduction

Intrusion detection and prevention play a critical role in protecting user data from malware in end devices. Modern malware have evolved in sophistication such that traditional detection methods have difficulty to keep up, and detection techniques using machine language algorithms have been increasingly employed. Implementing machine learning (ML) on mobile devices is challenging due to the limited computing resources of the mobile devices. Data security issues have become an obstacle to the adoption of cloud computing (CC) and mobile clous computing (MCC) technologies as the enormous amount of data travelling through the mobile Internet has attracted attackers to this environment [1,2].
The security issues in the MCC cut across the three main layers that make up its architecture: the user layer (UL), the communication layer (CL), and the cloud service provider layer (CSPL) [3]. The mobile nature of the network nodes in the MCC has raised concerns about the potential of data privacy breaches, data loss or malicious replication of data [4,5,6].
While the cloud infrastructure of the MCC environment makes it possible to offer versatile and reliable services, ensuring the security and the privacy of user data is still a major challenge [7,8]. Firstly, the MCC environment inherits most of the security challenges typical for CC, such as multi-tenancy and virtualization security. This affects the security and privacy of user information stored in both the mobile and cloud infrastructure [9,10]. Secondly, to deploy the powerful cloud computation resources to execute resource-demanding applications [11], mobile device (MD) users need to offloading content to a cloud or an edge server for subsequent use. However, the MD user cannot validate the correctness of the offloaded data at the point of usage. If malicious apps are active on the MD, they may compromise target clouds based applications. If the attempt to integrate malware into legitimate cloud software remains undetected, this will poses a threat to the security of both mobile cloud data and mobile cloud applications [12,13].
In the last decade the number of cloud based mobile applications in areas such as education banking and healthcare has grown significantly [14,15,16]. As these applications are used frequently and widely, the security of the UL of the MCC environment has become a top priority [5]. However, malicious apps and may be hard to detect using existing defensive techniques, especially in the case of repackaging of popular applications with malicious payload [17,18,19,20,21,22]. In addition, security controls such firewalls, access control, anti-spyware, anti-virus and anti-malware may require significant computational power; in some cases, they may need to modify the kernel of the operating system (OS). Where feasible, moving some of the defensive mechanisms to the cloud end will make the implementation of a comprehensive defense system a feasible option [23,24,25,26].
According to [27], malicious apps are among the most significant threats to the security and privacy of MCC user data because the malicious activities affect both the UL and CSPL. The vulnerabilities of the MDs used at the UL of the MCC architecture have been identified in our earlier work [28,29]. Recent studies also highlight the threats to the CSPL posed by malicious apps on MCC user devices [20,21]. Ineffective security protection mechanisms at the UL may lead to a compromised app gaining access to MCC services [30]. This may breach the security defenses of the MCC infrastructure and open doors to possible attacks. Therefore, it is necessary to develop security approaches that mitigate these risks to strengthen the reliability of the MCC environment.
1.1. Related Work
A number of research studies on the topic of protecting user data on Android de-vices have proposed and evaluated a variety of classification approaches and feature selection (FS) methods for developing ML models for malware detection. Earlier work used predominantly a static approach , with app permissions often used as classification features [31]. As cybercriminal attacks became more sophisticated, the focus shifted towards dynamic analysis using features representing app behavior.
For example, the system proposed by Ribeiro et al. [18] monitors MD behavioral characteristics such as CPU usage, memory consumption, outgoing and incoming net-work traffic, battery usage to detects unusual patterns. Zhou et al. [19] also proposed a dynamic model for the detection of malicious attacks. They used a large set of 166 dynamically extracted features. Their detection engine acquires run-time system calls from unknown Android apps to create an input feature vector table. Based on the table, the ML model classifies an app as benign or malicious. Dynamic features were explored as well by Bhat et al. [32] and by Roy et al. [33]. Both studies tested extensively several ML models that used dynamic input features such as system calls, binder calls and network traffic data, using available datasets.
Work on improving the performance of static ML detection models also continued as static methods are simpler and generally, faster. For example, O. S et al. [27] proposed an ontology-based intelligent model using an ML classifier trained on app permissions as static features. Alazab et al. [34] developed a static malware detection model, which classified apps as benign or malicious based on the static analysis of app permissions and API (Application Programme Interface) calls. Their work focused particularly on identifying a set of best performing strategies for selecting relevant API calls. Kirubavathi et al. [35] applied a static approach to build a model specifically for the detection of ransomware. The model was effective while using a small set of 22 selected static features (permissions). Aljarrah et. [36] also used static analysis but added a set of contextual use features (services, receivers, activities and providers) to the set of 50 other static features (permissions and API calls) . Mahindru et al. [37] applied a static approach that used permissions and API calls as features, and app ratings and number of downloads as additional features; their detection engine included ML models and a neural network.
Hybrid approaches that combined methods for static and dynamic analysis also gained attention. For example, Maryam et al. [38] proposed to use app permissions and intents as static features and information leakage, cryptography’s exploitation, and network manipulations as dynamic features. Their experimental results indicated that best classification results were achieved when the static and dynamic features were analyzed simultaneously. Shatnawi et al. [39] similarly applied hybrid approach, with static features (permissions) extracted from the APK file and dynamic features extracted from running the apps in a controlled environment. Their model focused on action repetitions, i.e., the number of activities representing normal or suspicious data access activities. Aldhaferi et al. [40] also deployed a hybrid d approach to train a support vector regression (SVR) classifier. The static features were extracted from the APK (Android Package Kit) files and included permissions and other metadata; the dynamic features (system calls, API calls, network traffic) were obtained from executing the APK files in a controlled environment. The feature set was relative large, comprising 327 features. In the hybrid approach adopted by Asmitha et al. [41] the static features (permissions, activities, services, receivers) were also extracted from the APK file and the dynamic features (system calls) were extracted by running the APK files in an emulator. The authors created a multilayer architecture that comprised both conventional ML and deep learning (DL) algorithms. Finally, Sonya et al. [42] proposed a comprehensive hybrid system for ransomware detection. The static features (e.g., permissions) are selected and extracted from the APK file while the dynamic features (e.g., API calls) are extracted by running the apps in a sandbox or in an emulator.

1.2. Research Problem and Study Contributions

The vast majority of models and approaches proposed in past research report results that hade been obtained in laboratory conditions, using datasets available for various repositories. While dynamic and hybrid models in particular have achieved good classification accuracy and other performance metrics, the extraction of features for dynamic analysis involves running the apps/ This is particular drawback when it comes to implementing a model for the practical purpose of providing effective and efficient protection against malicious intrusions. With the exception of [41, little consideration has been given to the feasibility of developing actual software systems that can be deployed on MDs , and on the issue of time consuming model training. A parallel architecture for malware detection is proposed in [26]; however, their reported prototype works with static features only, extracted from the APK file.
This study proposes a flexible hybrid approach for comprehensive protection of the data and the MD device that is connected to the mobile cloud. It reports on the design and evaluation of a prototype system (MINDPRES) that demonstrates the feasibility of the approach and the methods used. The main contributions of this study are:
  • A data-driven , cloud-based method for the static risk assessment of mobile apps resident on an MD.
  • An effective innovative filter-based feature selection (FS) technique for static app classification.
  • A proof-of -concept prototype of an innovative distributed hybrid intrusion detection and prevention system (IDPS) .
  • A flexible framework for building distributed systems for the protection of MCC user data and devices.
The rest of the paper is organized as follows. An overview of the functionalities of the prototype system and descriptions of the methods used are provided in section 2. In section 3, we describe the system design and its implementation as a working prototype, and present the results of the performance evaluation of the prototype system. In section 4 we compare our work to other results reported in the extant literature, discuss the contributions and limitations of the study, and suggest directions for further research. The appendices contain detailed descriptions of the class, sequence and activity diagrams that are introduced in section 3.2.

2. Materials and Methods

In this study, the capacity and capability issues associated with running an advanced IDPS that uses ML algorithms at the device level are mitigated by training two ML models on a cloud-based server and distributing the computational load of the app risk evaluation process between the mobile device and the cloud-based server. The functional overview of the proposed hybrid (host-based and mobile cloud-based) protection system (MINDPRES) is shown in Figure 1.
A central building block of the system is the app evaluator which comprises a cloud-based component and a device-based component. It works with an ensemble ML model for static app classification (benign or malicious) that uses the declared apps permissions and intents as input features.
The ensemble ML model for dynamic app activity classification (benign or malicious) uses as inputs, the API call data and actual permissions or intents requested at the time of the API calls. The MD user data are thus protected by an IDPS that comprises two intrusion detection systems (IDS) (a host based IDS and a network based IDS), and an intrusion prevention system (IPS). The system operates as follows:
  • When MINDPRES is installed on a device for the first time, it analyzes each user-installed app and determines its risk category (high, medium, low). Apps that fall into the high and medium risk categories are placed in a watchlist.
  • When a new app is installed on a device the host IDS of MINDPRES is automatically invoked to perform a static analysis and assign the app a risk category.
  • The network and host IDS of MINDPRES monitors the API calls made by apps and apps’ network activities both when the user is using the device and when the device is idle. The system prioritizes monitoring the behavior of the apps that are already on the watchlist.
  • The IPS automatically blocks apps when suspicious activities or malicious network traffic are detected. Due to the possibility of false alarms, MINDPRES gives users the option to override the block and execute the app.
To develop the functional capabilities of the MIDNPRES prototype we drew on the approaches and experimental results reported in our previous work [28,29,43]. The descriptions of the methods used in this study are presented below.

2.1. Feature Selection Method

To select the features for the ensemble ML for app classification, this study uses IFD (intrinsic feature dispersion) as the FS method. IFD is a filter-based feature selection method that was proposed and evaluated in [43]. It takes into consideration the outcomes of the statistical analysis of the permissions and intents used by the apps represented in the training dataset. The method was developed and tested using a training dataset of 28, 306 APK samples ( 9,879 benign and 18,427 malicious samples) collected for the AndroZoo [44] and RmDroid [45] repositories. A total of 132 unique permissions and 131 unique intents were used by the samples in the training dataset. Thus, the number of potential features to be used in the app classification ML model was 263.
The set of potential features was reduced first by excluding permissions and intents that were commonly requested by both benign and malicious apps (e.g., the permission to use the Internet), and permissions and intents that were are rarely used by any type of app. In this study, the exclusion/inclusion thresholds were set to 3% and 90% (i.e., a permission or an intent was excluded if less than 3%, or included if more than 90% of the apps in the training dataset used it). The outcome was a set M of m permissions and a set N of n intent. The members of the sets M and N were all potential classification features.
A the next step, each permissions Mi ,i= 1. 2…m from the set M and each intent Nj, j=1,2…n form the set N was evaluated and either selected or rejected as an input feature, as described below.
For each permission Mi we define the measures to represent the relative use of this permission by all benign and by all malicious apps in the training dataset as
ξ i = N u m b e r o f b e n i g n a p p s t r a i n i n g d a t a s e t u s i n g p e r m i s s i o n M i T o t a l n u m b e r o f b e n i g n a p p s t r a i n i n g d a t a s e t × 100 %
and
η i = N u m b e r o f m a l i c i o u s a p p s t r a i n i n g d a t a s e t u s i n g M i T o t a l n u m b e r o f m a l i c i o u s a p p s t r a i n i n g d a t a s e t × 100 %
The permission selection function E(Mi) is defined as
E M i = G O O D , i f δ i m i n ξ i , η i > ε i 2 V O I D , i f δ i m i n ξ i , η i ε i 2
where
ε i = m i n ξ i , η i m a x ξ i , η i
and
δ i ξ i , η i = ξ i η i = ξ i η i , ξ i η i η i ξ i , ξ i < η i
A permission Mi is selected as a feature if E(M i) returns a value GOOD. Intents are selected in a similar way. The IFD method led to the selection of 39 unique features (30 permissions and nine intents ) form the sets of potential features M and N. (Table 1).

2.2. Ensemble ML Model for Static App Classification

In this study, the 39 features selected by the IDF method (section 2.1) were used to train an ensemble ML model for static app classification (Figure 2). This model is part of the detection engine of MINDPRES. It resides on the cloud server and is invoked when an app needs to be classified as benign or as malicious.

2.2.1. ML Classification Algorithms

Ten ML classification algorithms were considered for the ensemble (Table 2). These algorithms are well suited for a classification problem such as predicting an app as malicious or benign and have been widely used in related empirical work [31,46,47].

2.2.2. Algorithm Performance Evaluation

We carried out an experiment to compare the performance of the ML algorithms and build an ensemble ML model that can effectively recognize malicious apps. We used the ML Scikit library with the Python programming language running on a remote virtual machine with the following hardware configuration: AMD 32- Core CPU @2.20GHz (2 processor), 64GB RAM, and a 500GB hard disk drive.
The experimental models worked with the features in Table 1 and were trained using the same training dataset that was used to identify these features. The performance evaluation metrics in Table 3 were used for the comparison.
We tested the models with a test dataset that contained 2,001 benign samples and 3,661 malicious samples. A complete set of results can be found in [43]. In this paper, we tested the ensemble model comprising the top performing classifier C1, C2, and C7. Table 4 presents the performance evaluation results of the ensemble ML model in comparison to the performance evaluation results of the models that used C1, C2 and C7, respectively.
The ensemble ML model includes an app permission filter that is used to extract the permissions and intents request by an app and generate the feature dataset. The classification outcome of the ensemble ML model is achieved through majority voting across the three classifiers of the ensemble (C1, C2 and C7).
The results indicate that the ensemble model outperformed the other models in some of the metrics. For example, it achieved the top classification accuracy of 98.13% and the lowest error rate of 1.87%. The false alarm rate of around 2% was also the lowest, and significantly lower than in the rest of the models.

2.3. Static App Risk Evaluation Method

The static method for determining an app’s risk riskiness used in this study aims to assign to it a risk category. It was proposed and tested on a small sample of apps in [29].
The app risk category (low risk, medium risk, high risk) considers two inputs: (i) the app’s classification as benign or malicious by the ensemble ML model for static app classification described in section 2.2 , and (ii) the calculated value of the app’s risk score.
The risk score of the app depends on how the app uses each of the permissions that belong to a predetermined reference set of dangerous permissions. To determine the risk score of an app, the static method for app risk evaluation uses the risk scores of the permissions in the reference set of dangerous permissions

2.3.1. Risk Scores of Dangerous Permissions

The dangerous permissions in the reference set represent the ‘top most dangerous permissions’ that are likely to be used by apps, and are commonly found on user devices. This study used the set of top dangerous permissions identified in [29], and shown in Table 5. The permissions were identified though the analysis of the training dataset described in section 2.1.
For each dangerous permission Pi, i=1, 2,…15, its risk score r(i) is calculated as below.
r ( i ) = α i α i β i
where
α i = N u m b e r o f M a l i c i o u s A p p s X U s i n g D a n g e r o u s p e r m i s s i o n P i N u m b e r o f M a l i c i o u s A p p s X
and
β i = N u m b e r o f B e n i g n A p p s i n X U s i n g D a n g e r o u s p e r m i s s i o n P i N u m b e r o f B e n i g n A p p s X

2.3.2. App Risk Score

Each app a that is resident on a user MD may be using one or more of the dangerous permissions in the reference set of dangerous permissions. The risk score R(a) of an app a resident on an MD is a value in the interval [0,1] that is calculated as shown below.
R a = 1 k i = 1 n λ a , i r i
where
k a = i = 1 n λ a , i
and
λ a , i = 1 i f t h e a p p a u s e s d a n g e r o u s p e r m i s s i o n P i 0 i f t h e a p p a d o e s n o t u s e d a n g e r o u s p e r m i s s i o n P i
As the app landscape changes and new security threats appear, the reference set of dangerous permissions may change. The risks sores of the permissions in the reference set will be updated using the same formulae. If the reference set of dangerous permissions is updated, the risk scores R(a) of the apps resident on the MD will need to be recalculated as well, using the same formulae.

2.3.3. App Risk Category

The risk category of an app a resident on the MD depends on the app’s classification (benign or malicious) and the app risk score R(a). It is determined using a set of threshold parameters t1, t2, t3 and t4 (Table 6). In this study, the threshold parameters t1, t2, t3 and t4 were set as 0.25, 0.60, 0.65 and 0.80, respectively. The values were determined experimentally and found to be performing better than the threshold values used in [29].
If the classification ML model is retrained and/or the reference set of dangerous permissions is updated, the apps resident on the device will need to be reevaluated. Their categories will be updated using the same approach. The threshold parameters may need to be updated as well, to determine the ones performing best with the new data.

2.4. Dynamic App Risk Evaluation Method

The dynamic method of determining an app’s riskiness involves the use of two ensemble ML models:
  • An ensemble ML model for the analysis of API calls made by apps at run time. The model analyses an app’s dynamic activities based on network traffic data to detect malicious activities performed by apps resident on the MD.
  • An ensemble ML model for app classification based on run-time permission and internet requests. In this study, the model described in section 2.2 was used for the purpose.

2.4.1. Data Acquisition

Network traffic data and data about permissions and intents requested at run time were collected from 4,000 (2,000 benign and 2,000 malicious) APK samples. The samples were chosen randomly from the training dataset described in section 2.1. The apps' APKs were installed on ten different Android X Emulators (Nexus 5X) with the following hardware configuration: 1GB RAM, 512MB SD Card, 2GB internal storage, 1080 X 1920HDPI, 4 Multi-Core CPU in a remote Virtual Machine (VM). The VM had the following hardware configuration: AMD dual Core (processor) i7-8700 CPU @2.00GHz, 64GB RAM, and a 1TB hard disk drive.
A data capture tool was developed to collect data about app activities at run time These include network traffic data and information about permission and intent requests made by the app at the time of the network activity. The tool uses the Android virtual private network (VPN) services and tracks each API request to an external service originating from the device emulator. The network traffic data that were collected included information about the amount of data sent or received, the duration of the connection, the network protocol requested, and the destination host (IP address and URL) In addition, the tool captured the permissions and intent requested at the point of making the API calls.
In each emulator used in this study, 200 different apps of each type were installed and executed for 5 hours daily. The data associated with each API request were captured by the emulator and stored in an SQLite database. The emulators were left running unattended for another 7 hours to record background network calls made by apps when the emulated devices were idle. This process was repeated for each emulator for two days. At the end of the data acquisition period, a total of 78,285 unique dynamic activity data samples were collected (Table 7).

2.4.2. Feature Selection

The features that represented actual app run-time behavior were extracted from each emulator’s database. They included the set of 39 features (F1, F2,…F39) ) (permission and intent requests) selected by the filter-based IFD method (Table 1) and the set (C1, C2, …C8) of eight specific network traffic characteristics of API calls to external services (Table 8).
Thus, the app activity data comprises information about the use of the features F1, F2,…F39 and the actual values of C1, C2, …C8). Only API calls that request an HTTP, HTTPS, TCP, TLS, or DNS connection were considered. These protocols were chosen because typical malware behavior usually involves stealing sensitive information from the device and transmitting it to a remote server.

2.4.3. Ensemble ML Model for Dynamic App Activity Classification

The ensemble model for dynamic app activity classification uses the ensemble Random Forest ML classifier (with bagging). This algorithm was found to be one of the best performing classifies in our experiments with a proposed cloud intrusion detection system that used the NSL KDD dataset for training the ML models [48].
As shown in Figure 3, the model was trained on the experimental dataset of dynamic activity samples using as input features C1,C2, C4, C5, C7, C8 . When the model receives a request for an app activity classification at run time, it analyses the network traffic data to detect malicious behavior. It feeds back the classification outcome to the MD.

3. Results

The methods described in section 2 were deployed in a prototype of MINDPRES. This section describes the design and implementation of the prototype including the functional and algorithmic descriptions of its three main components and the corresponding Unified Modelling Language (UML) diagrams. We also present the results of experiments conducted to evaluate the prototype performance in terms of the overall efficiency and the system’s deployment feasibility.

3.1. MINDPRES Prototype Design

The prototype system comprises three sub-system components: the Device Manager (DM), the App Evaluator (AE), and the Detection Engine (DE). A high-level visualization of the prototype components is shown in Figure 4. The functional design of the components is discussed below.

3.1.1. Device Manager

The DM is responsible for scanning the apps that reside on the device and for generating risk evaluation results (Figure 5). The device manager uses the VPN service libraries in the Android OS to prepare the prototype system for monitoring the traffic generated by the apps resident on the device without root-level access; however, the device user must grant MINDPRES access to the Android VPN service.
The DM allows MINDPRES to run in the background while the user is using other apps. MINDPRES gathers app network traffic data and run-time permission and intent requests and stores these in the device database. The DM forwards the data to the DE component of MINDPRES for further analysis. The high-level algorithmic design of the DM is shown in Table 9.

3.1.2. App Evaluator

The AE (Figure 6) determines the risk profile of user-installed apps by assigning each app a risk category (high risk, medium risk, or low risk). To evaluate an app, MINDPRES reads the content of its manifest file and extracts: (i) the permissions and intents required by the feature selection algorithm of the cloud-based ML model, and (ii) the dangerous permissions used by the app. The AE sends a request to the cloud server. The request contains the input features (app permissions and intents) required by the ML model for static app classification.
The ML model for static app classification that resides on the server handles the request. The model is described in section 2.2; it uses the feature selection algorithm described in 2.1. The cloud server responds by returning a classification output (benign or malicious).
Next the risk posed by a device-resident app is assessed by computing its risk score value based on the risk score values of the extracted dangerous permissions (using the methods described in 2.3.1 and 2.3.2). Considering the app’s risk sore value and the the classification output of the ML model for static app classification, the AE assigns the app a static risk category (using the method described in 2.3.3). The high-level algorithmic design of the app evaluator is shown in Table 10.

3.1.3. Detection Engine

The DE provides the IDPS functionality of MINDPRES. The DE monitors resident apps' behavior in real time and alerts the user to signs of abnormal behavior. As shown in Figure 4, the DE comprises two main sub-systems: the app intrusion manager and the app prevention manager.
The app intrusion manager (Figure 7) works in conjunction with the DM to leverage the Android VPN services It uses a dynamic approach: It extracts the actual permissions and intents requested by an app at run-time . These are scanned to select the ones that belong to the list of permissions and intents features required by the cloud-based ML model for static app classification (as described in section 2.2) and forwards the information to the feature set manager.
Second, the app traffic extractor captures network traffic data from the apps on the device (limited to HTTP, HTTPS, TCP , TLS, and DNS requests.) The network traffic data comprise the protocol (port/service), the duration of the connection, the number of bytes sent from the device, the number of bytes received from the destination host, the number packets sent, the number of packets received from the destination host, the packet size, the URL and the IP address of the destination request, and the source of the request (i.e., the app). The app traffic extractor forwards the network traffic data required by the ML model for dynamic app activity classification (section 2.4) to the feature set manager.
The feature set manager prepares the app activity data required by each of the two ML models and sends requests for classification. The responses are sent to the intrusion assessor .
In addition, the app traffic extractor checks the URL in the API call against a global database of known malicious URLs (categorized as malware, spamming, phishing, suspicious). The outcome of the check is forwarded to the intrusion assessor.
The intrusion assessor analyses the responses obtained from the global database of malicious URLs and from the ML classification models. It raises a flag if one of the two classification outputs is ‘malicious’ (i.e., either an app has been classified as malicious based on the permissions and intents requested at run-time, or malicious traffic has been identified associated with the app), or the checking with the malicious URL database returns true for any of the four categories of malicious URLs. An intrusion alert is raised.
The app prevention manager (Figure 4) is the risk mitigation component of MINDPRES. If an intrusion alert is raised, the app prevention manager identifies the app, communicates with the device manager and blocks any traffic from the app to the destination IP address. The app prevention manager alerts the MD user who can override the block and allow the connection. The algorithmic design of the detection engine is shown in Table 11.

3.1.4. MINDPRES Unified Modelling

The UML class diagram of MINDPRES shows the internal structures of the classes that make up the prototype system, and how each class interacts with the other classes (Figure 8). The main_activity class is the backbone of the prototype. It has three associated classes that correspond to the system components described in section 3.1 (the device manager class, the app evaluator class, and the detection engine class). Each class comprises a number of subclasses that support various MINDPRES functionalities. For a more detailed description of the class diagram of the MINDPRES prototype, see Appendix A, Section A1.
The interactional activities amongst the various objects that make up the MINDPRES prototype system are visualized in the UML sequence diagram of MINDPRES (Figure 9). For a more detailed description, see Appendix A, Section A2.
The UML activity diagram of MINDPRES visualizes the system’s dynamic aspects (Figure 10). It shows an abstraction of the events occurring as a result of the interactions between the MD user and the system , and depicts the flow of the various MINDPRES activities from one point to another. For a more detailed description of the activity diagram of the MINDPRES prototype, see Appendix A, Section A3.

3.2. MINDPRES Prototype Implementation and User Interface

The ensemble ML models used to implement the prototype system were developed using Python as the programming language and in particular, the Scikit-learn, Pandas, and NumPy libraries. The libraries have been used in prior research and have proved to be robust and reliable [49]. The ML models were deployed to the AWS cloud container.
The devicer end components of the MINDPRES prototype were implemented using the Android Studio Integrated Development Environment (IDE). As the proposed system requires native access to the device's low-level resources such as the VPN service and the package manager, Java was chosen as the app development language; the Java libraries provided support for communicating with the Android OS kernel and enabled the system to analyze efficiently the device resident apps and to intercept their API calls.
The user Interface (UI) was designed using the Extended Markup Language (XML) in the Android Studio. It was initially implemented on an Android emulator and then tested on several Android devices. The UI design of the three main functional components of MINDPES (device manager, app evaluation and detection engine) are described below.
The device manager screen is the first one the users sees when the MINDPRES app is launched. The user is asked to accept the use of the VPN service for MINDPRES to monitor the activities of the apps on the device, and is shown the total number of users who have installed apps on the device (Figure 11). The app evaluator screen shows the risk score and risk category for each app that has been evaluated. The system displays the permissions requested by each app are provides the user with an option to uninstall apps that may pose risk to the device (Figure 12). The detection engine UI contains three different tabs. The first tab displays the list of all apps and the total number of online requests made by each app. It also provides a list of API calls made to external URLs and the details of the API calls made. The second tab displays the list of apps with the total number of malicious API calls made, as detected by the intrusion assessor. This tab also shows URLs flagged as malicious. The third tab displays the list of all blacklisted API calls and allows the user to either enable or disable a blacklisted URL ( Figure 13 and Figure 14).

3.3. MINDPRES Prototype Evaluation

The evaluation aimed to assess the effectiveness of the proposed approach to the protection of Android mobile devices against malicious apps and the feasibility of deploying MINDPRES on mobile devices, including energy consumption. The evaluation followed a staged process, with several real-life experiments conducted. The first stage involved assessing the risk posed by the apps resident on the device. The risk assessment was performed by the app evaluator, which assigned a risk category to each app. The second stage involved monitoring the actual network behavior of the resident apps by the detection engine, with the purpose of detecting and preventing malicious activities.

3.3.1. Experiment Setup

The dataset used in the evaluation experiment was different from the training and testing datasets used to evaluate the performance of the ensemble ML model for static app classification (section 2.2). Here, a testbed of 1,000 apps are used (600 benign and 400 malicious). The 600 benign samples were downloaded between November 1st, 2021 and December 1st, 2021. The selection included the top thirty most popular apps from each of the twenty app categories in the Google Play Store. Only apps with at least one million user downloads were considered. The selection included most of the popular apps found in user devices and used for day-to-day activities, e.g, social networking, or travel.
The 400 malicious samples were obtained from the malware repository CICMalDroid2020 [50]. The malicious samples in the CICMalDroid2020 dataset are categorized in four categories:
  • Adware
The adware category in this dataset includes advertisement materials (ads) that ‘hide’ behind legitimate apps. The malware runs continuously on the device, even if the user tries to close the ad. This type of malware can infect the device and get root-level access, thus gaining unauthorized access to sensitive personal and operational data.
2.
Banking Malware:
The banking malware uses a trojan: it mimics the original banking app interface to infiltrate the user device and gain unauthorized access to the user data such bank login credentials.
3.
SMS Malware
The SMS malware category includes apps that attempt to intercept payload operations to conduct attacks on the device. Such apps send malicious SMS to users and/or steal data once they establish a link with the user.
4.
Riskware
The riskware malware category includes legitimate apps that can be manipulated to act maliciously. Users may install such apps without realizing the danger.
The experiment included the use of five Android devices , as shown in the first column im Table 12. The APK files of the benign and malicious testbed apps were checked using the VirusTotal services (https://www.virustotal.com, visited on 1 November 2024) to ascertain whether the apps were malicious or not. Applying the criteria used in our prior experiments [29], an app was deemed to be malicious if at least 15 of the antivirus engines in VirusTotal services flagged it as malicious. The outcomes did not indicate any misclassification.
The total number of benign and malicious apps installed on each device is shown the second and the third columns in Table 12. The distribution of the benign and malicious app samples across the devices is shown in Table 13 and Table 14, respectively.
The devices were prepared for testing by installing the MINDPRES prototype app on each of them. Then the testbed samples were downloaded and installed. as explained above. The two trained ensemble ML models were deployed on AWS cloud server using a docket container. For a faster response, copies of the trained models were installed on each of the five MDs and used in the testing of the DE. This allowed the DE to monitor app activity with reduced connectivity requirements and a lower network traffic load.

3.3.2. Testing the App Evaluator

The first stage focused on the static analysis performed by the app evaluator, which assesses the risks of user-installed apps and assigns each app a risk category (low, medium, or high). The results are presented in Table 15.
The table shows, for each app category, the number of apps classified as benign or malicious by the ensemble ML model for app classification, and the number of aps that were assigned each of the risk categories (low, medium or high) by the MINDPRES app evaluator.
The ensemble ML model effectively distinguished between benign apps and malicious apps, with over 90% apps in each category classified correctly. On the average, 94.80% of the apps were classified correctly; in particular, all apps in categories B1, B2, B3, B7, and B8 were correctly classified.
From the 600 benign apps downloaded from the Google Play store, 568 apps (94.67%) were correctly classified as benign. Notably, the 32 benign apps that were wrongly classified as malicious requested permissions and intents commonly used by malicious apps. From the 400 malicious apps, 380 apps (95.00%) were classified correctly as malicious. Further investigation showed that the 20 malicious apps that were wrongly classified as benign used permissions and intents commonly used by benign apps .
The results from the final risk assessment of the testbed apps carried out by the app evaluator are shown in Table 16. In the case of benign apps, 563 apps (93.83%) were evaluated as low risk, 35 apps (5.83% ) were evaluated as medium risk and 2 apps (less than 1%) were evaluated as high risk. About 5% of the benign apps had a zero risk score. All apps in categories B2, B3, B7, and B8 were determined as low risk; their risk score values were in the range [0.00, 0.60]. The risk score values of the apps in the other app categories were in the range (0.60, 0.80]. However, two such apps (from app categories B6 and B9) were assigned a high-risk category. The risk score values of these particular apps were below the high risk threshold for benign apps (0.80) but above the high risk threshold for malicious apps (0.65); as the apps were wrongly classified as malicious by the ML model, the app evaluator applied the high risk threshold for malicious apps.
In the case of malicious apps, 3 apps (<1%) were evaluated as low risk, 294 apps (73.60% ) were evaluated as medium risk and 103 apps (25.75%) were evaluated as high risk. All apps in app categories M1, M2, M4 and M5 were evaluated as either medium or high risk, with risk scores between 0.25 and 1.00. However, three apps (from categories M3 and M6) were assigned a low risk category. These apps had risk score values above the medium risk threshold for malicious apps (0.25) but below the medium risk threshold for benign apps (0.60); as the apps were wrongly classified as benign by the ML model, the app evaluator used the medium risk threshold for benign apps.
The results demonstrate the robustness of the static evaluation. Malicious apps are designed to evade detection but the app evaluator ‘missed’ only three of them. However, a relatively high number of malicious apps were assigned only a medium risk category, possibly due to the relatively high values of the threshold parameters used. This may mislead the user to treat medium risk apps as not dangerous enough and to keep them in use.
Finally, a small number of benign apps were categorized as medium or high risk.
The user needs to be warned to be careful when granting permissions to medium risk apps and treat them with caution as the dangerous permissions and intents they request may have been manipulated by malicious developers.

3.3.3. Testing the Detection Engine

The second stage of the MINDPRES prototype evaluation focused on testing the performance of the detection engine (dynamic analysis). As the detection engine monitors the actual behavior of the apps both when the user is active and when the device is idle; the evaluation experiment was carried over a two week timeframe.
During the experiment, each device was used for two hours daily. Using a device meant running all testbed apps that resided on the device to give the system an opportunity to capture the actual network behavior characteristics of the apps.
The outcomes of the analysis of the network traffic data recorded in the experiment shown in Table 17. As expected, the total number of malicious activities performed by malicious apps (4,433) was significantly higher compared to the number of malicious activities performed by benign apps (31). A total number of 371 malicious apps were detected as performing malicious activities, compared to 14 benign apps performing malicious activities. In both app categories and across all devices, a significant number of activities were performed when the device was idle (20.07% of all activities).

3.3.4. Prototype Effectiveness

The metrics defined in Table 3 were used to evaluate the effectiveness of the performance of the MINDPRES prototype, based on the data presented in Table 15 and Table 17. A summary of the results is shown in Table 18. The results indicate that the prototype system is able to detect efficiently intrusion activities caused by malicious apps at the user layer of the MCC environment.
Overall, the prototype system achieved classification accuracy above of 90% an higher in all devices, for both the static and the dynamic approaches. The static approach achieved a better classification accuracy than the dynamic approach in devices A, C, and E. In devices B and D, the dynamic approach outperformed the static approach. The PR value of the detection performance shows that the dynamic approach performed better in detecting malicious activities compared to the static approach, with over 94% on all devices used for the experiment. Similarly, the dynamic approach had a better FPR rate in all devices, with as low as 1.11% in device C.

3.3.5. Energy Consumption

The evaluation of the energy consumption is necessary because of the resource constrains of the MDs. The energy consumption of each device was recorded both with the prototype system installed and uninstalled (Figure 15). The energy consumption of MINDPREAS was also estimated using the Android profiler that is integrated into the development environment. The result obtained to the actual energy consumption
The results in Figure 15 show that the device energy consumption was slightly higher when the prototype system was installed. The energy consumption of device E was very high which may be explained with the type of benign apps installed on the device (sports, dating and tools). In particular, dating and sports apps have high energy requirements due to the high number of network activities they engage in.

4. Discussion

This study explored the use of a combination of app permissions, intents, API and URL requests and network traffic data to analyze the apps' static and dynamic behavior through a hybrid MK-based approach towards malware detection Android MDs connected to the mobile cloud. The proposed solution (MINDPRES) is a distributed system.
At the device end, MINDPRES performs the following main functions: (i) evaluating the riskiness of resident apps (installed or downloaded; (ii) informing the user about apps that are classified as medium- or high risk; (iii) monitoring app activities when the user is active on the device; (iv) monitoring app activities when the device is not being used; (v) alerting the used about suspicious activities); (vi)blocking suspicious activities (the user has the option to resume a blocked activity).

4.1. Comparison with Prior Work

Work on proposing new solution to the security issues caused by malicious apps executed by MDs in the MCC environment is still limited. We compared the results of our study with results reported in the literature on ML-based malware detection systems for Android devices (Table 19). It is evident from the data in Table X that earlier work considered a static approach, in which the ML model classifies an app as benign or malicious. The permissions declared in the app APK file are the most commonly used input features. More recent research aims to improve the accuracy of the ML model by expanding the scope of static the features used, by adopting a dynamic approach. The dynamic approach identifies malicious activities at run time. Currently, researchers are experimenting with a hybrid approach: combining static and dynamic analysis. In the reviewed work, static features are extracted form the APK file while dynamic features are extracted from observed app behavior in a safe run-time environment,
Our proposed system also deploys also a hybrid approach. Differently from the models reviewed, MINDPRES extracts all features at run time, including permissions and intents that are normally used in static analysis . Further more, the feature extraction does not need a safe environment to extract the features used in dynamic analysis, or root-level access to monitor app behavior in real-time. Rather, apps are monitored using the device’s VPN service. This makes the proposed system high implementable. In addition, the proposed system prioritizes monitoring app activities based on a preliminary static analysis that determines the risk score and risk category of each app resident of the device as a function of the app’s s classification (benign and malicious) and the app’s risk score. The app’s risk score shows how this app’s use of permissions compares to the use pf the permissions s currently known as ‘most dangerous’.
Furthermore, the results presented in Table 19 show that the data used in our experiments are reliable. First, the number of malicious samples used to train the ML models compare to most of the studies, with only studies having used significantly larger sets of malicious samples. The source datasets used in our study have also been used by other researchers, which to the credibility of our work.
With regard to the ML models built, our ensemble classifiers include algorithms that have been widely tested and have yielded good performance results. Our model for app classification (using permissions and intents) deploys as well innovative FS algorithm that has reduced the dimensionality od the feature se to 32 features only.,
The detection performance results of the proposed system shown in Table X show a classification accuracy of over 97% and a false positive rate of less than 3% in both the laboratory and real-life experiments. Thus indicates that the models used in the prototype system itself compare favorably with other related research.
Finally, the reviewed studies have conducted their experimental work laboratory conditions. None has investigated in depth the feasibility of deploying the proposed ML models on real MD. In contrast, we have build and treated a prototype systema and have demonstrated the feasibility of the solution.

4.2. Study Contributions

This study makes several important contributions. First, it proposes a hybrid approach toward the detection of malicious app behavior that is accurate and inobtrusive and does not increase significantly the energy consumption of the device.
Second, the study develops a working prototype of a distributed IDPS for the protection of MDs operating in the UL of the MCC that t applies a hybrid approach The two ML models that are used in the system are trained and updated at the cloud end of the IDPS, and up to date copies are pushed to the device end. This reduces the computational load on the MD and at the same time, allows for faster detection process.
Third, the study implements and demonstrates the effectiveness of two innovative methods proposed in our earlier work: (i) The IFD method for selecting static features, and (ii) the stochastic method for calculating an app risk score. Both are used in the initial static app evaluation performed by the app evaluator.
Fourth, the models and methods developed and used in this study offer a data-driven framework for developing a flexible distributed security protection system for Android MDs. The ML models can be rebuilt and/or retained in the cloud, including selecting a new set of features by the IFD. This allows to keep the models current, and/or to rebuild them for better performance. The reference set of most dangerous permissions that are used in the stochastic method for calculating the app risk score can be updated as well, to adjust to changes in the threat environment. In addition, the threshold parameters used by the app evaluator can adjusted as well. All such updates can be seamlessly pushed back to the MD.

4.3. Study Limitations and Concluding Remarks

This study has two major limitations. First, the ML model for the analysis of app behavior at run tine was trained on a small set of samples collected experimentally. For achieving better performance, the model can be retrained on a larger dataset. Second, the model was built using one selected classifier. Deploying other classifiers or ensembles including DL algorithms may lead to better performance. Further more, as a distributed system MINDPRES depends on the security of the communication channel and also on the security of the cloud service. Further research can look into developing a comprehensive MCC protection system that addresses the security issues at the other layers of the MCC infrastructure: the mobile communication channel and MC service provider..
Based on the results obtained in the experiments and the discussion above it can be concluded that MINDPRES is a feasible solution to the research problem driving this study. The system can be deployed on any Android mobile device connected to an MCC environment. By listening to the permission, intent, API and URL requests that apps make in real time , the system monitors the actual execution of the apps installed on the device and provides an effective defense against threats caused by malicious apps.

Author Contributions

Conceptualization, N.O.O, K.P. and M.L.Y.; methodology, N.O.O, K.P. , M.L.Y. and S.G.M.; software, N.O.O.; validation, N.O.O, K.P. and M.L.Y; formal analysis, N.O.O, K.P. and M.L.Y.; investigation, N.O.O.,K.P.; resources, N.O.O; data curation, N.O.O.; writing—original draft preparation, N.O.O.; writing—review and editing, N.O.O.; K.P.; M.L.Y. and S.G.M.; visualization, N.O.O. and K.P.; supervision, K.P.; M.L.Y. and S.G.M. All authors have read and agreed to the published version of the manuscript.

Funding

anonymized for review

Informed Consent Statement

Not applicable.

Data Availability Statement

The study used data from datasets and repositories that are publicly available and referenced in the text. The data gathered experimentally may be available upon request.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

Section A1: Class diagram description

In the main activity class diagram, the setAppStateListener is a setter method that sets the values of the m_Listener attributes of the main activity class. Similarly, getAppUri maps the value of the URL retrieved by each app to the m_uri attributes of the main_activity class. The check_permission method evaluates the device's VPN permissions to allow the prototype system to either capture app activities or not. In addition, the captureServiceOk and captureServiceResults are responsible for capturing all API calls from all apps that reside on the device.
The device manager class depends on the main_activity class for some of its basic functionality. The OnCreate method of the device_manager class initiates the class activity and loads all the necessary data passed on by the main_activity class. The device_manager class sets up the VPN connection for the device and gets the device app list returned by the getAppList method. The device_manager class is also responsible for evaluating the user-installed apps on the device. It returns the total number of apps and device information via the getAppsCount and getDeviceID methods.
The app_evaluator class also depends on the main_activity class to process the state of each resident app. The app_evaluator class inherits the methods in the AllAppData class and the permissionList class. The AllAppData class depends directly on the AppRiskModel class and AppRiskData class. The app_evaluator has five attributes that depend on the methods define d within its entity. The app_evaluator class executes the getRiskCategory of all apps and sets the app risk category for all user-installed apps in the device.. The outcomes depends on the results returned by the getMLPrediction method and getRiskScore method (these depend directly on other subclasses associated with the app_evaluator class)
The detection_engine class depends on the main_activity class to get result of activities and URL request that were captured. The detection_engine class also inherits the AppOnlineActivities class that depend on the AllAppData class and AppActivites class. This enables the detection engine to execute the getAppOnlineActivites method that sets the values of Apps, TrafficData and TotalAppActivites attributes of the AppOnlineActivities class. These enable the detection engine to monitor the activities of all apps in the device.
The GetAllMaliciousActivites of the detection engines depends on the AppMaliciousActivities class that inherits methods in the AppActivites class;, which t depends directly on the URL Extractor class to set the malicious Activity attribute of the detection engine. Similarly, the GetAllBlacklistedActivites method of the detection engine also inherits methods of AppActivites class and the AppBlacklistedActivites class to set the attribute values of blacklistedActivites of the detection engine class. The detection engine also executes the enableBlacklistedActivites of the AppBlacklistedActivites class to allow a blacklisted activity to be active in the device.

Section A2: Sequence diagram description

The sequence diagram depicts the activity sequence of how the system interacts with each of the objects. First, when the system is launched, it gets the information about the device and prompts the user to grant the system access to the VPN service. The system will not monitor the activities of the apps if the user denies the system access to the VPN services.
Upon successful granting of access to the VPN services, MINDPRES sets up its own VPN connection that enables it to monitor the activities of all resident apps. First, the systems scans the apps and returns the total numbers of apps that reside on the device. Next, the app evaluator extracts the permission and intents demanded by each app and uses the information to evaluate the riskiness of each app and return a result.
The detection engine works in parallel with the device manage.. Once the VPN connection has been established the system starts capturing app activities. These activities are examined for possible intrusion. The activities deemed malicious by the detection engine are automatically blocked. The system also allows the user to re-activate blocked activities (in the case of a false alarm).

Section A3: Activity diagram description

First, the user launches MINDPRES and initiates the VPN connection (the user needs to allow the system to access to the VPN service). The system automatically scans all apps on the device and sets up the VPN connection in the device manager activity class. The denial of a VPN connection by the user automatically stops the setting up of the VPN services. Hence, the system will not monitor the activities of the apps that reside on the device.
The user navigates between the three major activity tabs in the activity diagram. If the user selects the evaluate activity, the system automatically gets the list of all permissions and intents demanded by each app and executes two different activities simultaneously. The result from the two activities is used to determine the risk category of each app and the risk value associated with each of the apps that reside on the device.
The selection of the detection engine gives the user the ability to navigate between three sub-activities associated with the detection engine. The default sub-activities are the app's online activities. These sub activities work in conjunction with the device manager and use the VPN services to retrieve all activities associated with each app that resides on the device. Id the app’s malicious activities are selected, the system executes activities related to evaluating each app's traffic data and determining malicious connections. In addition, once a malicious activity is detected, the activity is blacklisted. The list of blacklisted traffic data is displayed on the user's screen.. This selection allows the user to either re-activate the blacklisted traffic data.

References

  1. Sharma, M.;Kaul, A. A. Expert Systems 2024,41(1), article 13482.
  2. Gaber, M.G.; Ahmed, M.;J anicke, H. Malware detection with artificial intelligence: A systematic literature review. ACM Computing Surveys 2024, 56 (6), 1-33.
  3. Noor, T. H.; Zeadally, S.; Alfazi, A.; Sheng, Q. Z. Mobile cloud computing: Challenges and future research directions. Journal of Network and Computer Applications 2018, 115, 70-85. [CrossRef]
  4. Dey, S.; Ye, Q.; Sampalli, S.A machine learning-based intrusion detection scheme for data fusion in mobile clouds involving heterogeneous client networks. Information Fusion 2019, 49, 205-215. [CrossRef]
  5. Cinar, A.C.; Kara, T.B. The current state and future of mobile security in the light of the recent mobile security threat reports." Multimedia Tools and Applications 2023, 82(13), 20269-20281. [CrossRef]
  6. Wenhua, Z.; Kamrul Hasan, M.; Ismail, A.F.; Yanke, Z.; Razzaque, M.A.; Islam, S.; Anil kumar, B. Data security in smart devices: Advancement, constraints and future recommendations. IET Networks 2023, 12(6),269-281.
  7. Palma, C.; Ferreira, A.; Figueiredo, M. Explainable machine learning for malware detection on android applications. Information 2024,15(1), 1-25.
  8. Bostani, H.; Moonsamy, V. Evadedroid: A practical evasion attack on machine learning for black-box android malware detection. Computers & Security 2024 , 139, article 103676.
  9. Butt, U.A.; Amin, R.; Mehmood, M.; Aldabbas, H.; Alharbi, M.T.; Albaqami, N. Cloud security threats and solutions: A survey."Wireless Personal Communications 2023, 128(1), 387-413. [CrossRef]
  10. Chauhan, M.; Shiaeles, S. An analysis of cloud security frameworks, problems and proposed solutions. Network 2023, 3, 422-450. [CrossRef]
  11. Nisha, O. J.; Bhanu, S. M. S. Detection of malware applications using social spider algorithm in the mobile cloud computing environment. International Journal of Ad Hoc and Ubiquitous Computing 2020, 34(3), 154-169.
  12. Mollah, M. B.; Azad, M. A. K.; Vasilakos, A. Security and privacy challenges in mobile cloud computing: Survey and way ahead. Journal of Network and Computer Applications 2017, 84, 38-54. [CrossRef]
  13. Gaurav, A.; Gupta, B.B.; Panigrahi, P.K. A comprehensive survey on machine learning approaches for malware detection in IoTt-based enterprise information system. Enterprise Information Systems 2023, 17(3), article 2023764.
  14. Alsmadi, A.A.; Shuhaiber, A.; Alhawamdeh, L.N.; Alghazzawi, R.; Al-Okaily, M. Twenty years of mobile banking services development and sustainability: A bibliometric analysis overview (2000–2020). Sustainability 2022, 14(17), article 10630. [CrossRef]
  15. Saranya, A.; Naresh, R. Efficient mobile security for e-health care application in cloud for secure payment using key distribution. Neural Processing Letters 2023 55(1), 141-152. [CrossRef]
  16. Naveed, Q.N.; Choudhary, H.; Ahmad, N.; Alqahtani, J.; Qahmash, A.I. Mobile learning in higher education: A systematic literature review. Sustainability 2023 ,15 (18), article 13566. [CrossRef]
  17. AlAhmad, A. S.; Kahtan, H.; Alzoubi, Y. I.; Ali, O.; Jaradat, A. Mobile cloud computing models security issues: A systematic review. Journal of Network and Computer Applications 2021, 190, auricle 03152.
  18. Ribeiro, J.; Saghezchi, F. B.; Mantas, G.; Rodriguez, J.; Shepherd, S. J.; Abd-Alhameed, R. A. (2019). An autonomous host-based intrusion detection system for Android mobile devices. Mobile Networks and Applications 2019, 25, 164-172. [CrossRef]
  19. Zhou, Q.; Feng, F.; Shen, Z.; Zhou, R.; Hsieh, M. Y.; Li, K. C. A novel approach for mobile malware classification and detection in Android systems. Multimedia Tools and Applications 2019, 78(3), 3529-3552. [CrossRef]
  20. John, T.S.; Thomas, T.; Emmanuel, S. Detection of evasive Android malware using EigenGCN. Journal of Information Security and Applications 2024, 86, article 103880.
  21. Verderame, L.; Ruggia, A.; Merlo, A. Pariot: Anti-repackaging for IoT firmware integrity. Journal of Network and Computer Applications 2023, 217, article 103699.
  22. Casolare, R.; Fagnano, S.;I adarola, G.; Martinelli, F.; Mercaldo, F.; Santone, A. Picker blinder: A framework for automatic injection of malicious inter-app communication. Journal of Computer Virology and Hacking Techniques 2024, 20(2), 331-346.
  23. Shamshirband, S.; Fathi, M.; Chronopoulos, A.T.; Montieri, A.; Palumbo, F.; Pescapè, A. Computational intelligence intrusion detection techniques in mobile cloud computing environments: Review, taxonomy, and open research issues. Journal of Information Security and Applications 2020, 55, article 102582.
  24. Makhlouf, A.M.; Ghribi, S.; Zarai, F. Layer-based cooperation for intrusion detection in mobile cloud environment. International Journal of Mobile Communications 2023, 21(3), 365-384. [CrossRef]
  25. Sathupadi, K. A hybrid deep learning framework combining on-device and cloud-based processing for cybersecurity in mobile cloud environments. International Journal of Information and Cybersecurity 2023, 7(12), 61-80.
  26. Mishra, P.; Jain, T.; Aggarwal, P.; Paul, G.; Gupta, B.B.; Attar, R.W.; Gaurav, A. Cloudintellmal: An advanced cloud based intelligent malware detection framework to analyze Android applications. Computers and Electrical Engineering 2024, 119 , article 109483.
  27. S, J. N. Detection of malicious Android applications using Ontology-based intelligent model in mobile cloud environment. Journal of Information Security and Applications 2021, 58, article 102751.
  28. Ogwara, N. O.; Petrova, K.; Yang, M. L. B.; MacDonell, S.G, Enhancing data security in the user layer of mobile cloud computing environment: A novel approach. Advances in Security, Networks, and Internet of Thing. Proceedings from SAM'20, ICWN'20, ICOMP'20, and ESCS'20 , 2021, 129-145.
  29. Ogwara, N.O.; Petrova, K.; Yang, M.L., MacDonell, S.G. A risk assessment framework for mobile apps in mobile cloud computing environments. Future Internet 2024, 16(8), 271. [CrossRef]
  30. Kumar, R.; Goyal, R. On cloud security requirements, threats, vulnerabilities and countermeasures: A survey. Computer Science Review 2019, 33, 1-48. [CrossRef]
  31. Dahiya, A.; Singh, S.; Shrivastava, G. Android malware analysis and detection: A systematic review. Expert Systems 2023 (early view, e13488).
  32. Bhat, P.; Behal, S.; Dutta, K. A system call-based android malware detection approach with homogeneous & heterogeneous ensemble machine learning. Computers & Security 2023, 130, article 103277.
  33. Roy, S.; Bhanja, S.; Das, A. Andywar: An intelligent android malware detection using machine learning. Innovations in Systems and Software Engineering 2023. [CrossRef]
  34. Alazab, M.; Alazab, M.; Shalaginov, A.; Mesleh, A.; Awajan, A. Intelligent mobile malware detection using permission requests and API calls. Future Generation Computer Systems 2020, 107, 509-521. [CrossRef]
  35. Kirubavathi, G.; Anne, W.R. Behavioral based detection of android ransomware using machine learning techniques. International Journal of System Assurance Engineering and Management 2024, 15, 4404-4425. [CrossRef]
  36. AlJarrah, M.N.; Yaseen, Q.M.; Mustafa, A.M. A context-aware android malware detection approach using machine learning. Information 2022, 13(12), 563. [CrossRef]
  37. Mahindru, A.; Arora, H.; Kumar, A.; Gupta, S.K.; Mahajan, S.; Kadry, S.; Kim, J. Permdroid a framework developed using proposed feature selection approach and machine learning techniques for android malware detection. Scientific Reports 2024, 14(1), article 10724.
  38. Maryam, A.; Ahmed, U.; Aleem, M.; Lin, J.C.-W.; Arshad Islam, M.; Iqbal, M.A. Chybridroid: A machine learning-based hybrid technique for securing the edge computing. Security and Communication Networks 2020, 1, article 8861639.
  39. Shatnawi, A.S.; Jaradat, A.; Yaseen, T.B.;T aqieddin, E.; Al-Ayyoub, M.; Mustafa, D. An android malware detection leveraging machine learning. Wireless Communications and Mobile Computing 2022, 1, article 1830201.
  40. Aldhafferi, N. Android malware detection using support vector regression for dynamic feature analysis. Information 2024, 15(10), 658. [CrossRef]
  41. Asmitha, K.; Vinod, P.; KA, R.R.; Raveendran, N.; Conti, M. Android malware defense through a hybrid multi-modal approach. Journal of Network and Computer Applications 2024, 233, article 104035.
  42. Sonya, A.; Deepak, R.R. Android malware detection and classification using machine learning algorithm. International Journal of Communication Networks and Information Security 2024, 16(4) : 327-347.
  43. Ogwara, N. O.; Petrova, K.; Yang, M. L. B. (2021). MOBDroid2: An Improved Feature Selection Method for Detecting Malicious Applications in a Mobile Cloud Computing Environment. In 2021 International Conference on Computational Science and Computational Intelligence (CSCI) (pp. 397-403). IEEE.
  44. Allix, K.; Bissyandé, T. F.; Klein, J; Le Traon, Y. (2016). Androzoo: Collecting millions of android apps for the research community. In 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR) (pp. 468-471). IEEE.
  45. Wang, H.; Si, J.; Li, H.,; Guo, Y. (2019). Rmvdroid: towards a reliable android malware dataset with app metadata. In 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR) (pp. 404-408). IEEE.
  46. AlOmari, H.; Yaseen, Q.M.; Al-Betar, M.A. A comparative analysis of machine learning algorithms for Android malware detection. Procedia Computer Science 2023, 220,763-768. [CrossRef]
  47. Akhtar, M.S.; Feng, T. Evaluation of machine learning algorithms for malware detection. Sensors 2023, 23(2), 946. [CrossRef]
  48. Ogwara, N. O.; Petrova, K.; Yang, M. L. Towards the Development of a Cloud Computing Intrusion Detection Framework Using an Ensemble Hybrid Feature Selection Approach. Journal of Computer Networks and Communications, 2022, article 5988567. [CrossRef]
  49. Gupta, P., & Bagchi, A. (2024). Introduction to Pandas. In Essentials of Python for Artificial Intelligence and Machine Learning (pp. 161-196). Cham: Springer Nature Switzerland.
  50. Mahdavifar, S.;Kadir, A. F. A.;Fatemi, R.; Alhadidi, D.; Ghorbani, A. A. (2020). Dynamic Android Malware Category Classification using Semi-Supervised Deep Learning. In 2020 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech) (pp. 515-522). IEEE.
Figure 1. MINDPRES functionalities.
Figure 1. MINDPRES functionalities.
Preprints 139262 g001
Figure 2. Ensemble ML model for app classification using static analysis.
Figure 2. Ensemble ML model for app classification using static analysis.
Preprints 139262 g002
Figure 3. Ensemble ML model for dynamic app activity classification
Figure 3. Ensemble ML model for dynamic app activity classification
Preprints 139262 g003
Figure 4. High-level view of the MINDPRES prototype system.
Figure 4. High-level view of the MINDPRES prototype system.
Preprints 139262 g004
Figure 5. The MINDPRES device manager.
Figure 5. The MINDPRES device manager.
Preprints 139262 g005
Figure 6. The MINDPRES app evaluator .
Figure 6. The MINDPRES app evaluator .
Preprints 139262 g006
Figure 7. The MINDPRES app intrusion manager.
Figure 7. The MINDPRES app intrusion manager.
Preprints 139262 g007
Figure 8. The UML class diagram of MINDPRES.
Figure 8. The UML class diagram of MINDPRES.
Preprints 139262 g008
Figure 9. The UML sequence diagram of MINDPRES.
Figure 9. The UML sequence diagram of MINDPRES.
Preprints 139262 g009
Figure 10. The UML activity diagram of MINDPRES.
Figure 10. The UML activity diagram of MINDPRES.
Preprints 139262 g010
Figure 11. The user interface of device manager of MINDPRES.
Figure 11. The user interface of device manager of MINDPRES.
Preprints 139262 g011
Figure 12. The user interface of the app evaluator of MINDPRES
Figure 12. The user interface of the app evaluator of MINDPRES
Preprints 139262 g012
Figure 13. The user interface of the detection engine of MINDPRES (online activities tab).
Figure 13. The user interface of the detection engine of MINDPRES (online activities tab).
Preprints 139262 g013
Figure 14. The user interface of the detection engine of MINDPRES (malicious activities tab).
Figure 14. The user interface of the detection engine of MINDPRES (malicious activities tab).
Preprints 139262 g014
Figure 15. Energy consumption of the test bed devices.
Figure 15. Energy consumption of the test bed devices.
Preprints 139262 g015
Table 1. App classification features selected using the IFD method .
Table 1. App classification features selected using the IFD method .
Feature ID Feature name Permission/Intent
F1 ACCESS_COARSE_LOCATION Permission
F2 ACCESS_FINE_LOCATION Permission
F3 ACCESS_LOCATION_EXTRA_COMMANDS Permission
F4 ACCESS_WIFI_STATE Permission
F5 BROADCAST_STICKY Permission
F6 CALL_PHONE Permission
F7 CHANGE_CONFIGURATION Permission
F8 CHANGE_NETWORK_STATE Permission
F9 CHANGE_WIFI_STATE Permission
F10 DISABLE_KEYGUARD Permission
F11 GET_ACCOUNTS Permission
F12 GET_TASKS Permission
F13 KILL_BACKGROUND_PROCESSES Permission
F14 MODIFY_AUDIO_SETTINGS Permission
F15 MOUNT_UNMOUNT_FILESYSTEMS Permission
F16 READ_CONTACTS Permission
F17 READ_EXTERNAL_STORAGE Permission
F18 READ_LOGS Permission
F19 READ_PHONE_STATE Permission
F29 READ_SMS Permission
F21 RECEIVE_BOOT_COMPLETED Permission
F22 RECEIVE_SMS Permission
F23 RECORD_AUDIO Permission
F24 RESTART_PACKAGES Permission
F25 SET_WALLPAPER Permission
F26 SYSTEM_ALERT_WINDOW Permission
F27 VIBRATE Permission
F28 WAKE_LOCK Permission
F299 WRITE_EXTERNAL_STORAGE Permission
F30 WRITE_SETTINGS Permission
F31 ACTION_BOOT_COMPLETED Intent
F32 ACTION_PACKAGE_ADDED Intent
F33 ACTION_PACKAGE_REMOVED Intent
F34 ACTION_SEARCH Intent
F35 ACTION_USER_PRESENT Intent
F36 ACTION_VIEW Intent
F37 CATEGORY_BROWSABLE Intent
F38 CATEGORY DEFAULT Intent
F39 CATEGORY _HOME Intent
Table 2. ML classification algorithms.
Table 2. ML classification algorithms.
ID Name Description
C1 Decision Tree Uses a tree structure to solve a specific problem. The leaf node in the tree represents a class label.
C2 Random Forest Consists of multiple decision trees that learn independently The outcome is determined by the most frequently occurring classification .
C3 AdaBoost Uses an iterative approach to create a stronger classifier at each next iteration.
C4 Naïve Bayes Applies a probabilistic approach: computes the probability of the possible outcomes and selects the class with the highest probability.
C5 Stochastic Dual Coordinate Ascent An iterative, fast converging optimization method..
C6 Multi-layer Perceptron An artificial neural network (ANN) feedforward model with at least three layers (input, one or more hidden, output). Uses a non-linear mapping of the input vectors to a specific output vector.
C7 K-nearest Neighbors Measures the distance between the test sample and the training samples and uses a majority voting to predict the outcome.
C8 Linear Discriminant Analysis Combines variables to find a linear combination that best differentiates between groups and predicts s based on the maximum probabilistic allocation of the class labels .
C9 Logistic Regression Uses a statistical model that uses a logistic curve to fit the training dataset. Finds the probability that a given instance of an input set belongs to a specific class.
C10 Support Vector Machine Maps each input feature into an n-dimensional feature space such that n is the total number of features. Identifies the hyperplane that separates each input feature into two different classes while maximizing the marginal distance for the classes and reducing the classification errors.
Table 3. Performance evaluation metrics.
Table 3. Performance evaluation metrics.
Metric Definition
TP (true positive) The number of malicious samples correctly classified as malicious
TN (true negative) The number of non-malicious (i.e., benign) samples correctly classified as non-malicious (i.e., benign)
FP (false positive) The number of non-malicious (i.e., benign ) samples wrongly classified as malicious
FN (false negative) The number of malicious samples wrongly classified as not malicious (i.e., benign)
CA (classification accuracy) The percentage of the correctly classified malicious and benign samples out of all samples in the test dataset
C A = T P + T N T P + F P + T N + F N × 100
ER (error rate) The percentage of all wrongly classified benign and malicious samples out of all samples in the test dataset
E R = F P + F N T P + F P + T N + F N × 100
PR (precision rate) The percentage of all samples correctly classified as malicious out of all samples that were classified as malicious
P R = T P T P + F P × 100
RC (recall rate) The percentage of all samples correctly classified as malicious out of all malicious samples in the test dataset
R C = T P T P + F N × 100
FPR (false positive rate) The percentage of all benign samples classified wrongly as malicious out of all benign samples in the test dataset
F P R = F P F P + T N × 100
FNR (false negative rate) The percentage of all malicious samples classified wrongly as benign out of all malicious samples in the test dataset
F N R = F N F N + T P × 100
FAR (false alarm rate) The average percentage of all samples that were misclassified
F A R = F P R + F N R 2
FM (F-measure) The harmonic mean of the classifier
F M = 2 × P R × R C P R + R C  
Table 4. Performance evaluation results of ten classifies and the proposed ensemble classifier.
Table 4. Performance evaluation results of ten classifies and the proposed ensemble classifier.
ML Model TP FP TN FN CA ER PR RC FM FPR FNR FAR
Ensemble (C1, C2, C7) 3,598 43 1,958 63 98.13 1.87 98.82 98.28 98.55 2.15 1.72 1.93
C1 3,421 185 1,816 240 92.78 7.22 95.29 93.44 94.36 8.45 6.56 7.50
C2 3,496 174 1,827 165 94.00 6.00 95.58 95.11 95.35 8.05 4.89 6.47
C7 3,484 201 1,800 177 93.50 6.50 94.80 95.17 94.98 9.55 4.83 7.19
Table 5. The reference set of dangerous permission used in this study.
Table 5. The reference set of dangerous permission used in this study.
Dangerous permission ID Dangerous permission name
P1 WRITE EXTERNAL STORAGE
P2 READ PHONE STATE
P3 ACCESS COARSE LOCATION
P4 ACCESS FINE LOCATION
P5 GET TASKS
P6 READ EXTERNAL STORAGE
P7 SYSTEM ALERT WINDOW
P8 READ LOGS
P9 MOUNT UNMOUNT FILESYSTEMS
P10 CAMERA
P11 RECORD AUDIO
P12 GET ACCOUNTS
P13 CALL PHONE
P14 WRITE SETTINGS
P15 SEND SMS
Table 6. Determining the app’s risk category.
Table 6. Determining the app’s risk category.
Static Classification ML Model outcome for app a R(a) (Risk Sore of App a) Risk category of App a
App a classified as malicious R(a) belongs to the interval [0, t1] Low risk
R(a) belongs to the interval (t1, t3] Medium risk
R(a) belongs to the interval (t3, 1] High risk
App a classified as benign R(a) belongs to the interval [0, t2] Low risk
R(a) belongs to the interval (t2, t4] Medium risk
R(a) belongs to the interval (t4, 1] High risk
Note: 0 < t1 < t2 < t3 < t4 < 1.
Table 7. Dynamic activity data samples.
Table 7. Dynamic activity data samples.
Emulator 1 2 3 4 5 6 7 8 9 10 Total
Benign Apps 3,578 3,099 4,329 2,988 4,005 3,021 3,566 5,002 39,44 2,991 36,523
Malicious Apps 4,024 5,600 5,023 3,456 3,878 4,098 5,008 3,207 3,456 4,012 41762
Total recorded 7,602 8,699 9,352 6,444 7,883 7,119 8,574 8,209 7,400 7,003 78,285
Table 8. Network traffic characteristics.
Table 8. Network traffic characteristics.
ID Type Description
C1 Protocol Network communication protocol requested
C2 Duration The duration of the connection between the host MD and the destination host
C3 Domain URL The URL of the destination host that services the API call
C4 Packets Sent The number of packets sent from the host MD
C5 Packets Received The number of packets received from the destination host
C6 Destination IP The IP address of the destination host
C7 Source Bytes The total size of data sent from the host MD (source)
C8 Destination Bytes The total size of data received from the destination host
Table 9. High-level algorithmic description of the device manager.
Table 9. High-level algorithmic description of the device manager.
Steps Description
Step 1 Let VPNStatus =0 and Initialize VPN Service Connection and Prompt User for permission to monitor all apps
Step 2 IF VPN Service Connection is granted by the user, Then Go to Step 3 Otherwise Go to Step
Step 3 Setup VPN Service Connection for the Device and Set VPNStatus=1 (Ready)
Step 4 Scanned all Apps that are Installed by the User and Set Array DefaultAppList to AllUserInstallApps
Step 5 Let AppsCount = number of records in array DefaultAppList and Set TotalUserInstallApps = AppsCount
Step 6 Stop VPN Service Connection and Set VPNStatus=0
Step 7 End of IF structure in Step 2
Step 8 OUTPUT: VPNStatus, TotalUserInstallApps
Step 9 Exit
Table 10. High-level algorithmic description of the app evaluator.
Table 10. High-level algorithmic description of the app evaluator.
Steps Description
INPUT DangerousPermissionList, EnsemblePermissionIntentList, PermissionRiskValue
Step 1 For Each App X in DefaultAppList repeat step 2, 3, 4,5, and 6
Step 2 Extract the Permission and Intent demanded by app X contained in the Features Listed in EnsemblePermissionIntentList as appPermissionIntentList and Set array PI = appPermissionIntentList
Step 3 Extract the dangerous Permission demanded by app X contained in the Features Listed in DangerousPermissionList as appDangerousPermissionList and Set array DP = appDangerousPermissionList
Step 4 Compute the RiskScore of app X with the selected dangerous permission in DP and Extract the Permission Risk Value for each permission contained in PermissionRiskValue that exists in DP
Step 5 Get the result of the ensemble ML prediction for app X using the features extracted from Step 2 in array PI and store the result return in a variable MLResult as integer (0 is benign and 1 is malicious)
Step 6 IF RiskScore in Step 4 is greater than or equal to 0.75 and MLResult=0 Then Set RiskCategory to “High Risk App” and go to Step 12 Otherwise go to step 7
Step 7 IF RiskScore in Step 4 is greater than or equal to 0.50 and MLResult=0 Then Set RiskCategory to “Medium Risk App” and go to Step 12 Otherwise go to step 8
Step 8 IF RiskScore in Step 4 is greater than or equal to 0.00 and MLResult=0 Then Set RiskCategory to “Low Risk App” and go to Step 12 Otherwise go to step 9
Step 9 IF RiskScore in Step 4 is greater than or equal to 0.65 and MLResult=1 Then Set RiskCategory to “High Risk App” and go to Step 12 Otherwise go to step 10
Step 10 IF RiskScore in Step 4 is greater than or equal to 0.25 and MLResult=1 Then Set RiskCategory to “Medium Risk App” and go to Step 12 Otherwise go to step 11
Step 11 Set RiskCategory to “Low Risk App” and go to Step 12
End of If Structure in Step 6
Step 12 OUTPUT RiskScore, RiskCategory
Step 13 End of Step 1 For -Loop
Step 14 Exit
Table 11. High-level algorithmic design of the detection engine.
Table 11. High-level algorithmic design of the detection engine.
Steps Description
Var Array<string>: AppsActivities, MaliciousAppsTraffic, BlackListedAppsTraffic

INPUT
VPNStatus, EnsemblePermissionIntentList, TrafficDataList, DefaultAppTrafficList
Step 1 IF VPNStatus =1 Then Go to Step 2 Otherwise Go to Step 16
Step 2 For Each App X in DefaultAppList repeat step 3, 13 and 14
Step 3 For Each Traffic Data of App X in DefaultAppTrafficList repeat step 4,5, 6,7,8,9, and 10
Step 4 Extract the Permissions and Intents demanded by app X at run-time whenever an online Request is made contained in the Features Listed in EnsemblePermissionIntentList as appPermissionIntentList and Set array PI =appPermissionIntentList
Step 5 Extract the Traffic Network Data by app X contained in the Features Listed in TrafficDataList as appTrafficData and Set array TD =appTrafficData and add Traffic data for app x in array AppsActivities
Step 6 Extract the URL call by app X contained in the TrafficDataList as appTrafficURL and Set array TURL =appTrafficURL
Step 7 Construct App network traffic dataset from TD in step 5 and PI in step 4 and set AppTrafficMLData as the new dataset for each traffic request consisting of API calls, Permissions, and Intent
Step 8 Get the result of the ensemble ML prediction for app X using the features constructed from Step 7 in array AppTrafficMLData and store the result return in a variable MLTrafficResult as integer (0 is benign and 1 is malicious)
Step 9 Get the result of the Malicious Global Database scanner for app X using the URL extracted from Step 6 in array TURL and store the result return in a variable URLTrafficResult as integer (0 is benign and 1 is malicious)
Step 10 IF MLTrafficResult =1 OR URLTrafficResult =1Then ADD the traffic data inTDfrom step 5 for app X toMaliciousAppsTrafficand also automatically block TD and ADD toBlackListedAppsTraffic for app X and go to Step 11 Otherwise go to step 12
Step 11 End of If Structure in Step 10
Step 12 End of Inner For-Loop in Step 3
Step 13 Set TotalAppActivites = Total Number of Records in AppsActivities in Step 5
Set TotalMaliciousAppActivites= Total Number of Records in MaliciousAppsTraffic in Step 10
Set TotalBlacklistedAppActivites= Total Number of Records in BlackListedAppsTraffic in Step 10
Step 14 OUTPUT: TotalAppActivites, TotalMaliciousAppActivites, TotalBlacklistedAppActivites, AppsActivities, MaliciousAppsTraffic, BlackListedAppsTraffic for app X.
Step 15 End of Outer For -Loop in Step 2
Step 16 Exit
Table 12. Experiment setup .
Table 12. Experiment setup .
Device Benign apps Malicious apps
Device A: EE Tablet HTC Nexus 9.8.9, 1.8GB RAM 32GB Internal storage 240 200
Device B: Samsung Galaxy Tab A (SM-T380) 2GB RAM, 16GB Internal storage 90 50
Device C: Samsung Galaxy Tab A (SM-T380) 2GB RAM, 16GB Internal storage 90 50
Device D: Samsung Galaxy Tab A (SM-T380) 2GB RAM, 16GB Internal storage 90 50
Device E: Samsung Galaxy Tab A (SM-T380) 2GB RAM, 16GB Internal storage 90 50
Total 600 400
Table 13. Benign apps installed.
Table 13. Benign apps installed.
App Category Total Average Downloads Device
B1 Watch 30 95 million A
B2 Art & Design 30 21 million
B3 Beauty 30 1 million
B4 Business 30 100 million
B5 Communication 30 200 million
B6 Education 30 20 million
B7 Events 30 1 million
B8 Food and Drink 30 10 million
B9 Shopping 30 50 million B
B10 Social 30 500 million
B11 News & Magazines 30 5 million
B12 Finance 30 10 million C
B13 Entertainment 30 100 million
B14 Lifestyle 30 10 million
B15 Music & Audio 30 50 million D
B16 Maps & Navigation 30 10 million
B17 Travel and Local 30 1 million
B18 Tools 30 10 million E
B19 Sports 30 10 million
B20 Dating 30 10 million
Table 14. Malicious apps installed.
Table 14. Malicious apps installed.
App Category Total Device
M1 Adware 100 A
M2 Banking Malware 100 A
M3 SMS Malware 50 B
M4 SMS Malware 50 C
M5 Mobile Riskware 50 D
M6 Mobile Riskware 50 E
Table 15. App classification and risk categories.
Table 15. App classification and risk categories.
Testbed Apps Number of app classified Number of Apps Evaluated
As Benign As Malicious As Low Risk As Medium Risk As High Risk
B1 (30) 30 0 29 1 0
B2 (30) 30 0 30 0 0
B3 (30) 30 0 30 0 0
B4 (30) 28 2 28 2 0
B5 (30) 27 3 27 3 0
B6 (30) 28 2 28 1 1
B7 (30) 30 0 30 0 0
B8 (30) 30 0 30 0 0
B9 (30) 26 4 26 3 1
B10 (30) 25 5 25 5 0
B11 (30) 28 2 26 4 0
B12 (30) 29 1 29 1 0
B13 (30) 29 1 29 1 0
B14 (30) 29 1 28 2 0
B15 (30) 27 3 27 3 0
B16 (30) 28 2 28 2 0
B17 (30) 29 1 29 1 0
B18 (30) 28 2 28 2 0
B19 (30) 28 2 27 3 0
B20 (30) 29 1 29 1 0
M1 (100) 7 93 0 73 27
M2 (100) 3 97 0 85 15
M3 (50) 4 46 2 35 13
M4 (50) 2 48 0 30 20
M5 (50) 3 47 0 38 12 t
M6 (50) 1 49 1 33 16
Table 16. Risk categories of the testbed apps.
Table 16. Risk categories of the testbed apps.
Testbed Apps Low Risk Medium Risk High Risk
B1 (Watch) 96.67% 3.33% 0.00%
B2 (Art and Design) 100.00% 0.00% 0.00%
B3 (Beauty) 100.00% 0.00% 0.00%
B4 (Business) 93.33% 6.67% 0.00%
B5 (Communication) 90.00% 10.00% 0.00%
B6 (Education) 93.33% 3.33% 3.33%
B7 (Events) 100.00% 0.00% 0.00%
B8 (Food and Drink) 100.00% 0.00% 0.00%
B9 (Shopping) 86.67% 10.00% 3.33%
B10 (Social) 83.33% 16.67% 0.00%
B11 (News & Magazines) 86.67% 13.33% 0.00%
B12 (Finance) 96.67% 3.33% 0.00%
B13 (Entertainment) 96.67% 3.33% 0.00%
B14 (Lifestyle) 93.33% 6.67% 0.00%
B15 (Music & Audio) 90.00% 10.00% 0.00%
B16 (Maps & Navigation) 93.33% 6.67% 0.00%
B17 (Travel and Local) 96.67% 3.33% 0.00%
B18 (Tools) 93.33% 6.67% 0.00%
B19 (Sports) 90.00% 10.00% 0.00%
B20 (Dating) 96.67% 3.33% 0.00%
M1 (Adware) 0.00% 73.00% 27.00%
M2 (Banking Malware) 0.00% 85.00% 15.00%
M3 (SMS Malware) 3.70% 64.81% 31.48%
M4 (SMS Malware) 0.00% 65.22% 34.78%
M5 (Mobile Riskware) 0.00% 70.37% 29.63%
M6 (Mobile Riskware) 2.17% 71.74% 26.09%
Table 17. Network activities captured by the detection engine.
Table 17. Network activities captured by the detection engine.
Device Actual App Type Activities When
Device In Use
Activities When
Device Idle
Number of Malicious
Activities
Number of Apps Performing Malicious Activities
A Benign 1,978 597 13 6
B Benign 899 215 5 2
C Benign 768 198 2 1
D Benign 987 231 7 3
E Benign 1,204 149 4 2
A Malicious 2,876 459 1,781 187
B Malicious 768 202 571 48
C Malicious 1,377 599 650 45
D Malicious 1,422 231 679 49
E Malicious 1009 456 752 42
Table 18. MINDPRES Performance data
Table 18. MINDPRES Performance data
Device Analysis TP FP TN FN CA ER PR RC FM FPR FNR FAR
A Static 190 7 233 10 96.14 3.86 96.45 95.00 95.72 2.92 5.00 3.96
Dynamic 187 6 234 13 95.68 4.32 96.89 93.50 95.17 2.50 6.50 4.50
B Static 46 4 86 4 94.29 5.71 92.00 92.00 92.00 4.44 8.00 6.22
Dynamic 48 2 88 2 97.14 2.86 96.00 96.00 96.00 2.22 4.00 3.11
C Static 48 3 87 2 96.43 3.57 94.12 96.00 95.05 3.33 4.00 3.67
Dynamic 45 1 89 5 95.71 4.29 97.83 90.00 93.75 1.11 10.00 5.56
D Static 47 6 84 3 93.57 6.43 88.68 94.00 91.26 6.67 6.00 6.33
Dynamic 49 3 87 1 97.14 2.86 94.23 98.00 96.08 3.33 2.00 2.67
E Static 49 5 85 1 95.71 4.29 90.74 98.00 94.23 5.56 2.00 3.78
Dynamic 42 2 88 8 92.86 7.14 95.45 84.00 89.36 2.22 16.00 9.11
Table 19. Comparison with prior work.
Table 19. Comparison with prior work.
Source and Approach Features and Datasets Sample Size ML Algorithm Performance Results
This study: Static Featureas: P, I
Datasets: AZ, RD
B: 9,879
M: 18,427
Ensemble (DT, RF, KNN) CA= 98.13%
FM= 98.55%
FPR =2.15%
This study: Hybrid Features: P, I, A, NT
Datasets: AZ, RD, CMD2020, GP
B: 9,879 +600
M: 18,427+400
Ensemble (DT, RF, KNN) and RF (best result)
CA= 97.14%
FM= 96.08%
FPR= 1.11%
[18]: Dynamic Features: DR
Datasets: GP
B: 6,000
M: 6,000
DT CA=99.80%
[19]: Dynamic Features: SC
Datasets: BM, VSH
Not Reported MCA CA=97.85%
PR=98.70%
FPR=4.21%
[34]: Dynamic Features: P, A
Datasets: AZ
B: 14,172
M: 13,719
RF FM=94.3%
[38]: Hybrid Features: P, I, NT, IL, CR
Datasets: DB, GP
B: 2,500
N:2,500
RF, NB, SVM, DT, K* FM=97%
[27]: Static Features: P
Datasets: AZ, VSH
B: 1,959
M: 2,113
RF CA=94.11%
FM=93.00%
FPR=.00%
[36]: Static Features: A, P, CF
Datasets: CMD2020
B: 4,100 M: 12,800 RF, LR, SVM, KNN, DT CA=99.4%
[39]: Hybrid Features: P, AR
Datasets: PAN
M: 104,747
B: 90,876)
GB, XGB, DT, RF GB: CA= 99.7%
FM= 99.8%; XGB: CA=99.8%
FM: 99.8%
DT: CA=99.5%, FM=99.6%
RF: CA= 97.4%, FM: 97.9%
[32]: Dynamic Features: SC, BC, NT
Datasets: CMD2020
B: 1795
M: 9803
SVM, NB, LR, DT, RF
CA= 98.08%
[33]: Dynamic
Features: SC, BC, NT
Datasets: CAM2017, CMD2020
Not specified Ensemble (KNN, SVM,LR, DT) CAM2017: FM=97.23%
CMD2020: FM=97.57%
[40]: Hybrid Features: SC, A, NT
Datasets: AMDD
B: 9,045
M: 3,233
SVR CA= 95.74%
FM= 96.38%
[41]: Hybrid Features: P, I, SC, CF
Datasets: DR, AZ, CMD2022
DR: ( B:7,121; M:3783)
AZ: (B:7,121, M:3,483)
CMD2020: (B:1795; M:9,803
DNN, SVM, RF, KNN CA=99.97%
FM=99.97%
[35]: Static Features: P, SC

Datasets: 28-SABD
B: 3,628
M: 3,572
DT, RF, ET, LGBM CA=98.05%
[37]: Static Features: P, A, APR, APD
Datasets: GP, ST, AA, CNET, SDD
B:70,000
M:70, 000
Three ML classifiers, neural network (Best) AC=98.80%
[42]: Hybrid Features: P, A, NT, SC
Datasets: CAM2017
B: 298,087
M:104,747
GBT, RC GBT: CA=93.50%
RC: CA= 83%
Key: P: Permissions (P), I: Intents; A: API calls; NT: Network Traffics; DR: Device Resource; SC: System Calls ; CF: contextual Features (services, receivers, providers, activities); SE: Services BC: Binder Call; IL: Information Leakage; CR: Cryptography Use; AR: Action Repetition; APR: app ratings; APD: app downloads; B: Benign; M:Malware; DT: Decision Tree; ET-Extra Tree; NB: Naïve Bayes; LR: Logistic Regression; RF: Random Forest; KNN: K-Nearest Neighbour; SVM: Support Vector Machine; SVR: Support Vector Regression; K*: K-Star; MCA: Monte Carlo Algorithm; DNN: Deep Neural Network; GB: Gradient Boosting, XGB: XGBoost; LGBM: Light Gradient Boosting Machine; RC: Ridge Classifier; GT: Gradient Boosted Tree; CA: Classification Accuracy ; PR: Precision Rate; RC: Recall Rate; FPR: False Positive Rate; FM: F-Score Measure; AZ: AndroZoo; RD: RmvDroid; CMD2020: CICMalDroid2020; CAM2017: CICAndMAl2017; VSH: VirusShare; DB: Drebin; GP: Google Play; ; AMD: Argus Lab’s Android Malware Database; PAN: Palo Alto Networks Dataset; AMDD: Android Malware Detection Dataset;28-SABD: 28 Standard Android Botnet Dataset; ST-Softonic; AA: Android Authority; CNET:CNET; SDD: Sandroid.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

Disclaimer

Terms of Use

Privacy Policy

Privacy Settings

© 2025 MDPI (Basel, Switzerland) unless otherwise stated