Academic Commons

Theses Doctoral

Structure and Feedback in Cloud Service API Fuzzing

Atlidakis, Evangelos

Over the last decade, we have witnessed an explosion in cloud services for hosting software applications (Software-as-a-Service), for building distributed services (Platform- as-a-Service), and for providing general computing infrastructure (Infrastructure-as-a- Service). Today, most cloud services are programmatically accessed through Application Programming Interfaces (APIs) that follow the REpresentational State Trans- fer (REST) software architectural style and cloud service developers use interface-description languages to describe and document their services. My thesis is that we can leverage the structured usage of cloud services through REST APIs and feedback obtained during interaction with such services in order to build systems that test cloud services in an automatic, efficient, and learning-based way through their APIs.

In this dissertation, I introduce stateful REST API fuzzing and describe its implementation in RESTler: the first stateful REST API fuzzing system. Stateful means that RESTler attempts to explore latent service states that are reachable only with sequences of multiple interdependent API requests. I then describe how stateful REST API fuzzing can be extended with active property checkers that test for violations of desirable REST API security properties. Finally, I introduce Pythia, a new fuzzing system that augments stateful REST API fuzzing with coverage-guided feedback and learning-based mutations.

Files

  • thumnail for Atlidakis_columbia_0054D_16273.pdf Atlidakis_columbia_0054D_16273.pdf application/pdf 1.24 MB Download File

More About This Work

Academic Units
Computer Science
Thesis Advisors
Geambasu, Roxana
Degree
Ph.D., Columbia University
Published Here
November 16, 2020