Crittografia e Sicurezza Informativa

Introduzione

In questo approfondimento studiamo i principi della crittografia e sicurezza informatica. Analizzeremo i principali tipi di software malevolo e i virus digitali più famosi ed efficaci.

Cifratura

La crittografia permette di "nascondere" il contenuto di un messaggio a chi non è autorizzato a vederne il contenuto, ottenuta tramite tecniche di cifratura. Nella dimensione digitale, il "messaggio" cifrato può includere:

  • La navigazione di un sito
  • Un dato sensibile
  • Un’email
  • Un servizio di messaggistica
  • Una password, memorizzata in un file del file system.

In crittografia si utilizzano comunemente i nomi Alice, Bob ed Eve. Alice e Bob comunicano messaggi in modo protetto, mentre Eve (da "eavesdrop", origliare) cerca di carpirne il contenuto.

Assunzioni e Sicurezza

Si assume che Alice e Bob abbiano comunicazioni attraverso un canale pubblico accessibile ad Eve e che la tecnica di crittografia utilizzata sia nota. A essere ignota è la chiave di cifratura in uso.

Tipi di Cifratura

Cifratura a Sostituzione

La cifra a sostituzione sostituisce ciascuna lettera del messaggio "in chiaro" (plaintext) con un'altra lettera dell'alfabeto, secondo uno spostamento fisso. Ad esempio, con una chiave di 5, la lettera "A" viene sostituita con "F", "B" con "G". Questa tecnica, utilizzata storicamente da Giulio Cesare, è nota come Cifrario di Cesare.

L'applicazione di questo metodo nei sistemi moderni risulta debole contro gli attacchi statistici e brute-force.

Cifrari Polialfabetici

È possibile utilizzare più di una chiave nei cifrari a sostituzione, in questo caso si parla di cifrari polialfabetici. Si definisce un set di chiavi K, ad esempio K1, K2, K3, e K4. Ogni chiave applica una sostituzione equivalente al cifrario di Cesare.

Esempio di cifratura con chiavi multiple:

  • Messaggio in chiaro: “benvenuti”
  • Cifratura:
    • b → K1 → g
    • e → K2 → g
    • n → K3 → o
    • v → K4 → c
    • e → K1 → j
    • n → K2 → p
    • u → K3 → v
    • t → K4 → a
    • i → K1 → n
  • Text cifrato risultante: “ggocjpvan”.
Cifratura a Trasposizione

La cifratura a trasposizione prevede di definire una chiave che ha la stessa lunghezza del messaggio in chiaro e applica una trasposizione di caratteri secondo quella chiave. Ad esempio, con la chiave 257349168, il messaggio “benvenuti” è cifrato come “eeunvibnt”. Un problema della cifratura a trasposizione è che la chiave deve essere della stessa lunghezza del messaggio.

Analisi delle Frequenze

Le cifrature a sostituzione e a trasposizione sono vulnerabili ad attacchi di forza bruta. Si possono violare senza esplorare tutte le combinazioni, utilizzando l'analisi delle frequenze. Le lingue non presentano una distribuzione uniforme dei caratteri; alcune lettere sono più frequenti di altre. Conoscere la lingua del messaggio cifrato permette di ottimizzare la violazione e ottenere il messaggio in chiaro più rapidamente.

Crittografia Simmetrica

Le tecniche crittografiche presentate sono simmetriche. Alice e Bob condividono la chiave di cifratura e Eve cerca di violare senza conoscerla. Un problema maggiore rispetto alla debolezza della cifratura è la condivisione della chiave simmetrica che, se trasmessa tramite lo stesso canale di comunicazione del messaggio cifrato, diventa vulnerabile agli attacchi di Eve.

Crittografia Asimmetrica

La crittografia asimmetrica è stata sviluppata per affrontare i problemi della crittografia simmetrica. In questa strategia, Alice e Bob condividono chiavi pubbliche. Se queste chiavi vengono intercettate da Eve, non sono problematiche. Alice e Bob mantengono segretamente una chiave privata e non condividono mai questa. Eva deve affrontare un problema difficile se desidera violare il sistema.

Problemi Facili e Difficili

