Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3243734.3243772acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article
Public Access

Milkomeda: Safeguarding the Mobile GPU Interface Using WebGL Security Checks

Published: 15 October 2018 Publication History

Abstract

GPU-accelerated graphics is commonly used in mobile applications. Unfortunately, the graphics interface exposes a large amount of potentially vulnerable kernel code (i.e., the GPU device driver) to untrusted applications. This broad attack surface has resulted in numerous reported vulnerabilities that are exploitable from unprivileged mobile apps. We observe that web browsers have faced and addressed the exact same problem in WebGL, a framework used by web apps for graphics acceleration. Web browser vendors have developed and deployed a plethora of security checks for the WebGL interface. We introduce Milkomeda, a system solution for automatically repurposing WebGL security checks to safeguard the mobile graphics interface. We show that these checks can be used with minimal modifications (which we have automated using a tool called CheckGen), significantly reducing the engineering effort. Moreover, we demonstrate an in-process shield space for deploying these checks for mobile applications. Compared to the multi-process architecture used by web browsers to protect the integrity of the security checks, our solution improves the graphics performance by eliminating the need for Inter-Process Communication and shared memory data transfer, while providing integrity guarantees for the evaluation of security checks. Our evaluation shows that Milkomeda achieves close-to-native GPU performance at reasonably increased CPU utilization.

Supplementary Material

MP4 File (p1455-yao.mp4)

References

[1]
M. Abadi, M. Budiu, Ú. Erlingsson, and J. Ligatti. 2005. Control-Flow Integrity. In Proc. ACM CCS.
[2]
A. Amiri Sani. 2017. SchrodinText: Strong Protection of Sensitive Textual Content of Mobile Applications Proc. ACM MobiSys.
[3]
A. Amiri Sani, L. Zhong, and D. S. Wallach. 2014. Glider: A GPU Library Driver for Improved System Security. Technical Report 2014--11--14, Rice University (2014).
[4]
ARM. 2007. Architecture Reference Manual, ARMv7-A and ARMv7-R edition. ARM DDI Vol. 0406A (2007).
[5]
ARM. 2013. Architecture Reference Manual, ARMv8, for ARMv8-A architecture profile. ARM DDI Vol. 0487A.a (ID090413) (2013).
[6]
M. Backes, S. Bugiel, C. Hammer, O. Schranz, and P. von Styp-Rekowsky. 2015. Boxify: Full-fledged App Sandboxing for Stock Android Proc. USENIX Security Symposium.
[7]
A. Belay, A. Bittau, A. Mashtizadeh, D. Terei, D. Mazieres, and C. Kozyrakis. 2012. Dune: Safe User-level Access to Privileged CPU Features Proc. USENIX OSDI.
[8]
A. Bittau, P. Marchenko, M. Handley, and B. Karp. 2008. Wedge: Splitting Applications into Reduced-Privilege Compartments Proc. USENIX NSDI.
[9]
D. Brumley and D. Song. 2004. Privtrans: Automatically Partitioning Programs for Privilege Separation Proc. USENIX Security Symposium.
[10]
N. Burow, S. A. Carr, J. Nash, P. Larsen, M. Franz, S. Brunthaler, and M. Payer. 2017. Control-Flow Integrity: Precision, Security, and Performance. ACM Computing Surveys (CSUR) (2017).
[11]
A. Chou, J. Yang, B. Chelf, S. Hallem, and D. Engler. 2001. An Empirical Study of Operating Systems Errors. In Proc. ACM SOSP.
[12]
Ding, R. and Qian, C. and Song, C. and Harris, B. and Kim, T. and Lee, W. 2017. Efficient Protection of Path-Sensitive Control Security Proc. USENIX Security Symposium.
[13]
K. Elphinstone and G. Heiser. 2013. From L3 to seL4 What Have We Learnt in 20 Years of L4 Microkernels? Proc. ACM SOSP.
[14]
T. Frassetto, P. Jauernig, C. Liebchen, and A. Sadeghi. 2018. IMIX: In-Process Memory Isolation EXtension. In Proc. USENIX Security Symposium.
[15]
P. Frigo, C. Giuffrida, H. Bos, and K. Razavi. 2018. Grand Pwning Unit: Accelerating Microarchitectural Attacks with the GPU Proc. IEEE Security and Privacy (S&P). bibtex: frigo2018.
[16]
V. Ganapathy, M. J. Renzelmann, A. Balakrishnan, M. M. Swift, and S. Jha. 2008. The Design and Implementation of Microdrivers. In Proc. ACM ASPLOS.
[17]
T. Ho, D. Dean, X. Gu, and W. Enck. 2014. PREC: Practical Root Exploit Containment for Android Devices Proc. ACM CODASPY.
[18]
T. C. Hsu, K. Hoffman, P. Eugster, and M. Payer. 2016. Enforcing Least Privilege Memory Views for Multithreaded Applications Proc. ACM CCS.
[19]
W. Li, S. Luo, Z. Sun, Y. Xia, L. Lu, H. Chen, B. Zang, and H. Guan. 2018. VButton: Practical Attestation of User-driven Operations in Mobile Apps Proc. ACM MobiSys.
[20]
J. Litton, A. Vahldiek-Oberwagner, E. Elnikety, D. Garg, B. Bhattacharjee, and P. Druschel. 2016. Light-Weight Contexts: An OS Abstraction for Safety and Performance Proc. USENIX OSDI.
[21]
J. M. McCune, Y. Li, N. Qu, Z. Zhou, A. Datta, V. Gligor, and A. Perrig. 2010. TrustVisor: Efficient TCB Reduction and Attestation Proc. IEEE Symposium on Security and Privacy (S&P).
[22]
J. M. McCune, B. J. Parno, A. Perrig, M. K. Reiter, and H. Isozaki. 2008. Flicker: An Execution Infrastructure for TCB Minimization Proc. ACM EuroSys.
[23]
N. Palix, G. Thomas, S. Saha, C. Calvès, J. Lawall, and G. Muller. 2011. Faults in Linux: Ten Years Later. In Proc. ACM ASPLOS.
[24]
M. Payer, E. Kravina, and T. R. Gross. 2013. Lightweight Memory Tracing. In Proc. USENIX ATC.
[25]
P. Pearce, A. P. Felt, G. Nunez, and D. Wagner. 2012. AdDroid: Privilege Separation for Applications and Advertisers in Android Proc. ACM Symposium on Information, Computer and Communications Security (AsiaCCS).
[26]
N. Provos. 2003. Improving Host Security with System Call Policies Proc. USENIX Security Symposium.
[27]
N. Provos, M. Friedl, and P. Honeyman. 2003. Preventing Privilege Escalation. In Proc. USENIX Security Symposium.
[28]
A. Razeen, A. R. Lebeck, D. H. Liu, A. Meijer, V. Pistol, and L. P. Cox. 2018. SandTrap: Tracking Information Flows On Demand with Parallel Permissions Proc. ACM MobiSys.
[29]
F. Roesner and T. Kohno. 2013. Securing Embedded User Interfaces: Android and Beyond Proc. USENIX Security Symposium.
[30]
S. Shekhar, M. Dietz, and D. S. Wallach. 2012. AdSplit: Separating Smartphone Advertising from Applications Proc. USENIX Security Symposium.
[31]
R. Strackx, P. Agten, N. Avonds, and F. Piessens. 2015. Salus: Kernel Support for Secure Process Compartments. EAI Endorsed Transactions on Security and Safety (2015).
[32]
M. M. Swift, B. N. Bershad, and H. M. Levy. 2003. Improving the Reliability of Commodity Operating Systems Proc. ACM SOSP.
[33]
V. van der Veen, D. Andriesse, E. Göktacs, B. Gras, L. Sambuc, A. Slowinska, H. Bos, and C. Giuffrida. 2015. Practical Context-Sensitive CFI. In Proc. ACM CCS.
[34]
L. Vilanova, M. Ben-Yehuda, N. Navarro, Y. Etsion, and M. Valero. 2014. CODOMs: Protecting Software with Code-centric Memory Domains Proc. ACM/IEEE ISCA.
[35]
R. Wahbe, S. Lucco, T. E. Anderson, and S. L. Graham. 1993. Efficient Software-Based Fault Isolation. In Proc. ACM SOSP.
[36]
J. Wang, X. Xiong, and P. Liu. 2015. Between Mutual Trust and Mutual Distrust: Practical Fine-grained Privilege Separation in Multithreaded Applications. In Proc. USENIX ATC.
[37]
R. N. M. Watson, J. Anderson, B. Laurie, and K. Kennaway. 2010. Capsicum: Practical Capabilities for UNIX. In Proc. USENIX Security Symposium.
[38]
J. Woodruff, R. N. M. Watson, D. Chisnall, S. W. Moore, J. Anderson, B. Davis, B. Laurie, P. G. Neumann, R. Norton, and M. Roe. 2014. The CHERI Capability Model: Revisiting RISC in an Age of Risk Proc. ACM/IEEE ISCA.
[39]
Z. Yao, Z. Ma, Y. Liu, A. Amiri Sani, and A. Chandramowlishwaran. 2018. Sugar: Secure GPU Acceleration in Web Browsers. In Proc. ACM ASPLOS.
[40]
B. Yee, D. Sehr, G. Dardyk, J. B. Chen, R. Muth, T. Ormandy, S. Okasaka, N. Narula, and N. Fullagar. 2009. Native Client: A Sandbox for Portable, Untrusted x86 Native Code Proc. IEEE Symposium on Security and Privacy (S&P).
[41]
K. Ying, A. Ahlawat, B. Alsharifi, Y. Jiang, P. Thavai, and W. Du. 2018. TruZ-Droid: Integrating TrustZone with Mobile Operating System Proc. ACM MobiSys.
[42]
N. Zeldovich, H. Kannan, M. Dalton, and C. Kozyrakis. 2008. Hardware Enforcement of Application Security Policies Using Tagged Memory Proc. USENIX OSDI.
[43]
H. Zhang, D. She, and Z. Qian. 2015. Android Root and its Providers: A Double-Edged Sword Proc. ACM CCS.
[44]
F. Zhou, J. Condit, Z. Anderson, I. Bagrak, R. Ennals, M. Harren, G. Necula, and E. Brewer. 2006. SafeDrive: Safe and Recoverable Extensions Using Language-Based Techniques Proc. USENIX OSDI.
[45]
S. Zhu, L. Lu, and K. Singh. 2016. Case: Comprehensive Application Security Enforcement on COTS Mobile Devices Proc. ACM MobiSys.

