bug-sito

Come ti risolvo il bug: hacker al servizio delle aziende

Indice dei contenuti

Luca Ercoli e Daniele Vona

Dalla simulazione dell’Hacking Contest alla risoluzione di bug reali. Come un giovane White Hat ci ha aiutato a risolvere alcune vulnerabilità di un nostro sito web.


 
Per molti internet è percepito come un pericolo, quando si parla di hacker viene subito in mente l’immagine di un soggetto pronto a prelevare dati e informazioni sensibili e ad usarle a proprio vantaggio. Ma non è sempre così.

Al giorno d’oggi è difficile trovare un’applicazione o sito web privo di bug e un giovane hacker ci ha aiutato a rilevare delle anomalie in un nostro sito. Poteva prendere queste informazioni e usarle a proprio vantaggio ma non è stato così, da buon penetration tester le ha segnalate al nostro personale.

Non sempre gli hacker creano problemi, possono infatti aiutare la comunità o, come in questo caso, le aziende a tutelarsi.

Marco d'Itri

Abbiamo conosciuto Adbel Adim Oisfi durante l’hacking contest, è stato uno dei finalisti ed ha mostrato da subito una certa predisposizione all’argomento. Siamo stati entusiasti del suo aiuto e abbiamo deciso di mettergli a disposizione le nostre risorse di punta in tema di sicurezza: Marco d’Itri e Luca Ercoli; dopo lo scambio di email e la risoluzione delle falle di sicurezza, abbiamo pensato di realizzare un piccolo focus group insieme a Luca e Daniele Vona, per capire nel dettaglio la figura di pen-tester e l’etica hacker, che troppo spesso viene considerata come un qualcosa di negativo e di non collaborativo.

Il tuo lavoro di Ethical Hacker è mosso dalla passione verso il continuo studio sulle tecniche di attacco oppure sei interessato alle ricompense che le aziende offrono ai professionisti che scoprono falle di sicurezza nei loro sistemi?

Normalmente non lo faccio per ricompensa, ciò che mi spinge a fare questa attività è principalmente la voglia di conoscere più a fondo le metodologie utilizzare dagli hacker e gli strumenti impiegati nelle fasi di vulnerability e penetration testing.

Vi ho conosciuto tramite l’hacking contest, e dopo essermi registrato ai vostri servizi sono riuscito a scovare degli errori logici in una web application che utilizzate, decidendo così di segnalarvi questi bug.

Ti è mai capitato di divulgare pubblicamente i dettagli di una nuova vulnerabilità senza avvisare prima il fornitore?

No. Prima di una full disclousure invio sempre una segnalazione all’azienda che sviluppa il software affetto dal bug, anche se capita spesso di non ricevere risposta o che non applicano una patch ai problemi che evidenzio.

Relativamente a questo, che idea ti sei fatto?

Posso capire che come impatto sia forte. Qualcuno ti manda una mail dicendoti che i dati della tua azienda sono esposti al primo malintenzionato, è qualcosa di molto nefasto e la prima cosa a cui pensi è “cosa stai facendo? Perché vai a cercare sul mio sito? Cosa ti ha spinto a venire qua? Ci penso io alle mie informazioni.” È facile rispondere in questo modo ed è forte la reazione naturale che può venire.

Siamo stati molto entusiasti della tua segnalazione, crediamo nell’etica hacker e crediamo nella collaborazione. Secondo la tua esperienza, com’è il sentimento o atteggiamento delle aziende di oggi nei confronti della figura del penetration tester?

Secondo me  è un atteggiamento retrogrado, in un’epoca come questa pensare di non ascoltare il prossimo non è più pensabile, soprattutto quando viene a darti una consulenza a titolo gratuito o comunque senza chiederti niente, neanche un riconoscimento come ad esempio: “grazie per aver trovato questa vulnerabilità”. Secondo me è una lacuna, nella formazione di molti manager e in quella dei direttori di aziende.

L’hai fatto per un buon motivo, ma non hai il timore di aver fatto un attacco senza una liberatoria o una documentazione?