In informatica, alcuni problemi sono considerati facili (classe P, risolvibili in tempo polinomiale) e altri difficili (classe NP, risolvibili in tempo esponenziale). Un esempio di un problema facile è determinare R conoscendo A, x e B:
AXextmodB=RAX ext{ mod } B = R. Determinare x conoscendo A, B e R è un problema difficile. Computer quantistici teoricamente romperebbero i principi della crittografia moderna, risolvendo i problemi NP in tempo polinomiale.

Algoritmi di Crittografia Asimmetrica

Diffie-Hellman

L'algoritmo di scambio chiavi di Diffie-Hellman prevede i seguenti passi:

  1. Alice sceglie un numero primo p, un generatore g di p, e un numero casuale a (segreto).
  2. Alice calcola A e invia A, g e p a Bob.
  3. Bob riceve A, g e p.
  4. Bob sceglie un numero casuale b (segreto).
  5. Bob calcola B e lo invia ad Alice.
  6. Bob genera Kbob e Alice genera Kalice.
  7. Alice e Bob ottengono, quindi, una chiave condivisa in modo sicuro.
RSA

L'algoritmo RSA richiede che Alice e Bob generino una coppia di chiavi, una pubblica e una privata. Le chiavi pubbliche vengono scambiate per cifrare i messaggi, mentre solo le chiavi private sanno come decrittare i messaggi.

Tipologie di Software Malevolo e Attacchi Informatici

Virus

Un virus è un codice eseguibile che si aggancia ad un altro programma, nascondendo l’esecuzione di codice malevolo.

Worm

Un worm è un programma malevolo che si replica ad alta velocità, rallentando il sistema.

Trojan

I trojan forniscono accesso remoto al sistema target senza autori di auto-replicazione.

Malware

Il termine malware indica un qualsiasi software progettato per scopi malevoli, comprensivo di virus, worm, trojan e spyware.

Spyware

Lo spyware raccoglie informazioni su dati di navigazione, credenziali e attività della tastiera.

Ransomware - Cryptoworm

Il ransomware blocca l'accesso a file e funzionalità del sistema finché non viene versato un riscatto. Il cryptoworm crittografa risorse e poi le distrugge. Algoritmi simili alla crittografia asimmetrica vengono spesso utilizzati.

0-day

Un attacco 0-day sfrutta un bug di software legittimo. Prende il nome dal fatto che non esiste una patch di sicurezza immediata. Log4Shell è un esempio di vulnerabilità zero-day.

Denial-of-Service (DOS)

Un attacco DOS mira a rendere il sistema inutilizzabile, inviando richieste di connessione senza completarle, stagnando il sistema.

Brute-force

Attacchi brute-force cercano di risolvere un problema provando ogni possibile combinazione, ciò è stato mitigato aumentando la lunghezza e complessità delle chiavi.

Man-In-The-Middle (MITM)

In un attacco MITM, un attore malevolo Eve si inserisce nelle comunicazioni tra Alice e Bob.

Certificati di Sicurezza e CA

Per difendersi dagli attacchi MITM, si può fare affidamento a un terzo attore noto come Certificate Authority (CA), che garantisce le identità delle parti coinvolte.

Virus Famosi

Mydoom

Mydoom è un worm nato nel 2004, stima che abbia infettato oltre 50 milioni di sistemi. Si ritiene che attualmente l'1% delle email di spam sia generato da Mydoom.

Sobig

Sobig ha avuto una diffusione rapida, apparendo come software innocuo e comportandosi come un trojan.

Klez

Klez è rimbalzato da un sistema all'altro per anni, infettando oltre 7 milioni di computer attraverso email.

ILOVEYOU

ILOVEYOU ha infettato oltre 10 milioni di computer, attivandosi tramite un allegato innocuo.

Wannacry

Wannacry, comparso nel 2017, ha colpito vari settori e ha richiesto un pagamento in criptovaluta per recuperare i dati cifrati.

Zeus

Zeus, un trojan creato nel 2007, ha rubato informazioni bancarie e si è diffuso in quasi 200 paesi.

Code Red

Code Red ha attaccato server IIS di Microsoft, defacciando il sito target con un messaggio di hack.

Slammer

Slammer, comparso nel 2003, ha attaccato sistemi SQL Server Windows.

CryptoLocker

CryptoLocker ha cifrato file utilizzando chiavi asimmetriche e ha richiesto riscatti in Bitcoin, generando perdite miliari.