Open Source im professionellen Einsatz

Google debuggt Ffmpeg und Libav

14.01.2014

Google schickte die Kavallerie, um Ffmpeg und Libav in Sachen Security auf den Zahn zu fühlen. In ihrem Blog beschreiben die zwei Techniker ihre zahlreichen Funde und die Vorgehensweise beim Fuzzing.

302

Mateusz Jurczyk und Gynvael Coldwind arbeiten beide für Google und tragen dort den Titel Information Security Engineers. Zu ihrem Job gehört es, für das Internet wichtige Komponenten auf ihre Sicherheit abzuklopfen und die Hersteller über Sicherheitslücken zu informieren. Da Google nicht kleckert, können die beiden in ihrem Job auf die Rechenkapazitäten von Googles Rechenzentren zugreifen, um etwa im großen Stil automatisierte Tests über die Bühne zu bringen, beispielsweise per Fuzzing.

In den letzten beiden Jahren sei so auch das in C verfasste Multimedia-Framework Ffmpeg in ihren Fokus geraten, schreiben sie in Googles Security-Blog. Die Software streamt, konvertiert und zeichnet Video- und Audiodatenströme auf und dient zahlreichen Anwendungen als Basis, etwa Googles Chrome, VLC oder Mplayer. Man habe Ffmpeg zunächst unter Zuhilfenahme von 500 Cores mit einer einfachen Sammlung von bekannten Mplayer-Sample-Files und simplen Mutationsalgorithmen beworfen und sei dann zu "komplexeren und effektiveren Mutationsmethoden" übergegangen.

In den zwei Jahren ihrer Arbeit habe das Projekt mehr als 1000 Bugfixes erhalten, einige von ihnen Security-bezogen. Das habe die Robustheit und Sicherheit von Ffmpeg deutlich gestärkt. Zu den gefundenen Fehlern gehörten laut Blogeintrag vor allem:


NULL pointer dereferences, 
Invalid pointer arithmetic leading to SIGSEGV due to unmapped memory access, 
Out-of-bounds reads and writes to stack, heap and static-based arrays, 
Invalid free() calls, 
Double free() calls over the same pointer, 
Division errors, 
Assertion failures, 
Use of uninitialized memory. 

Zugleich haben sie mit den Maintainern von Libav, einem Ffmpeg-Fork, kooperiert, so dass nun beide Projekte eine ähnliche Stabilität aufweisen. Die Libav habe zwar erst 413 Patches erhalten, hole aber auf. Die Ingenieure wollen auch zukünftig mit Ffmpeg und Libav zusamenarbeiten, erklären die Projekte für "fuzz clean", raten aber dazu, keine unvertrauten Inhalte abzuspielen und falls doch, entsprechende Sicherheitsmaßnahmen zu ergreifen.

Ähnliche Artikel

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.