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 条
  • [41] Detecting Third-Party Libraries in Android Applications with High Precision and Recall
    Zhang, Yuan
    Dai, Jiarun
    Zhang, Xiaohan
    Huang, Sirong
    Yang, Zhemin
    Yang, Min
    Chen, Hao
    2018 25TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2018), 2018, : 141 - 152
  • [42] SurgeScan: Enforcing Security Policies on Untrusted Third-Party Android Libraries
    Vronsky, Jonathan
    Stevens, Ryan
    Chen, Hao
    2017 IEEE SMARTWORLD, UBIQUITOUS INTELLIGENCE & COMPUTING, ADVANCED & TRUSTED COMPUTED, SCALABLE COMPUTING & COMMUNICATIONS, CLOUD & BIG DATA COMPUTING, INTERNET OF PEOPLE AND SMART CITY INNOVATION (SMARTWORLD/SCALCOM/UIC/ATC/CBDCOM/IOP/SCI), 2017,
  • [43] Characterizing usages, updates and risks of third-party libraries in Java projects
    Kaifeng Huang
    Bihuan Chen
    Congying Xu
    Ying Wang
    Bowen Shi
    Xin Peng
    Yijian Wu
    Yang Liu
    Empirical Software Engineering, 2022, 27
  • [44] Explore connection fault handling strategies of third-party libraries by AOP
    Lee, Chia-Cheng
    Cheng, Yu Chin
    Hsieh, Chin-Yun
    2018 7TH IEEE INTERNATIONAL SYMPOSIUM ON NEXT-GENERATION ELECTRONICS (ISNE), 2018, : 320 - 322
  • [45] LibRadar: Fast and Accurate Detection of Third-party Libraries in Android Apps
    Ma, Ziang
    Wang, Haoyu
    Guo, Yao
    Chen, Xiangqun
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), 2016, : 653 - 656
  • [46] LibDB: An Effective and Efficient Framework for Detecting Third-Party Libraries in Binaries
    Tang, Wei
    Wang, Yanlin
    Zhang, Hongyu
    Han, Shi
    Luo, Ping
    Zhang, Dongmei
    2022 MINING SOFTWARE REPOSITORIES CONFERENCE (MSR 2022), 2022, : 423 - 434
  • [47] Keys to effective third-party process safety audits
    Birkmire, John C.
    Lay, James R.
    McMahon, Mona C.
    JOURNAL OF HAZARDOUS MATERIALS, 2007, 142 (03) : 574 - 581
  • [48] LibAM: An Area Matching Framework for Detecting Third-Party Libraries in Binaries
    Li, Siyuan
    Wang, Yongpan
    Dong, Chaopeng
    Yang, Shouguo
    Li, Hong
    Sun, Hao
    Lang, Zhe
    Chen, Zuxin
    Wang, Weijie
    Zhu, Hongsong
    Sun, Limin
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2024, 33 (02)
  • [49] LibViews - An Information Visualization Application for Third-Party Libraries on Software Projects
    Ferrarezi, Juliana Cassiano
    Popolin Neto, Mario
    Colombo Dias, Diego Roberto
    Pilastri, Andre Luiz
    Guimaraes, Marcelo de Paiva
    Ferreira Brega, Jose Remo
    Proceedings 2016 20th International Conference Information Visualisation IV 2016, 2016, : 136 - 140
  • [50] GELibRec: Third-Party Libraries Recommendation Using Graph Neural Network
    Zou, Chengming
    Fan, Zhenfeng
    DATABASE SYSTEMS FOR ADVANCED APPLICATIONS, DASFAA 2022, PT II, 2022, : 332 - 340