Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

The 8th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications

24-26 September 2015, Warsaw, Poland

Artificial Immune System for Android OS


Sergei Bezobrazov 1, Anatoly Sachenko 2,3, Myroslav Komar 3, Vladimir Rubanau 1
1
Brest State Technical University, 224017, Moskovskaya 267, Brest, Belarus, bescase@gmail.com
2
Silesian University of Technology, Poland, sachenkoa@yahoo.com
3
Ternopil National Economic University, Ukraine, mko@tneu.edu.ua

Abstract—The paper presents and discusses a method of Google Inc. developed the embedded security system
creating a security system for Android operating system. that is based on implementation of a sandbox for the run
Based on the application of an Artificial Immune System of application and displaying all requires permissions for
and neural networks we construct the “antivirus” system the installable application. Thus, for example, the weather
especially for Android system that can detect and block
undesirable and malicious applications. This system can be
application may need to enable save data or Internet
characterized by self-adaption and self-evolution and can connection, but should not need to read SMS messages or
detect even unknown and previously unseen malicious access the personal data. After reviewing the encountered
applications. permissions, the user can choose to accept or refuse the
installation of an application. The implementation of the
Keywords—arttificial immune system; Android; artificial sandbox and the permissions system is lessens the impact
neural networks; information security of vulnerabilities but does not avoid them at all. The
existing of different third-party stores do not increase the
I. INTRODUCTION security level.
From year to year Android operating system increases As a result, security threats on Android are reportedly
its popularity. In June 2013 Google Inc. announced that it growing exponentially. Thus, the security company Trend
has over 1 billion active monthly Android users, up from Micro reported that the number of Android malware
538 million this time last year. As of 2015 Android has threats increased to a 25,000 samples in June 2015 [1]. It
the largest installed base of all general-purpose operating is interesting that in all of first quarter 2012, the number
systems. of malicious applications jumped by 5,000, while just one
Android applications, that extend the functionality of month in the second quarter 2012 discovered 10,000
devices, are written primarily in the Java programming samples. Another antivirus company, Kaspersky Lab,
language using the Android software development kit detected 35,000 malicious samples for the whole of 2012,
(SDK). The official store, Google Play Store, is the while in first half of 2013 over 47,000 malicious
primary application store installed on Android devices applications were detected [2]. In the first half of 2014
that comply with Google's compatibility requirements alone, Kaspersky Lab experts detected 175,442 new
and license the Google Mobile Services software. Google unique malicious program already. The cybercriminals
Play Store allows users to browse, download and update infect the mobile devices with the next aims: a) stealing
applications published by Google and third-party money from the user’s account; and b) stealing the
developers. As of July 2013 there are more than one information about the device owner, including all calls,
million applications available for Android in Play Store correspondence, passwords to social network and e-pay
and the application downloads grown to over 50 billion. accounts, etc.
Android has a growing selection of third-party It is well-known that current anti-viruses are
applications that can be acquired by users by characterized by several disadvantages. The most
downloading and installing the application's APK file, or important of existing disadvantages are incapacity of
by downloading them using an application store program signature-based methods to detect unknown malicious
that allows users to install, update, and remove program and imperfection of used heuristic methods.
applications from their devices. In our previous work [3]–[5] we developed the
Due to the open nature of Android, a number of third- artificial immune system for malicious code detection for
party application marketplaces (such as Amazon Microsoft Windows platforms and the artificial immune
Appstore, GetJar, SlideMe, F-Droid etc.) also exist for system for intrusion detection in computer networks. We
Android, either to provide a substitute for devices that are integrated both system in on cyber defense system and
not allowed to ship with Google Play Store, provide showed that the developed systems have the ability of
applications that cannot be offered on Google Play Store self-evolution and self-organizing and can detect not only
due to policy violations, or for other reasons. already known but previously unseen computer viruses
Such variety of Android applications and application and intrusion detection.
stores makes the security problems very urgent.

978-1-4673-8361-5/15/$31.00 ©2015 IEEE 403


