A state-aware protocol fuzzer based on application-layer protocols

Takahisa Kitagawa, Miyuki Hanaoka, Kenji Kono

Research output: Contribution to journalArticlepeer-review

1 Citation (Scopus)

Abstract

In the face of constant malicious attacks to networkconnected software systems, software vulnerabilities need to be discovered early in the development phase. In this paper, we present AspFuzz, a state-aware protocol fuzzer based on the specifications of application-layer protocols. AspFuzz automatically generates anomalous messages that exploit possible vulnerabilities. The key observation behind AspFuzz is that most attack messages violate the strict specifications of application-layer protocols. For example, they do not conform to the rigid format or syntax required of each message. In addition, some attack messages ignore the protocol states and have incorrect orders of messages. AspFuzz automatically generates a large number of anomalous messages that deliberately violate the specifications of application-layer protocols. To demonstrate the effectiveness of AspFuzz, we conducted experiments with POP3 and HTTP servers. With AspFuzz, we can discover 20 reported and 1 previously unknown vulnerabilities for POP3 servers and 25 reported vulnerabilities for HTTP servers. Two vulnerabilities among these can be discovered by the state-awareness of AspFuzz. It can also find a SIP state-related vulnerability.

Original languageEnglish
Pages (from-to)1008-1017
Number of pages10
JournalIEICE Transactions on Information and Systems
VolumeE94-D
Issue number5
DOIs
Publication statusPublished - 2011 May

Keywords

  • Fuzzing
  • Protocol specification
  • Software vulnerability testing

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Vision and Pattern Recognition
  • Electrical and Electronic Engineering
  • Artificial Intelligence

Fingerprint

Dive into the research topics of 'A state-aware protocol fuzzer based on application-layer protocols'. Together they form a unique fingerprint.

Cite this