Quanto vale una vulnerabilità?

Leggo con preoccupazione la notizia della nascita di un portale per la compravendita di vulnerabilità. Vi caldamente invito a leggere la press release relativa alla nascita di questo portale. Si tratta di un portale per la vendita di vulnerabilità al migliore offerente. Intorno a questo concetto è stato costruito un castello sulla “ricerca” e la “giusta remunerazione” veramente allucinante, purtroppo ripreso da più parti, che serve solo per offuscare l’idea di fondo di questo sito, ovvero quella del ricatto legittimato dal mercato: o “compri” la vulnerabilità che ho trovato, o la vendo a qualcun’altro.

Prima di tutto, il sito non serve a vendere “ricerca di sicurezza”: serve a vendere vulnerabilità. La caccia alle vulnerabilità nei prodotti non è ricerca, non più di quanto lo sia la ricerca di funghi. Può essere ricerca la scoperta di nuove metodologie di attacco: la scoperta del cross site scripting, ad esempio, è ricerca, almeno in un senso molto ampio del termine. Leggere il codice di un programma cercando errori non lo è. Può essere un’attività, anche un lavoro, e capisco il desiderio di essere pagati per farlo. Tuttavia, non trovo in alcun modo corretto, nè legittimo, fare un lavoro non richiesto e poi pretendere di essere pagati. Potrei paragonarlo al lavavetri che ti lava il vetro anche quando gli dici di no, e vuole ciononostante essere pagato, ma farei un torto ai lavavetri, perché almeno loro sono in parte giustificati da una situazione di indigenza. Il cacciatore di vulnerabilità ha invece di solito la pretesa di essere anche un buon informatico, e quindi dovrebbe essere in grado di trovarsi un lavoro altrimenti. Al potenziale utente del portale invece piace quel tipo di attività, gli spiace che nessuno la paghi, e vuole trovare un modo per farsi pagare ciononostante. La press release arriva addirittura a questa affermazione: “Our intention is that the marketplace facility on WSLabi will enable security researchers to get a fair price for their findings and ensure that they will no longer be forced to give them away for free or sell them to cyber-criminals.”. Capito? Il povero “ricercatore” è costretto a vendere le vulnerabilità ai criminali…

Ma veniamo al concetto di asta, che è alla base del portale. Io non ho dubbi: se ci deve essere un compratore per una vulnerabilità, quello deve essere lo sviluppatore. Esiste un’altra alternativa, che è la full disclosure, che ha uno scopo preciso, ovvero forzare lo sviluppatore ad affrontare i problemi. Se lo sviluppatore gestisce bene le segnalazioni, non c’è neppure bisogno della full disclosure. Ma un’asta mette in competizione lo sviluppatore con il criminale. Il valore di una vulnerabilità di Windows per un delinquente a caccia di siti può decidere di pagare un prezzo alto per una vulnerabilità. Quello che dice il nostro bel portale è che è giusto che il prezzo sia fissato dalla criminalità.

Naturalmente, il motivo per cui un simile portale può anche solo proporsi è che ormai qualsiasi  qualsiasi cosa che profumi anche solo lontanamente di “mercato” acquisisce una legittimazione immediata, che deve poi essere eventualmente messa in discussione: nessun concetto è al momento intoccabile come quello del libero mercato. Ma per me vendere vulnerabilità su quel portale è la stessa attività di una persona che, non richiesta, ne segue un’altra per scoprire se ha un amante, proponendogli di comprare l’informazione altrimenti la venderà al coniuge. Dalle mie parti si chiama ricatto.

Posted in Sicurezza, Varie | Comments Off on Quanto vale una vulnerabilità?

Ancora sulla virtualizzazione

Ultimamente si discute molto dei rischi della virtualizzazione. La cosa curiosa è che la virtualizzazione viene presentata come una novità. Di fatto, dopo i primi calcolatori, la virtualizzazione era una funzionalità normale dei mainframe. È stata la diffusione dei pc a metterla in discussione, seguita da quella dei server dipartimentali, con un periodo in cui si è cercato di trasferire la maggior capacità di calcolo possibile in periferia. Poi, ci si è resi conto che si stava perdendo il controllo; anche grazie alle migliorate tecnologie di rete, si è riportato il più possibile al centro (consolidamento) per poi tornare nuovamente alla virtualizzazione. Quando uno dice i cicli…