Sì, nel senso che mi rendo conto che non è il massimo come metodologia di penetration testing perché servirebbe sempre l’autorizzazione da parte dell’azienda, d’altra parte trovo che fino a quando non si va a creare un reale danno all’interno del servizio non si va a buttar giù il server o a toccare dati, il danno non sussiste. È chiaro che se si trova un punto di attacco e si va ad attaccare il database o si pubblica sulla rete il materiale si va a creare un danno all’azienda.

Mi aspettavo una risposta simile, una giusta visione per un “social hacking moderno”, stavo prendendo visione della parte relativa al contest e in particolare il discorso di Luca sulla passione che hai avuto… In questa situazione ti senti un hacker a tutti gli effetti, un white hat che si è messo al servizio di aziende e comunità?

Sì, nel senso che questa passione è diventata anche il mio lavoro. Sono cosciente del fatto che non posso fare azioni nel campo black hat in quanto se andassi a rendere pubblici i database delle aziende ne perderei a livello di immagine, inoltre, come dicevo, non l’ho mai fatto in quanto ritengo credo che alcuni atteggiamenti siano controproducenti. Già di base l’hacker ha una reputazione negativa, se poi si continua a portare avanti azioni dannose o inutili alla comunità, il ruolo dell’hacker viene trasportato ancor di più nella negatività e, soprattutto in Italia, non c’è un grande rapporto con le aziende.

Hai utilizzato strumenti open source come un vulnerability scanner o degli script fatti da te ad hoc per trovare queste vulnerabilità?

Quasi tutte quelle che ho trovato, sono frutto di un’analisi eseguita manualmente con un browser web, senza avvalermi di nessuno script. Le vulnerabilità che ho individuato erano di tipo “XSS” e “SQL Injection”, che vengono rilevate senza utilizzare altre applicazioni, almeno dalla mia esperienza. Trovo che i tool siano molto comodi nel momento in cui uno ha già trovato la vulnerabilità e vuole sfruttarla, ma cercare una falla di sicurezza tramite un programma automatizzato non è una cosa molto pratica ed efficace.

Mi hai detto di essere riuscito a sfruttare le vulnerabilità modificando le variabili presenti nelle URL e che il programmatore non è stato molto attento, che consigli ti senti di dare sempre in ambito alla sicurezza?

Sicuramente utilizzare un buon web application framework è fondamentale in quanto è in grado di identificare e bloccare tutti quei comportamenti dannosi derivati dall’inserimento, da parte dell’utente, di un input “malevolo”, vettore di attacchi molto pericolosi come l’esecuzione di codice arbitrario e l’inclusione di file remoti lato server. Consiglierei anche di fare una code review prima della pubblicazione di un nuovo servizio su internet e di utilizzare sempre delle best practice. Se non si usano query parametrizzate, per quanto si possa stare attenti, una fase di attacco può essere comunque trovata.

Spesso però questi tool sono fatti da aziende esterne a cui la società si affida in tutto e per tutto.

Questa è un’altra cosa che dal punto di vista della persona che segnala la vulnerabilità limita molto. Com’è capitato spesso, ho segnalato delle vulnerabilità ad aziende anche grandi il cui sviluppo informatico era delegato a una terza azienda e quindi mi rispondevano che non ne avevano la competenza.

Non ti sembra strano che non ti rispondano pur sapendo che una vulnerabilità del genere recherebbe un danno elevato? perché non spendere qualche soldo in una code review ed affidarsi ad esperti per un’analisi del codice? Voglio dire, come mai le aziende non fanno uno sforzo sapendo che poi una vulnerabilità potrebbe portare ad un danno maggiore?

Questa è un’ottima domanda, anch’io me la sono posta più di una volta. Un grosso problema è che chi gestisce questa tipologia di servizi non ha la competenza tecnica nel campo della sicurezza informatica per poter valutare effettivamente la pericolosità di un’informazione o di un problema che viene rilevato, d’altra parte mi chiedo spesso, soprattutto quando vengono fatte a titolo gratuito, perché non rispondono e perché non rimediano all’errore. A volte non rispondono ma risolvono il bug, altre non rispondono e lasciano tutto così com’è. Questo servizio rimane vulnerabile e magari lo è da anni…

Secondo te perché le aziende non rispondono? Cercavano un canale di comunicazione del bug più ufficiale e non hanno preso in considerazione una semplice mail?

