|
Anche se è insolito, voglio cominciare con un ringraziamento a Giulio, un mio amico che mi
ha spinto a riflettere su tale argomento delicato.
HACKING PER COSTRUIRE
by DANIELE BAILO .
Un primo impatto
Senza dubbio la maggior parte di noi al sentire questa parola drizza le orecchie con uno sguardo
un po' eccitato e pensa già a progetti trasgressivi (alimentati dai film sugli hackers che stanno
uscendo ultimamente e già usciti nel passato, come War Games) tipo entrare nei sistemi
informatici delle banche,
curiosare tra gli archivi della NASA, distruggere a distanza i computer dei propri nemici ecc.
Ma questo non è precisamente hacking....
Crackers e Hackers:due mentalità diverse
Una prima definizione
Eric S. Raimond (di cui ho tradotto in italiano la sua guida 'How to become a hacker')
ci viene in aiuto facendo la distinzione tra Hackers e Crackers.
Il Cracker (alla lettera 'colui che rompe') cerca generalmente di elidere (non eludere) le protezioni
poste in un sistema informatico od in un programma; è un cracker quindi chi prende i password
file e cerca di decriptarli, oppure chi (conoscendo abbastanza bene l'assembler) riesce a togliere
la protezione ai programmi shareware o a quelli (come Winzo$$99) che richiedono di inserire un
codice per funzionare.
L'Hacker (alla lettera 'colui che spacca') cerca generalmente di eludere (non elidere) le protezioni
dei sistemi. Dico sistemi senza specificare "informatici", poichè lo spirito avventuroso (proprio
dell'hacker), che spinge a trovare il bug in qualsiasi cosa, può essere applicato all'informatica ed ai computer
come ai distributori automatici o a qualsiasi altra cosa. Tuttavia, generalmente, ci si riferisce
al mondo dei computer.
E' dunque un hacker chi sfrutta i BUG e le backdoors di un sistema informatico per penetrarci
dentro. Teniamo infine presente che l'attività dell'hacker è generalmente orientata alle reti.
La scintilla
cosa è che spinge a fare l'hacker o il cracker?
La risposta non è semplice poichè ancora una volta bisogna analizzare distintamente il desiderio di
hacckare da quello di cracckare, tenendo presenti gli aspetti in comune.
Una possibile causa (comune ad entrambi) è il potere.
Mi riferisco al potere di conoscere perfettamente un computer e di sentirsene padrone. Questa è
una sfida con la macchina, o meglio, con la propria intelligenza. Questo desiderio, che oserei
definire istinto, può prendere pieghe differenti a seconda del carattere, dei pensieri, dell'educazione
della persona.
Può sfociare in un senso di onnipotenza, ed ecco allora i mega-cracker, che cracckano 10 programmi
e 4 sistemi operativi al giorno, o i mega-hacker, che spoofano il proprio DNS, fanno un D.O.S. attack
e scrivono un programma per sfruttare il bug di PINE il tutto contemporaneamente.
Direi che questi "sogni da hackers" sono uno degli impulsi principali che spinge ad hacckare/cracckare.
La totale padronanza di un computer può anche essere usata come strumento per aumentare la
fiducia in se stessi e nella propria intelligenza, e se si è altruisti anche per combinare
qualcosa di buono.
Ritengo che il "potere" sia una delle scintille principali, ma ce ne possono essere altre.
Ad esempio la mancanza di rapporti sociali ed una certa attitudine alla solitudine unite ad un'indole
che tende ad andare al nocciolo delle cose ed approfondirle. Allora il computer, l'informatica e nel
nostro caso l'hacking/cracking possono diventare delle ragioni di vita.
C'è poi chi ha bisogno di scaricare le proprie frustrazioni in maniera aggressiva, o chi, chissà
per quali arcani motivi, ha una carica di violenza a cui vuole dar sfogo. Teniamo presente che se tale
istinto non è accompagnato da un'indole costante nel'apprendere e profonda nel capire, allora ne
uscirà uno di quei mezzi hacker/cracker, che è capace solo di scaricarsi software di spoofing, pinging,
bruteforce, script per IRC e così via. Questa è la fine della maggior parte di quelli che ahnno un approccio
di questo tipo all'hacking/cracking.
C'è chi ha uno spirito avventuroso e curioso, ama il mettersi alla prova e sfidare la propria intelligenza.
E questo è uno dei ritratti tipici dell'hacker, che per certi versi può essere paragonato a chi pratica sport
estremo.
Troviamo infine chi animato da uno spirito di furbizia (non di astuzia), si sente appagato (e, perchè no, si esalta...)
al pensiero di avere delle cose o ricevere dei servizi senza pagarli. Questo è lo spirito tipico del cracker.
Gli strumenti
Che cosa bisogna fare o sapere per diventare un buon hacker?
Prima di tutto lo si deve volere seriamente. Sono quindi importanti una costanza, un interesse non effimero,
una curiosità che fungano da "carburante" allo studio da affrontare. Gli hackers più bravi posseggono una rosa
di nozioni e di informazioni che derivano sia dall'esperienza che dallo studio, attività che dovrebbero andare
di pari passo.
E' dunque importante conoscere vari linguaggi di programmazione e di scripting (C/C++, assembler,
perl, java, javascript, html), e questo significa anche passare giornate intere a spremersi il cervello per capire
un algoritmo o a fare il debug di un programma. Ma è altrettanto fondamentale andare in giro per la
rete, saper usare programmi e servizi UNIX (il ping, il telnet...), raccogliere informazioni, usare algoritmi
già pronti (anche se è sempre meglio cercare di capirli) con la filosofia che nulla deve essere fatto
due volte.
Bisogna anche imparare a condividere le informazioni con quella che E.Raimond chiama la
"comunità hacker". E' dalla rete che si può ricavare la maggior parte del materiale: RFC, listati dei programmi
più svariati, commenti e discussioni sui newsgroup, le varie riviste on-line sull'hacking e il
phreaking, mailing lists, notiziari UNIX/LINUX e chat su IRC. Tutte cose che bisogna sfruttare
moltissimo. Ovviamente nessuna di esse può sostituire, per esempio, le giornate passate ad impazzirsi
su un manuale di C/C++ o le nottate spese a capire perchè l'ultima versione del kernel di LINUX della
RedHat non riconosce la scheda di rete. Di fondamentale importanza è conoscere e sapersi muovere
con UNIX o qualsiasi altro sistema operativo UNIX-LIKE (tipo Linux).
Concludo suggerendo delle domande che possono mantenere vivi l'interesse e la curiosità ed alimentare
la costanza:
a)che cosa è che....?
b)come è possibile che...?
c)so bene cosa accade quando.....?
d)come funziona...?
Alcuni esempi pratici della loro applicazione:
so bene come funziona una rete?Che cosa accade quando mando un E-Mail?Come funziona il protocollo
HTTP i il POP3?Come è possibile spoofarsi l'IP?Che cosa è l'IP?E il DNS?Che cosa è un protocollo?Che
cosa è un Wingate?etc..
Come usare gli strumenti
Gli scopi
Gli scopi che un Hacker si può prefiggere sono vari, dipendono dall'individuo, dalla sua mentalità, e
possono essere mutabili nel tempo. Non sono necessariamente correlati a qualla che ho chiamato
'la scintilla'. La carica, l'impulso istintuale della "scintilla" può infatti essere filtrato e condotto su altre
vie dal razioncinio e dal buon senso.
Si può per esempio intraprendere la strada dell'hacking animati dalla voglia di entrare in un sistema e
poi, dopo aver studiato sodo e aver superato vari ostacoli, accorgersi che gli strumenti acquisiti
possono tornare utili per la propria professione (o per trovarne una).
E' praticamente impossibile fare una lista particolareggiata di tutit i possibili scopi, tuttavia ritengo
sia possibile fare una grossa distinzione:
scopi COSTRUTTIVI e scopi DISTRUTTIVI.
Gli scopi distruttivi (quelli che forse più spesso si prefiggono i principianti) sono svariati e vanno dal
mettere fuori uso un server e craccare i codici delle carte di credito a mettere la foro di Clinton in
mutande sul sito della NASA...e chi più ne ha più ne metta.
Gli scopi costruttivi vanno dal puro divertimento (senza danneggiare nessuno) allo spiegare in maniera
precisa il BUG del sistema in cui si è penetrati, all'utilizzo delle nozioni acquisite per il proprio lavoro
o per creare iniziative utili (mailing lists, gruppi di discussione, server.....).
Parlando degli scopi di un buon hacker, non posso non esprimere la mia personale opinione.
Innanzitutto ritengo importante sottolineare che non è distruggendo che si dimostrano le proprie capacità
e la propria padronanza del computer, poichè distruggere è facile, tutti sono capaci a farlo, specialmente
in questi ultimi tempi in cui basta scaricarsi 40k di programma per mailbombing ed intasare la casella
postale del malcapitato, e in cui quintali di software di attacco girano gratuitamente per la rete.
Una volta acquisite certe conoscenze, è facile anche essere costruttivi: basti pensare che ci sono tonnellate
di software FREE per LINUX che aspettano di essere debuggati; e si pensi pure che aiutare lo sviluppo
e la crescita di nuovi sistemi operativi è uno dei modi migliori per togliere il monopolio alle grandi industrie
dell'informatica, che detengono un potere ampio e capillare nelle scelte delle società e dei governi.
E poi la rete è un ottimo luogo di incontro per persono che vogliono condividere gli stessi interessi
e scambiarsi pareri ed informazioni.
Ritengo infine che la soddisfazione che si ricava dal costruire un progetto, mandarlo avanti, vederlo crescere
e allargarsi, sia di gran lunga superiore al creare un virus che mandi in tilt i computer della NASA (anche
se ammetto che tale idea è esaltante..).
Se, dunque, siete veramente interessati, cominciate a scaricarvi quintali di materiale
(oppure chiedetemelo!) e studiatelo, chiedete, confrontate,
cercate di capire.
L'hacking è una cosa seria per gente seria e valida.
Concludo con una citazione di un 'tizio' che aveva capito molte cose.... soprattutto riguardo all'uomo.
Siete buoni quando non siete che voi stessi.
Ma anche quando non siete in unità con voi stessi, voi non siete cattivi.
Poichè una casa divisa non è un covo di ladri, è solo una casa divisa.
[...]
Siete buoni quando vi sforzate di dare qualcosa che sia vostro.
E tuttavia non siete cattivi quando cercate un guadagno per voi.
Poichè quando cercate un guadagno non siete che una radice che s'avvinghia alla terra e succhia il suo seno.
[...]
Siete buoni quando camminate per la vostra meta, con passi fermi e arditi.
E tuttavia non siete cattivi se vi arrivate zoppicando.
Anche chi zoppica non cammina a ritroso.
[...]
Voi siete buoni in innumerevoli modi, e non siete cattivi quando non siete buoni.
Siete soltanto svogliati ed indolenti.
Purtroppo non può il cervo insegnare alla tertaruga ad esser veloce.
Nel vostro aspirare ad essere il gigante che è in voi sta la vostra bontà; e quell'aspirazione è in ognuno di voi.
Kahlil Gibran
Per consigli o altre riflessioni E-mail me
|
|