Detail publikace

Dfuzzer: A D-Bus Service Fuzzing Tool

MARHEFKA, M.; MÜLLER, P. Dfuzzer: A D-Bus Service Fuzzing Tool. In Proceedings of IEEE Seventh International Conference on Software Testing, Verification and Validation Workshopsn. Cleveland: IEEE Computer Society, 2014. p. 383-389. ISBN: 978-0-7695-5194-4.
Název česky
Dfuzzer: Nástroj pro fuzz testování D-Bus služeb
Typ
článek ve sborníku konference
Jazyk
anglicky
Autoři
Marhefka Matúš, Ing.
Müller Petr, Ing.
Klíčová slova

D-Bus fuzzer fuzz testing automated testing pseudo-random data generation IPC

Abstrakt

Práce popisuje Dfuzzer, plně automatický nástroj pro fuzz testování programů komunikujících přes D-Bus, moderní mechanismus pro komunikaci mezi procesy běžícími v prostředí GNU/Linux. Dfuzzer používá D-Bus introspekci pro zjištění struktury parametrů očekávaných cílovým programem. Následně generuje pseudonáhodné vstupy respektující očekávanou strukturu a posílá je na vstup cílového programu, který je musí korektně zpracovat. Pomocí nástroje bylo nalezeno větší množství chyb v různých částech GNU/Linux operačního systému, včetně GNOME Shell a systemd. Dfuzzer is fully automated: using D-Bus introspection, it is able to acquire the structure of the parameters expected by the target program. It can then generate ballast data respecting this structure, so the target program starts using such data incorrectly if it does not carefully validate it. We have found numerous bugs in various parts of the GNU/Linux operating system, including GNOME Shell and systemd. The bugs usually result in crashes, but we have found other bugs like memory leaks and even a data-loss bug. We also discuss the software engineering aspects of fuzz testing D-Bus services. We have met developer opinions that the problems found do not constitute valid bugs, because the D-Bus interface is actually an internal API. The discussion is interesting by showing that D-Bus usage is not a fully mature area of engineering, and programmers do not have a shared understanding of its purpose.

Rok
2014
Strany
383–389
Sborník
Proceedings of IEEE Seventh International Conference on Software Testing, Verification and Validation Workshopsn
ISBN
978-0-7695-5194-4
Vydavatel
IEEE Computer Society
Místo
Cleveland
DOI
UT WoS
000356142700060
EID Scopus
BibTeX
@inproceedings{BUT111536,
  author="Matúš {Marhefka} and Petr {Müller}",
  title="Dfuzzer: A D-Bus Service Fuzzing Tool",
  booktitle="Proceedings of IEEE Seventh International Conference on Software Testing, Verification and Validation Workshopsn",
  year="2014",
  pages="383--389",
  publisher="IEEE Computer Society",
  address="Cleveland",
  doi="10.1109/ICSTW.2014.51",
  isbn="978-0-7695-5194-4"
}
Nahoru