<!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>Privacy Friendly Apps - Making Developers Aware of Privacy Violations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Karola Marky?</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Gutmann?</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Philipp Rack?</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Melanie Volkamer?</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>In: D. Aspinall, L. Cavallaro, M. N. Seghir, M. Volkamer (eds.): Proceedings of the Workshop on Innovations in Mobile Privacy and Security IMPS at ESSoS'16</institution>
          ,
          <addr-line>London, UK, 06-April- 2016, published at</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Karlstad University</institution>
          ,
          <addr-line>Karlstad</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <fpage>46</fpage>
      <lpage>48</lpage>
      <abstract>
        <p>Android devices are widely used on a daily basis. As those devices can open doors for attackers and companies to privacy sensitive data, developers have to be aware of potential risks. We introduce the project of Privacy Friendly Apps, explain its design principles and describe some of its resulted apps. The long-term goal of this project is twofold: (1) raise awareness of developers regarding potential privacy violations posed through unnecessarily overprivileged apps; (2) compile a list of common errors and mistakes that lead to unintended privacy violations.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In the past years, mobile devices have become widely
adopted products. Their omnipresence in people’s
daily routines and their frequent interconnection with
other personal devices provide them potential access
to a plethora of (privacy sensitive) data.</p>
      <p>With roughly 80% market share in 2015, Android
is the most frequently used mobile operation
system [Int15]. Its API contains a set of routines,
protocols, and tools for developers to build software
applications (apps) and thus is a gateway to potential
misuse and privacy violations. In order to protect
privacy sensitive data, Android defines a permission
system as security model: Before an app is
permitted to access functionality or data, a permission has
to be granted by the user. This approval takes place
before the app installation (until Android 6.0
”Marshmallow”1) and the user grants all permissions at once.
If the permissions are not granted the installation
process is canceled. These permissions are categorized,
e.g. the camera permission is required to operate the
LED light.</p>
      <p>Even if no privacy violation is intended, developers
might include more permissions than an app requires
for its functionality. Such overprivileged applications
bear two risks: (1) Android’s permission request
system can be less effective and (2) the impact of bugs
and vulnerabilities increases [Fel11]. Hence, the
application’s permissions could be misused by another
application [Ort11]. Also granting more permissions
than required for the functionality might lead to the
mistrust of users.</p>
      <p>A few app rating mechanisms, e.g. as proposed by
Jialiu et al. [Jia14], determine whether a permission
is required for an app’s functionality. It is estimated
that at least one third of Android applications request
more permissions than necessary [Fel11]. Hence,
raising the awareness of developers regarding potential
privacy and security violations introduced by
unnecessary permissions can contribute to mitigating related
problems, e.g. by addressing BYOD (bring your own
device) concerns [Mil12].</p>
      <p>Research orthogonal to ours explores how user can
be guided to more privacy aware app choices and
installation decisions. This includes research on user’s
decision making and the derivation of guidelines for
privacy aware app decisions [Kul16] as well as on the
actual presentation of the permission granting screen
in the Google Play Store [Ger15]. Progress in these
research directions is likely to shift market demand
towards more privacy friendly apps, which requires
corresponding knowledge and awareness of developers.</p>
      <p>1In Android 6 (released in Oct. 2015) and thereafter,
permissions are granted during run-time, which could also lead to
privacy violations.</p>
      <p>Our contribution is a set of guidelines for Android
application development to make developers aware of
potential privacy violations. To test this set
university students will develop apps during their
programming lab. The results are compared in terms of their
potential privacy violations to similar applications in
the Google Play Store. As a positive side effect, we
contribute privacy friendly apps to society. We
further hope that the approach of developing privacy
friendly apps within student’s programming labs will
be adopted by other educational institutions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Privacy Friendly Apps</title>
      <p>The Privacy Friendly Apps project is based on few
