[Review] DynSQL: Stateful Fuzzing for Database Management Systems with Complex and Valid SQL Query Generation
The paper designs a stateful DBMS fuzzer called DynSQL. DynSQL adopts two new methods: Dynamic Query Interaction and Error Feedback.
Instead of generating all of the SQL queries before performing them, Dynamic Query Interaction allows the fuzzer to fuzz the DBMSs “step-by-step”, that is, dynamically determine the next statement after executing every prior statement.
Also, Error Feedback allows the seed generation to generate more valid SQL statements and queries.
Background:
Former DBMS testing tools: SQLsmith, SQUIRREL, SQLancer.
Existing DBMS fuzzers are still limited in generating complex and valid queries to find deep bugs in DBMSs.
SQLsmith generates only one statement in each query, SQUIRREL produces over 50% invalid queries and tends to generate simple statements.
SQLancer aims to figuring out logic bugs of DBMSs rather than general bugs.
![[Review] DynSQL: Stateful Fuzzing for Database Management Systems with Complex and Valid SQL Query Generation](/blog/images/27/cover.png)
![[Review] autofz: Automated Fuzzer Composition at Runtime](/blog/images/16/cover.jpg)
![[Review] MINER: A Hybrid Data-Driven Approach for REST API Fuzzing](/blog/images/12/cover.png)
![[Review] Assisting Static Analysis with Large Language Models: A ChatGPT Experiment](/blog/images/42/cover.png)
![[Review] Detecting Missed Security Operations Through Differential Checking of Object-based Similar Paths](/blog/images/41/cover.png)
![[Review] GPTScan: Detecting Logic Vulnerabilities in Smart Contracts by Combining GPT with Program Analysis](/blog/images/40/cover.png)
![[Review] MoonShine: Optimizing OS Fuzzer Seed Selection with Trace Distillation](/blog/images/39/cover.png)
![[Review] One Simple API Can Cause Hundreds of Bugs: An Analysis of Refcounting Bugs in All Modern Linux Kernels](/blog/images/38/cover.png)