Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca
Banner Ransomfeed 970x120 1
320x100 Itcentric
Il Lato Oscuro della Crittografia: Quando Gli Algoritmi Ti Tradiscono

Il Lato Oscuro della Crittografia: Quando Gli Algoritmi Ti Tradiscono

Matteo Brandi : 3 Settembre 2024 22:22

I fallimenti crittografici (Cryptographic Failures), sono un problema maledettamente serio, tanto da essere uno dei OWASP TOP 10 nella posizione A2, scalando una posizione dal 2017 (qui il sito ufficiale). Se pensi che tutti i tuoi dati che transitano in rete o che sono conservati nei server sono (o dovrebbero essere) crittografati, capisci che un fallimento aprirebbe scenari catastrofici, ma sento arrivare la domanda…come possono accadere?

Se fossero storie…sarebbero state scritte da Edgar Allan Poe…

I principali motivi di fallimento di un algoritmo crittografico sono :

  1. implementazione vulnerabile
  2. utilizzo di algoritmi deboli 
  3. debolezza nella generazione delle chiavi

Banner 600x900 Betti Rha Cybersecurity Awareness

Cybersecurity Awareness per la tua azienda? Scopri BETTI RHC!

Sei un'azienda innovativa, che crede nella diffusione di concetti attraverso metodi "non convenzionali"? 
Red hot cyber ha sviluppato da diversi anni una Graphic Novel, l'unica nel suo genere nel mondo, che consente di formare i dipendenti sulla sicurezza informatica attraverso la lettura di un fumetto.
Scopri di più sul corso a fumetti di Red Hot Cyber. Contattaci tramite WhatsApp al numero 375 593 1011 per richiedere ulteriori informazioni oppure alla casella di posta [email protected]


Supporta Red Hot Cyber attraverso: 

  1. L'acquisto del fumetto sul Cybersecurity Awareness
  2. Ascoltando i nostri Podcast
  3. Seguendo RHC su WhatsApp
  4. Seguendo RHC su Telegram
  5. Scarica gratuitamente “Byte The Silence”, il fumetto sul Cyberbullismo di Red Hot Cyber

Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì.

Seguimi in una storia di terrore crittografico: Heartbleed

Fallimenti Crittografici: HEARTBLEED

Nel 2014, fu scoperta una vulnerabilità in OpenSSL, una libreria molto utilizzata in quanto progetto Open Source per aiutare l’implementazione di  SSL/TLS (il famoso lucchetto in alto a sinistra nel Browser per esempio) nelle comunicazione via internet rendendole crittografate e quindi più sicure.
Questa vulnerabilità sconvolse il mondo di internet: permetteva agli attaccanti di leggere porzioni di memoria del server, potenzialmente esponendo chiavi private, nomi utente, password e altri dati sensibili. 

Un esempio di fallimento crittografico che ha avuto conseguenze disastrose.

Questa falla fu introdotta nel 2012 (quindi è stata attiva per circa 2 anni) nella versione 1.0.1 della libreria insieme all’estensione Heartbeat. Vediamo di capirci qualcosa.

La nuova funzionalità introdotta, Heartbeat, faceva una cosa semplice: verificava che la connessione SSL/TLS fosse ancora attiva. Come lo faceva?

Il client mandava un messaggio Heartbeat contenente dei dati specificandone la dimensione al server e questo rispondeva al cliente con gli stessi dati, specificandone a sua volta la dimensione.

Tutto molto lineare, ma allora il problema che scatenò il panico mondiale dove sta?

Nei dettagli…Non avevano previsto di controllare che la dimensione dei dati dichiarata nel messaggio heartbeat fosse uguale a quella dei dati inviati.

Mandando per esempio 1 byte di dati ma dichiarandone 200, il server rispondeva con il byte di dati inviato e 199 byte di dati presi dalle celle di memoria adiacenti al fine di arrivare a 200 byte. Simpatico vero? In questo modo il server avrebbe potuto inviare qualsiasi tipo di dato: password, dati personali, chiavi crittografiche etc.etc.

Comunque questa storia ha un lieto fine: una volta scoperto fu prontamente risolto.

Quando il sale serve…sulle password

