WENDIGO: Deep Reinforcement Learning for Denial-of-Service Query Discovery in GraphQL

被引:0
作者
McFadden, Shae [1 ,2 ]
Maugeri, Marcello [1 ,3 ]
Hicks, Chris [2 ]
Mavroudis, Vasilios [2 ]
Pierazzi, Fabio [1 ]
机构
[1] Kings Coll London, London, England
[2] Alan Turing Inst, London, England
[3] Univ Catania, Catania, Italy
来源
PROCEEDINGS 45TH IEEE SYMPOSIUM ON SECURITY AND PRIVACY WORKSHOPS, SPW 2024 | 2024年
基金
英国工程与自然科学研究理事会;
关键词
Reinforcement Learning; Deep Neural Network; Denial-of-Service Attack; Internet Security; Web Security; ATTACKS;
D O I
10.1109/SPW63631.2024.00012
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
GraphQL is a type of web API which enables a unified endpoint for an application's resources through its own query language, and is widely adopted by companies such as Meta, GitHub, X, and PayPal. The query-based structure of GraphQL is designed to reduce the over-/under-fetching typical of REST web APIs. Consequently, GraphQL allows attackers to perform Denial-of-Service (DoS) attacks through queries inducing higher server loads with fewer requests. However, with the additional complexity introduced by GraphQL, ensuring applications are not vulnerable to DoS is not trivial. We propose WENDIGO, a black-box Deep Reinforcement Learning (DRL) approach only requiring the GraphQL schema to discover DoS exploitable queries against target applications. For example, our approach is able to discover queries which can perform a DoS attack utilizing only two GraphQL requests per hour, as opposed to the high volume of traffic required by traditional DoS attacks. WENDIGO achieves this by building increasingly more complex queries while maximizing response time by using GraphQL features to increase the server load. The effective query discovery offered by WENDIGO, not only enables developers to test for potential DoS risk in their GraphQL applications but also showcases DRL's value in security problems such as this one.
引用
收藏
页码:68 / 75
页数:8
相关论文
共 35 条
  • [1] Al Wahaibi S, 2023, PROCEEDINGS OF THE 32ND USENIX SECURITY SYMPOSIUM, P6097
  • [2] Aleks N., 2023, Black Hat GraphQL: Attacking Next Generation APIs
  • [3] RESTful API Automated Test Case Generation
    Arcuri, Andrea
    [J]. 2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS), 2017, : 9 - 20
  • [4] Random Testing: Theoretical Results and Practical Implications
    Arcuri, Andrea
    Iqbal, Muhammad Zohaib
    Briand, Lionel
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (02) : 258 - 277
  • [5] Assetnote, 2019, Batchql
  • [6] Random Testing and Evolutionary Testing for Fuzzing GraphQL APIs
    Belhadi, Asma
    Zhang, Man
    Arcuri, Andrea
    [J]. ACM TRANSACTIONS ON THE WEB, 2024, 18 (01)
  • [7] Brito G, 2019, 2019 IEEE 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER), P140, DOI [10.1109/saner.2019.8667986, 10.1109/SANER.2019.8667986]
  • [8] Detecting Phishing Websites through Deep Reinforcement Learning
    Chatterjee, Moitrayee
    Namin, Akbar Siami
    [J]. 2019 IEEE 43RD ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), VOL 2, 2019, : 227 - 232
  • [9] WAF-A-MoLE: Evading Web Application Firewalls through Adversarial Machine Learning
    Demetrio, Luca
    Valenza, Andrea
    Costa, Gabriele
    Lagorio, Giovanni
    [J]. PROCEEDINGS OF THE 35TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING (SAC'20), 2020, : 1745 - 1752
  • [10] Doyensec, 2020, Inql v5.0-burp extension for advanced graphql testing