L’attività di Hacking (dall’inglese to hack, intaccare) è svolta da programmatori (hacker) che si collegano e accedono a risorse di rete senza averne l’autorizzazione, solo per gusto di sfidare il computer e i sistemi di protezione. Solitamente un hacker non vuole causare un danno ma usare le risorse del sistema attaccato oppure semplicemente dimostrare di essere riuscito ad accedervi.
Quando la violazione di un sistema da parte di un hacker comporta un vantaggio personale o un uso delle risorse per proprio lucro, si parla di Cracking: ad esempio, rubare o alterare dei dati, danneggiare il sistema, ecc. Per Cracker si intende anche un programmatore che si dedica alla pirateria informatica, rimuovendo le protezioni dai programmi e distribuendone copie illegalmente a scopo di lucro. Alcuni esempi di attività di kracking sono il Cracking di password, cioè il recupero di password, in modo manuale o con appositi programmi, da dati memorizzati o inviati ad un sistema informatico e il Cracking di software, cioè la disattivazione o l’eliminazione di alcune funzioni del software come la protezione contro la copia, i numeri di serie, le chiavi hardware, i controlli di data, ecc.
A volte le competenze e le abilità di un hacker possono essere utilizzate “a fin di bene” per testare il grado di sicurezza di un sistema informatico. In questo caso si parla di hacking etico: l’utilizzo delle tecniche di hacking per monitorare la sicurezza dei sistemi e delle reti informatiche al fine di evitare l’abuso da parte di malintenzionati. In pratica è permesso l’attacco al sistema di sicurezza di un computer da parte dei proprietari per rilevarne le vulnerabilità.