Hacker, idee, strumenti,tecniche



da apogeonline.it
Lunedì, 22 Marzo 2004


L'arte dell'hacking - Le idee, gli strumenti, le tecniche degli hacker

di Redazione Apogeonline

La parola hacking evoca alcuni stereotipi: vandalismo elettronico,
spionaggio industriale e personaggi pittoreschi con capigliature variopinte
e anelli nel naso. È molto diffuso il pregiudizio secondo cui l'hacker
sarebbe un criminale. Benché vi siano senz'altro degli individui che
utilizzano le tecniche di hacking per scopi illeciti, l'hacking è tutt'altra
cosa e tende semmai ad assecondare il rispetto delle leggi anziché la loro
violazione. Di seguito l'introduzione (nonché primo capitolo) del libro di
Jon Erickson "L'arte dell'hacking".

Essenzialmente, l'hacking consiste nell'individuare, in un determinato
contesto tecnico, delle possibilità impreviste o trascurate e
nell'utilizzarle in nuovi modi creativi per risolvere un problema, per
esempio, per riuscire ad accedere a un sistema informatico eludendone le
protezioni o per individuare una soluzione che consenta di controllare un
trenino elettrico in miniatura mediante un'apparecchiatura telefonica
obsoleta. Di solito, le soluzioni basate su uno hack consentono di risolvere
questi problemi in modi originali, inimmaginabili da coloro che adottano una
metodologia convenzionale.
Verso la fine degli anni '50, al MIT Model Railroad Club (un gruppo di
appassionati di modellini di treno) furono donate delle apparecchiature
obsolete, per lo più telefoniche. I membri del club le utilizzarono per
creare un sistema complesso che consentiva a più operatori di controllare
diverse tratte ferroviarie del trenino mediante una connessione telefonica
all'opportuna sezione.