Comunque sia, si discute dei rischi introdotti dalla virtualizzazione. È bene che se ne discuta, perché troppo spesso le “nuove” tecnologie sono state introdotte senza che se ne discutesse, salvo doversi rammaricare in seguito: pochi miglioramenti all’inizio avrebbero evitato molti problemi nel seguito.  Oltre ai problemi più comunemente discussi, credo che valga la pena di sottolineare due ulteriori problemi che, se non trascurati, certamente sono trattati con minore attenzione o enfasi. Il primo riguarda i dati. I dati critici alla fine si troveranno su una qualche macchina virtuale; la compromissione di quella macchina virtuale dà accesso ai dati. Non è di grande consolazione sapere che non si è riuscita a compromettere la macchina reale: se quello che interessa sono i dati, la macchina virtuale è più che sufficiente. Quindi, benché la virtualizzazione rappresenti un meccanismo di segregazione accettabile (per alcuni aspetti può addirittura essere migliore di una separazione fra macchine fisiche), la messa in sicurezza delle singole macchine virtuali non deve per questo essere trascurata.

Il secondo problema è che la compromissione di una macchina reale comporta la compromissione di molte macchine virtuali. Questo rientra maggiormente nei canoni di quanto generalmente discusso (vulnerabilità dell’hypervisor e del sistema di amministrazione), ma vale la pena di sottolineare un punto in particolare: alcuni tipi di vulnerabilità dei processori, che possono essere sfruttate da processi utente, potrebbero essere sfruttabili anche da processi  della macchina virtuale. Questo permetterebbe di aggirare completamente i controlli dell’hypervisor. Con l’introduzione di un supporto specifico per la virtualizzazione nei processori, ci possiamo aspettare un’ulteriore aumento nella complessità dei processori, e quindi un possibile aumento dei difetti e delle vulnerabilità. Si tratta di un problema ben diverso da quello più ampiamente pubblicizzato relativo a Blue Pill e simili: questi sono rootkit che partono dalla macchina reale e sfruttano le funzionalità di virtualizzazione per nascondersi. Ben diverso è partire da una macchina virtuale e sfruttare difetti del processore per aggirare protezioni e hypervisor, per assumere il controllo della macchina reale.

Posted in Sicurezza | Comments Off on Ancora sulla virtualizzazione

Ancora voto elettronico (poi smetto, forse…)

Questo articolo affronta il problema forse di più difficile soluzione per il voto elettronico, e cioè quello dei possibili rapporti fra i diversi ruoli che, se indipendenti, nel complesso dovrebbero garantire la correttezza dei sistemi e delle operazioni di voto. Mentre in un modello le collusioni sono gestite come semplici ipotesi (“non più di due soggetti…”) nella realtà le cose sono più complicate, e assai meno definite. ad esempio, non è assolutamente detto che le persone citate nell’articolo abbiano materialmente agito in modo da falsare le elezioni (il che è ben diverso dall’agire per favorire un’azienda). Magari però l’hanno fatto, o la loro attività ha favorito qualcun altro che l’ha fatto. Magari le elezioni sono state in qualche caso falsate (dopo le ultime presidenziali USA c’è stata una lunga coda di polemiche sui risultati ad esempio in Florida), o magari no; il solo sospetto che sia stato possibile è un danno non da poco per la democrazia.

Ed ora torniamo in Italia, e chiediamoci se qui da noi intrecci fra politica, aziende fornitrici e organismi di controllo sarebbero possibili… 😉 Non dimentichiamoci che la posta in palio può essere vincere le elezioni quando altrimenti sarebbero perse.

Torniamo poi alle ultime elezioni politiche italiane, ai dubbi sollevati ad un certo punto, e a come questi dubbi sono stati affrontati. Descrivendo le modalità di trasmissione dei conteggi dalle sezioni e le modalità con cui sono state calcolate le somme complessive, i cittadini sono stati tranquillizzati su di una ragionevole regolarità delle operazioni di conteggio. Questa stessa operazione non sarebbe certamente stata possibile se il conteggio fosse stato automatizzato, perché i cittadini non avrebbero potuto realmente “comprendere” cosa era successo, corretto o scorretto che fosse. Né si sarebbero fugati i sospetti se fosse poi saltata fuori qualche ambiguità simile a quelle rilevate negli USA. Questo perché, naturalmente, in un processo del mondo reale, critico come quello del voto, giocano molti altri fattori oltre alla procedura utilizzata, e l’adeguatezza di una procedura non può essere ridotto alla correttezza di un modello matematico. Correttezza e modello che, oltretutto, sono ancora da trovare.

Posted in Sicurezza, Varie | Comments Off on Ancora voto elettronico (poi smetto, forse…)