Bug bounty: essere pagati per dare la caccia ai Bug!
Quante volte ci è capitato di incappare in un bug durante l’utilizzo di qualche software? Sicuramente molte volte, e può sembrare strano ma ci sono attività conosciute come il bug bounty che promettono di ricompensare in termini di denaro chi riesce a trovare dei bug in alcuni software specifici. Può sembrare assurdo a prima volta, perchè mai qualcuno dovrebbe pagare per farsi segnalare i bug nel proprio software? Si può quasi sicuramente dire che nella maggior parte dei casi il motivo sta da ricercarsi nell’ambito della cybersecurity.
La cybersecurity è infatti un tema delicato, e che si sta trasformando in un tema delicatissimo negli ultimi anni. E’ un problema che riguarda tutti, dalle piccole attività a nazioni intere. Non si tratta più infatti di un problema legato alla tecnologia in sè, ma è diventato un problema legato anche all’essere umano.
Ecco spiegato il motivo per il quale aziende del calibro di Mozilla, Facebook, Yahoo!, Google, Reddit, e Microsoft, tra le altre, spingono su programmi di Bug Bounty, per spingere gli utenti a trovare bug nei loro software.
Qual è il nesso tra i bug e la cybersecurity?
Ovviamente è lecito domandarsi quale sia il nesso tra i bug e la cybersecurity. E’ presto detto: nella maggior parte dei casi, i bug sono causa diretta o indiretta di problemi nel codice stesso del software in oggetto, che possono causare vulnerabilità che potrebbero essere a loro volta utilizzate per creare degli exploit, andando così a minare la sicurezza del software stesso.
Ecco quindi che si inizia a percepire quanto complessa sia la catena di eventi dietro l’utilizzo di un exploit, e la linea di codice che ne permette l’utilizzo. Da qui, si deduce che l’obiettivo di campagne di Bug Bounty non è direttamente quello di risolvere al 100% tutti le vulnerabilità presenti in un sistema ma di ridurre il rischio di esposizione ad un cyber attacco.
Chiunque può essere un bug hunter? Esistono delle piattaforme per partecipare a questi programmi?
La risposta ad entrambe le domande è, ovviamente, si! Le aziende hanno veramente bisogno di gente che lavora a questo compito prettamente specifico, e il lavoro non finisce praticamente mai. E per facilitare le cose esistono diverse piattaforme che permettono di visionare e partecipare (a volte anche in modo “giocoso” presentando delle classifiche) come Bugcrowd.
Un esempio può essere il programa di bug bounty proposto da ExpressVPN. Quindi, perchè quest’azienda propone un’attività del genere? Molto probabilmente è legato a tematiche di sicurezza, è leggendone la proposta troviamo come spiegazione che ExpressVPN gestisce migliaia di server VPN e realizza applicazioni VPN multipiattaforma per tutti i principali sistemi operativi desktop e mobili, nonché router ed estensioni del browser.
Gestendo quindi migliaia di server e realizzando diverse applicazioni multipiattaforma, i bug che potrebbero essere utilizzati per attaccare l’azienda stessa potrebbero essere sull’ordine delle migliaia. Un’azienda che pubblica concorsi del genere di solito è molto fiduciosa sulla qualità del loro software e sa che trovare bug che includono vulnerabilità in questo caso potrebbe essere un’attività non da poco conto.
Ecco perchè i reward di solito sono abbastanza alti, ma è neccessario controllare bene cosa è accettato dal programma di bug bounty che si sta leggendo e cosa viene richiesto dall’azienda per revisionare ed eventualmente accettare l’operato. Un esempio di vulnerabilità accettate dal programma di bug bounty di ExpressVPN è:
- Accesso non autorizzato a un server VPN o esecuzione di codice in modalità remota
- Vulnerabilità nel nostro server VPN che provocano la perdita degli indirizzi IP reali dei client o la capacità di monitorare il traffico degli utenti
I requisiti minimi per l’invio di un bug scovato è quantomeno una prova dell’impatto sulla privacy degli utenti di ExpressVPN. Ciò richiederà una dimostrazione di accesso non autorizzato, esecuzione di codice remoto, perdita di indirizzi IP o la capacità di monitorare il traffico utente non crittografato (non crittografato VPN).
Bugcrowd offre un po’ di statistiche sul programma che si sta visionando. Per esempio, quello relativo a ExpressVPN offre tra i $150 e i $2,500 per vulnerabilità scoperta. Il periodo di review è di circa 1 giorno, e sono state fin’ora ricompensate 71 attività di bug bounty su questo programma, con un pagamento medio di $600.
La nascita del’espressione “bug bounty”
La prima (nota) attività di ricompensa sulla scoperta di bug pare essersi svolta nel 1983 per il sistema operativo Versatile Real-Time Executive (un sistema operativo Real Time adatto a System-On-Chip o a classici sistemi embedded su scheda). Chiunque avesse scovato e segnalato un bug avrebbe ricevuto in cambio un Maggiolino Volkswagen.
Bisogna aspettare però un decennio per vedere, per la prima volta, l’espressione “bug bounty” utilizzata ufficialmente. Siamo infatti nel 1995, quando Jarrett Ridlinghafer, un ingegnere del supporto tecnico presso Netscape Communications Corporation, coniò l’espressione “Bug Bounty”.
Ridlinghafer notò che Netscape avesse molti appassionati di prodotti, alcuni dei quali potevano anche essere considerati fanatici dei browser di Netscape. Ridlinghafer ha iniziato ad indagare sul fenomeno in modo più dettagliato, scoprendo che molti degli appassionati in questione erano in realtà ingegneri che stavano risolvendo i bug del prodotto da soli e pubblicando le correzioni o le soluzioni alternative, sia nei forum di notizie online che erano stati creati dal supporto tecnico di Netscape o sul sito Web non ufficiale “Netscape U-FAQ”, che elencava tutti i bug e le funzionalità noti del browser, nonché le istruzioni relative a soluzioni alternative e correzioni.