Migliaia di fix per ffmpeg

Di - 5 March 2014 - in
Post image for Migliaia di fix per ffmpeg

Con più di mille fix a FFmpeg e più di quattrocento a Libav, Google ci dimostra quanto tiene sia alla sua sicurezza, sia a quella dei suoi utenti.

FFmpeg e Libav sono due soluzioni complete e cross-platform per registrare, convertire e diffondere in streaming audio e video. Queste due librerie sono state messe alla prova da ingeneri di Google mediante la tecnica del fuzzing.

Questa tecnica di test automatici su larga scala, consiste nel fornire ad un programma dati invalidi, inattesi o semplicemente casuali, per valutarne il comportamento in casi limite. Fa uso di una estesa suite di test di regressione lato client (FATE, inclusa nei sorgenti di FFmpeg) che aggrega e presenta i risultati lato server.

Nel caso di Google e di FFmpeg il fuzzing si è svolto in due fasi. La prima ha utilizzato 500 core per testare gli esempi provenienti da http://samples.mplayer.hu. La seconda ha fatto uso di ben 2000 core e di ulteriori casi di test per una copertura del codice più ampia. Sono stati utilzzati metodi per la mutazione dei dati di ingresso sempre più complessi e il primo risultato ottenuto con questa attività si è avuto il 24 gennaio del 2012, con un fix fornito da Michael Niedermayer. Per arrivare a questa pietra miliare sono state necessarie decine di iterazioni della suite di test e ogni iterazione ha prodotto meno crash della precedente. Così, dopo due anni di lavoro, FFmpeg include ora già più di mille correzioni di bug riconducibili alle seguenti categorie:

  1. Puntatori nulli;
  2. Aritmetica dei puntatori invalida (ossia accessi a zone di memoria non mappate e conseguenti SIGSEGV);
  3. Sbordamento, in lettura e scrittura, su stack, heap e array statici;
  4. Chiamate invalide a free();
  5. Doppie chiamate a free() sullo stesso puntatore;
  6. Errori di divisione;
  7. Assert fallite;
  8. Utilizzo di memoria non inizializzata.

Google ha già iniziato a lavorare anche su Libav, libreria “sorella” di FFmpeg, che ha già ottenuto più di 400 fix, ma il lavoro per arrivare a un completo fuzzing delle due librerie continua. Nel frattempo il consiglio di Google è di non utilizzare queste librerie in ambienti di produzione o di limitarne l’uso ad ambienti ben protetti!

Fonti: Google Online Security Blog

Leave a Reply

Marco Buschini Articolo scritto da

Da sempre appassionato di informatica e di scrittura fonde queste due passioni collaborando con Engeene. L’attuale crisi economica lo condanna ad essere attualmente in cerca di occupazione stabile.

Contatta l'autore

Previous post:

Next post: