Lettera aperta a un aspirante Hacker
di Elf Qrin - 4 giugno 2000


Ricevo spesso e-mail da ragazzini che mi chiedono come possono diventare hacker. Lo stesso tipo di messaggio lo si puo' leggere con altrettanta frequenza nelle webboard dei siti dedicati all'hacking.
Questa lettera e' indirizzata a tutti loro.


Caro amico,

L'hacking e' qualcosa che deve nascere dentro di te. Ma e' piu' di un semplice istinto. Deve essere la curiosita' e la volonta' di conoscere il motore che ti spinge. Leggi tutto quello che trovi, e prova a metterlo in pratica (entro i limiti della tua sicurezza e quella degli altri). Questo e' un buon punto di partenza.

Quando ero ragazzino io, nella seconda meta' degli anni '80, le cose in qualche modo erano migliori (ma non certo piu' semplici) per chi voleva imparare. I computer erano appena usciti dai laboratori scientifici e militari per arrivare nelle case della gente comune, eppure c'erano ottime piccole enciclopedie che insegnavano i fondamenti di come i computer funzionano e "ragionano", e tutte le riviste di computer insegnavano a programmare, anche con tecniche molto avanzate che oggi definiremmo vero e proprio hacking, anche perche' all'inizio erano in pochi a sapere come funzionavano i computer, e queste riviste erano scritte da appassionati per un pubblico di appassionati. O in altre parole, da quasi hacker a quasi aspiranti hacker.

Oggi la situazione e' cambiata, il mercato si e' allargato, e l'informazione disponibile e' diventata molto piu' "commerciale". Ci sono ancora degli ottimi libri, soprattutto per quanto riguarda la programmazione, ma riguardano solo argomenti molto specifici e costano molto (a meno che tu non viva in India o nel subcontinente asiatico). Quindi scaricare la documentazione che trovi gratuitamente in Rete, e' probabilmente l'unica via percorribile per imparare.

La maggior parte della documentazione e' pero' in inglese, quindi dovrai prima darti da fare per imparare a leggerlo. Ma anche questo in realta' non e' un grosso problema: non e' come a scuola... quando continui a leggere i testi, impari in fretta. La parola che la prima volta non avevi mai sentito, e che hai dovuto cercare nel vocabolario, dopo un po' ti suonera' familiare, a furia di vederla. E poco alla volta avrai imparato anche l'inglese.

La prima cosa indispensabile per un hacker e' conoscere il suo sistema. Come funziona. Come memorizza le informazioni. Se non conosci queste cose, potrai apprendere il resto solo in modo superficiale, e non sarai in grado di adattare le nuove conoscenze a situazioni differenti, o fare nuove scoperte da solo. Sarebbe come una lezione imparata a memoria.

Una cosa che ritengo fondamentale e che ti consiglio vivamente e' di imparare a programmare. Non tanto perche' puoi scrivere i tuoi programmi da te (e in un certo senso... piegare il computer alle tue volonta'), ma soprattutto perche' ti aiuta a capire come funzionano veramente i computer.
Il linguaggio di programmazione per eccellenza attualmente e' il C, o meglio il suo derivato C++. Ma e' bene conoscere un po' di tutto, soprattutto i nuovi linguaggi come il Java, magari anche un pizzico di linguaggio macchina. Ma per iniziare va benissimo anche il caro, vecchio Basic, piu' che sufficiente per crearti le basi. Non e' il linguaggio a fare il programmatore. Un linguaggio lo si puo' imparare in poche settimane, ma le tecniche di programmazione richiedono anni d'esperienza.
Cerca dei siti dedicati alla programmazione, scarica qualche listato (cosi' chiamavamo una volta il "codice sorgente"), studialo per vedere come funziona, e modificalo per ottenere nuovi effetti o aggiungere nuove funzioni.
Osserva il funzionamento degli altri programmi. Cerca di individuare il metodo migliore di svolgere un'operazione, e avrai imparato il concetto di ottimizzazione. E quando nella vita reale ti trovi davanti un problema, di qualunque tipo, pensa se puoi risolverlo con il computer e se sai scrivere un programma per fare questo.

Puo' sembrarti tanto, ma se sei giovane, hai tempo. E comunque per farsi un'esperienza ci vuole tempo. Potrai sempre ricorrere al consiglio di qualcuno, anche via e-mail o sulle webboard di Internet per poter avere qualche chiarimento su qualcosa che non riesci a capire, ma per la maggior parte dovrai imparare da solo. Per rendere la cosa piu' divertente sarebbe meglio avere un amico inesperto come te che voglia imparare, cosi' che possiate "crescere" insieme, e scambiarvi idee e nuove scoperte.
Lentamente, mentre aumentano le tue conoscenze sarai in grado di individuare da solo i buchi ("hole") nel sistema e magari pensare a come sfruttare queste debolezze a tuo vantaggio ("exploit").

Ricordati che l'intero concetto di hacking e' di esplorare i limiti e creare qualcosa di nuovo, e possibilmente in grado di stupire. Il fatto che qualcosa non sia mai stata fatta prima non dovrebbe impedirti di tentare a farlo. Al contrario, dovresti prenderlo come una sfida. Ogni volta che ti chiedi se e' possibile fare qualcosa, la risposta giusta e' "Devi solo provarci".

Credimi, tutti noi abbiamo imparato cosi', e non penso ci sia modo migliore.


Elf Qrin



This letter is available also in English, French, Czech, Polish.