principles, as described in this section. They are
applied to evaluate common mistakes and violations
regarding privacy violations. Based on Android’s
security model for data, we identified permissions as the
biggest threat to privacy sensitive data. Each Privacy
Friendly App complies with the following principles:
Minimal Permissions. Each app uses only those
permissions actually needed by the app to
implement its functionality. Every use of a permission
has to be justified by the developers. This
justification should lead developers to reflect about the
use of permissions.</p>
      <p>Open Source Licence. The source code is licenced
under an open source licence (typically GPLv32)
and published on the open source platform
Github3. This procedure guarantees that other
persons familiar with programming can review
the code. Publishing the source code furthermore
builds trust as privacy violations could be
discovered by anyone who inspects the code.</p>
      <p>No Advertisement or Tracking. Privacy Friendly
Apps refrain from tracking or advertisement.
Advertisement and tracking might result in a privacy
violation and it’s not intended to encourage
students to integrate these features gratuitously into
a privacy friendly app.</p>
      <p>In addition to the Google Play Store and Github
we try to publish4 resulting apps in the alternative
app store F-Droid. This store exclusively contains
open source apps and compiles these directly from the
source code. Thus, it is assured that the resulting app
matches to the published source code. During this
procedure F-Droid examines the app regarding
security and privacy issues.</p>
      <p>2http://www.gnu.org/licenses/quick-guide-gplv3.en.html
3https://github.com/
4We referred to ”try to publish” because F-Droid carefully
reviews submitted apps.</p>
      <p>Publishing in F-Droid offered a good access to the
open source community. We have received feature
requests, issues and comments on Github’s issue tracker
regarding some apps. Regarding one application we
received recommendations to provide additional
privacy. This recommendation leaded us to carefully
review the camera permission which is required to
control a phone’s LED. So adding the apps to this store
supports us identifying privacy risks by utilising
collective knowledge.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Developed Apps</title>
      <p>Several Android apps5 have been or are currently
developed by students during programming labs. This
section summarizes four representative apps with
regard to their functionality, required permissions and
the average amount of permissions needed by the top
ten of similar apps6 as displayed in the Google Play
Store.</p>
      <p>Dicer can be used to roll six-sided dice.</p>
      <p>Amount of permissions: 1</p>
      <p>Average permissions (Play Store): 2.9
QR Scanner decodes several QR Code formats as
well as barcodes and supports the user in
detecting malicious links embedded in QR Codes.
Amount of permissions: 2</p>
      <p>Average permissions (Play Store): 10.7
Torchlight uses the LED camera flash light to
provide the smart phone with a torchlight.</p>
      <p>Amount of permissions: 1</p>
      <p>Average permissions (Play Store): 6.9
Sudoku Game.</p>
      <p>Amount of permissions: 0</p>
      <p>Average permissions (Play Store): 4.5
4</p>
      <p>Considerations and Early Findings
We plan to evaluate the development process of
Privacy Friendly Apps based on the three principles. We
intend to learn which guidelines and which type of
knowledge is useful to raise developers’ awareness.
Therefore, we have designed two questionnaires for
programmers to evaluate their awareness level and
learning curve. In the future, the developers will
therein report their software development skills in
general and particularly regarding the Android platform.
From this self-reported data we hope to gain further
insights.</p>
      <p>5Corresponding source code can be found at
https://github.com/SecUSo
6If available and after manual inspection to ensure similarity.</p>
      <p>Spreading the idea of letting students of other
educational institutions develop Privacy Friendly App is
another aspect of considerations. As computer science
students typically have to participate in a
programming lab they could contribute their results to society
e.g. in form of a Privacy Friendly App based on the
principles listed in Section 2.</p>
      <p>We would like to note that we don’t want to
badmouth intended privacy violations if there are
justifiable reasons, such as to provide a free app based
on financing by advertisement. Alternative financing
methods like ”flattering” or donations are out of this
work’s scope.</p>
      <p>An early example of knowledge which we plan in