In this paper we present the first results of our new malicious if the application requests certain combinations
security system for Android platform. The proposed of permissions that match the rules. The rules are defined
system is based on the integration of the artificial immune by security requirement engineering.
system and artificial neural networks and aims to detect
C. Behavior-based methods
and block undesirable and malicious Android
applications. The paper is organized as follows: Section 2 There is the set of similar behavior-based approaches
describes state-of-the-art in the area of the information for detection of malicious Android applications. Thus, I.
security in Android OS. Section 3 contains the Burguera et al. developed the behavior-based
description of the proposed security system basic methodology in the form of an application, named
principles of work. Section 4 provides some experimental Crowdroid that collects systems calls of installed Android
results. The final section concludes this paper. applications on the users’ devices [12]. Then the collected
systems calls are clustered using K-means algorithm into
II. STATE-OF-THE-ART two categories: benign and malicious. The tests showed
good results on the limited application set.
A. Immunity-based methods At the same time, T. Blasing et al. developed an
M. Zhao et al. [6] proposed a theoretical framework to Android emulator “Android Application Sandbox” [13].
obtain and analyze smartphone application activity in This tool logs the time of execution, the name of the
Android environment. In collaboration with the Android system call and the IDs of the processes. Based on the
user community, it will be capable of distinguishing collected information the tool makes the decision that the
between benign and malicious applications of the same application is malicious or benign.
name and version, detecting anomalous behavior of Our review shows that the existing situation in the
known applications. The authors have chosen artificial area of information security and cyber defense in Android
immunology algorithm to distinguish between benign OS is not characterized by strong protection and needs
applications and their corresponded malware version. new solutions for detection of malicious applications. The
I. Vural et al. [7] proposed a technique based on next section presents the basic principles for creation of
artificial immune system to detect botnet spamming artificial immune system for detection of malicious
programs on Android phones. The main idea of the Android applications.
observed paper is the ability of artificial immune systems
to train only the positive examples. The authors have III. ARTIFICIAL IMMUNE SYSTEM FOR ANDROID OS
implemented a botnet detector based on artificial immune In the previous works we described our Intelligent
systems. The detector learns to classify valid SMSs from Cyber Defense System that is based on the integration of
invalid. The botnet detector captures all outgoing SMSs, artificial immune networks and artificial immune system
extracts the features from the message body and methods [3]–[5]. We demonstrated that the system allows
processes data to determine if the message is valid on not. detecting not only known computer viruses (for Microsoft
When the detector encounters an SMS that it suspects to Windows platform) and network intrusions but also
be invalid, it asks the user for confirmation that the previously unseen, unknown computer threats. The main
message is valid. If the user confirms that, the detector element of the mentioned system is an immune detector
sends an alert to the service provider. If the user indicates that represents a neural network. The developed
that the message is valid, then the detector learns to algorithms that are the basis of the system are universal
recognize the new pattern as a valid SMS. and work excellent for malicious code detection as well
as network intrusion detection (with insignificant
B. Permission-based methods
corrections). Here is the choice of the structure of
Felt et al. [8] performed studies to examine where analyzed data play an important role. In the case of
they indicated that current Android permission warnings malicious code detection, a neural network immune
do not help most users make correct security decision. detector analyze the source of files (for example, special
The authors developed the tool, Stowaway [9], that areas of executable files) [3]. In the case of network
applies static analysis on the collected sample intrusions detection, a detector analyzes a network traffic
applications, and then they map the permission with each [4], [5]. What data can we analyze in the case of Android
operation. The aim of this is to detect over-privileged applications? The next section provides the structure of
permissions in Android applications. the typical Android application.
Chen et al. [10] proposed Pegasus, in an attempt to
detect malicious applications that are characterized by the A. Android application package
temporal order in which an application uses APIs and Android application package (APK) is the package
permissions. They constructed Permission Event Graph file format used in Google’s Android operating system.
with static analysis and implemented models of the APK is used to distribute and install application software
Android event-handling mechanism and APIs. and is a type of archive file with .apk extension. Each
Enck et al. [11] constructed 9 permission rules called APK archive usually contains such files as the manifest
Kirin that classifies an application as potentially

404
file, the certificate of the application, compiled code, etc. A complete list of permissions is available on the
The Fig. 1 represents the common structure of APK. Android Developers web site [15].
The permissions are displayed to the user before
application installation. Once the application is installed
on the phone, there is no way to modify it. When the
application is installed on the device, the installer
determines whether or not to grant the requested
permission by checking the authorities that signed the
application's certificates. If the permission is granted, the
application is able to use the protected features. If not, its
attempts to access those features will simply fail without
any notification to the user.
In this way, using the permission section of Manifest
Figure 1. The structure of an Android application.
file of Android application we can analyze the behavior
of the application.
From all encountered files of APK the file with the B. Artificial Immune System
name AndroidManifest.xml is very interesting and useful
The security system for Android OS is based on our
for us with relation to information security. Every
previously developed and described in [3]-[5] Intelligent
Android application must have AndroidManifest.xml file
Cyber Defense System. Fig. 2 shows the adapted to
(with precisely that name) in its root directory. The
Android OS architecture of this system.
manifest file presents essential information about the
application to the Android system. It provides such
information as:
 Describes the components of the application (the
activities, services, broadcast receivers, and
content providers that the application is
composed of. It allows the Android system know
what the components are and under what
conditions they can be launched);
 Determines which processes will host application
