Cracker
In ambito informatico il termine inglese cracker indica colui che si ingegna per eludere blocchi imposti da qualsiasi software al fine di trarne profitto. Il cracking può essere usato per diversi scopi secondari, una volta guadagnato l'accesso di root nel sistema desiderato o dopo aver rimosso le limitazioni di un qualsiasi programma.
I cracker possono essere spinti da varie motivazioni, dal guadagno economico (tipicamente coinvolti in operazioni di spionaggio industriale o in frodi), all'approvazione all'interno di un gruppo di cracker (come tipicamente avviene agli script kiddie, che praticano le operazioni di cui sopra senza una piena consapevolezza né delle tecniche né delle conseguenze).
Il termine cracker viene spesso confuso con quello di hacker, il cui significato è tuttavia notevolmente diverso. Alcune tecniche sono simili, ma hacker è colui che sfrutta le proprie capacità per esplorare, divertirsi, apprendere, senza creare reali danni. Al contrario, cracker è colui che sfrutta le proprie capacità (o in certi casi quelle degli altri) al fine di distruggere (i cracker fanno spesso utilizzo del DoS), ingannare e arricchirsi.
Il termine cracker, fu coniato da Richard Stallman, per tentare di evitare l'abuso, tuttora esistente, della parola hacker. L'uso del vocabolo cracker è alquanto limitato (così come l'espressione black hat), al contrario di hacker, che è considerato da molte persone un termine controverso. Un individuo identificato come hacker, non è altro che un esperto informatico con ottime capacità d'uso del pc, che si diverte nell'ampliamento delle sue conoscenze. Questo termine viene erroneamente utilizzato per indicare persone, che entrano all'interno dei sistemi informatici senza alcun tipo di autorizzazione, con l'unico scopo di causare danno. Molti hacker tentano di convincere l'opinione pubblica che gli intrusi dovrebbero essere chiamati cracker piuttosto che hacker, ma l'uso errato permane nel vocabolario comune della gente.
Indice |
Tipologie di attacco [modifica]
Nonostante sia molto complesso definire in maniera certa il modus operandi del cracker, è possibile grosso modo definire due categorie di attacchi al sistema informatico: l'attacco esterno (remoto) e quello locale.
Attacco esterno [modifica]
L'attacco esterno ha come finalità:
- lo sfruttamento di una vulnerabilità di un servizio internet, causata da un bug di programmazione (spesso passibili di buffer overflow e simili).
- l'utilizzo di programmi che vengono eseguiti da un server web (cgi-bin) che possono essere utilizzati in modo improprio, ovvero consentono l'esecuzione di comandi oppure soffrono di vulnerabilità analoghe a quelle dei bug dei servizi internet.
- lo sfruttamento di determinate configurazioni insicure dei software web.
Portscanner e security scanner [modifica]
Per fare questo il cracker si avvale di numerosi software, tra i quali degni di menzione sono i portscanner che effettuano dei port scanning al fine di individuare quali servizi internet sono attivi su una determinata macchina. I portscanner più evoluti sono in grado di determinare anche la versione dei vari software che gestiscono il servizio web. Più evoluti dei portscanner sono i security scanner, atti a individuare le vulnerabilità dei servizi internet.
Attacco locale [modifica]
L'attacco locale viene portato a compimento da individui che hanno accesso fisico alla macchina oppure che hanno accesso al sistema via internet tramite delle console remote che permettono loro di eseguire un limitato numero di operazioni con privilegi altrettanto limitati.
Ottenimento di privilegi illimitati [modifica]
L'ottenimento dello status di root, ovvero utente dai privilegi illimitati, si ottiene mediante lo sfruttamento di vulnerabilità di overflow insite nel servizio internet, come descritto nell'attacco esterno, sfruttando difetti nel kernel (solitamente con un attacco locale), la sovrascrittura di file eseguibili o l'utilizzo dei programmi SETUID, che consentono l'esecuzione di determinate operazioni che necessitano di privilegi differenti (solitamente root).
Essere superutente (ovvero root) si rivela essenziale per i cracker che hanno intenzione di nascondere le tracce del proprio passaggio e operare sulla macchina compromessa. Alcune operazioni che solamente root può fare sono ad esempio lo sniffing dei dati in transito su un'interfaccia di rete (solitamente password) e l'utilizzo di software in grado di agire a livello di rete molto basso.
L'eliminazione delle tracce [modifica]
L'eliminazione delle tracce del proprio passaggio o della propria presenza è essenziale perché il cracker si renda totalmente invisibile all'amministratore di sistema. Ciò viene ottenuto tramite:
- l'eliminazione o modifica dei file di log, che sono i registri che tengono traccia delle operazioni degli utenti
- la modifica dei file eseguibili affinché le operazioni risultino totalmente invisibili
- l'inserimento di codice direttamente all'interno del kernel (in linux tramite dei LKM, moduli caricabili) che modifica e "dirotta" le chiamate di sistema (system call)
Queste operazioni vengono spesso automatizzate e riassunte tramite dei software chiamati rootkit.
Come difendersi [modifica]
Oggigiorno esistono numerosi sistemi per difendersi e individuare per tempo questi tipi di attacchi.
Il firewall [modifica]
Il tool più diffuso per proteggere la propria rete o il proprio server è il firewall, che permette di precludere l'accesso a determinati servizi, oppure da un elenco di sistemi che non si ha intenzione di far accedere ai propri servizi internet multimediali.
IDS [modifica]
Altro software di grande efficacia e complessità è l'Intrusion detection system (IDS) che, attraverso una serie di regole prestabilite rileva tentativi di enumerazione, intrusione o di attacco e li notifica a un operatore.
Voci correlate [modifica]
- Black hat
- Buffer overflow
- Cracking
- Danneggiamento informatico
- Exploit
- Hacker
- Lamer
- Heap overflow
- Phishing
- Rootkit
- Script kiddie
- Warez
- Spamming
- Ingegneria sociale
Cracker famosi [modifica]
|
|