skip to main content
10.1145/2976749.2978360acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article
Public Access

Return-Oriented Flush-Reload Side Channels on ARM and Their Implications for Android Devices

Published:24 October 2016Publication History

ABSTRACT

Cache side-channel attacks have been extensively studied on x86 architectures, but much less so on ARM processors. The technical challenges to conduct side-channel attacks on ARM, presumably, stem from the poorly documented ARM cache implementations, such as cache coherence protocols and cache flush operations, and also the lack of understanding of how different cache implementations will affect side-channel attacks. This paper presents a systematic exploration of vectors for flush-reload attacks on ARM processors. flush-reload attacks are among the most well-known cache side-channel attacks on x86. It has been shown in previous work that they are capable of exfiltrating sensitive information with high fidelity. We demonstrate in this work a novel construction of flush-reload side channels on last-level caches of ARM processors, which, particularly, exploits return-oriented programming techniques to reload instructions. We also demonstrate several attacks on Android OS (e.g., detecting hardware events and tracing software execution paths) to highlight the implications of such attacks for Android devices.

References

  1. Android source code. https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/widget/Editor.java. Retrieved in May 2016.Google ScholarGoogle Scholar
  2. ARM architecture reference manual. http://infocenter.arm.com/. ARMv8, for ARMv8-A architecture profile, beta.Google ScholarGoogle Scholar
  3. ARM architecture reference manual. http://infocenter.arm.com/. ARMv7, for ARMv7-A architecture profile.Google ScholarGoogle Scholar
  4. ARM CoreLink CCI-400 Cache Coherent Interconnect Technical Reference Manual. http://infocenter.arm.com/. Revision: r1p5.Google ScholarGoogle Scholar
  5. ARM Cortex-A15 MPCore Processor. http://infocenter.arm.com/. Revision: r4p0.Google ScholarGoogle Scholar
  6. ARM Cortex-A57 MPCore Processor. http://infocenter.arm.com/. Revision: r1p3.Google ScholarGoogle Scholar
  7. Event codes. https://www.kernel.org/doc/Documentation/input/event-codes.txt. event codes - The Linux Kernel Archives.Google ScholarGoogle Scholar
  8. GDB documentation. http://www.gnu.org/software/gdb/documentation/.Google ScholarGoogle Scholar
  9. pagemap: do not leak physical addresses to non-privileged userspace. https://lwn.net/Articles/642074/. Retrieved in May 2016.Google ScholarGoogle Scholar
  10. Programmer's Guide for ARMv8-A. http://infocenter.arm.com/. Version 1.0.Google ScholarGoogle Scholar
  11. Upstream: pagemap: do not leak physical addresses to non-privileged userspace. https://android-review.googlesource.com/#/c/182766/. Retrieved in Aug. 2016.Google ScholarGoogle Scholar
  12. O. Aciiçmez. Yet another microarchitectural attack: exploiting I-Cache. In 2007 ACM workshop on Computer security architecture, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. O. Aciiçmez, B. B. Brumley, and P. Grabher. New results on instruction cache attacks. In 12th international conference on Cryptographic hardware and embedded systems, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. V. Afonso, A. Bianchi, Y. Fratantonio, A. Doupe, M. Polino, P. de Geus, C. Kruegel, and G. Vigna. Going native: Using a large-scale analysis of android apps to create a practical native-code sandboxing policy. In 2016 ISOC Network and Distributed System Security Symposium, 2016.Google ScholarGoogle ScholarCross RefCross Ref
  15. A. J. Aviv, B. Sapp, M. Blaze, and J. M. Smith. Practicality of accelerometer side channels on smartphones. In 28th Annual Computer Security Applications Conference, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. N. Benger, J. van de Pol, N. P. Smart, and Y. Yarom. "Ooh Aah... Just a Little Bit": A small amount of side channel can go a long way. In 16th International Workshop on Cryptographic Hardware and Embedded Systems, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. L. Cai and H. Chen. Touchlogger: Inferring keystrokes on touch screen from smartphone motion. In 6th USENIX Conference on Hot Topics in Security, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Checkoway, L. Davi, A. Dmitrienko, A.-R. Sadeghi, H. Shacham, and M. Winandy. Return-oriented programming without returns. In 17th ACM Conference on Computer and Communications Security, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Q. A. Chen, Z. Qian, and Z. M. Mao. Peeking into your app without actually seeing it: UI state inference and novel Android attacks. In 23th USENIX Security Symposium, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. Delgado. Arm-based servers: The next evolution of the cloud? http://www.cloudcomputing-news.net/news/2015/apr/17/arm-based-servers-next-evolution-cloud/.Google ScholarGoogle Scholar
  21. W. Diao, X. Liu, Z. Li, and K. Zhang. No pardon for the interruption: New inference attacks on android through interrupt timing analysis. In 37th IEEE Symposium on Security and Privacy, 2016.Google ScholarGoogle ScholarCross RefCross Ref
  22. D. Gruss, R. Spreitzer, and S. Mangard. Cache template attacks: Automating attacks on inclusive last-level caches. In 24th USENIX Security Symposium, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Gullasch, E. Bangerter, and S. Krenn. Cache games -- bringing access-based cache attacks on AES to practice. In 32nd IEEE Symposium on Security and Privacy, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. Hund, C. Willems, and T. Holz. Practical timing side channel attacks against kernel space ASLR. In 34th IEEE Symposium on Security and Privacy, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. S. Inci, B. Gulmezoglu, G. Irazoqui, T. Eisenbarth, and B. Sunar. Seriously, get off my cloud! cross-vm rsa key recovery in a public cloud. Cryptology ePrint Archive, Report 2015/898, 2015. http://eprint.iacr.org/.Google ScholarGoogle Scholar
  26. G. Irazoqui, T. Eisenbarth, and B. Sunar. S\$A: A shared cache attack that works across cores and defies VM sandboxing--and its application to AES. In 36th IEEE Symposium on Security and Privacy, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. Irazoqui, T. Eisenbarth, and B. Sunar. Cross processor cache attacks. In 11th ACM Asia Conference on Computer and Communications Security, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. G. Irazoqui, M. S. Inci, T. Eisenbarth, and B. Sunar. Wait a minute! a fast, cross-vm attack on AES. In 17th International Symposium Research in Attacks, Intrusions and Defenses, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  29. A. Jaleel, E. Borch, M. Bhandaru, S. C. Steely Jr., and J. Emer. Achieving non-inclusive cache performance with inclusive caches: Temporal locality aware (tla) cache management policies. In 43rd Annual IEEE/ACM International Symposium on Microarchitecture. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. S. Jana and V. Shmatikov. Memento: Learning secrets from process footprints. In 33rd IEEE Symposium on Security and Privacy, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. C.-C. Lin, H. Li, X. Zhou, and X. Wang. Screenmilker: How to milk your Android screen for secrets. In 21st ISOC Network and Distributed System Security Symposium, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  32. M. Lipp, D. Gruss, R. Spreitzer, C. Maurice, and S. Mangard. ARMageddon: Cache attacks on mobile devices. In 25th USENIX Security Symposium, 2016.Google ScholarGoogle Scholar
  33. F. Liu, Y. Yarom, Q. Ge, G. Heiser, and R. B. Lee. Last-level cache side-channel attacks are practical. In 36th IEEE Symposium on Security and Privacy, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Y. Michalevsky, D. Boneh, and G. Nakibly. Gyrophone: Recognizing speech from gyroscope signals. In 23rd USENIX Security Symposium, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Neve and J.-P. Seifert. Advances on access-driven cache attacks on AES. In 13th international conference on selected areas in cryptography, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Y. Oren, V. P. Kemerlis, S. Sethumadhavan, and A. D. Keromytis. The spy in the sandbox: Practical cache attacks in javascript and their implications. In 22nd ACM SIGSAC Conference on Computer and Communications Security, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. D. A. Osvik, A. Shamir, and E. Tromer. Cache attacks and countermeasures: the case of AES. In 6th Cryptographers' track at the RSA conference on Topics in Cryptology, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. C. Percival. Cache missing for fun and profit. In 2005 BSDCan, 2005.Google ScholarGoogle Scholar
  39. Z. Qian, Z. M. Mao, and Y. Xie. Collaborative TCP sequence number inference attack: How to crack sequence number under a second. In 19th ACM Conference on Computer and Communications Security, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. H. Rydberg. Multi-touch (mt) protocol. Linux kernel documentation. https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt.Google ScholarGoogle Scholar
  41. H. Shacham. The geometry of innocent flesh on the bone: Return-into-libc without function calls (on the x86). In 14th ACM Conference on Computer and Communications Security, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. A. L. Shimpi. Answered by the experts: Arm's cortex a53 lead architect, peter greenhalgh. http://www.anandtech.com/show/7591/answered-by-the-experts-arms-cortex-a53-lead-architect -peter-greenhalgh.Google ScholarGoogle Scholar
  43. R. Spreitzer and B. Gérard. Towards more practical time-driven cache attacks. In 8th IFIP International Workshop on Information Security Theory and Practice, Securing the Internet of Things, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. R. Spreitzer and T. Plos. In 4th International Workshop on Constructive Side-Channel Analysis and Secure Design, 2013.Google ScholarGoogle Scholar
  45. R. Spreitzer and T. Plos. On the applicability of time-driven cache attacks on mobile devices. In 7th International Conference on Network and System Security, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  46. E. Tromer, D. A. Osvik, and A. Shamir. Efficient cache attacks on AES, and countermeasures. J. Cryptol., 23(2):37--71, Jan. 2010.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. M. Weiß, B. Heinz, and F. Stumpf. A cache timing attack on AES in virtualization environments. In 16th International Conference on Financial Cryptography and Data Security, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  48. J. C. Wray. An analysis of covert timing channels. In 1991 IEEE Computer Society Symposium on Research in Security and Privacy, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  49. Y. Yarom and N. Benger. Recovering OpenSSL ECDSA nonces using the FLUSHGoogle ScholarGoogle Scholar
  50. RELOAD cache side-channel attack. In Cryptology ePrint Archive, 2014.Google ScholarGoogle Scholar
  51. Y. Yarom and K. E. Falkner. FLUSH+RELOAD: A high resolution, low noise, L3 cache side-channel attack. In 23rd USENIX Security Symposium, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. N. Zhang, K. Yuan, M. Naveed, X. Zhou, and X. Wang. Leave me alone: App-level protection against runtime information gathering on android. In 36th IEEE Symposium on Security and Privacy, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Y. Zhang, A. Juels, M. K. Reiter, and T. Ristenpart. Cross-VM side channels and their use to extract private keys. In 19th ACM Conference on Computer and Communications Security, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Y. Zhang, A. Juels, M. K. Reiter, and T. Ristenpart. Cross-tenant side-channel attacks in PaaS clouds. In 21st ACM Conference on Computer and Communications Security, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. X. Zhou, S. Demetriou, D. He, M. Naveed, X. Pan, X. Wang, C. A. Gunter, and K. Nahrstedt. Identity, location, disease and more: Inferring your secrets from Android public resources. In 20th ACM Conference on Computer and Communications Security, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Z. Zhou, M. K. Reiter, and Y. Zhang. A software approach to defeating side channels in last-level caches. In 23rd ACM Conference on Computer and Communications Security, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Return-Oriented Flush-Reload Side Channels on ARM and Their Implications for Android Devices

      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
        CCS '16: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security
        October 2016
        1924 pages
        ISBN:9781450341394
        DOI:10.1145/2976749

        Copyright © 2016 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: 24 October 2016

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        CCS '16 Paper Acceptance Rate137of831submissions,16%Overall Acceptance Rate1,261of6,999submissions,18%

        Upcoming Conference

        CCS '24
        ACM SIGSAC Conference on Computer and Communications Security
        October 14 - 18, 2024
        Salt Lake City , UT , USA

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader