La segretezza è sicurezza?

Prima di cominciare con il post vorrei dare il mio benvenuto ufficiale ad Andrea e Agnese che sono entrati a far parte ufficialmente del team di reefbits.net. Non posso che augurarvi buon lavoro ;)

Ma ora iniziamo!

Oggi ho letto che è stata scoperta una falla di sicurezza nel protocollo alla base di skype.

In questo caso a dire il vero non si tratta di un vero e proprio problema di sicurezza, più che altro si tratta di un problema di privacy che (se sfruttato nel modo giusto) potrebbe tramutarsi anche in un problema di sicurezza.

La sicurezza (o presunta tale) di skype è data dal fatto che il suo funzionamento è  tutt’oggi segreto.

La scoperta di questi giorni (che oltretutto non è neanche nuova) ha dimostrato che con un piccolo script sia possibile risalire all’indirizzo IP e altre informazioni (si parla addirittura del fatto che si possa entrare in una NAT) in maniera semplice e rapida.

La riflessione che mi ha portato a fare questa vicenda non è tanto relativa a skype (un bug o una falla può capitare in qualsiasi software) quanto più a tutti i protocolli di comunicazione proprietari che molto spesso sono utilizzati da aziende che trattano dati sensibili. Il mio primo pensiero non può che andare alle banche.

A mio avviso il primo potenziale problema di sicurezza di un protocollo chiuso è proprio il fatto che sia chiuso.

Non sappiamo come i nostri dati escono dal computer, non sappiamo con chi il nostro computer comunica, non sappiamo cosa esce dal nostro computer, come verranno trattate le informazioni estratte e poi potrei continuare, ma mi fermo perchè dovrei dilungarmi troppo.

Poi un bel giorno salta fuori qualcuno (che sia un qualcuno di losco o qualcuno solamente curioso non ci è dato saperlo) che decide di dare una “sbirciatina” all’interno del meccanismo e magari scopre quanto sia facile risalire a informazioni sugli utilizzatori o quanto sia semplice manipolare le informazioni.

Non possiamo sapere quanto sia complesso un algoritmo dato che non possiamo vederlo. Per quanto ne sappiamo un protocollo qualsiasi potrebbe tranquillamente trasmettere in chiaro i nostri dati e il nostro ip.

Per fortuna esistono metodi (e persone) in grado di scoprire queste cose e farle venire alla luce.

Ma quando questi problemi vengono alla luce siamo finalmente al sicuro? Non si sa.

Non ci è dato sapere perchè il protocollo si comporta in quel modo (mal progettazione o motivazioni ben precise) e non ci è dato sapere se e quando verrà risolto.

Prendiamo ad esempio il caso skype che ho citato prima, la possibilità di risalire all’indirizzo ip di utente (ovviamente se l’utente è attualmente connesso) solo conoscendo il suo username era già emersa l’anno scorso, ma ad oggi il problema persiste.

Perchè non è stato corretto? Non ci è dato saperlo.

I vantaggi di utilizzare un protocollo di comunicazione aperto sono ad esempio la possibilità di sapere esattamente cosa fa e quindi quali dati escono dal nostro computer, dove vanno a finire e come vengono trattati.

Vi sembrano cose da poco? A me no.

Se pensiamo ad esempio alla comunicazione a livello aziendale, dove probabilmente le comunicazioni dovranno essere assolutamente riservate, la sicurezza che può dare un protocollo di cui se ne conosce il funzionamento non ha eguali.

Abbiamo innanzitutto la libertà di scelta, la libertà di scegliere il protocollo che possiede le caratteristiche di sicurezza che meglio si adattano alle nostre necessità.

A questo punto qualcuno dirà

Si ok, ma se tutti sanno come funziona allora sicuramente qualcuno potrebbe scoprire una falla e usarla a suo vantaggio.

Vero, ma in questo caso il vantaggio sta nel fatto che il protocollo è aperto e che sono molte di più le persone che lo controllano e lo sviluppano.

Pensiamo ad esempio ad un protocollo utilizzato anche da grosse aziende (magari anche nel campo dell’informatica) e immaginatevi un ipotetico scenario nel quale emerge una falla di sicurezza. Una grossa azienda che basa la propria comunicazione su questo protocollo cosa pensate che faccia? Che stia a guardare?

Se si trattasse di un protocollo chiuso si, ma se si tratta di un protocollo aperto no. Senza contare che una grossa azienda ha anche tutto l’interesse nel far si che la ricerca di falle o il miglioramento sia continuo. Meglio prevenire che curare.

Ma non solo, chiunque abbia interesse nella sicurezza di questo protocollo può metterci mano e cercare di risolvere il problema.

La soluzione arriverebbe nel giro di pochissimo tempo e non dopo tempi sconosciuti questo perchè non sarebbe solo una questione di offrire un buon prodotto ma sarebbero toccati gli interessi di molte persone/aziende.

A questo punto sorge spontanea la domanda

Ma quindi un protocollo aperto è per forza più sicuro di un protocollo chiuso?

Assolutamente no! Diciamo che la differenza si vede nel momento di emergenza. Finchè tutto funziona usare uno o usare l’altro fa poca differenza.

Ovviamente anche quando scegliamo protocolli aperti (l’intero discorso vale anche per i software) dobbiamo sapere cosa stiamo scegliendo. Aperto non è sinonimo di sicuro.

Non dobbiamo usare la tecnologia come fossimo delle entità senza capacità di pensiero. Chiediamoci sempre cosa stiamo facendo e cosa stiamo usando ;)

 

Leave a Reply