components;
 Declares which permissions the application must
have in order to access protected parts of the API
and interact with other applications.
 Declares the permissions that others are required
to have in order to interact with the application's
components etc. Figure 2. The architecture of the intelligent system for malicious
Without going into the detailed structure of the code detection.
manifest file (it contains different elements such as
permission, instrumentations, configurations etc. [14]) The proposed system consists of the set of
says that this file contains very important information and “intelligent” immune detectors (each detector based on a
some parts of this file can be used as signature of Android neural network). Each detector has a time period, called
application. lifetime, during that it is going through such stages as
A permission is a restriction limiting access to a part creation, training, selection, detection etc.
of the code or to data on the device. The limitation is The module of generation of detectors produces the
imposed to protect critical data and code that could be set of “immature” detectors. Then, during the training
misused to distort or damage the user experience. For stage, the immune detectors are learned to correct
example, here are some permissions defined by Android: classification of objects in the operating system
 android.permission.INTERNET environment and to detect a malicious code.
 android.permission.ACCESS_FINE_LOCATION After being trained all immune detectors are going
 android.permission.VIBRATE through the selection stage where their correctness is
 android.permission.READ_PHONE_STATE checked. If a detector classifies test benign objects as
 android.permission.ACCESS_WIFI_STATE malicious, it is destroyed and replaced by a new detector.
 android.permission.READ_OWNER_DATA The module of selection allows decrease the false alarm
 android.permission.DEVICE_POWER rate and increase the defense level of the system.
Each new installed application is checked by the set
of detectors that analyze it. If detectors classified the new

405
application as benign, it can be installed on the device. If Application_1 (benign):
any detector classified an application as malicious, it is - android.permission.WAKE_LOCK
- android.permission.INTERNET
blocked. - android.permission.ACCESS_NETWORK_STATE
When new malicious application was detected, the - android.permission.USE_CREDENTIALS
system extracts data from this application and adds it to - android.permission.MANAGE_ACCOUNTS
the training data. Meanwhile, the detector that found a - android.permission.READ_PHONE_STATE
- android.permission.ACCESS_WIFI_STATE
new malicious code is transformed into the immune - android.permission.VIBRATE
memory detectors. The mechanism of updating the - android.permission.GET_ACCOUNTS
training data allows evolving the whole defense system - android.permission.WRITE_EXTERNAL_STORAGE
and provides the ability to adapt to the new, unknown
malicious applications. And, the mechanism of immune 1 2 3 4 5 6 7 8 9 10 11 12 … 152
memory provides the high level of reaction on repeated 0 0 0 0 0 1 0 1 0 0 0 0 … 0
attempts of known attacks.
The detailed information concerning Intelligent Cyber Application_2 (malicious):
- android.permission.RAISED_THREAD_PRIORITY
Defense System and interaction of described modules can - android.permission.INTERNET
be received from [3]-[5]. - android.permission.READ_PHONE_STATE
- android.permission.MOUNT_UNMOUNT_FILESYSTEMS
C. Data Structure - android.permission.WRITE_EXTERNAL_STORAGE
In subsection A of the current section we described - android.permission.WRITE_SECURE_SETTINGS
- android.permission.ACCESS_NETWORK_STATE
the structure of APK and showed that the analyzing data - android.permission.ACCESS_WIFI_STATE
from Manifest file allows classifying Android - android.permission.CHANGE_NETWORK_STATE
application. The web resource [15] provides the complete - android.permission.RECEIVE_MMS
list of the existing Manifest permission such as - android.permission.RECEIVE_WAP_PUSH
- android.permission.WRITE_SETTINGS
ACCESS_CHECKIN_PROPERTIES, ACCESS_FINE - android.permission.READ_SMS
_LOCATION, ACCESS _NETWORK_STATE etc. that - android.permission.SEND_SMS
counts 152 permissions. Each Android application - android.permission.RECEIVE_SMS
contains the list of used permission. Accordingly, it is
possible to construct a vector that will represent the 1 2 3 4 5 6 7 8 9 10 11 12 … 152
0 0 0 0 0 1 0 1 0 0 1 1 … 0
information about which permissions are used and which
permissions are not used in current application. As a Figure 3. The example of the permission vectors.
result, each application can be represented as a binary
vector with size 152. Fig. 3 represents the example of the V. CONCLUSIONS
permission vectors for benign and malicious applications.
The set of permission vectors forms the training set. The current research opens our big project directed on
During the training stage, each immune detector that is the creation of Intelligent Cyber Defense System based
based on neural network (the structure of neural network, on the Artificial Immune System where immune detectors
the training and functioning algorithms are described in have a neural network structure. We already created the
[3]-[5]) is trained by the training set. As a result, we intelligent security system for detection of malicious code
receive the set of detectors that can classify any newly in Microsoft Windows platform and for detection of
installed Android application. network intrusions. The system showed excellent results
of unknown computer attacks detection. The developed
IV. EXPERIMENTAL RESULTS apparatus can be successfully implemented for detection
For the experiments we collected the benign of malicious applications in Android operating system.
application from Google Play and malicious applications We extracted the permissions from Manifest file and
from VX Heaven [16]. It should be noted that the amount constructed the permission vector that can be used for
of malicious applications is not so high and for receiving training immune detectors fartherly and classify Android
the most precise results, we need to find additional application. We received first results that confirmed our
sources of malicious samples. The permission vectors idea. Then, we are planning to develop the presented
were extracted from each application. Then, each set of approach, improve the system for malicious application
vectors (benign and malicious) was divided into two detection and integrate it in the already created Intelligent
groups: training and testing set. Next, for each immune Cyber Defense System.
detector train data composed of benign and malicious REFERENCES
vectors are created. After the learning, the set of immune
[1] Trend Micro: http://www.trendmicro.eu/index.html, 2015.
detectors check the test data. The results showed that [2] Kaspersky Lab: http://www.kaspersky.com, 2015.
immune detectors classify correctly not only applications [3] S. Bezobrazov, and V. Golovko, “Artificial immune systems of
from training set but also unknown applications (the the neural network for the malicious code detection,” in
detailed results and the deep analysis will be presented in Proceedings of the 6th International Conference on Neural
the full version of the paper).

