8 dicembre

56 1 0
                                    

Quella mattina non andai a scuola. Camminavo per le vetrine mentre guardavo i gioielli troppo costosi per le mie tasche ma che avrei voluto regalare a Brook, ripensavo alla pensata della sera prima. Era folle, pazza e soprattutto illegale. Avrei rischiato di non rivedere i miei cari per un po', o forse l'azione superava le mie capacità. Una cosa è certa: niente mi avrebbe frenato dal provarci. Mi bloccai davanti un negozio di vestiti. La vetrina esponeva un abito da sera rosso che cadeva elegantemente fino metà coscia formando delle ondine, quelle cose rotonde, non so come si chiamano. Il prezzo non era eccessivo e mi avrebbe permesso anche di portarla a cena in un ristorante giapponese non troppo caro. Il pomeriggio andai a trovarla a casa sua; ormai i suoi genitori mi conoscevano e gli stavo anche simpatico. Lei impazzì alla vista dell'abito.
<<Questo lo indosserai stasera>> bastò questo per illumunarle gli occhi.
Quella sera misi da parte momentaneamente la mia idea: l'avrei progettata meglio quella notte e il giorno dopo l'avrei messa in atto.

Fu una serata bellissima. Brook si era divertita molto ed era stanca. Io no. Ero entusiasta di ciò che mi avrebbe aspettato a casa. La riaccompagnai a casa, la salutai dolcemente e mi incamminai verso la mia abitazione, qualche casetta più avanti della sua: erano le 21:49. Arrivato a casa, sgattaiolai nella mia stanza ed accesi il mio PC. Il mio pentium 4 505 non poteva essere frettoloso come me. Per questo avevo installato sul mio PC una distribuzione leggera di Linux che si discostava molto dai miei corsi di studio. Appena si aprì il terminale, cercai su internet quel colosso: BankTop Inc. Subito apparse tra i primi risultati. Iniziai a leggere le imprese fatte dall'azienda che mi si presentarono davanti agli occhi ma non ci capivo nulla di tutti quei termini bancari e strani. Questo però bastò a farmi capire che tra i conti di quella banca, risiedono tutt'ora miliardi e miliardi di dollari sparsi in milioni di conti dei cittadini americani. Dovevo avervi accesso, solo cosi avrei potuto salvare lei.
Iniziai a pensare quanta sicurezza c'era dietro quei sistemi, quanti metodi di monitoraggio che avrebbero fermato un attacco prima ancora che sarebbe nato, quante informazioni c'erano da scoprire ancor prima di tentare di accedere ai loro server. Questo mi scoraggiò un po' ma non mi tirai indietro.
Aprii il terminale del mio PC. Feci la prima operazione che mi venne in mente.

[admin@marshal-pc ~]# ping www.banktop.com
--- PING www.banktop.com (68.36.114.56) 56(84) bytes of data. ---
64 bytes from 68.36.114.56: icmp_seq=1 ttl=52 time=41.2 ms
^C
--- www.banktop.com ping statistics ---
1 packets transmitted, 1 received, 0 errors, 0% packet loss, time 672 ms
rtt min/avg/max/mdev = 41.2/41.2/41.2/0.000 ms

Ok, sapevo l'IP del server dove si trova il sito. Rilanciai lo stesso comando ma l'IP sta volta era 68.36.114.57, e poi ancora 68.36.114.58. Come sospettavo: c'era più un server ovviamente ed ad ogni richiesta ne risponde uno diverso; con tutte le persone che accedono ogni istante al sito, sarebbe folle assegnare tutto il lavoro ad un server soltanto. Serve anche a prevenire disservizi: se un server dovesse smettere di funzionare, ci sono gli altri server. Questo processo di "smistamento" è gestito da un sistema chiamato "loud balancing" (bilanciamento del carico) che a sua volta può usare tecniche di smistamento come il "round robin". Questo mi fece pensare che c'era dietro un database centralizzato comune a tutti i server: dovevo entrarci, ma ovviamente avevo un colosso da affrontare.

[admin@marshal-pc ~]# ssh 68.36.114.56
ssh: connessione all'host 68.36.114.56 porta 22: Connessione rifiutata

