in lingua italiana

Se io fossi un hacker

Recap: ieri avevamo parlato di qualche possibile causa scatenante del disatro INPS e potete leggere qui l’articolo

Ieri 1 Aprile, in tarda mattinata, il presidente dell’INPS affermava, contrito, che un non meglio specificato attacco hacker aveva compromesso la funzionalità del sito INPS. Nel nostro piccolo li avevamo subito sbertucciati con il meme della nota ufficiale di un fantomatico Sindacato di Hacker russi offesi da una così scarsa considerazione delle loro capacità tecniche.

Tuttavia ieri, nel tardo pomeriggio, è arrivata su Twitter l’autentica presa di distanza di un noto gruppo di hacktivist—Anonymous Italia—i quali, senza mezzi termini, affermano che i veri hacker capaci di compromettere il sito INPS sono proprio coloro che vi lavorano.

Se ancora non fosse chiara la dimensione della frottola raccontata dal presidente dell’INPS, e supportata dal presidente del Consiglio, e per giunta reiterata in serata in TV a Porta a Porta, vi offriamo alcuni spunti di riflessione.

Se io fossi un (vero) hacker avrei uno dei seguenti due obiettivi:

  1. Farmi notare
  2. Penetrare in un sistema per rubare dati o eseguire azioni indebite

Vediamo cosa avrei fatto in entrambi i casi.

Voglio Solo Farmi Notare

Se il mio obiettivo fosse la mera visibilità allora effettivamente agirei nel bel mezzo del click-day. In questo modo, non solo otterrei il risultato di danneggiare un gran numero di persone e di ostacolare la fruizione di un servizio ma, per farlo, mi avvantaggerei proprio della gran massa di richieste in arrivo e, da hacker, moltiplicherei per un fattore a scelta quella quantità. Effettivamente riuscirei a bombardare di richieste il sito e a mandarlo giù.

Tecnicamente, sarebbe un attacco di tipo Denial-of-Service (DoS) nella modalità flood attack. In parole povere, sarebbe come immettere in una corsia già molto trafficata un ulteriore enorme numero di auto da un casello, fino alla completa paralisi del traffico. Per inciso, esiste una variante distribuita del DoS (DDoS) che consiste nella semplice amplificazione del numero di richieste da svariati server sparsi nella rete. Nella metafora autostradale sarebbe come se le auto aggiuntive che intaserebbero la corsia si immettessero contemporaneamente da diversi caselli. Una fantomatica organizzazione russa sarebbe perfettamente in grado di tentare un DDoS verso un sito istituzionale. Peraltro, ciò è esattamente la mission aziendale di una organizzazione come Anonymous.

Ora, se in quanto hacker in cerca di mera visibilità io avessi fatto tutto questo, ma vi pare che non lo sbandiererei ai quattro venti? Vi pare che non lo rivendicherei a piena voce?

La realtà è diversa.

Il sito non è andato giù per un DoS o simili. E non è nemmeno andato giù per il carico di 100 richieste al secondo. È andato giù perché l’ha messo giù la stessa INPS per cancellare gli effetti collaterali a livello di privacy di un qualche errore di programmazione commesso nel tentativo di rendere il sito capace di gestire un imprevedibile picco. Che peraltro non c’è mai stato.

Voglio Rubare Dati

Veniamo al caso in cui io, fantomatico hacker, volessi davvero rubare dati o eseguire azioni indebite. Il mio primo obiettivo sarebbe di passare inosservato e dunque non agirei di certo nel click-day. Tuttavia, se qualcuno fosse davvero in grado di scambiare le identità degli utenti connessi dall’esterno… Beh, allora saremmo di fronte al più grande attacco (riuscito) ad un sito istituzionale e ad un data breach di dimensioni storiche. Il Copasir (invocato dall’on. Orlando) non potrebbe che congratularsi.

