Deriving Semantics-Aware Fuzzers from Web API Schemas

12/20/2021
by   Zac Hatfield-Dodds, et al.
0

Fuzzing – whether generating or mutating inputs – has found many bugs and security vulnerabilities in a wide range of domains. Stateful and highly structured web APIs present significant challenges to traditional fuzzing techniques, as execution feedback is usually limited to a response code instead of code coverage and vulnerabilities of interest include silent information-disclosure in addition to explicit errors. Our tool, Schemathesis, derives structure- and semantics-aware fuzzers from web API schemas in the OpenAPI or GraphQL formats, using property-based testing tools. Derived fuzzers can be incorporated into unit-test suites or run directly, with or without end-user customisation of data generation and semantic checks. We construct the most comprehensive evaluation of web API fuzzers to date, running eight fuzzers against sixteen real-world open source web services. OpenAPI schemas found in the wild have a long tail of rare features and complex structures. Of the tools we evaluated, Schemathesis was the only one to handle more than two-thirds of our target services without a fatal internal error. Schemathesis finds 1.4 times to 4.5 times more unique defects than the respectively second-best fuzzer for each target, and is the only fuzzer to find defects in four targets.

READ FULL TEXT
research
01/06/2019

RESTful API Automated Test Case Generation

Nowadays, web services play a major role in the development of enterpris...
research
04/18/2022

Automated Test Generation for REST APIs: No Time to Rest Yet

Modern web services routinely provide REST APIs for clients to access th...
research
03/06/2022

foREST: A Tree-based Approach for Fuzzing RESTful APIs

Representational state transfer (REST) is a widely employed architecture...
research
10/16/2021

Characterizing Improper Input Validation Vulnerabilities of Mobile Crowdsourcing Services

Mobile crowdsourcing services (MCS), enable fast and economical data acq...
research
08/19/2021

BackREST: A Model-Based Feedback-Driven Greybox Fuzzer for Web Applications

Following the advent of the American Fuzzy Lop (AFL), fuzzing had a surg...
research
03/07/2019

Compositional Fuzzing Aided by Targeted Symbolic Execution

Guided fuzzing has, in recent years, been able to uncover many new vulne...
research
01/20/2022

APIRO: A Framework for Automated Security Tools API Recommendation

Security Orchestration, Automation, and Response (SOAR) platforms integr...

Please sign up or login with your details

Forgot password? Click here to reset