SQIRL: Grey-box detection of SQL injection vulnerabilities using reinforcement learning
File(s)sqirl usenix 2023.pdf (1.11 MB)
Accepted version
Author(s)
Al Wahaibi, Salim
Foley, Myles
Maffeis, Sergio
Type
Conference Paper
Abstract
Web security scanners are used to discover SQL injection
vulnerabilities in deployed web applications. Scanners tend
to use static rules to cover the most common injection cases,
missing diversity in their payloads, leading to a high volume
of requests and false negatives. Moreover, scanners often
rely on the presence of error messages or other significant
feedback on the target web pages, as a result of additional
insecure programming practices by web developers.
In this paper we develop SQIRL, a novel approach to detecting SQL injection vulnerabilities based on deep reinforcement
learning, using multiple worker agents and grey-box feedback.
Each worker intelligently fuzzes the input fields discovered
by an automated crawling component. This approach generates a more varied set of payloads than existing scanners,
leading to the discovery of more vulnerabilities. Moreover,
SQIRL attempts fewer payloads, because they are generated
in a targeted fashion.
SQIRL finds all vulnerabilities in our microbenchmark for
SQL injection, with substantially fewer requests than most
of the state-of-the-art scanners compared with. It also significantly outperforms other scanners on a set of 14 production
grade web applications, discovering 33 vulnerabilities, with
zero false positives. We have responsibly disclosed 22 novel
vulnerabilities found by SQIRL, grouped in 6 CVEs.
vulnerabilities in deployed web applications. Scanners tend
to use static rules to cover the most common injection cases,
missing diversity in their payloads, leading to a high volume
of requests and false negatives. Moreover, scanners often
rely on the presence of error messages or other significant
feedback on the target web pages, as a result of additional
insecure programming practices by web developers.
In this paper we develop SQIRL, a novel approach to detecting SQL injection vulnerabilities based on deep reinforcement
learning, using multiple worker agents and grey-box feedback.
Each worker intelligently fuzzes the input fields discovered
by an automated crawling component. This approach generates a more varied set of payloads than existing scanners,
leading to the discovery of more vulnerabilities. Moreover,
SQIRL attempts fewer payloads, because they are generated
in a targeted fashion.
SQIRL finds all vulnerabilities in our microbenchmark for
SQL injection, with substantially fewer requests than most
of the state-of-the-art scanners compared with. It also significantly outperforms other scanners on a set of 14 production
grade web applications, discovering 33 vulnerabilities, with
zero false positives. We have responsibly disclosed 22 novel
vulnerabilities found by SQIRL, grouped in 6 CVEs.
Date Issued
2023-08-09
Date Acceptance
2023-06-08
Citation
USENIX Security '23, 2023, pp.6097-6114
ISBN
978-1-939133-37-3
Publisher
USENIX Security
Start Page
6097
End Page
6114
Journal / Book Title
USENIX Security '23
Copyright Statement
© 2023 The Author(s).
Source
USENIX Security
Publication Status
Published
Start Date
2023-08-09
Finish Date
2023-08-11
Coverage Spatial
Anaheim, CA, USA