Per scambiare artificiosamente le pagine degli utenti dovrei aver guadagnato accesso quantomeno ad una cache dove ragionevolmente tali pagine (o i dati che le formano) sono memorizzate per abbassare il tempo medio di necessario per visitare ciascuna pagina. Si possono fare due ipotesi:

  • È la cache interna usata dall’applicazione
  • È una output cache interna al sito ma esterna all’applicazione

Nel primo caso avrei preso il controllo in lettura (e probabilmente in scrittura) di tutti i dati utilizzati dalle pagine. Dati provenienti dai vari database INPS. Talmente grave che è meglio non pensarci.

Nel secondo caso, riuscirei ad intercettare TUTTE le pagine del sito visitate da un qualsiasi utente connesso e ne estrarrei ogni sorta di informazione contenuta: anagrafica, storia contributiva, posizioni economiche, IBAN, eccetera.

Come si vede, in un caso o nell’altro, sarebbe il più grande attacco hacker della storia e io hacker di certo non mi farei scoprire facendo il gioco della ruota con le identità.

Ma come potrei realisticamente aver guadagnato accesso anche alla sola output cache esterna? Beh, dovrei essere entrato nel web server dell’INPS come amministratore, ovvero web master (sic!). In quanto web master potrei fare qualsiasi cosa.

  • Potrei certamente aver modificato i parametri di output cache e ottenuto l’effetto visto
  • Potrei accedere ai file sorgente delle applicazioni (o al più decompilarli)
  • Peggio, potrei sostituirli
  • Peggio ancora, avrei accesso totale a tutti i file di configurazione di tutte le applicazioni

Trattandosi di un server INPS nei file di configurazione troverei le credenziali di accesso ai database e servizi vari e potrei davvero fare QUALSIASI cosa i servizi siano programmati per fare.

Non so se è sufficientemente chiaro: se un hacker avesse davvero causato quello che abbiamo visto nei video e screenshot per farlo avrebbe dovuto ottenere un livello di accesso al sito che gli avrebbe dato gratis accesso diretto (ovvero, username e password) ai database INPS utilizzati per Bonus600: anagrafica, contatti, storia contributiva, posizioni economiche, IBAN, spese, dati sanitari.

Certo, le credenziali avrebbero potuto essere state criptate. Sì certo, in teoria, sì… Ma visto il resto del sito sembra un po’ improbabile.

E ancora: un DDoS si fa dall’esterno di un sito. Per fare quello che i fantomatici hacker avrebbero fatto, invece, è necessario infiltrarsi dentro al server. E a quel punto … la ciccia è ben altra che fare il figo a scambiare un po’ di identità come ai Soliti Ignoti.

NOTA #1

Si legge stamattina, 2 aprile, che il sito è tornato su ma è lento perché “parte delle risorse sono usate per difendersi dagli hacker”. In realtà, più semplicemente, del sito è attiva una sola istanza (un solo server) visto che proprio la gestione di molteplici server aveva portato agli errori di programmazione di ieri. (Quello è stato: errori di programmazione). Poi di questi tempi parlare di accesso scaglionato è quantomai attuale. Ve le immaginate le richieste web che viaggiano a un metro di distanza l’una dall’altra?

NOTA #2

Errori di programmazione. Sì, va bene, ma diciamo pure che la radici di ciò sono ben più profonde e riguardano il bassissimo il livello di considerazione dell’IT che c’è in Italia, nelle istituzioni come nella maggior parte delle aziende di qualsiasi dimensione. Aggiungiamo poi i tempi strettissimi, la totale mancanza di visione strategica e, peggio del peggio, lo strato inutile di azzeccagarbugli che si riempiono la bocca di parole come digital transformation senza che tra essi ve ne sia uno (dico uno) che abbia idea di come funzioni un sistema software minimamente distribuito.

NOTA #3

Costiamo molto meno di tante grandi sorelle IT. Keep in touch!

NOTA #4

Dino Esposito è l’autore di (sceglierne uno a caso) questi libri. Ed il sito dell’INPS (quella parte almeno) è fatta esattamente in ASP.NET.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.