Cited By

View all
  • (2024)FusionRender: Harnessing WebGPU's Power for Enhanced Graphics Performance on Web BrowsersProceedings of the ACM Web Conference 202410.1145/3589334.3645395(2890-2901)Online publication date: 13-May-2024
  • (2023)GLeeFuzzProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620343(1883-1899)Online publication date: 9-Aug-2023
  • (2022)Microarchitectural Attacks in Heterogeneous Systems: A SurveyACM Computing Surveys10.1145/354410255:7(1-40)Online publication date: 15-Jun-2022
  • Show More Cited By

Index Terms

  1. Milkomeda: Safeguarding the Mobile GPU Interface Using WebGL Security Checks

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      CCS '18: Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security
      October 2018
      2359 pages
      ISBN:9781450356930
      DOI:10.1145/3243734
      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].

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 15 October 2018

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. WebGL security
      2. mobile graphics security

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      CCS '18
      Sponsor:

      Acceptance Rates

      CCS '18 Paper Acceptance Rate 134 of 809 submissions, 17%;
      Overall Acceptance Rate 1,261 of 6,999 submissions, 18%

      Upcoming Conference

      CCS '25

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)144
      • Downloads (Last 6 weeks)37
      Reflects downloads up to 10 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)FusionRender: Harnessing WebGPU's Power for Enhanced Graphics Performance on Web BrowsersProceedings of the ACM Web Conference 202410.1145/3589334.3645395(2890-2901)Online publication date: 13-May-2024
      • (2023)GLeeFuzzProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620343(1883-1899)Online publication date: 9-Aug-2023
      • (2022)Microarchitectural Attacks in Heterogeneous Systems: A SurveyACM Computing Surveys10.1145/354410255:7(1-40)Online publication date: 15-Jun-2022
      • (2019)Rendered privateProceedings of the 28th USENIX Conference on Security Symposium10.5555/3361338.3361453(1645-1660)Online publication date: 14-Aug-2019

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Login options

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media