SerialDetector: Principled and Practical Exploration of Object Injection Vulnerabilities for the Web

被引:14
|
作者
Shcherbakov, Mikhail [1 ]
Balliu, Musard [1 ]
机构
[1] KTH Royal Inst Technol, Stockholm, Sweden
基金
瑞典研究理事会;
关键词
D O I
10.14722/ndss.2021.24550
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The last decade has seen a proliferation of code-reuse attacks in the context of web applications. These attacks stem from Object Injection Vulnerabilities (OIV) enabling attacker-controlled data to abuse legitimate code fragments within a web application's codebase to execute a code chain (gadget) that performs malicious computations, like remote code execution, on attacker's behalf. OIVs occur when untrusted data is used to instantiate an object of attacker-controlled type with attacker-chosen properties, thus triggering the execution of code available but not necessarily used by the application. In the web application domain, OIVs may arise during the process of deserialization of client-side data, e.g., HTTP requests, when reconstructing the object graph that is subsequently processed by the backend applications on the server side. This paper presents the first systematic approach for detecting and exploiting OIVs in .NET applications including the framework and libraries. Our key insight is: The root cause of OIVs is the untrusted information flow from an application's public entry points (e.g., HTTP request handlers) to sensitive methods that create objects of arbitrary types (e.g., reflection APIs) to invoke methods (e.g., native/virtual methods) that trigger the execution of a gadget. Drawing on this insight, we develop and implement SerialDetector, a taint-based dataflow analysis that discovers OIV patterns in .NET assemblies automatically. We then use these patterns to match publicly available gadgets and to automatically validate the feasibility of OIV attacks. We demonstrate the effectiveness of our approach by an indepth evaluation of a complex production software such as the Azure DevOps Server. We describe the key threat models and report on several remote code execution vulnerabilities found by SerialDetector, including three CVEs on Azure DevOps Server. We also perform an in-breadth security analysis of recent publicly available CVEs. Our results show that SerialDetector can detect OIVs effectively and efficiently. We release our tool publicly to support open science and encourage researchers and practitioners explore the topic further.
引用
收藏
页数:18
相关论文
共 36 条
  • [1] Analysis on Injection Vulnerabilities of Web Application
    Yadav, Nilesh
    Shekokar, Narendra
    PROCEEDINGS OF INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATION, ICWICOM 2017, 2018, 19 : 13 - 22
  • [2] Detecting SQL Injection Vulnerabilities in Web Services
    Antunes, Nuno
    Vieira, Marco
    LADC: 2009 4TH LATIN-AMERICAN SYMPOSIUM ON DEPENDABLE COMPUTING, 2009, : 17 - 24
  • [3] PRACTICAL ELIMINATION OF EXTERNAL INTERACTION VULNERABILITIES IN WEB APPLICATIONS
    Miller, James
    Huynh, Toan
    JOURNAL OF WEB ENGINEERING, 2010, 9 (01): : 1 - 24
  • [4] A Practical Analysis of TLS Vulnerabilities in Korea Web Environment
    Jeong, Jongmin
    Kwon, Hyunsoo
    Shin, Hyungjune
    Hur, Junbeom
    INFORMATION SECURITY APPLICATIONS, WISA 2016, 2017, 10144 : 112 - 123
  • [5] Sound and precise analysis of web applications for injection vulnerabilities
    Wassermann, Gary
    Su, Zhendong
    ACM SIGPLAN NOTICES, 2007, 42 (06) : 32 - 41
  • [6] Sound and Precise Analysis of Web Applications for Injection Vulnerabilities
    Wassermann, Gary
    Su, Zhendong
    PLDI'07: PROCEEDINGS OF THE 2007 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2007, : 32 - 41
  • [7] LogInjector: Detecting Web Application Log Injection Vulnerabilities
    Pan, Zulie
    Chen, Yu
    Chen, Yuanchao
    Shen, Yi
    Li, Yang
    APPLIED SCIENCES-BASEL, 2022, 12 (15):
  • [8] FUGIO: Automatic Exploit Generation for PHP Object Injection Vulnerabilities
    Park, Sunnyeo
    Kim, Daejun
    Jana, Suman
    Son, Sooel
    PROCEEDINGS OF THE 31ST USENIX SECURITY SYMPOSIUM, 2022, : 197 - 214
  • [9] Effective Detection of SQL/XPath Injection Vulnerabilities in Web Services
    Antunes, Nuno
    Laranjeiro, Nuno
    Vieira, Marco
    Madeira, Henrique
    2009 IEEE INTERNATIONAL CONFERENCE ON SERVICES COMPUTING, 2009, : 260 - 267
  • [10] Formal Analysis of Vulnerabilities of Web Applications Based on SQL Injection
    De Meo, Federico
    Rocchetto, Marco
    Vigano, Luca
    SECURITY AND TRUST MANAGEMENT, STM 2016, 2016, 9871 : 179 - 195