Scontatissimo. L'accesso è bloccato. Sicuramente è consentito soltanto dalla LAN dei server oppure si accede da un'altra parte. I casi erano infiniti. Ci sarebbero volute settimane (se non mesi) di analisi prima di avere un risultato concentro. Non sapevo dove sbattere la testa. Mi ricordai però di aver visto una sede della banca in un quartiere vicino al mio. Sarei andato lì il giorno dopo. Non so cosa avrei fatto, né da dove avrei iniziato. Ma qualcosa mi sarebbe venuto in mente. Spensi il computer, momentaneamente deluso ma deciso a continuare. Mi addormentai ma non presi subito sonno. Ero eccitattisimo.

--------------------
Pentium 4 505: processore (il cervello del computer) della casa Intel con una frequenza di 2.667GHz uscito verso metà 2004. Paragonato ad i processori attuale è molto obsoleto.
Distribuzione: Linux è open source, ovvero il suo codice sorgente è accessibile a chiunque gratuitamente. Di conseguenza esistono migliaia di varianti o versioni che vengono definite distro o distribuzioni.
Linux: Famiglia di sistemi operativi di tipo unix aventi come kernel (il software che permette di comunicare con l'hardware) il kernel Linux, molto potente sviluppato da Linus Torvalds nel 1991. Fanno parte di questa famiglia sistemi operativi come iOS ed Android e anche di altri sistemi che vengono usati anche nei server (come CentOS) o per uso domestico (come Ubuntu).
Ping: è un comando che permette di contattare una macchina mandando un messaggio con scritto "ping" e ci si aspetta di ricevere un messaggio com scritto "pong". Se si riceve risposta allora la macchina contattata è accesa e risponde ai messaggi. Se non si riceve risposta o la macchina è spenta o la macchina non risponde ma è comunque accesa. Grazie a questo comando è possibile sapere l'indirizzo IP di una macchina, ovvero un indirizzo che identifica la macchina all'interno di una rete. In questo caso, l'IP della macchina che ha risposto alle richieste sul sito "www.banktop.com" ha indirizzo IP 68.36.114.56. Le righe successive indicano informazioni come il tempo di risposta della macchina e la dimensione della risposta ricevuta ed infine, nell'ultime righe, vengono indicate delle statistiche sul risultato dell'operazione come il tempo impiegato o il tempo medio di ogni richiesta. ICMP è il protocollo usato per il ping.
Indirizzo IP: indirizzo che identifica una macchina nella rete ed è formato da 4 numeri da 1 byte che vanno da 0 a 255, per un totale di 4 byte. Serve a rintracciare e contattare la macchina. Può essere privato (all'interno di uma LAN come per esempio a casa ed in questo caso si occupa il router di contattare l'esterno e di smistare le richieste) oppure pubblico e quindi accessibile da chiunque, per esempio i siti internet. Siccome sarebbe impossibile per un uomo ricorare tutti questi numeri, esiste un servizio chiamato DNS che si occupa di tradurre i nomi delle macchine (o dei siti) in indirizzi IP, cosi a noi comuni mortali è necessario ricordare soltanto il nome del sito o della macchina.
SSH: protocollo (metodo di comunicazione) per garantire un servizio che permette di eseguire comandi su una macchina remota (specificando l'IP) in modo sicuro: tutta la comunicazione è criptata ed è quasi impossibile decriptarla senza una base di partenza. È l'alternativa a Telnet, un protocollo come l'SSH ma che non cripta la comunicazione quindi insicuro.
Host: macchina
Porta 22: una macchina dispone di 65536 porte; ogni porta serve a comunicare con il suo rispettivo protocollo. La porta 22 è la porta standard del protocollo SSH. Per una connessione ad un protocollo si usa la notazione utente@IP:porta. L'utente standard di solito è root. Effettuando una connessione a 68.36.114.56:22, si invia quindi una richiesta alla macchina 68.36.114.56 sulla porta 22 (SSH) utilizzando l'utente di default (root) oppure viene chiesto di inserire l'utente. Nel caso dell'SSH, se la macchina accetta la richiesta di connessione, risponde solitamente chiedendo di autenticarsi e quindi di inserire la password dell'utente richiesto, appunto per evitare accessi non consentiti.
LAN: Local area network, ovvero rete locale. È la rete usata per la comunicazione dei computer all'interno di una stessa area ristretta, per esempio la casa o un ufficio: sarebbe folle farli comunicare tramite internet e quindi attraversando i cavi di mezza città per poi ritornare al punto di partenza.

HackDove le storie prendono vita. Scoprilo ora