mShield: Protecting In-process Sensitive Data Against Vulnerable Third-Party Libraries

被引:0
|
作者
Zhang, Yunming [1 ]
Cai, Quanwei [2 ]
Li, Houqiang [1 ]
Lin, Jingqiang [1 ]
Wang, Wei [3 ]
机构
[1] Univ Sci & Technol China, Hefei 230027, Anhui, Peoples R China
[2] Beijing Zitiao Network Technol Co Ltd, Beijing 100190, Peoples R China
[3] Chinese Acad Sci, Inst Informat Engn, State Key Lab Informat Secur, Beijing 100085, Peoples R China
关键词
Memory Disclosure; Memory encryption; Intel SGX; Isolation; ATTACKS; MEMORY;
D O I
10.1007/978-3-031-64948-6_25
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Third-party libraries (TPLs) are widely adopted in softwares for integrating special functions (e.g., compression) efficiently. However, as most TPLs are in the same process with the invoker, attackers could exploit memory disclosure vulnerabilities in TPLs to read the sensitive memory data of the victim process. Therefore, once a vulnerability found in a TPL, all softwares with this TPL need to be patched in time, which is impractical. In this paper, we propose a cryptography-based isolation (named mShield) between the data memory of the invoker and TPLs, to prevent TPL vulnerabilities from being exploited to read the invoker's sensitive memory data. mShield performs a user-mode and lightweight memory analysis, figures out the invoker's memory space (including stack, heap, user-defined ones in BSS/data segment), encrypts them before invoking any TPL function, and automatically decrypts them once the function returns, without interrupting the normal execution. mShield performs the encryption/decryption in the trusted environment provided by Intel SGX, which prevents the attacker from reading the cryptographic key, and alerts (i.e., the invoker's decryption fails) in time once the encryption context is tampered with (e.g., by illegal invocations of decryption). We have implemented mShield, and adopted it to protect Nginx against a potentially vulnerable TPL (i.e., zlib). The experiment demonstrates mShield's effectiveness (TPLs fail to read the invoker's plaintext sensitive memory data) and acceptable efficiency (about less than 4x time cost).
引用
收藏
页码:496 / 513
页数:18
相关论文
共 50 条
  • [31] THIRD-PARTY DATA FOR FIRST CLASS RESEARCH
    Naylor, John D.
    Richards, Julian D.
    ARCHEOLOGIA E CALCOLATORI, 2005, 16 : 83 - 91
  • [32] Vulnerable narcissism predicts greater spiteful punishment of a third-party transgressor
    Parton, Drew M.
    Ent, Michael R.
    JOURNAL OF RESEARCH IN PERSONALITY, 2018, 76 : 150 - 153
  • [33] Third-Party Data Leaks on Municipal Websites
    Rauti, Sampsa
    Carlsson, Robin
    Puhtila, Panu
    Leppanen, Ville
    PROCEEDINGS OF NINTH INTERNATIONAL CONGRESS ON INFORMATION AND COMMUNICATION TECHNOLOGY, VOL 5, ICICT 2024, 2024, 1000 : 599 - 610
  • [34] CLAIMS AGAINST THIRD-PARTY RECIPIENTS OF TRUST PROPERTY
    Salmons, David
    CAMBRIDGE LAW JOURNAL, 2017, 76 (02): : 399 - 429
  • [35] Stay in Your Cage! A Sound Sandbox for Third-Party Libraries on Android
    Wang, Fabo
    Zhang, Yuqing
    Wang, Kai
    Liu, Peng
    Wang, Wenjie
    COMPUTER SECURITY - ESORICS 2016, PT I, 2016, 9878 : 458 - 476
  • [36] Stay in your Cage! a sound sandbox for third-party libraries on android
    Wang, Fabo
    Zhang, Yuqing
    Wang, Kai
    Liu, Peng
    Wang, Wenjie
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2016, 9878 LNCS : 458 - 476
  • [37] DeepLib: Machine translation techniques to recommend upgrades for third-party libraries
    Nguyen, Phuong T.
    Di Rocco, Jun
    Rubei, Riccardo
    Di Sipio, Claudio
    Di Ruscio, Davide
    EXPERT SYSTEMS WITH APPLICATIONS, 2022, 202
  • [38] DPC:A Dynamic Permission Control Mechanism for Android Third-Party Libraries
    Hsu, Fu-Hau
    Liu, Nien-Chi
    Hwang, Yan-Ling
    Liu, Che-Hao
    Wang, Chuan-Sheng
    Chen, Chang-Yi
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2021, 18 (04) : 1751 - 1761
  • [39] Are Third-Party Libraries Secure? A Software Library Checker for Java']Java
    Viertel, Fabien Patrick
    Kortum, Fabian
    Wagner, Leif
    Schneider, Kurt
    RISKS AND SECURITY OF INTERNET AND SYSTEMS, 2019, 11391 : 18 - 34
  • [40] User-Side Updating of Third-Party Libraries for Android Applications
    Ogawa, Hiroki
    Takimoto, Eiji
    Mouri, Koichi
    Saito, Shoichi
    2018 SIXTH INTERNATIONAL SYMPOSIUM ON COMPUTING AND NETWORKING WORKSHOPS (CANDARW 2018), 2018, : 452 - 458