<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Composition of the information security methods for a smart environment and the research</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Nerijus Šatkauskas Department of Computer Sciences Kaunas University of Technology Kaunas</institution>
          ,
          <country country="LT">Lithuania</country>
        </aff>
      </contrib-group>
      <fpage>130</fpage>
      <lpage>135</lpage>
      <abstract>
        <p>-Smart devices and the smart environment itself is getting more and more popular. A big part of smart devices uses the Android operating system. Since any information on these devices can become available to the third parties on the basis of granted permissions, it is very important to consider it properly before granting them. A permission monitoring system prototype has been proposed for this purpose.</p>
      </abstract>
      <kwd-group>
        <kwd>dangerous permission group</kwd>
        <kwd>dangerous permission</kwd>
        <kwd>information leakage</kwd>
        <kwd>android operating system</kwd>
        <kwd>smart environment</kwd>
        <kwd>smart device</kwd>
        <kwd>information value</kwd>
        <kwd>information sensitivity</kwd>
        <kwd>Android permissions</kwd>
        <kwd>permission monitoring</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>Smart environment is rather an abstract conception and it
may refer to a number of more specific areas in question. If
we referred to one of many definitions for the smart
environment, it would sound like [1] “ordinary environments
equipped with visual and audio sensing systems, pervasive
devices, sensors and networks that can perceive and react to
people…”. It is expected that the number of such devices will
only increase in the future.</p>
      <p>One of the smart devices which makes a big part of the
smart environment is a smartphone. A dominating operating
system currently is Android [2]. This operating system has
been created by Google on the basis of Linux. The operating
system due to its nature of being an open source one has to be
well controlled and maintained in order to keep it as safe as
possible.</p>
      <p>The purpose of this research is to analyze security issues
the Android operating system faces. It assesses the security of
the smart environment information storage in the Android
operating system. It attempts to detect whether any
unauthorized parties can get access to this information. The
methods which may strengthen the security are considered.</p>
      <p>A prototype has been proposed for this purpose. This
prototype shall classify the tested applications based on their
permissions which suggest any potential information leakage.
The results will be compared with some other applications
which are currently available on the Play Store for the same
purpose.</p>
      <p>II. SMART ENVIRONMENT THREATS</p>
      <p>Mobile devices once were considered as safe ones but
everything has changed as soon as operating systems were
introduced. Installing an application is not only an additional
comfort. It can be an additional concern as well. Especially if
it is a malware which can leak any information.
© 2019 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0)</p>
      <p>IoT environment or the smart environment in this
particular case since the issues are rather common can be
divided into three main levels [3]: application level,
transportation level and perception level. All these three levels
bear threats which are typical to them.</p>
      <sec id="sec-1-1">
        <title>SMART ENVIRONMENT THREAT LEVELS</title>
        <sec id="sec-1-1-1">
          <title>Layer</title>
        </sec>
        <sec id="sec-1-1-2">
          <title>Application level:</title>
          <p>provides customer
requested services
like air temperature</p>
        </sec>
        <sec id="sec-1-1-3">
          <title>Transportation</title>
          <p>level: transmits and
receives any
collected data</p>
        </sec>
        <sec id="sec-1-1-4">
          <title>Perception level:</title>
          <p>physical sensors to
collect any data and
to process it</p>
        </sec>
        <sec id="sec-1-1-5">
          <title>Main Threats</title>
        </sec>
      </sec>
      <sec id="sec-1-2">
        <title>Data leakage: stealing data</title>
      </sec>
      <sec id="sec-1-3">
        <title>DoS attacks: making services unavailable</title>
      </sec>
      <sec id="sec-1-4">
        <title>Malicious code injection: exploiting known vulnerabilities</title>
      </sec>
      <sec id="sec-1-5">
        <title>Routing attacks: intermediate malicious nodes</title>
      </sec>
      <sec id="sec-1-6">
        <title>DoS attacks: making nodes unavailable</title>
      </sec>
      <sec id="sec-1-7">
        <title>Data transit attacks: attacks in networks</title>
      </sec>
      <sec id="sec-1-8">
        <title>Physical attacks: node tempering, replacing</title>
      </sec>
      <sec id="sec-1-9">
        <title>Impersonation: fake identity for attacks</title>
      </sec>
      <sec id="sec-1-10">
        <title>DoS attacks: making nodes unavailable</title>
      </sec>
      <sec id="sec-1-11">
        <title>Routing attacks: intermediate malicious nodes</title>
      </sec>
      <sec id="sec-1-12">
        <title>Data transit attacks: sniffing, man-in-themiddle</title>
        <p>This research focuses on the application level. The
operating system Android is picked due to its leading positions
in the market.</p>
        <p>III. ANALYSIS OF THE CURRENTLY AVAILABLE
ANDROID DATA LEAKAGE MONITORING TOOLS</p>
        <p>Data availability to third parties in the Android operating
system relies on the permission model [4]. Permissions are
such labels which should be assigned by developers to their
application. The application must define in the manifest file
which sensitive resources it needs to have access to. The user
during the installation has a chance either to grant these
permissions or not.</p>
        <p>A. Preinstalled permission manager</p>
        <p>As Android 6.0 “Marshmallow” has been introduced in
2015, the ability was provided to toggle any granted
dangerous permission groups for any specific application [5].
The accessibility of this tool may vary depending on the
manufacturer of a device, but it can be accessed in general via
Settings &gt; Apps / Application Manager &gt; Permissions.</p>
        <p>A screenshot is provided below of the operating system
Android 8.1.0. It gives access to the list of all the installed
applications. Dangerous permission groups can be reviewed,
granted or revoked at any time.</p>
        <p>However, if a user has no previous knowledge about the
permissions, the list may not always be informative enough.
B. Application Inspector</p>
        <p>A good alternative which is available on Play Store for the
permission management is Application Inspector. This is a
third-party application which is developed by UBQSoft.</p>
        <p>The tool once it is launched provides a list of all the
installed applications. One can see more details after picking
any particular application within that list concerning libraries,
last update time etc. Involved permissions are described as
well as their level they belong to is provided: dangerous,
normal, signature. The status of granted or not granted is
available which can be changed after tapping and being
directed to relevant Settings submenus.</p>
        <p>It is a very extensive analyzer and it provides access to
different statistical data after a specific application is picked
within a general scanned applications list. There is a tab for
used permissions. These permissions are listed after tapping
the tab, but the information resources are very limited. There
are no descriptions about these permissions. It is undefined
which level they belong to. There is no information if any of
these permissions in the manifest file are granted or not.</p>
        <p>Another application which can be helpful for scanning any
installed applications on the device is PackageInfo. It gives a
list of applications after scanning which are available for a
more detailed review after picking any of them. It gives some
package information, including the list of permissions. There
are no detailed descriptions of these permissions. The state
whether they are granted or not is unidentified.</p>
        <p>It becomes obvious after the analysis of some currently
available tools for permission scanning and monitoring that
the focus given on the permissions may not be enough for a
regular user. A regular user may not want to search for any
explanatory information about the granted permissions in
external sources. It may lead the user to underestimating any
potential threat due to personal information leakage.</p>
        <p>IV. V-S AXIS INFORMATION SENSITIVITY</p>
        <p>ASSESSMENT</p>
        <p>Different data classification methods were taken into
consideration but V-S method [6] was chosen as the most
appropriate one in this case. This method classifies any
available information based on 2 axes which stand for
information value and sensitivity. As the authors suggest who
have introduced this method, it is possible to assign the data
to different information classes while implementing different
security measures.</p>
        <p>A. V-S axis method in the prototype</p>
        <p>
          In order to able to use the proposed V-S axis method for
the data on Android device, we first need to define the value
of the vertical axis for information sensitivity (Y). Sensitivity
axis has tree levels: low (0), middle (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ), and high (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ).
2,5
)
id -02 2
o (
r
d n1,5
        </p>
        <p>
          o
,nA itca 1
)Y i
i(s ifss0,5
xa lca 0
iiittsvy iissno
n m
e r
S e
p
0
0,5
1
1,5
2
2,5
Value axis (X), defined by a user (
          <xref ref-type="bibr" rid="ref1 ref2">0-2</xref>
          )
High sensitivity, high value (
          <xref ref-type="bibr" rid="ref2">2-2</xref>
          )
Middle sensitivity, middle value (
          <xref ref-type="bibr" rid="ref1">1-1</xref>
          )
Low sensitivity, low value (0-0)
Fig. 5. V-S axis chart
        </p>
        <p>
          The horizontal axis for information value (X) has also
three levels. These levels are correspondingly: low (0), middle
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ), and high (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ).
        </p>
        <p>The official classification of permissions available on
Android developers’ portal was used for that purpose [7].
Permissions are classified there into four groups: normal,
dangerous, signature, and special ones. This official
classification reflects different information sensitivity levels
to any potential information leakage. These permissions were
assigned to the sensitivity (Y) axis in the following manner:
1) Low (0): Normal permissions are assigned to this
level due their low potential threat. These permissions are
granted to any installed application on a smart device without
any intervention on the user side.</p>
        <p>
          2) Middle (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ): Some normal permissions are
assigned to this level. Applications with these permissions
may cause some inconvenience to users like
CHANGE_NETWORK_STATE which allow to change the
connectivity to wireless networks.
        </p>
        <p>
          3) High (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ): Dangerous permissions groups were
assigned to this level. It is officially confirmed and classified
as having negative impact once the information which
belongs to the above class is unintentionally exposed to any
third part parties.
        </p>
        <p>Signature permissions and special permissions were not
further considered in this research. Therefore, they were not
assigned to any axis level.</p>
        <p>The horizontal (X) axis for information value is used for
a personal assessment of the information stored on the smart
device. The values for this axis are selected by default in the
prototype but a user can change them any time.</p>
        <p>1) Low (0): This information is not valuable to the
user or the user will not have any significant issues upon
losing it. Permissions of low sensitivity (Y) axis level are
matched to this value (X) axis level by default which results
in 0 as a score.</p>
        <p>
          2) Middle (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ): This information might have some
value to the user or the user might have some issues upon
losing it. Permissions of middle sensitivity (Y) axis level are
matched to this value (X) axis level by default which results
in 1 as a score.
        </p>
        <p>
          3) High (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ): This information is valuable to the user.
Losing it might cause considerable issues or financial losses.
Permissions of high sensitivity (Y) axis level are matched to
this value (X) axis level by default which results in 4 as a
score.
        </p>
        <p>B. Proposed prototype based on V-S classification</p>
        <p>The proposed prototype Permission Monitoring System
gives a quick review of the installed applications. It consists
of 2 main lists. The first one is made of applications which are
sorted in the order of the highest danger point score to the
lowest one. A total danger point score for a specific
application is compared to the maximum possible danger
point score (maximum point score is 134). It gives that way a
quick review of the data leakage potential.</p>
        <p>V-S axis classification method is used both for the
maximum danger point score calculation and for the current
danger point score calculation of any specific application. As
mentioned above, permission classification and default
information values which a user can adjust to his / her own
priority any time are taken into consideration.</p>
        <p>If a user taps any application in the application list
provided by the prototype, further options are available. The
user can see the package name, version number, last update
time etc. It also provides the number of dangerous, potentially
dangerous and normal permissions. These permissions can be
further explored after tapping their titles in this submenu.</p>
        <p>As soon as a submenu option for permissions is tapped,
one can see the dangerous permissions which of them are
namely granted. If these dangerous permission groups are not
granted, but they are still in the list, it means that the manifest
file contains that permission group, and as the application is
used, sooner or later this permission group will be requested
by the corresponding application. It is also the place where a
user can change the value (horizontal one) axis level to a
preferred one if he / she thinks that the default value does not
meet his / her expectations. E.g. if a user feels that there is no
important information in his / her contacts book and exposing
it unintentionally to any third parties is not a big concern, it is
possible to change the value axis level to the middle one or the
low one. Danger point score will be recalculated accordingly.
As the recalculation is completed, the score can accordingly
be higher or lower.</p>
        <p>C. V-S classification of permissions</p>
        <p>The following default values were used to calculate the
score for any permission used within an application.</p>
        <p>The maximum amount of points for a dangerous
permission is 4. Meanwhile, the maximum amount of points
for potentially dangerous permissions is 2.</p>
        <p>The following formula was used to calculate the danger
point score:</p>
        <p>(YD * XD) + (YPD * XPD).</p>
        <p>D means in this formula “Dangerous permission”,
meanwhile PD means “Potentially dangerous”. Y and X are
the names of the axes.</p>
        <p>
          All the permission groups which belong to the dangerous
protection level are used for this prototype. As it was
mentioned above, they belong to level High (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) on the
sensitivity (Y) axis. Further details are provided below.
        </p>
      </sec>
      <sec id="sec-1-13">
        <title>LOCATION</title>
      </sec>
      <sec id="sec-1-14">
        <title>MICROPHO NE</title>
      </sec>
      <sec id="sec-1-15">
        <title>PHONE</title>
      </sec>
      <sec id="sec-1-16">
        <title>WRITE_CONTACTS</title>
      </sec>
      <sec id="sec-1-17">
        <title>GET_ACCOUNTS</title>
      </sec>
      <sec id="sec-1-18">
        <title>ACCESS_FINE_LOCATIO N ACCESS_COARS_LOCATI ON</title>
      </sec>
      <sec id="sec-1-19">
        <title>RECORD_AUDIO</title>
      </sec>
      <sec id="sec-1-20">
        <title>READ_PHONE_STATE</title>
      </sec>
      <sec id="sec-1-21">
        <title>READ_PHONE_NUMBERS Maximum point score for potentially dangerous permissions 30 TABLE V.</title>
        <p>104</p>
        <p>Some normal protection level permissions are used for the
sensitivity (Y) axis with the default value set to Middle. These
values officially are considered as not dangerous, but a user
may find it uncomfortable if their status becomes
uncontrollable. Therefore, the level on the sensitivity axis (Y)
is 1, and the level on the value axis (X) which can be changed
by a user is also 1 by default. However, this default value is
considered as 2 when calculating the maximum danger point
score. The following table provides further calculation details.</p>
        <p>The maximum danger point score therefore is 134. If a
user changes the level on the value (X) axis for any dangerous
permission group or a potentially dangerous permission to
low, it means that this permission will be multiplied by 0
which leads this permission to be unconsidered in the total
danger point score for applications.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>V. EXPERIMENTAL FINDINGS</title>
      <p>The purposes of completing information leakage
experiments based on permissions were the following ones:
1) Which categories do pose the highest risk of an
information leakage among the tested ones?</p>
      <p>2) Which applications do pose the highest risk of an
information leakage among the tested ones?
3) Which permissions are requested the most frequently?
The following devices were used in one or other way in
order to download the applications for testing them with the
prototype.</p>
      <p>Applications were downloaded based on different
categories. Applications within the categories were picked
while using the most popular application list since these
applications are the most relevant ones to the biggest number
of users.</p>
      <p>The most popular 20 applications from the categories
below were downloaded and installed.</p>
      <p>



</p>
    </sec>
    <sec id="sec-3">
      <title>Shopping</title>
    </sec>
    <sec id="sec-4">
      <title>Finance</title>
    </sec>
    <sec id="sec-5">
      <title>Communication</title>
    </sec>
    <sec id="sec-6">
      <title>Education</title>
    </sec>
    <sec id="sec-7">
      <title>Business Tested categories according to the results of the information leakage risk are distributed on the chart in the following way.</title>
      <p>Communication
Shopping
Finance
Business
Education</p>
      <p>The results were calculated by summing up the danger
point score of all the tested applications within that category.
It was 20 top applications in it based on their popularity.</p>
      <p>The following applications pose the highest risk of an
information leakage among the tested ones.</p>
      <p>These applications were picked by looking for the highest
danger point score among all the tested applications. The
number of the tested applications is 100 at the moment.</p>
      <p>The following dangerous permissions which are in chart
below are requested the most frequently by the downloaded
applications which were used for this research.</p>
      <p>Numbers of the usage of different dangerous permissions
were calculated in this test. As 100 Android applications were
currently tested in this research, the chart numbers suggest the
amount of instances the corresponding permission was
requested or was to be requested. It means in this case that the
permission READ_EXTERNAL_STORAGE was requested
by 78 applications out of 100 tested applications. Top 5
permissions with the highest usage number were picked. It
suggests which information has the highest leak potential.</p>
      <p>Android OS security is based on the permission model.
However, granting the permissions can be underestimated by
a regular user due to a lack of available information or interest
in his/her personal security.</p>
      <p>A prototype has been offered which provides a simple risk
assessment of any information leakage. A user does not need
to have any awareness of permissions to understand the
results.</p>
      <p>There is an option to cancel any granted permission but
after it is cancelled, an application may not work correctly.</p>
      <p>100 applications in total from 5 different categories were
tested. The results are provided in charts for a comparative
purpose.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1] (
          <year>2006</year>
          )
          <article-title>ACM DIGITAL LIBRARY, “State of the art smart spaces application models and software infrastructure”</article-title>
          . [Online]. Available: http://ubiquity.acm.org/article.cfm?id=
          <fpage>1167869</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2] (
          <year>2017</year>
          )
          <article-title>IEEEXplore, “Critical Review of Static Taint Analysis of Android Applications for Detecting Information Leakages”</article-title>
          ,
          <source>8th International Conference on Information Technology (ICIT)</source>
          . [Online]. Available: http://ieeexplore.ieee.org/document/8080041/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] (
          <year>2017</year>
          ) IEEEXplore, “
          <article-title>Evaluating critical security issues of the IoT world: Present and Future challenges”</article-title>
          . [Online]. Available: http://ieeexplore.ieee.org/document/8086136/
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4] (
          <year>2017</year>
          ) IEEEXplore, “Android Permissions Unleashed”. [Online]. Available: https://ieeexplore.ieee.org/document/7243742
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Google</given-names>
            <surname>Play</surname>
          </string-name>
          <string-name>
            <surname>Help</surname>
          </string-name>
          , “
          <article-title>Control your app permissions on Android 6.0 and up</article-title>
          ”, [Online]. Available: https://support.google.com/googleplay/answer/6270602?hl=en-GB
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6] (
          <year>2007</year>
          ) IEEEXplore, “
          <source>Research on Supply Chain Information Classification Based on Information Value and Information Sensitivity”</source>
          . [Online]. Available: http://ieeexplore.ieee.org/document/4280248/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7] (
          <year>2018</year>
          ) “
          <article-title>Protection levels”</article-title>
          . [Online]. Available: https://developer.android.com/guide/topics/permissions/overview#nor mal-dangerous
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>