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 条
  • [1] LibGuard: Protecting Sensitive Data In Android Third-Party Libraries From XLDH Attacks
    He, Fannv
    Wang, Jice
    Huang, Yuhang
    Peng, Xiancui
    Zhang, Yuqing
    2024 33RD INTERNATIONAL CONFERENCE ON COMPUTER COMMUNICATIONS AND NETWORKS, ICCCN 2024, 2024,
  • [2] Identifying Vulnerable Third-Party Java Libraries from Textual Descriptions of Vulnerabilities and Libraries
    Chen, Tianyu
    Li, Lin
    Shan, Bingjie
    Liang, Guangtai
    Li, Ding
    Wang, Qianxiang
    Xie, Tao
    arXiv, 2023,
  • [3] Armor Within: Defending against Vulnerabilities in Third-Party Libraries
    Ali, Sameed
    Anantharaman, Prashant
    Smith, Sean W.
    2020 IEEE SYMPOSIUM ON SECURITY AND PRIVACY WORKSHOPS (SPW 2020), 2020, : 291 - 299
  • [4] NativeProtector: Protecting Android Applications by Isolating and Intercepting Third-Party Native Libraries
    Hong, Yu-Yang
    Wang, Yu-Ping
    Yin, Jie
    ICT SYSTEMS SECURITY AND PRIVACY PROTECTION, SEC 2016, 2016, 471 : 337 - 351
  • [5] Selecting third-party libraries: the data scientist's perspective
    Nadi, Sarah
    Sakr, Nourhan
    EMPIRICAL SOFTWARE ENGINEERING, 2023, 28 (01)
  • [6] Selecting third-party libraries: the data scientist’s perspective
    Sarah Nadi
    Nourhan Sakr
    Empirical Software Engineering, 2023, 28
  • [7] Protecting your intellectual property against third-party infringers and patents
    Bianco, Krista
    ABSTRACTS OF PAPERS OF THE AMERICAN CHEMICAL SOCIETY, 2014, 248
  • [8] Selecting Third-Party Libraries: The Practitioners' Perspective
    Vargas, Enrique Larios
    Aniche, Mauricio
    Treude, Christoph
    Bruntink, Magiel
    Gousios, Georgios
    PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 245 - 256
  • [9] Does the Vulnerability Threaten Our Projects? Automated Vulnerable API Detection for Third-Party Libraries
    Zhang, Fangyuan
    Fan, Lingling
    Chen, Sen
    Cai, Miaoying
    Xu, Sihan
    Zhao, Lida
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (11) : 2906 - 2920
  • [10] Risks of third-party data
    Schneier, B
    COMMUNICATIONS OF THE ACM, 2005, 48 (05) : 136 - 136