zurück zum Artikel

Die tausend gestopften Löcher des FFmpeg

Das freie Multimedia-Framework FFmpeg [1] und dessen Abspaltung [2] Libav [3] bilden die technische Grundlage unzähliger [4] Audio/Video-Programme. Doch freilich enthalten auch diese beiden Bibliotheken Fehler und Sicherheitslücken, die sich somit in die anderen Programme fortpflanzen.

Die Google-Ingenieure Mateusz “j00ru” Jurczyk und Gynvael Coldwind nahmen das vor zwei Jahren zum Anlass, um gezielt in den beiden wichtigen Bibliotheken nach Fehlern zu fahnden. Nun hatten sie einen Grund zum Feiern: [5] In der Zwischenzeit wurden über 1000 (tatsächlich bereits 1120) der seit Ende Januar 2012 von ihnen entdeckten Fehler in FFmpeg bereinigt. Allein FFmpeg-Hauptentwickler Michael Niedermayer hat 750 davon behoben. In Libav wurden bisher 413 der gemeldeten Fehler korrigiert.

Jurczyk und Coldwind haben die Fehler nicht händisch gesucht, sondern nahmen den Google AddressSanitizer [6] (ASan) zu Hilfe, ein Tool zum Erkennen von Speicherfehlern. Auf eine für ASan angepasste FFmpeg-Version ließen die beiden eine mehrere tausend Mediendateien umfassende Sammlung los, die sie zudem mit automatisch erzeugten Fehlern spickten (Fuzzing), um Abstürze zu provozieren. Dabei förderten sie typische Probleme wie NULL-Zeiger-Dereferenzierung, falsche Zeiger-Arthmetik, Divisionsfehler, fehlerhafte free()-Aufrufe, falsche Verwendung von nicht-initialisiertem Speicher et cetera zutage, die sie als Bug Reports meldeten.


Siehe dazu auch:

(vza [8])


URL dieses Artikels:
http://www.heise.de/-2083744

Links in diesem Artikel:
[1] http://www.ffmpeg.org/
[2] https://www.heise.de/meldung/FFmpeg-heisst-jetzt-Libav-1208078.html
[3] http://libav.org/
[4] http://www.ffmpeg.org/projects.html
[5] http://j00ru.vexillium.org/?p=2211
[6] https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer
[7] http://www.heise.de/download/ffmpeg.html
[8] mailto:vza@ct.de