Il bug hunter è una figura professionale che si occupa di web security, aiuta le aziende a difendersi dagli attacchi informatici. La professione di bug hunter richiede una buona dose di conoscenze informatiche, esperienza e passione.
Vediamo nello specifico di cosa si occupa un bug hunter e quali sono vantaggi e svantaggi di questa professione.
Il bug hunter si occupa della sicurezza informatica di siti, domini e web app di proprietà di aziende e istituzioni. Svolgere l’attività di bug hunter è consentito con l’autorizzazione da parte delle aziende attraverso programmi di bug bounty, in cui sono stabilite le regole da seguire, i domini autorizzati e le tipologie di vulnerabilità da trovare.
Il bug hunter, segnala alle aziende tramite un report dettagliato una o più minacce di sicurezza, e in cambio riceve vari benefit che possono consistere in premi, regali, gadget vari e ricompense in denaro in proporzione alla gravità del tipo di bug segnalato.
Come diventare bug hunter
Per intraprendere una professione di questo tipo è necessario avere seguito un percorso di studi in informatica, conseguito quindi le necessarie certificazioni attraverso corsi di specializzazione. Coltivare interesse per la sicurezza informatica, leggere libri sull’argomento, aggiornarsi di continuo tramite la consultazione di riviste online specializzate e documentarsi sul web circa l’attività svolta da altri bug hunter esperti come ad esempio Touseef Gul. Tra le caratteristiche personali necessarie per svolgere la professione di bug hunter vi è certamente la pazienza. Possono passare infatti giorni o anche settimane prima di riuscire a trovare un bug di sicurezza.
Le competenze dell’bug hunter
Tra le competenze necessarie per svolgere l’attività di bug huter vi è una conoscenza approfondita dei protocolli di rete TCP/IP, dei meccanismi alla base dell’architettura client/server e dei principi della crittografia. Bisogna conosce inoltre i linguaggi di programmazione come ad esempio Java, C o Python.
Inoltre è necessaria anche la conoscenza delle principali tecnologie per la creazione di applicazioni front-end lato client, come ad esempio Javascript, Jquery, Angularjs, ReactJs, Android, Apple e dei framework per realizzare le applicazioni back-end lato server come per esempio Spring, Nodejs e Django.
Per testare le proprie abilità si possono utilizzare varie piattaforme che offrono programmi di vulnerabilità, tra cui citiamo HackerOne e Bugcrowd.
Come si svolge l’attività di un bug hunter
L’attività di bug hunting si articola in più fasi. Si inizia con una ricerca degli asset critici appartenenti all’azienda. Questa fase può durare anche giorni. Si passa poi ad una fase ancora più impegnativa relativa alla ricerca di errori e vulnerabilità informatiche. Qui bisogna ragionare fuori dagli schemi con il tentativo di far eseguire all’applicazione operazioni non desiderate o non ipotizzate dagli sviluppatori della stessa.
Una volta individuato il bug, si deve redigere un report dettagliato da inviare al team di sicurezza articolato in sezioni:
- il titolo, che descrive sinteticamente il bug e il dominio su cui è stato individuato;
- l’introduzione che approfondisce il tipo di bug e la causa per cui esso è presente sul dominio;
- le fasi da seguire per riprodurre il problema da parte del team di sicurezza, dove è possibile includere anche immagini o video per semplificare il loro lavoro, specie se si tratta di un bug complesso;
- lo scenario di attacco che deve riassume l’impatto del bug e come l’hacker potrebbe accedere e sfruttare i dati degli utenti.
- i consigli che illustrano una possibile risoluzione del problema.
Vantaggi e svantaggi del bug hunting
Tra i vantaggi di questa professione possiamo includere il confronto stimolante con i team di sicurezza di grandissime aziende con cui ci si scambiano messaggi; l’aggiornamento costante attraverso i bug scoperti da altri bug hunting; la possibilità di un guadagno economico.
Per quanto riguarda gli svantaggi vi è l’eventualità che un report inviato possa essere considerato un duplicato, perché un altro bug hunter ha già trovato il bug in questione. Questo non deve assolutamente scoraggiare perché se si è riusciti a trovare comunque una falla probabilmente ve ne possono essere delle altre. Un secondo aspetto riguarda i lunghi tempi di attesa che alcune aziende impiegano nel dare una risposta.