integrate into our guidelines is the result of an analysis of
the development process of a Sudoku application. In
order to play this game without interruptions from the
screen turning off, the phone has to be prevented from
sleeping. Therefore, a specific permission can be
included to receive the intended effect. This permission,
however, can be circumvented by adding a flag in a
specific part of the code. This circumvention is a part
of the official Android documentation but frequently
overseen by developers. The frequent use of the
”prevent phone from sleep” permission might be based on
insufficient or missing documentation on online
platforms. Therefore we assume that many current and
future developers are not aware thereof and thus we
want to include this information it in our upcoming
guidelines.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Future Work</title>
      <p>In this paper, we have listed few principles for
Privacy Friendly Apps and roughly described how we let
students develop apps based on them. Our Privacy
Friendly Apps developed in compliance with them
require less permissions than the corresponding Google
Play Store’s top ten similar apps (see Table 1).</p>
      <p>Suggested future work is to derive further
principles and provide guidance for privacy aware Android
development. We plan to analyse data from Github
(source code, issues and comments)7 to identify
ad7Including applications not developed in cooperation with us.
ditional principles, common mistakes and knowledge
gaps. Therefore we also plan to evaluate the student’s
learning curve. The goal is to provide a procedure of
training developers in awareness, e.g. a guide, flyer or
similar as well as a list of privacy-related problems
experienced by developers while developing an Android
app.</p>
      <p>Additionally, the approach of developing Android
apps based on our principles could spread to other
educational facilities. Computer science students are
often required to participate in programming labs. By
developing a privacy friendly application they
furthermore contribute to society.
[Fel11]</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Felt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Chin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hanna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Song</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wagner</surname>
          </string-name>
          .
          <article-title>Android permissions demystified</article-title>
          .
          <source>Proceedings of the 18th ACM conference on Computer and communications security</source>
          ,
          <fpage>627</fpage>
          -
          <lpage>638</lpage>
          ,
          <year>2011</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [Ger15]
          <string-name>
            <given-names>P.</given-names>
            <surname>Gerber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Volkamer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Renaud</surname>
          </string-name>
          .
          <article-title>Usability versus privacy instead of usable privacy: Google's balancing act between usability and privacy</article-title>
          .
          <source>ACM SIGCAS Computers and Society</source>
          ,
          <volume>45</volume>
          (
          <issue>1</issue>
          ),
          <fpage>16</fpage>
          -
          <lpage>21</lpage>
          ,
          <year>2015</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [Int15] [Jia14]
          <article-title>International Data Corporation</article-title>
          .
          <source>Smartphone OS Market Share</source>
          ,
          <year>2015</year>
          Q2.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          http://www.idc.com/prodserv/smartphoneos-market-share.jsp,
          <year>2015</year>
          . Accessed 28-
          <fpage>01</fpage>
          - 16.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>L.</given-names>
            <surname>Jialiu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Sadeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hong</surname>
          </string-name>
          .
          <article-title>Modeling users' mobile app privacy preferences: Restoring usability in a sea of permission settings</article-title>
          .
          <source>Symposium On Usable Privacy and Security (SOUPS</source>
          <year>2014</year>
          ),
          <fpage>199</fpage>
          -
          <lpage>212</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [Kul16]
          <string-name>
            <given-names>O.</given-names>
            <surname>Kulyk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Gerber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>El Hanafi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Reinheimer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Renaud</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Volkamer</surname>
          </string-name>
          . Encouraging
          <string-name>
            <surname>Privacy-Aware Smartphone</surname>
          </string-name>
          App Installation:
          <article-title>Finding out what the TechnicallyAdept Do?</article-title>
          NDSS Workshop on Usable Security (USEC),
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [Mil12] [Ort11]
          <string-name>
            <given-names>K. W.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Voas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G. F.</given-names>
            <surname>Hurlburt</surname>
          </string-name>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <source>It Professional (5)</source>
          ,
          <fpage>53</fpage>
          -
          <lpage>55</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Lackner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Gissing</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Marsalek</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Leibetseder</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Prevenhueber</surname>
          </string-name>
          .
          <article-title>Android security permissions-can we trust them? Security and Privacy in Mobile Information</article-title>
          and
          <string-name>
            <given-names>Communication</given-names>
            <surname>Systems</surname>
          </string-name>
          ,
          <volume>40</volume>
          -
          <fpage>51</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>