skip to main content
research-article
Public Access

Coconut: An IDE Plugin for Developing Privacy-Friendly Apps

Published:27 December 2018Publication History
Skip Abstract Section

Abstract

Although app developers are responsible for protecting users' privacy, this task can be very challenging. In this paper, we present Coconut, an Android Studio plugin that helps developers handle privacy requirements by engaging developers to think about privacy during the development process and providing real-time feedback on potential privacy issues. We start by presenting new findings based on a series of semi-structured interviews with Android developers, probing into the difficulties with privacy that developers face when building apps. Based on these findings, we implemented a proof-of-concept prototype of Coconut and evaluated it in a controlled lab study with 18 Android developers (including eight professional developers). Our study results suggest that apps developed with Coconut handled privacy concerns better, and the developers that used Coconut had a better understanding of their code's behavior and wrote a better privacy policy for their app. We also found that requiring developers to do a small amount of annotating work regarding their apps' personal data practices during the development process may result in a significant improvement in app privacy.

Skip Supplemental Material Section

Supplemental Material

References

  1. 2017. Improve Your Code With Lint. Available at https://developer.android.com/studio/write/lint.html (2017/05/14). (2017).Google ScholarGoogle Scholar
  2. Yasemin Acar, Michael Backes, Sascha Fahl, Simson Garfinkel, Doowon Kim, Michelle L. Mazurek, and Christian Stransky. 2017. Comparing the Usability of Cryptographic APIs. In 2017 IEEE Symposium on Security and Privacy (SP). IEEE.Google ScholarGoogle Scholar
  3. Yasemin Acar, Michael Backes, Sascha Fahl, Doowon Kim, Michelle L. Mazurek, and Christian Stransky. 2016. You Get Where You're Looking for: The Impact of Information Sources on Code Security. In 2016 IEEE Symposium on Security and Privacy (SP). IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  4. Yasemin Acar, Sascha Fahl, and Michelle L. Mazurek. 2016. You are Not Your Developer, Either: A Research Agenda for Usable Security and Privacy Research Beyond End Users. In 2016 IEEE Cybersecurity Development (SecDev). IEEE.Google ScholarGoogle Scholar
  5. Yuvraj Agarwal and Malcolm Hall. 2013. ProtectMyPrivacy. In Proceeding of the 11th annual international conference on Mobile systems, applications, and services - MobiSys '13. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bartel, Jacques Klein, Yves Le Traon, Damien Octeau, and Patrick McDaniel. 2013. FlowDroid. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI '14. ACM Press.Google ScholarGoogle Scholar
  7. GSM Association. 2012. Mobile Privacy Principles, promoting consumer privacy in the mobile ecosystem. Available at http://www.gsma.com/publicpolicy/wp-content/uploads/2016/10/GSMA-Privacy-Principles.pdf (2017/05/14). (2012).Google ScholarGoogle Scholar
  8. Rebecca Balebako and Lorrie Cranor. 2014. Improving App Privacy: Nudging App Developers to Protect User Privacy. IEEE Security & Privacy 12, 4 (jul 2014), 55--58.Google ScholarGoogle ScholarCross RefCross Ref
  9. Rebecca Balebako, Abigail Marsh, Jialiu Lin, Jason Hong, and Lorrie Faith Cranor. 2014. The Privacy and Security Behaviors of Smartphone App Developers. In Proceedings 2014 Workshop on Usable Security. Internet Society.Google ScholarGoogle ScholarCross RefCross Ref
  10. Joel Brandt, Mira Dontcheva, Marcos Weskamp, and Scott R. Klemmer. 2010. Example-centric programming. In Proceedings of the 28th international conference on Human factors in computing systems - CHI '10. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. W. Cheng, Qin Zhao, Bei Yu, and S. Hiroshige. 2006. TaintTrace: Efficient Flow Tracing with Dynamic Binary Rewriting. In 11th IEEE Symposium on Computers and Communications (ISCC'06). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Erika Chin, Adrienne Porter Felt, Kate Greenwood, and David Wagner. 2011. Analyzing inter-application communication in Android. In Proceedings of the 9th international conference on Mobile systems, applications, and services - MobiSys '11. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Saksham Chitkara, Nishad Gothoskar, Suhas Harish, Jason I. Hong, and Yuvraj Agarwal. 2017. Does this App Really Need My Location? Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies 1, 3 (sep 2017), 1--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Federal Trade Commission et al. 2013. Mobile privacy disclosures: Building trust through transparency. USA: Federal Trade Commission (2013).Google ScholarGoogle Scholar
  15. Android Official Documentation. 2017. Best Practices for Permissions and Identifiers. Available at https://developer.android.com/training/best-permissions-ids.html (2017/05/14). (2017).Google ScholarGoogle Scholar
  16. Android Official Documentation. 2017. Best Practices for Unique Identifiers. Available at https://developer.android.com/training/articles/user-data-ids.html (2017/05/14). (2017).Google ScholarGoogle Scholar
  17. William Enck, Peter Gilbert, Seungyeop Han, Vasant Tendulkar, Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick McDaniel, and Anmol N. Sheth. 2014. TaintDroid. ACM Transactions on Computer Systems 32, 2 (jun 2014), 1--29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Felix Fischer, Konstantin Bottinger, Huang Xiao, Christian Stransky, Yasemin Acar, Michael Backes, and Sascha Fahl. 2017. Stack Overflow Considered Harmful? The Impact of Copy&Paste on Android Application Security. In 2017 IEEE Symposium on Security and Privacy (SP). IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  19. Alyssa Glass, Deborah L. McGuinness, and Michael Wolverton. 2008. Toward establishing trust in adaptive agents. In Proceedings of the 13th international conference on Intelligent user interfaces - IUI '08. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Michael I. Gordon, Deokhwan Kim, Jeff Perkins, Limei Gilham, Nguyen Nguyen, and Martin Rinard. 2015. Information-Flow Analysis of Android Applications in DroidSafe. In Proceedings 2015 Network and Distributed System Security Symposium. Internet Society.Google ScholarGoogle ScholarCross RefCross Ref
  21. Irit Hadar, Tomer Hasson, Oshrat Ayalon, Eran Toch, Michael Birnhack, Sofia Sherman, and Arod Balissa. 2017. Privacy by designers: software developers' privacy mindset. Empirical Software Engineering 23, 1 (apr 2017), 259--289. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Kamala D. Harris. 2013. Privacy on the go, recommendations for the mobile ecosystem. Available at https://oag.ca.gov/sites/all/files/agweb/pdfs/privacy/privacy_on_the_go.pdf (2017/05/14). (2013).Google ScholarGoogle Scholar
  23. David Hovemeyer and William Pugh. 2004. Finding bugs is easy. ACM SIGPLAN Notices 39, 12 (dec 2004), 92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Luigi Lo Iacono and Peter Leo Gorski. 2017. I Do and I Understand. Not Yet True for Security APIs. So Sad. In Proceedings 2nd European Workshop on Usable Security. Internet Society.Google ScholarGoogle ScholarCross RefCross Ref
  25. Shubham Jain and Janne Lindqvist. 2014. Should I Protect You? Understanding Developers' Behavior to Privacy-Preserving APIs. In Proceedings 2014 Workshop on Usable Security. Internet Society.Google ScholarGoogle ScholarCross RefCross Ref
  26. Haojian Jin, Minyi Liu, Kevan Dodhia, Yuanchun Li, Gaurav Srivastava, Matthew Fredrikson, Yuvraj Agarwal, and Jason I. Hong. 2018. "Why are they collecting my data?": Inferring the Purposes of Network Traffic in Mobile Apps. Proc. ACM Interact. Mob. Wearable Ubiquitous Technol. (2018). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Brittany Johnson, Yoonki Song, Emerson Murphy-Hill, and Robert Bowdidge. 2013. Why don't software developers use static analysis tools to find bugs?. In 2013 35th International Conference on Software Engineering (ICSE). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. G. Karjoth and M. Schunter. {n. d.}. A privacy policy model for enterprises. In Proceedings 15th IEEE Computer Security Foundations Workshop. CSFW-15. IEEE Comput. Soc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Andrew J. Ko and Brad A. Myers. 2004. Designing the whyline. In Proceedings of the 2004 conference on Human factors in computing systems - CHI '04. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Li Li, Alexandre Bartel, Jacques Klein, Yves Le Traon, Steven Arzt, Siegfried Rasthofer, Eric Bodden, Damien Octeau, and Patrick Mcdaniel. 2014. I know what leaked in your pocket: uncovering privacy leaks on Android Apps with Static Taint Analysis. arXiv preprint arXiv:1404.7431 (2014).Google ScholarGoogle Scholar
  31. Yuanchun Li, Fanglin Chen, Toby Jia-Jun Li, Yao Guo, Gang Huang, Matthew Fredrikson, Yuvraj Agarwal, and Jason I. Hong. 2017. PrivacyStreams. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies 1, 3 (sep 2017), 1--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Kai-Uwe Loser and Martin Degeling. 2014. Security and Privacy as Hygiene Factors of Developer Behavior in Small and Agile Teams. In IFIP Advances in Information and Communication Technology. Springer Berlin Heidelberg, 255--265.Google ScholarGoogle Scholar
  33. Long Lu, Zhichun Li, Zhenyu Wu, Wenke Lee, and Guofei Jiang. 2012. CHEX. In Proceedings of the 2012 ACM conference on Computer and communications security - CCS '12. ACM Press.Google ScholarGoogle Scholar
  34. Stephen McCamant and Michael D Ernst. 2006. Quantitative information-flow tracking for C and related languages. (2006).Google ScholarGoogle Scholar
  35. James Newsome and Dawn Song. 2005. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. (2005).Google ScholarGoogle Scholar
  36. Duc Cuong Nguyen, Dominik Wermke, Yasemin Acar, Michael Backes, Charles Weir, and Sascha Fahl. 2017. A Stitch in Time. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security - CCS '17. ACM Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Damien Octeau, Patrick McDaniel, Somesh Jha, Alexandre Bartel, Eric Bodden, Jacques Klein, and Yves Le Traon. 2013. Effective inter-component communication mapping in android with epicc: An essential step towards holistic security analysis. In Proceedings of the 22nd USENIX security symposium. 543--558. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Future of Privacy Forum and the Center for Democracy & Technology. 2012. Best Practices for Mobile Application Developers. Available at https://www.cdt.org/files/pdfs/Best-Practices-Mobile-App-Developers.pdf (2017/05/14). (2012).Google ScholarGoogle Scholar
  39. Office of the Australian Information Commissioner. 2014. Mobile privacy: a better practice guide for mobile app developers. Available at https://www.oaic.gov.au/agencies-and-organisations/guides/guide-for-mobile-app-developers (2017/05/14). (2014).Google ScholarGoogle Scholar
  40. Office of the Privacy Commissioner of Canada. 2012. Seizing Opportunity: Good Privacy Practices for Developing Mobile Apps. Available at https://www.priv.gc.ca/en/privacy-topics/technology-and-privacy/mobile-devices-and-apps/gd_app_201210/ (2017/05/14). (2012).Google ScholarGoogle Scholar
  41. Information Commissioner's Office. 2013. Privacy in mobile apps, guidance for app developers. Available at https://ico.org.uk/media/for-organisations/documents/1596/privacy-in-mobile-apps-dp-guidance.pdf (2017/05/14). (2013).Google ScholarGoogle Scholar
  42. Article 29 Data Protection Working Party. 2013. Opinion 02/2013 on apps on smart devices. Available at http://ec.europa.eu/justice/data-protection/article-29/documentation/opinion-recommendation/files/2013/wp202_en.pdf (2017/05/14). (2013).Google ScholarGoogle Scholar
  43. Feng Qin, Cheng Wang, Zhenmin Li, Ho seop Kim, Yuanyuan Zhou, and Youfeng Wu. 2006. LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks. In 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Caitlin Sadowski, Jeffrey van Gogh, Ciera Jaspan, Emma Soderberg, and Collin Winter. 2015. Tricorder: Building a Program Analysis Ecosystem. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Shayak Sen, Saikat Guha, Anupam Datta, Sriram K. Rajamani, Janice Tsai, and Jeannette M. Wing. 2014. Bootstrapping Privacy Compliance in Big Data Systems. In 2014 IEEE Symposium on Security and Privacy. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Swapneel Sheth, Gail Kaiser, and Walid Maalej. 2014. Us and them: a study of privacy requirements across north america, asia, and europe. In Proceedings of the 36th International Conference on Software Engineering - ICSE 2014. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Just-in Smith, Brittany Johnson, Emerson Murphy-Hill, Bill Chu, and Heather Richter Lipford. 2015. Questions developers ask while diagnosing potential security vulnerabilities with static analysis. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2015. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Sooel Son, Kathryn S. McKinley, and Vitaly Shmatikov. 2011. RoleCast. ACM SIGPLAN Notices 46, 10 (oct 2011), 1069. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. National Telecommunications and Information Administration. 2013. Short Form Notice Code of Conduct to Promote Transparency in Mobile App Practices. Available at https://www.ntia.doc.gov/files/ntia/publications/july_25_code_draft.pdf (2017/05/14). (2013).Google ScholarGoogle Scholar
  50. Tyler W. Thomas, Madiha Tabassum, Bill Chu, and Heather Lipford. 2018. Security During Application Development. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems - CHI '18. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Chamila Wijayarathna, Nalin A. G. Arachchilage, and Jill Slay. 2017. A Generic Cognitive Dimensions Questionnaire to Evaluate the Usability of Security APIs. In Human Aspects of Information Security, Privacy and Trust. Springer International Publishing, 160--173.Google ScholarGoogle Scholar
  52. Jim Witschey, Olga Zielinska, Allaire Welk, Emerson Murphy-Hill, Chris Mayhorn, and Thomas Zimmermann. 2015. Quantifying developers' adoption of security tools. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2015. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Shundan Xiao, Jim Witschey, and Emerson Murphy-Hill. 2014. Social influences on secure development tool adoption. In Proceedings of the 17th ACM conference on Computer supported cooperative work & social computing - CSCW '14. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Jing Xie, Heather Lipford, and Bei-Tseng Chu. 2012. Evaluating interactive support for secure programming. In Proceedings of the 2012 ACM annual conference on Human Factors in Computing Systems - CHI '12. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Jing Xie, H. R. Lipford, and Bill Chu. 2011. Why do programmers make security errors?. In 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE.Google ScholarGoogle Scholar
  56. Jean Yang, Travis Hance, Thomas H. Austin, Armando Solar-Lezama, Cormac Flanagan, and Stephen Chong. 2016. Precise, dynamic information flow for database-backed applications. ACM SIGPLAN Notices 51, 6 (jun 2016), 631--647. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Jean Yang, Kuat Yessenov, and Armando Solar-Lezama. 2012. A language for automatically enforcing privacy policies. ACM SIGPLAN Notices 47, 1 (jan 2012), 85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Jinyan Zang, Krysta Dummit, James Graves, Paul Lisker, and Latanya Sweeney. 2015. Who knows what about me? A survey of behind the scenes personal data sharing to third parties by mobile apps. Technology Science 30 (2015).Google ScholarGoogle Scholar

Index Terms

  1. Coconut: An IDE Plugin for Developing Privacy-Friendly Apps

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies
          Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies  Volume 2, Issue 4
          December 2018
          1169 pages
          EISSN:2474-9567
          DOI:10.1145/3301777
          Issue’s Table of Contents

          Copyright © 2018 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 27 December 2018
          • Accepted: 1 October 2018
          • Revised: 1 August 2018
          • Received: 1 May 2018
          Published in imwut Volume 2, Issue 4

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader