Automated Black-box Testing of Mass Assignment Vulnerabilities in RESTful APIs

被引:7
作者
Corradini, Davide [1 ]
Pasqua, Michele [1 ]
Ceccato, Mariano [1 ]
机构
[1] Univ Verona, Dept Comp Sci, Verona, Italy
来源
2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE | 2023年
关键词
REST API; Security testing; Black-box testing; Automated software testing; Mass assignment;
D O I
10.1109/ICSE48619.2023.00213
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Mass assignment is one of the most prominent vulnerabilities in RESTful APIs that originates from a misconfiguration in common web frameworks. This allows attackers to exploit naming convention and automatic binding to craft malicious requests that (massively) override data supposed to be read-only. In this paper, we adopt a black-box testing perspective to automatically detect mass assignment vulnerabilities in RESTful APIs. Indeed, execution scenarios are generated purely based on the OpenAPI specification, that lists the available operations and their message format. Clustering is used to group similar operations and reveal read-only fields, the latter are candidates for mass assignment. Then, test interaction sequences are automatically generated by instantiating abstract testing templates, with the aim of trying to use the found read-only fields to carry out a mass assignment attack. Test interactions are run, and their execution is assessed by a specific oracle, in order to reveal whether the vulnerability could be successfully exploited. The proposed novel approach has been implemented and evaluated on a set of case studies written in different programming languages. The evaluation highlights that the approach is quite effective in detecting seeded vulnerabilities, with a remarkably high accuracy.
引用
收藏
页码:2553 / 2564
页数:12
相关论文
共 29 条
[1]   Testability Transformations For Existing APIs [J].
Arcuri, Andrea ;
Galeotti, Juan P. .
2020 IEEE 13TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST 2020), 2020, :153-163
[2]   RESTful API Automated Test Case Generation with EvoMaster [J].
Arcuri, Andrea .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2019, 28 (01)
[3]   Checking Security Properties of Cloud Service REST APIs [J].
Atlidakis, Vaggelis ;
Godefroid, Patrice ;
Polishchuk, Marina .
2020 IEEE 13TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST 2020), 2020, :387-397
[4]   RESTler: Stateful REST API Fuzzing [J].
Atlidakis, Vaggelis ;
Godefroid, Patrice ;
Polishchuk, Marina .
2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, :748-758
[5]   RestTestGen: An Extensible Framework for Automated Black-box Testing of RESTful APIs [J].
Corradini, Davide ;
Zampieri, Amedeo ;
Pasqua, Michele ;
Ceccato, Mariano .
2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2022), 2022, :504-508
[6]   Automated black-box testing of nominal and error scenarios in RESTful APIs [J].
Corradini, Davide ;
Zampieri, Amedeo ;
Pasqua, Michele ;
Viglianisi, Emanuele ;
Dallago, Michael ;
Ceccato, Mariano .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2022, 32 (05)
[7]   Automatic Generation of Test Cases for REST APIs: a Specification-Based Approach [J].
Ed-douibi, Hamza ;
Canovas Izquierdo, Javier Luis ;
Cabot, Jordi .
2018 IEEE 22ND INTERNATIONAL ENTERPRISE DISTRIBUTED OBJECT COMPUTING CONFERENCE (EDOC 2018), 2018, :181-190
[8]  
Fielding R.T., 2000, ARCHITECTURAL STYLES, V7
[9]  
github, 2022, TNT FUZZ
[10]  
github, 2022, FUZZY SWAGG