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 条
  • [21] JCOMIX: A Search-Based Tool to Detect XML Injection Vulnerabilities in Web Applications
    Stallenberg, Dimitri Michel
    Panichella, Annibale
    ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 1090 - 1094
  • [22] Code-injection Vulnerabilities in Web Applications - Exemplified at Cross-site Scripting
    Johns, Martin
    IT-INFORMATION TECHNOLOGY, 2011, 53 (05): : 256 - 259
  • [23] Black-box detection of XQuery injection and parameter tampering vulnerabilities in web applications
    G. Deepa
    P. Santhi Thilagam
    Furqan Ahmed Khan
    Amit Praseed
    Alwyn R. Pais
    Nushafreen Palsetia
    International Journal of Information Security, 2018, 17 : 105 - 120
  • [24] Black-box detection of XQuery injection and parameter tampering vulnerabilities in web applications
    Deepa, G.
    Thilagam, P. Santhi
    Khan, Furqan Ahmed
    Praseed, Amit
    Pais, Alwyn R.
    Palsetia, Nushafreen
    INTERNATIONAL JOURNAL OF INFORMATION SECURITY, 2018, 17 (01) : 105 - 120
  • [25] Evaluation of Black-Box Web Application Security Scanners in Detecting Injection Vulnerabilities
    Althunayyan, Muzun
    Saxena, Neetesh
    Li, Shancang
    Gope, Prosanta
    ELECTRONICS, 2022, 11 (13)
  • [26] Securing native XML database-driven web applications from XQuery injection vulnerabilities
    Palsetia, Nushafreen
    Deepa, G.
    Khan, Furqan Ahmed
    Thilagam, P. Santhi
    Pais, Alwyn R.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2016, 122 : 93 - 109
  • [27] Security Testing of Web Applications: A Search-Based Approach for Detecting SQL Injection Vulnerabilities
    Liu, Muyang
    Li, Ke
    Chen, Tao
    PROCEEDINGS OF THE 2019 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE COMPANION (GECCCO'19 COMPANION), 2019, : 417 - 418
  • [28] CIVD: detection of command injection vulnerabilities in web services through aspect-oriented programming
    Shanmughaneethi, V.
    Praveen, Ra. Yagna
    Swamynathan, S.
    INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS IN TECHNOLOGY, 2012, 44 (04) : 312 - 320
  • [29] Investigation framework of web applications vulnerabilities, attacks and protection techniques in structured query language injection attacks
    Ali N.S.
    International Journal of Wireless and Mobile Computing, 2018, 14 (02): : 103 - 122
  • [30] SQLIVD - AOP: Preventing SQL Injection Vulnerabilities Using Aspect Oriented Programming through Web Services
    Shanmughaneethi, V.
    Pravin, Ra. Yagna
    Shyni, C. Emilin
    Swamynathan, S.
    HIGH PERFORMANCE ARCHITECTURE AND GRID COMPUTING, 2011, 169 : 327 - 337