Cambiando decisamente paradigma, passiamo da una storia dell’orrore di fallimenti crittografici a questioni di cucina: benché esista il detto “troppo salato si butta, non salato si mangia” il sale crittografico sulle password serve. Non metterlo esporrebbe dati sensibili come le password a vulnerabilità crittografiche come l’attacco con Rainbow Table. Ma andiamo per ordine.

Gli hash. Oggi il 99,99% dei salvataggi di una password avviene sotto forma di hash (per saperne di più c’è l’articolo del nostro Davide Cavallini qui. Con la speranza che il nostro Davide non me ne voglia, ne do una definizione in campo gastronomico:  immagina di avere una pietanza (la password) che inserisci in un calderone (la funzione hash). Da questo calderone esce una pozione unica (l’hash), che rappresenta la tua pietanza in modo unico. Le caratteristiche di questa pozione sono:

  1. anche un piccolo cambiamento nella pietanza cambia completamente la pozione.
  2. la stessa chiave produce sempre la stessa pozione
  3. è impossibile risalire alla chiave originale dalla pozione
  4. è molto difficile trovare due pietanze diverse che producano la stessa pozione.

Gli arcobaleni pericolosi. Sfortunatamente oggi esistono tabelle (chiamate Rainbow Tables) di hash di password già calcolati con cui tentare di decifrare quelli rubati. Quindi nessuno sforzo ed ad oggi il solo algoritmo di hashing risulta debole visti gli strumenti che ci sono in giro.

Salatura degli hash. Qui interviene il sale (in gergo tecnico si utilizza veramente la parola “salt” ossia sale in inglese quindi il paragone culinario mi è parso adeguato) : come è un potente conservante in campo alimentare, così lo è anche in campo crittografico. Ora, immagina di aggiungere un pizzico di sale alla tua chiave magica prima di metterla nel calderone. Questo rende la pozione ancora più unica. Ecco i vantaggi:

  • anche usando la stessa pietanza, le due pozioni saranno diverse grazie al sale
  • le rainbow tables diventano inutili perché ogni pozione richiede una combinazione unica di pietanza e sale

Quindi la salagione della password è un rafforzamento della difesa crittografica per cui il mancato utilizzo ne crea una vulnerabilità.

Una chiave debole

“Tra bit danzanti,segreti cifrati.Crittografia.” Questo antico componimento ci svela un grande segreto: la crittografia è intorno a noi, ci abbraccia e ci accompagna con la sua presenza discreta. Ma quando ci sono dei fallimenti crittografici? Hai mai apposto una firma digitale? Se lo hai fatto, hai usato un modalità crittografica chiamata crittografia asimmetrica. Hai firmato il documento cifrandolo con la tua chiave privata. Di questa chiave ne esiste una derivata chiamata chiave pubblica con la quale, in quanto pubblica, chiunque potrà decifrare il documento e quindi verificare che la firma sia tua.

Anche se la chiave privata è correlata alla chiave pubblica, da questa non si può ricavare, a meno che
Gli algoritmi utilizzabili per la generazione dell chiavi e porre in essere la crittografia asimmetrica, sono di pubblico dominio, quindi non c’è alcun segreto.

Dove sta la forza allora se si conosce il metodo di cifratura?? La forza sta nelle chiavi.

Tutta l’architettura si basa sullo sforzo computazionale esagerato sia in termini di energia che di tempo che servirebbe per trovare la chiave privata da quella pubblica. Ammesso che ci volessero 3.000 anni (ma sono molti di più) per trovare la chiave privata e quindi falsificare la tua firma…che senso avrebbe?

Ma potevo non raccontarti una storia sui fallimenti crittografici? Se hai letto i miei precedenti articoli ormai mi conosci…

C’era una volta un matematico appassionato di sfide intellettuali e di enigmi crittografici viveva in una piccola casa ai margini di un bosco, lontano dai clamori della città, circondato da libri polverosi e fogli di carta pieni di equazioni. Aveva sempre sognato di affrontare l’algoritmo RSA nonostante la mancanza di strumenti moderni, possedeva una mente acuta e una passione incrollabile per la matematica.

Era affascinato dalla possibilità di creare un sistema di crittografia sicuro basato solo sulla teoria dei numeri e sui calcoli matematici. Decise di mettersi alla prova e di implementare l’algoritmo RSA con carta e penna. Si sedette al suo tavolo, prese un foglio di carta bianca e iniziò a scrivere con il suo fidato pennino.

Come prima scelse due numeri primi casuali che chiamò P e Q. P= 5 e Q = 17. Fatta questa scelta, calcolò il parametro n dato dalla moltiplicazione di P e Q n = P ∙ Q = 5 ∙ 17 = 85. Il parametro n, quindi 85,sarà il modulo con cui lavorerà. Il secondo parametro che scaturisce dalla scelta di P e Q lo calcolò così: z = (P-1) ∙ (Q-1) = 4 ∙ 16 = 64 . z è il numero dei numeri coprimi relativi al modulo 85. Ci sono 64 numeri per cui se divido 85 per uno di questi, non ottengo un numero intero.

Generazione delle chiavi. Doveva scegliere un numero, che indicò con e,  tale che fosse coprimo rispetto a z ed inferiore a 85. Scelse 5 visto che che se divideva 64 per 5 non otteneva un numero intero ed era inferiore ad 85 quindi e=5. Aveva generato la prima chiave (privata) che era Kpriv = (5,85) !! Adesso doveva calcolare la chiave pubblica. Doveva calcolare il numero d tale che d ∙ e = 1mod (85). Significa che la moltiplicazione di d per e doveva essere un multiplo di 64 più uno. Il primo multiplo di 64  più che trovò fu  65. Lo divise per 5 e trovo 13. Quindi: d = 13.

Ecco la chiave pubblica Kpub = (d,n) = (13, 85) !!!

Visti i numeri in gioco, si capisce benissimo che con un calcolatore automatico, a forza di prova, può essere trovata la chiave privata da quella pubblica vista la sua debolezza. Quindi un algoritmo crittografico valido può essere reso insicuro da una chiave eccessivamente debole.


Immagine del sitoMatteo Brandi
Imprenditore Digitale, Cyber Security Enthusiast. Certificato TCM Security Pratical Network Penetration Tester e CompTIA Security+. Con la sua attività aiuta Aziende e PMI del nostro paese a difendersi dalle minacce informatiche. Membro del Gruppo Hackerhood di Red Hot Cyber.

Lista degli articoli

Articoli in evidenza

Immagine del sito
RMPocalypse: Un bug critico in AMD SEV-SNP minaccia la sicurezza del cloud
Di Redazione RHC - 13/10/2025

È stata identificata una vulnerabilità critica nell’architettura di sicurezza hardware AMD SEV-SNP, che impatta i principali provider cloud (AWS, Microsoft Azure e Google Cloud). Tale bug consente...

Immagine del sito
Un Cyber Meme Vale Più di Mille Slide! E ora Vi spieghiamo il perché
Di Redazione RHC - 13/10/2025

Nel mondo della sicurezza informatica, dove ogni parola pesa e ogni concetto può diventare complesso, a volte basta un’immagine per dire tutto. Un meme, con la sua ironia tagliente e goliardica e l...

Immagine del sito
Peter Samson, pioniere della cultura Hacker, ci fa ascoltare “Boards of Canada” su PDP-1
Di Redazione RHC - 12/10/2025

In un mondo in cui la musica è da tempo migrata verso lo streaming e le piattaforme digitali, un appassionato ha deciso di tornare indietro di sei decenni, a un’epoca in cui le melodie potevano anc...

Immagine del sito
Tra AI e paura Skynet insegna: “Costruiremo dei bunker prima di lanciare l’AGI”
Di Redazione RHC - 12/10/2025

La frase “Costruiremo sicuramente un bunker prima di lanciare l’AGI” dal quale prende spunto l’articolo, è stata attribuita a uno dei leader della Silicon Valley, anche se non è chiaro a chi...

Immagine del sito
Servizi RDP esposti nel mirino! Una botnet di 100.000 IP scandaglia la rete
Di Redazione RHC - 11/10/2025

Negli Stati Uniti, una vasta campagna coordinata tramite botnet sta prendendo di mira i servizi basati sul protocollo Remote Desktop Protocol (RDP). Un pericolo notevole è rappresentato dalla scala e...