406
Networks and Artificial Intelligence (ICNNAI-2010), Brest, on Computer and Communications Security, Chicago, Illinois,
Belarus, 2010. USA, 2011, pp. 627-638.
[4] M. Komar, V. Golovko, A. Sachenko, and S. Bezobrazov, [10] K. Chen et al., “Contextual policy enforcement in Android
“Intelligent system for detection of networking intrusion,” in applications with permission event graphs,” in Proceedings of the
Proceedings of the 6th IEEE International Conference on NDSS Symposium, 2013.
Intelligent Data Acquisition and Advanced Computing System [11] W. Enck, M. Ongtang, and P. McDaniel, “On lightweight mobile
(IDAACS’2011), Prague, Czech Republic, 2011. phone application certification,” in Proceedings of the 16th ACM
[5] V. Golovko, S. Bezobrazov, V. Melianchuk, and M. Komar, Conference on Computer and Communications Security CCS’09,
“Evolution of immune detectors in intelligent security system for 2009.
malware detection,” in Proceedings of the 6th IEEE International [12] I. Burguera, U. Zurutuza, and S. Nadjm-Tehrani, “Crowdroid:
Conference on Intelligent Data Acquisition and Advanced behavior-based malware detection system for Android,” in
Computing System (IDAACS’2011), Prague, Czech Republic, Proceedings of the 1st ACM Workshop on Security and Privacy in
2011, pp. 722-726. Smartphones and Mobile Devices, Chicago, USA, 2011, pp. 15-
[6] M. Zhao et al, “A smartphone malware detection framework based 26.
on artificial immunology,” Journal of Networks, vol. 8, no. 2, [13] T. Blasing, L. Batyuk, A. Schmidt, S. Camtepe, and S. Albaryak,
February 2013, pp. 469-476. “An Android Application Sandbox system for suspicious software
[7] U. Vural, and H. Venter, “Detecting mobile spam botnets using detection,” in Proceedings of the 5th International Conference on
artificial immune systems,” Advances in Digital Forensics VII, pp. Malicious and Unwanted Software (MALWARE), Nancy, Lorraine,
183-192, August 1987 [Digests 9th Annual Conf. Magnetics October 2010, pp. 55-62.
Japan, p. 301, 1982]. [14] App Manifest: http://developer.android.com/guide/topics/
[8] A. Felt, E. Ha, S. Egelman, F. Haney, E. Chin, and D. Wagner, manifest/manifest-intro.html, 2015
“Android permissions: user attention, comprehension, and [15] Manifest permission: http://developer.android.com/reference/
behaviour” in Proceedings of the Symposium on Usable Privacy android/Manifest.permission.html, 2015
and SecuritySOUPS, 2012. [16] VX Heaven: http://vxheaven.org/, 2015
[9] A. Felt, E. Chin, S. Hanna, D. Song, and D. Wagner, “Android
permissions demistyfied,” in Proceedings of the ACM Conference

407

You might also like