Non saprei, più che altro perché quando segnalo la prima cosa che mi viene da fare è scrivere a “info@ nome del sito”, chiedendo se esiste un canale dove segnalare questo genere di cose. Il più delle volte non rispondono nemmeno a questa mail iniziale. Quando non rispondono, a volte provo a contattare tramite un contatto social, per arrivare a trovare il contatto della persona giusta.

Con la storia del contest, hai deciso di testare la nostra sicurezza. Una curiosità: analizzi anche il codice sorgente di software open source alla ricerca di vulnerabilità e cerchi di dare una mano alla community o ti limiti a verificare la sicurezza dei siti web?

Normalmente il mio interesse principale è il web, nel senso che cerco di analizzare web application e siti. Perlopiù mi capita di scaricare il sorgente di un plugin di WordPress e di CMS nuovi che attraggono la mia attenzione, effettuando una revisione del codice per identificare vulnerabilità e segnalarle agli sviluppatori. La sicurezza di programmi oppure di servizi di sistema non è il mio campo di specializzazione preferito, non è quello in cui voglio dedicare la mia attività professionale, piuttosto mi piacerebbe andare di più sul campo web.

Con l’hacking contest abbiamo potuto constatare che la maggior parte delle persone utilizza dei tool automatici e per questo poi non sono andati avanti nel progetto…

Trovare le vulnerabilità solo con un tool automatico non dico che è impossibile, perché non sarebbe vero, però è molto più difficile capire come funziona e trovare il punto di attacco, magari è proprio qui che si può lanciare il tool automatico.

Cosa consiglieresti alle persone che hanno svolto queste attività? Di non concentrarsi su un tool automatico e fare una code review manuale?

Esatto, lo consiglierei sia a quelle persone che si stanno cimentando in questo campo e sia a quelle aziende che hanno diverse tool che lanciano contro il proprio sito web o programmi per testare la sicurezza, che analizzano i report che vengono dati da questi tool e sistemano i relativi problemi. Chiaramente il tool ha la limitazione di essere solo un tool e di dare solo delle informazioni automatizzate. Inoltre, spesso e volentieri, il tool viene sviluppato da una persona e quindi ragiona solo come una persona e non come potrebbero ragionare milioni di individui.

Cosa consiglieresti ad una persona che vorrebbe addentrarsi nel mondo della sicurezza per diventare in futuro un white hat?

Sicuramente di partire da un approccio che è quello dello sviluppo in quanto, provare ad alterare un sito fatto in PHP è molto difficile, quindi occorre avere una base di programmazione. Oltre a questo provare a sviluppare un servizio e provare ad “hackerarselo” da soli è molto importante perché ti dà l’idea di vedere il servizio dalle due parti, sia dal punto di vista dello sviluppatore che dell’attaccante. Se si segnala una vulnerabilità e ti viene chiesto come sistemare questa vulnerabilità, è importante saperlo dire. Sul web ci sono infinite risorse per studiare questo campo, ci sono dai tutorial basilari fino ad arrivare a guide più professionali.

Quanto tempo fa e come hai iniziato ad occuparti di sicurezza informatica?

Non saprei, la mia formazione è stata un po’ scaglionata, ho iniziato caricando la solita distribuzione Linux, poi la cosa si è evoluta, mi piaceva poter capire come funzionava un servizio, e da lì la cosa è cresciuta, ho imparato diversi linguaggi di programmazione, tecniche di hacking partendo da quelle base, come tutorial fino ad andare avanti leggendo blog di gente che sviluppa e studia questo campo.

Credi che serva un’attitudine particolare o basta scaricare manuali per farlo?

Serve un’attitudine mentale, avere una mentalità legata al problem solving, avere un occhio veloce nel capire le informazioni e occorre conoscere l’inglese, bisogna sperimentare molto, ma credo sia una caratteristica comune di chi vuole imparare. Tuttavia si può imparare sul web, dipende molto da come ci si interfaccia e da quali disponibilità si hanno.

Come risulta evidente da questo focus group, non tutti gli hacker vengono per nuocere, si può ancora credere nella collaborazione e nella comunità. Abdel ne è la prova. Lo ringraziamo per il suo intervento, se volete saperne di più su questo argomento vi consigliamo di contattarlo sul sito Shielder.

 

CONDIVIDI SUI SOCIAL

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

6 + 1 =