Mozilla si affida al machine learning per ottimizzare la revisione delle vulnerabilità. Gli ingegneri della non-profit che cura lo sviluppo di Firefox hanno pubblicato su Github il codice di Bugbug, uno strumento open source che si occupa di assegnare le priorità alle centinaia di segnalazioni che ogni giorno vengono fatte dagli utenti di tutto il mondo. Normalmente, il team di Mozilla che si occupa degli aspetti di sicurezza divide queste indicazioni (che possono riguardare anche la richiesta di nuove funzionalità) in due gruppi: prodotti (Firefox, Thunderbird e così via) e componenti, come per esempio il lettore di Pdf integrato nel browser. Fino ad oggi, questa catalogazione, nota come triage, è risultata fruttifera, malgrado il lavoro fosse fatto sostanzialmente a mano da sviluppatori e volontari.

“Purtroppo, su larga scala il processo non ingrana correttamente”, hanno spiegato in un blog post Marco Castelluccio e Sylvestre Ledru. Ecco quindi che la società ha deciso di creare uno strumento apposito che, grazie al machine learning, etichetta automaticamente i bug come prodotto o componente. “Portando più velocemente agli occhi dei responsabili le vulnerabilità, speriamo di diminuire il tempo richiesto per risolvere i problemi”.

Bugbug nasce da un progetto analogo che, sfruttando ancora l’intelligenza artificiale, è in grado di capire quando una segnalazione riguarda la richiesta di una nuova funzionalità oppure un report di sicurezza. Per “addestrare” il modello di machine learning, Mozilla ha fatto ricorso ai dati riguardanti due decenni di revisioni delle falle, anche se l’azienda si è concentrata soprattutto sugli ultimi due anni, dando in pasto all’algoritmo le informazioni su 100mila bachi.

Questo perché, su 396 componenti inclusi nelle segnalazioni, ben 225 si sono contraddistinti per avere più di 49 falle. “Abbiamo quindi deciso di restringere il raggio d’azione dello strumento ai componenti con un numero di vulnerabilità pari ad almeno l’un per cento di quelle riguardanti il componente più grande”. Per allenare il modello servono circa 40 minuti su una macchina con processore a sei core e 32 GB di memoria.

Il tempo di valutazione, però, è nell’ordine dei millisecondi e Mozilla ha deciso di impostare un livello di fiducia del 60 per cento, che finora ha riportato una precisione superiore all’80 per cento. Il numero di falsi positivi è stato quindi molto basso. La società ha ora in mente di utilizzare il machine learning anche in altre aree, come l’identificazione di segnalazioni doppie, e di ampliare l’applicazione di Bugbug anche ad altri prodotti diversi da Firefox.