skip to main content
10.1145/3321705.3329801acmconferencesArticle/Chapter ViewAbstractPublication Pagesasia-ccsConference Proceedingsconference-collections
research-article

MoSSOT: An Automated Blackbox Tester for Single Sign-On Vulnerabilities in Mobile Applications

Authors Info & Claims
Published:02 July 2019Publication History

ABSTRACT

Mobile applications today increasingly integrate Single Sign-On (SSO) into their account management mechanisms. Unfortunately, the involved multi-party protocol, i.e., OAuth 2.0, was originally designed to serve websites for authorization purpose. Due to the complexity of the adapted protocol, a large number of insecure SSO implementations still exist in the wild. Although the security testing for real-world SSO deployments has attracted considerable attention in recent years, existing work either focuses on websites or relies on the manual discovery of specific and previously-known vulnerabilities. In the paper, we design and implement MoSSOT (Mobile SSO Tester), an automated blackbox security testing tool for Android applications utilizing the SSO services from three mainstream service providers. The tool detects the vulnerabilities within the practical SSO implementations by fuzzing related network messages. We used MoSSOT to examine over 500 first-tier third-party Android applications from US and Chinese app markets. According to the test result, around 72% of the tested applications incorrectly implement SSO and are thus vulnerable. Besides, our test identifies an unknown vulnerability as well as a new variant, in addition to four known ones. The vulnerabilities enable the attacker to illegally log into the mobile applications as the victims or gain access to the protected resources. MoSSOT has been released as an open-source project.

References

  1. Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, Salvatore De Carmine, and Atif M Memon. 2012. Using GUI ripping for automated testing of Android applications. In ASE12. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Apkpure. 2017. Apkpure. https://apkpure.com/.Google ScholarGoogle Scholar
  3. Tanzirul Azim and Iulian Neamtiu. 2013. Targeted and depth-first exploration for systematic testing of android apps. In ACM Sigplan Notices, Vol. 48. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Guangdong Bai, Jike Lei, Guozhu Meng, Sai Sathyanarayan Venkatraman, Prateek Saxena, Jun Sun, Yang Liu, and Jin Song Dong. 2013. AUTHSCAN: Automatic Extraction of Web Authentication Protocols from Implementations. In NDSS13.Google ScholarGoogle Scholar
  5. Chetan Bansal, Karthikeyan Bhargavan, and Sergio Maffeis. 2012. Discovering Concrete Attacks on Website Authorization by Formal Analysis. In CSF12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Ravi Bhoraskar, Seungyeop Han, Jinseong Jeon, Tanzirul Azim, Shuo Chen, Jaeyeon Jung, Suman Nath, Rui Wang, and David Wetherall. 2014. Brahmastra: Driving Apps to Test the Security of Third-Party Components.. In USENIX14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Bruno Blanchet. 2014. The ProVerif homepage. http://prosecco.gforge.inria.fr/personal/bblanche/proverif/Google ScholarGoogle Scholar
  8. Nataniel P Borges Jr, Maria Gómez, and Andreas Zeller. 2018. Guiding app testing with mined interaction models. In MOBILESoft18. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Suresh Chari, Charanjit S. Jutla, and Arnab Roy. 2011. Universally Composable Security Analysis of OAuth v2.0. Cryptology ePrint Archive, Report 2011/526.Google ScholarGoogle Scholar
  10. Eric Y Chen, Yutong Pei, Shuo Chen, Yuan Tian, Robert Kotcher, and Patrick Tague. 2014. OAuth demystified for mobile application developers. In CCS14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Wontae Choi, George Necula, and Koushik Sen. 2013. Guided gui testing of android apps with minimal restart and approximate learning. In ACM Sigplan Notices, Vol. 48. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Feng Dong, Haoyu Wang, Yuanchun Li, Yao Guo, Li Li, Shaodong Zhang, and Guoai Xu. 2017. FrauDroid: An Accurate and Scalable Approach to Automated Mobile Ad Fraud Detection. arXiv preprint arXiv:1709.01213 (2017).Google ScholarGoogle Scholar
  13. Facebook. 2017. Facebook SSO developer document. https://developers.facebook.com/docs/facebook-login/.Google ScholarGoogle Scholar
  14. Daniel Fett, Ralf Küsters, and Guido Schmitz. 2016. A Comprehensive Formal Security Analysis of OAuth 2.0. CCS16 (2016).Google ScholarGoogle Scholar
  15. Genymotion. 2017. Genymotion. https://www.genymotion.com/Google ScholarGoogle Scholar
  16. Google. 2017a. Android webview. http://developer.android.com/reference/android/webkit/WebView.htmlGoogle ScholarGoogle Scholar
  17. Google. 2017b. AVD. https://developer.android.com/studio/run/emulator.Google ScholarGoogle Scholar
  18. Google. 2017c. Monkey. http://developer.android.com/tools/help/monkeyGoogle ScholarGoogle Scholar
  19. Shuai Hao, Bin Liu, Suman Nath, William GJ Halfond, and Ramesh Govindan. 2014. PUMA: programmable UI-automation for large-scale dynamic analysis of mobile apps. In MobiSys14. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Dick Hardt. 2012. The OAuth 2.0 authorization framework.Google ScholarGoogle Scholar
  21. Pili Hu, Ronghai Yang, Yue Li, and Wing Cheong Lau. 2014. Application impersonation: problems of OAuth and API design in online social networks. In COSN14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Jonathan Jacky. 2011. PyModel: Model-based testing in Python. In SciPy11.Google ScholarGoogle Scholar
  23. Wang Jing. 2017. Covert Redirect Vulnerability.Google ScholarGoogle Scholar
  24. M Jones and Dick Hardt. 2012. The OAuth 2.0 Authorization Framework: Bearer Token Usage. Technical Report. RFC 6750, October.Google ScholarGoogle Scholar
  25. Michael Jones, Paul Tarjan, Yaron Goland, Nat Sakimura, John Bradley, John Panzer, and Dirk Balfanz. 2012. JSON Web Token (JWT). (2012).Google ScholarGoogle Scholar
  26. Wing Lam, Zhengkai Wu, Dengfeng Li, Wenyu Wang, Haibing Zheng, Hui Luo, Peng Yan, Yuetang Deng, and Tao Xie. 2017. Record and replay for Android: are we there yet in industrial cases?. In ESEC/FSE17. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Wanpeng Li, Chris J Mitchell, and Tom Chen. 2018. Your code is my code: Exploiting a common weakness in OAuth 2.0 implementations.Google ScholarGoogle Scholar
  28. Wanpeng Li and Chris J. Mitchell. 2016. Analysing the Security of Google's implementation of OpenID Connect. In Proceeedings of DIMVA16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Yuanchun Li, Ziyue Yang, Yao Guo, and Xiangqun Chen. 2017. Droidbot: a lightweight ui-guided test input generator for android. In ICSE17. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Torsten Lodderstedt, Mark McGloin, and Phil Hunt. 2013. OAuth 2.0 threat model and security considerations.Google ScholarGoogle Scholar
  31. Aravind Machiry, Rohan Tahiliani, and Mayur Naik. 2013. Dynodroid: An input generation system for android apps. In ESEC/FSE13. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. mitmproxy. 2017. Man in the Middle Proxy. https://mitmproxy.org/Google ScholarGoogle Scholar
  33. MoSSOT. 2019. MoSSOT. https://github.com/MoSSOT/MoSSOT.Google ScholarGoogle Scholar
  34. Vaibhav Rastogi, Yan Chen, and William Enck. 2013. AppsPlayground: automatic security analysis of smartphone applications. In ACM CODASPY13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Ariel Rosenfeld, Odaya Kardashov, and Orel Zang. 2018. Automation of Android Applications Functional Testing Using Machine Learning Activities Classification. In MOBILESoft18. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Natsuhiko Sakimura, J Bradley, M Jones, B de Medeiros, and C Mortimore. 2014. OpenID Connect core 1.0. (2014).Google ScholarGoogle Scholar
  37. Mohammed Shehab and Fadi Mohsen. 2014. Towards Enhancing the Security of OAuth Implementations In Smart Phones. In IEEE MS14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Ethan Shernan, Henry Carter, Dave Tian, Patrick Traynor, and Kevin Butler. 2015. More Guidelines Than Rules: CSRF Vulnerabilities from Noncompliant OAuth 2.0 Implementations. In DIMVA15. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Sina. 2017. Sina Developer Documentation. http://open.weibo.com/wiki/Google ScholarGoogle Scholar
  40. Softonic. 2017. Softonic. https://bit.ly/2DUAjhp.Google ScholarGoogle Scholar
  41. Ting Su, Guozhu Meng, Yuting Chen, Ke Wu, Weiming Yang, Yao Yao, Geguang Pu, Yang Liu, and Zhendong Su. 2017. Guided, stochastic model-based gui testing of android apps. In ESEC/FSE17. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. San-Tsai Sun and Konstantin Beznosov. 2012. The devil is in the (implementation) details: an empirical analysis of OAuth SSO systems. In CCS'12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Tencent. 2017. WeChat SSO developer document. https://open.weixin.qq.com.Google ScholarGoogle Scholar
  44. Wandoujia. 2017. Wandoujia App Market. https://www.wandoujia.com/.Google ScholarGoogle Scholar
  45. Hui Wang, Yuanyuan Zhang, Juanru Li, and Dawu Gu. 2016. The Achilles Heel of OAuth: A Multi-platform Study of OAuth-based Authentication (ACSAC '16). Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Hui Wang, Yuanyuan Zhang, Juanru Li, Hui Liu, Wenbo Yang, Bodong Li, and Dawu Gu. 2015. Vulnerability Assessment of OAuth Implementations in Android Applications. In ACSAC15. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Xposed. 2017. Xposed Module Repository. https://repo.xposed.infoGoogle ScholarGoogle Scholar
  48. Ronghai Yang, Wing Cheong Lau, and Shangcheng Shi. 2017. Breaking and Fixing Mobile App Authentication with OAuth2.0-based Protocols. In ACNS17.Google ScholarGoogle Scholar
  49. Ronghai Yang, Guancheng Lee, Wing Cheong Lau, and Kehuan Zhang. 2016. Model-based Security Testing: an Empirical Study on OAuth 2.0 Implementations. In ASIACCS 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Quanqi Ye, Guangdong Bai, Kailong Wang, and Jin Song Dong. 2015. Formal Analysis of a Single Sign-On Protocol Implementation for Android. In ICECCS15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. E. YOO. 2017. Technode. https://bit.ly/2Zi1JVn.Google ScholarGoogle Scholar
  52. Yuchen Zhou and David Evans. 2014. SSOScan: Automated Testing of Web Applications for Single Sign-On Vulnerabilities. In USENIX14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Chaoshun Zuo, Qingchuan Zhao, and Zhiqiang Lin. 2017. Authscope: Towards automatic discovery of vulnerable authorizations in online services. In CCS17. Google ScholarGoogle ScholarDigital LibraryDigital Library

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
  • Published in

    cover image ACM Conferences
    Asia CCS '19: Proceedings of the 2019 ACM Asia Conference on Computer and Communications Security
    July 2019
    708 pages
    ISBN:9781450367523
    DOI:10.1145/3321705

    Copyright © 2019 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 ACM 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: 2 July 2019

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    Overall Acceptance Rate418of2,322submissions,18%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader