Con il passare del tempo, sempre più società hanno spostato le proprie attività online. Così come sono nate nuove aziende che operano esclusivamente nel campo digitale. Tutto ciò ha portato alla creazione di innumerevoli nuove applicazioni, software, programmi, giochi, servizi, che oggi vengono usati da miliardi di persone in tutto il pianeta.
Ovviamente la perfezione non esiste: tutti questi nuovi software e servizi vengono sviluppati da esseri umani. Motivo per il quale, spesso e volentieri, nascondono errori e bug di ogni genere. Al giorno d’oggi, i bug nella maggior parte dei casi creano problemi durante l’uso di un software complicando l’utilizzo da parte degli utenti.
In altri casi invece, alcuni bug possono diventare delle vulnerabilità di sicurezza e venire sfruttati da gruppi di hacker malintenzionati. In entrambi i casi però, i bug si rivelano come un costo per l’azienda: un danno economico, ma anche di immagine.
L’importanza dell’attività di bug hunting
Considerati tutti i problemi legati alla presenza dei bug nel software, diventa facile capire come mai le aziende investano molte risorse nel campo del bug hunting cioè sulla ricerca e risoluzione dei bug. Di base, ogni azienda che opera nel digitale dispone di un proprio team interno che si dedica al controllo qualità dei software e anche al processo di bug hunting.
Quasi sempre però ciò non basta: le aziende continuano comunque a rilasciare prodotti e servizi contenenti bug di vario genere al loro interno. Ecco perché sempre più aziende preferiscono affidarsi anche a persone esterne, come la figura dell’hacker etico oppure di un esperto di cybersecurity e programmazione, che si possono trovare sulle piattaforme di bug bounty.
I bug sono infatti onnipresenti: eliminarli del tutto è impossibile perché sono errori causati dagli stessi sviluppatori durante la scrittura del codice. Sarebbe un po’ come chiedere a uno studente di non commettere mai un singolo errore in un compito di matematica durante un intero anno scolastico: prima o poi chiunque sbaglia.
E visto il lungo periodo di tempo richiesto per lo sviluppo di un software, che viene portato avanti da dozzine se non centinaia di sviluppatori diversi, gli errori sono sempre dietro l’angolo. In media, viene stimato che ogni 1000 linee scritte di codice possano nascondere circa 15-50 bug diversi (a seconda del tipo di software su cui si sta lavorando e dell’esperienza dello sviluppatore).
Ovviamente, una grossa fetta di questi bug viene risolto durante le fasi di controllo qualità del prodotto e di bug hunting. Raramente sfuggono al controllo bug potenzialmente distruttivi, come il cosiddetto millennium bug quando fu scoperto prima degli anni duemila.
Quando un prodotto viene immesso sul mercato, quasi sicuramente conterrà solo una frazione di tutti gli errori compiuti durante la fase di scrittura del codice. Eppure, anche questi bug rimanenti possono rappresentare un problema per la stabilità di un software. O ancora peggio, possono rivelarsi delle vulnerabilità di sicurezza. Ecco perché si guarda alla filosofiaDevOps e DevSecOps.
I bug hunter sulle piattaforme di bug bounty
Ora è facile capire come mai le aziende preferiscono sempre investire sui processi di controllo qualità e di bug hunting.
Ogni potenziale errore potrebbe compromettere l’uso del software o servizio, creare danni d’immagine alla società e anche causare perdite economiche (come quando avvengono furti di dati sensibili).
Sempre più società scelgono quindi di provare anche le piattaforme di bug bounty per trovare nuovi esperti di cybersecurity, programmazione o anche hacker etici, che li possano aiutare nella fase di bug hunting. Le aziende mettono a disposizione delle ricompense per trovare i bug tramite i programmi di bug bounty su queste piattaforme, tra cui spicca Bugcrowd, la più famosa.
Ogni azienda può creare il proprio programma bug bounty per un motivo diverso e chiunque voglia partecipare deve seguire il regolamento. Per scoprire bug e vulnerabilità bisogna attenersi senza appello ad alcune disposizioni visto che si tratta di cercare bug in prodotti o servizi altrui e alcune delle procedure potrebbero anche coinvolgere attacchi informatici. Rispettando il regolamento non si corrono rischi legali: l’importante, infatti, è operare in modo responsabile.
Dopo aver individuato un bug o una vulnerabilità, la si può segnalare tramite il programma di bug bounty. Dopo aver controllato e validato la segnalazione, l’azienda procede con il pagamento della ricompensa. Di norma, ogni azienda decide l’importo da pagare a seconda della gravità del bug o della vulnerabilità individuati. Tutte le cifre messe “in palio” vengono chiaramente specificate fin dall’inizio nei termini generali del programma di bug bounty.