Článek ve sborníku konference

MARHEFKA Matúš a MÜLLER Petr. 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, s. 383-389. ISBN 978-0-7695-5194-4.
Jazyk publikace:angličtina
Název publikace:Dfuzzer: A D-Bus Service Fuzzing Tool
Název (cs):Dfuzzer: Nástroj pro fuzz testování D-Bus služeb
Strany:383-389
Sborník:Proceedings of IEEE Seventh International Conference on Software Testing, Verification and Validation Workshopsn
Konference:Seventh IEEE International Conference on Software Testing, Verification and Validation
Místo vydání:Cleveland, US
Rok:2014
ISBN:978-0-7695-5194-4
DOI:10.1109/ICSTW.2014.51
Vydavatel:IEEE Computer Society
Klíčová slova

D-Bus
fuzzer
fuzz testing
automated testing
pseudo-random data generation
IPC
Anotace
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.
BibTeX:
@INPROCEEDINGS{
   author = {Mat{\'{u}}{\v{s}} Marhefka and Petr M{\"{u}}ller},
   title = {Dfuzzer: A D-Bus Service Fuzzing Tool},
   pages = {383--389},
   booktitle = {Proceedings of IEEE Seventh International Conference on
	Software Testing, Verification and Validation Workshopsn},
   year = 2014,
   location = {Cleveland, US},
   publisher = {IEEE Computer Society},
   ISBN = {978-0-7695-5194-4},
   doi = {10.1109/ICSTW.2014.51},
   language = {english},
   url = {http://www.fit.vutbr.cz/research/view_pub.php.cs?id=10534}
}

Vaše IPv4 adresa: 3.83.192.109
Přepnout na https