0x100
Essi chiamarono "hacking" questo utilizzo nuovo e originale delle
apparecchiature. Secondo l'opinione di molti, costoro furono i capostipiti
degli hacker. Si dedicarono quindi alla programmazione su schede perforate e
nastri scorrevoli per i primi computer, per esempio l'IBM 704 e il TX-0.
Mentre altri si accontentavano di scrivere programmi che risolvessero
problemi, questi pionieri erano ossessionati dall'idea di scrivere programmi
che lo facessero in modo brillante.
Essi ritenevano che un programma che permetteva di ottenere lo stesso
risultato con un numero minore di schede perforate fosse migliore, sebbene
facesse le stesse cose. La differenza stava nel modo, che potremmo definire
elegante, in cui esso consentiva di ottenere i risultati auspicati.
Riuscire a ridurre il numero di schede perforate occorrenti per un altro
programma era una vera e propria arte, che veniva apprezzata e ammirata
dagli intenditori. Ricorrendo a un'analogia: un vaso con una pianta di
azalea può essere appoggiato casualmente sul frigorifero, ma su un tavolino
elegante, realizzato con tecniche raffinate, è senz'altro più gradevole
esteticamente. I primi hacker trasformarono la programmazione da un'attività
puramente tecnica in una forma d'arte destinata, come spesso accade, alla
fruizione da parte di un'élite di cultori della materia, risultando invece
incomprensibile ai profani.
Questo approccio alla programmazione creò una sottocultura informale, con
uno spartiacque tra coloro che apprezzavano l'eleganza dell'hacking e coloro
che vi erano refrattari. Tale sottocultura sottintendeva un enorme interesse
per l'acquisizione di nuove conoscenze e di una padronanza ancora maggiore
su quest'arte. Questi pionieri ritenevano che le informazioni dovessero
essere scambiate liberamente, abbattendo qualsiasi ostacolo (autorità
accademiche, burocrazia delle università e varie forme di discriminazione)
alla loro libera circolazione. Andando controcorrente rispetto alle opinioni
prevalenti tra gli studenti, questo gruppo informale di hacker mise in
discussione la validità di un sistema scolastico basato sui voti, anziché
sull'amore e la gioia del sapere. Questa spinta a imparare ed esplorare
continuamente oltrepassava anche i tradizionali confini imposti dalla
discriminazione, come risulta evidente dall'accettazione nel gruppo di Peter
Deutsch, ancora dodicenne, dopo che costui ebbe dimostrato la sua conoscenza
del TX-0 e la sua sete di conoscenza.
Età, razza, sesso, aspetto esteriore, diplomi universitari e stato sociale
non costituirono criteri primari per giudicare il valore degli individui;
ciò non tanto per un desiderio di uguaglianza sociale quanto per
l'aspirazione a far progredire l'arte emergente dell'hacking.
Gli hacker si esaltavano scoprendo splendore ed eleganza nella matematica e
nell'elettronica, ritenute tradizionalmente delle discipline molto aride.
Essi considerarono la programmazione alla stregua di una forma di
espressione artistica, mentre il computer costituiva lo strumento di questa
arte. Il loro desiderio di dissezionare e comprendere non intendeva
demistificare l'opera d'arte, ma era semplicemente un modo per apprezzarla
maggiormente. Questi valori, ispirati alla sete di conoscenza, sarebbero poi
divenuti parte integrante della cosiddetta etica degli hacker :
l'apprezzamento della logica come forma d'arte e la promozione del flusso
libero delle informazioni, al di là dei tradizionali confini e delle
restrizioni, al solo fine di comprendere meglio la realtà. In effetti,
niente di nuovo sotto il sole; nell'antica Grecia, i pitagorici avevano
un'etica e una sottocultura simili, malgrado i computer non esistessero
ancora. Essi colsero la bellezza insita nel ragionamento matematico e
scoprirono molti concetti fondamentali della geometria. Questa sede di
conoscenza e i suoi benéfici sottoprodotti sarebbero stati tramandati nel
corso della storia, dai pitagorici fino a Ada Lovelace, ad Alan Turing e
agli hacker del MIT Model Railroad Club. L'informatica era destinata a
progredire, sino a Richard Stallman e Steve Wozniak.
Questi hacker ci hanno messo a disposizione moderni sistemi operativi,
linguaggi di programmazione, personal computer e molti altri strumenti
tecnologici avanzati che oggi vengono utilizzati nella vita quotidiana.
Come distinguere allora i "buoni" hacker, che ci regalano le meraviglie del
progresso tecnologico, da quelli "cattivi" che carpiscono i numeri delle
nostre carte di credito?
In origine, il termine cracker fu coniato per indicare gli hacker "cattivi",
distinguendoli da quelli "buoni". Si disse ai giornalisti che i cracker
erano i malintenzionati, interessati unicamente a violare le leggi, mentre
gli hacker erano dei bravi ragazzi, con una propria etica. Inoltre, si
sostenne, i cracker erano da considerare meno dotati rispetto all'élite
degli hacker, capaci unicamente di utilizzare tool e script scritti da
costoro senza comprenderne il funzionamento. Sotto l'etichetta "cracker"
venivano raggruppati tutti coloro che svolgessero attività illecite con un
calcolatore o computer (pirateria del software, sfregio di siti Web, ecc.),
essendo (orrore!) ignari della logica di funzionamento dei loro strumenti di
lavoro. Ma questo termine è caduto ormai in disuso, probabilmente a causa di
un conflitto tra due definizioni (il termine cracker fu utilizzato
originariamente per indicare coloro che permettono di piratare il software
commerciale violando i diritti d'autore ed effettuano il reverse engineering
per vanificare gli schemi di protezione contro la duplicazione), o perché
nel frattempo era stata creata una nuova definizione, che comprendeva sia i
gruppi di persone implicati in attività illegali con i computer, sia degli
hacker relativamente inesperti.
Sono pochi i giornalisti che, parlando di un gruppo di inesperti, si pongono
la domanda se sia giusto utilizzare un termine piuttosto che un altro. Il
termine cracker è poco familiare alla stragrande maggioranza del pubblico,
che è inoltre del tutto ignara degli arcani e delle competenze associate al
termine hacker. In genere un giornalista decide di scegliere il termine
cracker o hacker senza pensarci più di tanto; talora utilizzerà il termine
script kiddie per riferirsi ai cracker, ma tale termine non ha lo stesso
impatto sensazionalistico di hacker, evocativo di un mondo misterioso.
Taluni sostengono che esiste una linea di demarcazione netta tra hacker e
cracker, ma io ritengo che chiunque sia animato dallo spirito degli hacker
sia uno hacker a dispetto delle leggi che può violare.
Questa linea di demarcazione abbastanza incerta tra hacker e cracker è resa
ancora più indistinta dalle leggi odierne contenenti restrizioni sulla
crittografia e sulla ricerca crittografica. Nel 2001, il professor Edward
Felten e il suo gruppo di ricerca della Princeton University erano in
procinto di pubblicare un articolo illustrante i risultati di una loro
ricerca, in cui si discuteva dei punti deboli di vari schemi di digital
watermarking (una tecnica di steganografia). Questa ricerca intendeva
raccoglieva una sfida lanciata dal SDMI (Secure Digitale Music Initiative)
nel SDMI Public Challenge, che incoraggiava il pubblico a cercare di violare
questi schemi di watermarking.
Tuttavia, prima che l'articolo fosse pubblicato, essi furono minacciati sia
dalla SDMI Foundation che dalla RIAA (Recording Industry Association of
America). Apparentemente, secondo una legge molto restrittiva del 1998 (il
Digital Millennium Copyright Act, o DMCA), è illegale fornire tecnologie
utilizzabili per eludere i sistemi di protezione del diritto d'autore, o
anche solo discuterne. Questa legge è stata utilizzata contro Dmitry
Sklyarov, un programmatore e hacker russo, autore di un software che
consentiva di eludere degli schemi crittografici estremamente semplici
presenti nel software di Adobe e che aveva presentato i risultati delle sue
indagini a un congresso degli hacker tenutosi negli Stati Uniti.
Costui fu incarcerato dall'FBI e tale arresto portò a una lunga battaglia
legale. Secondo la legge, la maggiore o minore complessità dei sistemi di
protezione del copyright non conta; da un punto di vista strettamente
tecnico, sarebbe illegale effettuare persino il reverse engineering di uno
schema crittografico rudimentale qual è il Pig Latin, o addirittura
discuterne, se esso fosse utilizzato come sistema antipirateria.
Chi sono dunque oggi gli hacker e i cracker? Sembra che la legge ostacoli la
libertà di parola; ma solo per questo i "buoni" che parlano liberamente
devono diventare improvvisamente "cattivi"? Ritengo che lo spirito degli
hacker vada al di là delle leggi dello Stato e che, come in qualsiasi gruppo
di ricercatori, ci sarà sempre qualche "cattivo" che utilizzerà queste
conoscenze per scopi illeciti.
La fisica nucleare e la biochimica possono essere utilizzate per sterminare,
ma al tempo stesso sono strumenti di progresso scientifico e forniscono
all'umanità farmaci più efficaci. La conoscenza, di per sé, non è né cattiva
né buona; il giudizio etico deve riguardare unicamente la sua applicazione.
Anche se volessimo, non potremmo sopprimere le conoscenze su come convertire
la materia in energia o bloccare il continuo progresso tecnologico della
società. Analogamente, non è possibile cancellare lo spirito che anima gli
hacker e nemmeno classificarlo o dissezionarlo. Gli hacker continueranno a
escogitare sempre nuovi escamotage, costringendoci a studiare e mettere a
punto sempre nuove soluzioni per eliminare i punti vulnerabili.
Purtroppo, ci sono molti libri dedicati agli hacker che non sono altro che
dei compendi di exploit compiuti da altri. Essi insegnano a utilizzare i
tool (creati da altre persone) contenuti nel CD allegato al libro senza
spiegare la teoria su cui si basano; il lettore quindi non ne comprenderà la
logica né sarà stimolato a crearne dei propri.
Probabilmente i termini cracker e script kiddie non sono del tutto fuori
moda.
I veri hacker sono i pionieri, coloro che mettono a punto metodi originali e
creano i tool che vengono poi raccolti nei suddetti CD. Tralasciando il
problema della legalità e ragionando secondo logica, a ogni exploit
corrisponde un patch che consente di difendersi.
Un sistema irrobustito con patch appropriati dovrebbe essere immune rispetto
a questa tipologia di attacchi. Gli aggressori che utilizzano unicamente
queste tecniche, senza un contributo originale, sono destinati a danneggiare
solo gli utenti più indifesi e stupidi. I veri hacker sono in grado di
individuare per tempo lacune e punti deboli nel software e creare dei loro
exploit. Se decidono di non informare il fornitore di questi punti
vulnerabili, possono utilizzare tali exploit per penetrare senza ostacoli
anche in sistemi fortificati con opportuni patch e ritenuti "sicuri".
Se quindi non esistono dei patch per eliminare i punti vulnerabili, che cosa
si può fare per impedire che gli hacker individuino nuove lacune nel
software e le sfruttino per penetrarvi? Ecco il motivo per cui sono stati
costituiti dei team di addetti alla sicurezza informatica: essi hanno il
compito di individuare queste lacune e di informarne i fornitori prima che
esse vengano sfruttate. C'è una benefica sinergia tra l'attività degli
hacker che giocano "in difesa", dedicandosi alla protezione dei sistemi, e
l'attività degli hacker che cercano di violarli. Questa competizione genera
una maggiore sicurezza, oltre che tecniche di attacco più complesse e
sofisticate. L'introduzione e il perfezionamento dei sistemi di rilevazione
dei tentativi di intrusione (IDS) sono un importante esempio di questa
sinergia. Gli hacker che giocano in difesa creano IDS da aggiungere al
proprio arsenale, mentre quelli che giocano all'attacco sviluppano tecniche
per eludere gli IDS, stimolando a loro volta lo sviluppo di sistemi IDS più
potenti ed efficaci.
Il risultato netto di questa interazione è positivo, perché produce
individui più preparati e scaltri, una maggiore sicurezza, dei software più
stabili, originali tecniche di soluzione di problemi; e crea persino nuovi
posti di lavoro.
Scopo di questo libro è di fornire informazioni sull'autentico spirito che
anima gli hacker. In esso esamineremo varie tecniche di hacking, da quelle
entrate nel libro della storia a quelle più recenti, dissezionandole per
comprenderne il funzionamento e i motivi per cui sono efficaci. Presentando
le informazioni in questo modo, intendiamo consentire al lettore di
comprendere e apprezzare le attività di hacking, ed eventualmente stimolarlo
a migliorare le tecniche esistenti o addirittura inventarne di nuove.
Confido che questo libro riesca a stimolare la curiosità scientifica del
lettore e spronarlo a contribuire in qualche modo all'arte dello hacking...
da qualunque parte della barricata decida di stare.