On 06/08/21 22:09, rootkit wrote:
> il salt non è segreto è salvato insieme all'hash della password.
> conoscerlo non aiuta minimamente un brute force.
Diciamo che non è del tutto vero.
Prima chiariamogli la ragione del sale e perché il hash non basta.
I criminali hanno già i DB pieni di parole segrete più note ("qwerty",
"123456", "password",...) e quelle specifiche per un certo ambiente
geografico, politico o altro ("juventus", "forzamilan",...,
"beppegrillo" (scusate la parolaccia!), ecc. E per ciascuna di queste
parole o frasi "segrete", hanno (già pronti, generati in anticipo) gli
hash creati utilizzando tutti gli algoritmi principali.
Un'altra premessa di dovere (non direttamente correlata al problema del
quele si discute qui, ma in certi casi può anche essere rilevante) è che
spesso la gente utilizza le stesse credenziali per diversi servizi. Così
se uno gli scopre le loro credenziali per la casella di posta
elettronica, ci sono delle probabilità più che discrete che abbiano
scoperto come autenticarsi a tutti i servizi da loro sottoscritti. Anche
se ti può sembrare da stolti fare questo tipo di errore, ti assicuro che
in molti lo fanno, per semplice pigrizia (e si, anche stoltezza). Fin
qui, è chiaro? Procediamo...
Dunque, se un hash (tuo) corrisponde a un hash noto (generato da una
parola segreta nota (a te, ma troppo comune, utilizzata da molti, es.
"qwerty"), con un algoritmo noto (ai programmatori e/o sistemisti del
servizio al quale ti sei registrato, ma abbastanza facilmente
identificabile dai malintenzionati), questi ultimi hanno scoperto anche
il dato che volevano scoprire, perche la corrispondenza è 1:1 (si, ci
sono possibilità teoriche di collisione, ma sorvoliamole perché
irrilevanti ai fini di questa spiegazione). A patto che mettano le mani
sui dati hashati (e sul DB), ovviamente, o a una delle copie di questi,
ma è proprio di questo che stiamo parlando.
Ma, la parola segreta, con un sale scelto a caso (che può anche essere
pubblico) grazie allo stesso algoritmo di prima, ora genera un codice
hash-ato non comune e non prevedibile (perché frutto della scelta a
caso, appunto!), e non presente nelle basi di dati dei criminali (o
delle multinazionali canaglia o dei governi canaglia).
La tua parola segreta, con il sale noto, e l'algoritmo noto, producono
ogni volta lo stesso risultato che aiuta a te ad autenticarti e rende
difficile ai malintenzionati di carpire i tuoi dati segreti perché tu ce
la fai ad autenticarti senza che nessuno conosca la tua parola segreta
(tranne te). E da tener conto che non fanno più il hash della tua parola
segreta da sola (un dato), ma di una coppia di dati (la tua parola
segreta + il sale => due dati dati in pasto all'algoritmo di hashing).
Dunque, le tabelle del DB menzionato prima diventano inutili.
Dunque, se è vero (ed è vero!) che non è possibile (ma vedi la parentesi
di sotto) fare una scansione di un DB trafugato o "bucato", di (per
esempio) 60 milioni di utenti e scoprire che 20% di loro hanno
utilizzato una delle parole segrete "incriminate" scritte sopra, questo
non significa che siamo in una botte di ferro.
Ed è qui viene il (potenziale) problema. Se qualcuno vuole scoprire tra
quei 60 milioni le credenzali *TUE* (per motivi specifici, che ne so,
sei un dissidente politico, o uno scienziato che è sul punto di
brevettare una nuova cura contro il cancro, o un criminale, o sei un
giudice che indaga su qualche personaggio colluso con dei giri
"diversamente onesti", o sei un politico del quale bisogna scoprire i
panni sporchi per "convincerlo" a votare in un certo modo (cose per
niente fantapolitiche, già 8 anni fa Snowden le aveva esposte!), ci sono
- dunque - vari potenziali bersagli e varie motivazioni di quelli che
potrebbero prenderti come bersaglio, i potenziali vettori d'attacco sono
molteplici, e il lavoro di quella gentaglia non è sempre così difficile
come può sembrare.
Dunque, tu sei controllato, profilato, intercettato, per il solo fatto
che utilizzi certi dispositivi di comunicazione, navighi sui certi siti
(sportivi, politici, erotici, religiosi, gastronomici, ecc), il tuo
cellulare ti origlia continuamente perché lo hai autorizzato tu (se ci
fai il caso, non ti chiede mai: "Vuoi consentire l'accesso di questa app
al microfono durante il tuo utilizzo del nostro servizio?" Ti chiede
solo la metà di questa domanda. Le ragioni ti dovrebbero ormai essere
chiare. Ci sono aziende che sanno quante volte vai sul cesso e quanti
peli hai sul fondoschiena. La tua banca sa che la tua azienda naviga
nelle cattive acque e puoi socrdarti il mutuo per la casa. Sanno che
regolarmente compri quella mozarella alla diossina, mangi cibo
spazzatura, bevi, fumi, non sei iscritto in nessuna palestra, dormi poco
e irregolarmente (dati che valgono oro per compagnie assicurative!). E
tra tutto questo, diventa facile preconfezionare qualche collagamento in
rete, presentarlo a te ed essere sicuri che tu ci vai su quel sito (e
che ti registrerai)!
Benissimo (si fa per dire). Faccio perè qui un'altra piccola premessa,
come digressione (e correlata solo indirettamente e lateralmente), prima
di arrivare al punto. Se ti sei registrato su uno di questi siti (e il
sistema lo sa, perché ti segue), e sei stato abbastanza sprovveduto da
utilizzare le stesse credenziali, attaccano prima quel server (più
plausibile che quello abbia le politiche di sicurezza meno restrittive),
e può anche essere un server messo in piedi apposta come "esca", e il
gioco è fatto. Si potrebbe dire "Fine digressione" se non fosse che
alcuni grandi nomi dei servizi di rete registrano i tuoi dati *anche* in
chiaro magari su un DB diverso) e anche tutti i tuoi tentativi di
accesso, anche quelli errati (immagina che per distrazione tu abbia
digitato sul sito del tuo superfigomediasociale la chiave segreta che
usi per criptare la partizione di sistema del tuo computer di casa con
LUKS 2. Non sia mai che a questo supermegafigomediasociale si rivolgano
le forze dell'ordine (con moneta sonante) per ottenere informazione che
hanno sul tuo conto perché devono ispezionare il tuo computer. Magari tu
non sei un bersaglio tipico per le forze dell'ordine e te ne frega poco,
ma se tu fossi un dissidente politico in un regime dove è reato quello
che nel tuo paese non è reato, ragioneresti diversamente.
Comunque, per i grandi nomi della "economia di sorveglianza" una persona
è come un maiale: Non si butta via niente.
Sai dove voglio arrivare, dunque inutile che procedo. Vale la pena solo
menzionare che tutte queste credenziali "qualcuno" le memorizza, magari
non servono, e forse non serviranno mai, ma non si sa mai quando
potrebbero servire ed essere "monetizzate". Fine parentesi.
Supponiamo ora, però, che quello non è successo. Sei molto savio e
circospetto e non hai fatto nessuno di quegli errori. E non si tratta di
un tuo PC di casa ma di un servizio (o diciamo più di uno) ai quali
accedi regolarmente e che si trova fuori dalla giurisdizione italiana in
un paese che notoriamente risponde sempre picche alle forze dell'ordine
dei paesi europei. Queste devono, dunque, gettare la spugna? No.
ovviamente.
Se trovano un modo di bucare quel server lì (e la guerra cibernetica, ti
sarà noto, è in atto da decenni, 24 ore/24, 365 gg/anno), e se
carpiscono i tuoi dati hashati e il sale, creeranno una tabella di tutte
quelle parole "incriminate" di sopra, unite alle tue parole segrete che
hanno carpito da altre parti (per questo la mia premessa di sopra che ho
detto correlata solo lateralmente, ma adesso dovrebbe essere chiaro che
è, eccome, correlata) con il tuo sale e cercheranno di ricavare la tua
parola segreta (utilizzando la forza bruta!). Per potersi poi collegare
a volontà (e a tua insaputa) a quel servizio. Di conseguenza: Se
utilizzare la parola "qwerty" o "123456" è stato il tuo unico errore che
hai fatto, quell'errore ti potrebbe comunque costare caro.
Ora devo anche scrivere la parentesi promessa sopra: Non darei per
scontato che la cosa non sia possibile fare (e che non sia fatta
regolarmente) anche sui dati con 60 milioni di record per 60 milioni di
utenti. Quanta potenza di calcolo ci potrebbe volere? E' sufficente
qualla delle botnet gestite dai criminali? O, per esmepio, comprando una
certa potenza di calcolo su AWS o un'altra "nuvola"? Non lo so, non ho
la minima idea (e non ho energie per cervellare a quest'ora), è solo una
congettura che non me la sento di escludere.
Per questo ripeto: Non sei mai in una botte di ferro. E non dare mai
niente per socntato. MAI!
Scusate, sono arrivato alla fine del messaggio, ma sono troppo cotto per
rileggerlo. Ci saranno di sicuro errori, ma vi chiedo di non
rinfacciarmeli. Vado a nanna, se no Google registrerà che dormo poco, e
quando avranno smantellato l'INPS e arrivano le assicurazioni amerciane
sono fregato. :-P