La sicurezza informatica: tutte le tipologie di attacchi esterni
Prima di procedere con l’analisi degli attacchi più diffusi, bisogna capire come avviene un attacco analizzandone le fasi più salienti sulla base della filosofia che “Per sconfiggere il nemico bisogna prima conoscerlo”.
Anatomia di un Attacco Informatico: L’hacker prima di attaccare deve conoscere la vittima pertanto le fasi di Footprinting, Scanning ed Enumeration servono per la raccolta metodologica delle informazioni necessarie per eseguire correttamente l’attacco informatico.
Fasi dell’attacco informatico
Footprinting
Il footprintig è la prima fase per un attacco informatico. Più nel dettaglio questa è la fase di raccolta delle informazioni (per eseguire l’attacco informatico) riguardanti il possibile obiettivo da attaccare che permettono di determinare il footprint (letteralmente “impronta”) cioè il profilo della presenza di Internet, della tecnologia per l’accesso remoto, e di eventuali Intranet/Extranet. Quando per esempio i ladri decidono di svaligiare una banca non si limitano ad entrare e a portare via il bottino anzi tale fase è preceduta dalla redazione di un piano messo in atto sulla base delle informazioni raccolte quali ad esempio: i percorsi e gli orari del furgone blindato, la posizione delle telecamere, il numero di impiegati, le uscite di sicurezza e qualsiasi altra informazione utile per portare a termine il colpo.
Così come i ladri che realizzano un piano adeguato riescono a portare a termine il colpo, anche gli hacker che seguono una metodologia ben strutturata riescono a raccogliere informazioni da una serie di fonti e a ricostruire l’impronta fondamentale di qualsiasi organizzazione che gli permette di ricostruire il profilo del suo livello di protezione. In particolare il footprinting concentra la ricerca sulle risorse informatiche possedute dal bersaglio seguendo la tabella mostrata nella figura seguente:
Scanning
Terminata la prima fase di analisi è possibile stilare un elenco delle macchine più esposte ad attacco in modo da restringere il raggio d’azione. La fase successiva è quella di Scanning che consiste in una analisi più approfondita delle macchine selezionate al fine di individuarne la configurazione ed evetuali vulnerabilità presenti. Infatti solo conoscendo il sistema operativo installato, i servizi su di esso attivi e sfruttando la conoscenza delle vulnerabilità e attacchi ricavabili da Internet è possibile individuare i punti deboli del sistema da sfruttare. Per eseguire tale analisi l’attaccante si serve ad esempio del comando Ping che permette di sapere se una certa macchina, che risponde ad un dato indirizzo Ip è al momento collegata oppure utilizza strumenti come Strobe o Netcat che permettono di conoscere i servizi attivi su una macchina in un dato momento e quindi risalire a quali sono le porte in ingresso aperte, ma forse ben sorvegliate, verso il sistema che si vuole raggiungere. Quando ad esempio un ladro vuole entrare in una casa controlla tutte le porte e le finestre al fine di scoprire da quale di queste è possibile introdursi all’interno della casa.
Enumeration
E’ la fase intrusiva di determinazione degli account attivi, delle risorse accessibili come file condivisi in modo insicuro e l’individuazione di vecchie versioni del software che contengono vulnerabilità note. Una volta ottenuti gli account attivi infatti l’attaccante può tentare di indovinare le password per ottenere l’accesso al sistema.
Gaining Access
Questa è la fase più delicata dell’attacco informatico, l’hacker entra nel sistema sfruttando le vulnerabilità indviduate nelle fasi precedenti oppure utilizzando tecniche più semplici come ad esempio il Brute Force che permette di indovinare la password di un utente. Scoprire la password di un utente non è poi così difficile in quanto gli utenti hanno la brutta abitudine di scegliere password facili da ricordare come ad esempio il nome del figlio o della moglie, la propria data di nascita o il codice fiscale. Sfruttando il social engineering si può facilmente risalire a queste informazioni e di conseguenza indovinare la password entro breve altrimenti si ricorre al brute force che prevede anche l’uso di “dizionari di password, ovvero un elenco di parole generalmente usate come password, un tool automatico si occupa poi di provare tutte le password dell’elenco fino a trovare quella giusta (questo tipo di attacco tutt’oggi funziona 2 volte su 3!).
Tipologie di attacchi informatici
Escalating privilege
Una volta entrato nel sistema informatico, l’hacker acquista i privilegi di un utente normale che non sono sufficienti per compiere attività illecite, deve quindi riuscire ad ottenere privilegi di amministratore o superuser.
Copertura tracce
Come un ladro che si rispetti anche l’hacker non deve lasciare tracce che in gergo informatico assumono il nome di “log” ovvero dei file dove vengono registrate le attività svolte dagli amministratori al fine di individuare eventuali intrusi e poterli rintracciare. A seconda del tipo di macchina e di sistema operativo installato l’hacker sà dove recuperare i log e modificarli rendendo invisibili le sue azioni.
Backdoor
Come si è visto intrufolarsi in un sistema richiede molti passaggi e quindi molto tempo, ecco perchè gli hacker non ripetono ogni volta tutti i passaggi ma utilizzano le backdoor ovvero piccoli programmi che permettono all’intruso di potersi collegare in maniera quasi trasparente e diretta alla macchina.
Malware
Proprio per la sua caratteristica di essere disponibile a tutti il Web è diventato anche molto vulnerabile, infatti è diventato il canale preferito dai criminali informatici per propagare malware. Malware è l’abbreviazione di Malicious Software (Software Malevolo) ed è un software designato ad accedere segretamente al computer della vittima senza il suo consenso in modo da portare a termine un attacco informatico. La quantità di software malevolo è andata crescendo con gli anni e con la popolarità di Internet come mostra il grafico nella figura seguente, risalente ad uno studio di AV Test Labs del 2008, società tedesca che misura la rapidità e la precisione dei prodotti antivirus di rilevare i nuovi virus.
La crescita esponenziale di questo tipo di attacco è stata sottolineata anche da David Perry, direttore di educazione globale per Trend Micro, che ha affermato: “Nel 1990 eravamo abituati vedere una manciata di nuovi virus ogni settimana. Ora, stiamo analizzando tra 2000 e 3000 nuovi virus, per ora.”
E’ importante però comprendere che il malware può assumere diverse forme anche se la più diffusa è la forma di tipo infettivo che include virus e worms, chiamati così perchè possiedono la caratteristica predominante dei virus che provocano malattie a piante ed animali ovvero sono auto-replicanti quindi si diffondono di computer in computer producendo numerose copie di sè stessi. Non è facile accorgersi della presenza di un virus in quanto sono pezzi di codice inseriti in un normale file oppure in un programma che nel momento in cui viene avviato esegue anche il codice del virus che infetta altri file o programmi producendo sue copie.
La differenza tra Virus e Worms si riscontra nella modalità di diffusione, infatti i primi si propagano solo dopo che il programma che li contiene viene esegui to mentre i secondi sono programmi autonomi. Negli anni molti worm hanno lasciato il segno nella storia del Web in quanto hanno diffuso paure e preoccupazioni sulla velocità con cui si diffondevano tra gli host connessi ad Internet. Il primo esempio è stato fornito nel 1988 dal Robert Morris Jr. worm sviluppatosi in migliaia di host, che a quel tempo costituivano una parte significante dell’Arpanet (il predecessore di Internet). Solo ad un anno di distanza un worm di nome Melissa fù in grado di infettare documenti Microsoft Word e si diffuse velocemente poichè era in grado di inviarsi tramite email agli indirizzi di posta che trovava nella rubrica degli indirizzi di Outlook, dimostrando così che l’email era un ottimo mezzo per la propagazione del malware. La facilità con cui il malware riusciva a diffondersi tramite e-mail ispirò negli anni successivi la nascita di altri worm tra i quali: il Love Letter Worm, Code Red, Nimda, Klez, SQL Slammer/Sapphire, Blaster, Sobig e MyDoom.
Oltre alla forma di tipo infettivo, altra forma ampiamente diffusa è quella dei malware caratterizzati dalla possibilità di nascondersi agli occhi della vittima tra i quali compaiono Trojan Horses e rootkits. La caratteristica di essere furtivi è molto importante per i malware poichè i software Antivirus altrimenti potrebbero scovarli. I Trojan Horses per non essere scoperti, si presentano all’utente come un programma utile e una volta che l’utente effettua il download scarica anche il software malevolo. Rootkit è essenzialmente una modifica inserita nel sistema operativo della vittima per nascondere la presenza di file o processi malevoli all’utente e ad eventuali scansioni. Un’altra forma molto diffusa è quella di malware che permettono il controllo del pc della vittima da remoto e comprende: Remote Access Trojan (RATs) e boots. Grazie a un RAT, un malintenzionato è in grado di visualizzare e modificare i file e le funzioni del computer, di controllare e registrare le attività eseguite e di utilizzare il computer per attaccare altri computer ad insaputa della vittima, esempio di RAT sono: Back Orifice, Netbus, and Sub7. Bot deriva dalla parola robot e sono programmi a controllo remoto installati sotto copertura nei pc delle vittime, tipicamente sono programmati per apprendere istruzioni dal “bot header”.
Tutti i pc comandati dallo stesso “bot header”formano una botnet che tipicamente viene progettata per produrre spam oppure per sferrare un attacco di tipo Distribuited Denial of Service (DDOS). La potenza della botnet è proporzionale alla sua grandezza tuttavia la sua grandezza è difficile da scoprire. Uno dei più famosi esempi di botnet è fornito dallo Storm worm che fù lanciato nel gennaio del 2007 in una rete peer-to-peer distribuita in cui ogni host infetto condivideva liste di altri host infetti, ma nessun host singolo possedeva la lista dell’intera botnet. Ben presto la botnet divenne sempre più grande fino a raggiungere circa un milione di host anche se è impossibile risalire alla vera dimensione a causa delle misure per sfuggire alle scansioni adottate dai bot. Un’altra classe di malware è popolata da malware designato al furto dei dati ed include keyloggers e spyware.
Un keylogger può assumere la forma di un Trojan Horse o di qualunque altro malware e sono finalizzati a rubare password oppure altre informazioni di valore personale. Un esempio è fornito dal KeyLogger Magic Lantern utilizzato dal’FBI. Gli Spyware, proprio come dice il nome, sono delle spie che monitorano e registrano l’attività dell’utente al fine di carpire informazioni personali all’insaputa dell’utente.
Sniffing
Lo sniffing è una tecnica che consiste nel catturare il traffico all’interno di una rete e può essere utilizzata per due scopi:
- Scopi Legittimi: Individuazone di problemi di comunicazione o di tentativi di intrusione.
- Scopi Illegittimi: Intercettazione fraudolenta di password o di altre informazioni sensibili.
Se utilizzato per scopi legittimi lo sniffing è utile agli amministratori di sistema per supervisionare la rete e prevenire eventuali attacchi mentre se usato per scopi illegittimi minaccia la riservatezza delle informazioni che transitano in rete. Nel secondo caso quindi permette ad un’attaccante di leggere i dati in transito senza esserne autorizzato, come mostrato in figura sgeunte.
Una volta catturato il traffico, l’attaccante può leggere i dati contenuti nei pacchetti di rete, incluse le eventuali password trasmesse per autenticare un utente nei confronti di un servizio a cui sta cercando di accedere. L’intercettazione dei dati avviene attraverso appositi strumenti, detti sniffer, che hanno il compito di raccogliere le informazioni in transito sulla rete ed effettuare su di esse diverse operazioni quali la conversione dei pacchetti in una forma leggibile e filtraggio in base a criteri stabiliti dall’attaccante.
La soluzione per difendersi da questo tipo di attacco è l’utilizzo di algoritmi per cifrare il traffico, in particolare le informazioni sensibili, in modo da assicurare la confidenzialità dei dati. Inoltre esistono molti software che rivelano gli sniffer presenti sulla rete.
Clickjacking
Clickjacking è una parola costruita dalla fusione dei termini hijacking (dirottamento) e click quindi si può definire come un “dirottamento del click”. E’una tecnica di attacco che consiste nell’ingannare gli utenti del Web nel momento in cui cliccano su un link apparentemente innocuo, reindirizzandoli, a loro insaputa, ad un altro oggetto. Solitamente questa tecnica sfrutta JavaScript o Iframe.
La tecnica basata su JavaScript è molto semplice in quanto il click dell’utente su di una pagina HTML non genera alcuna azione in sè ma si limita a generare un evento all’interno della pagina. Questo evento viene ricevuto e gestito da un’apposita funzione JavaScript nota come event handler che viene scritta dal programmatore ed avrà il compito di redirigere il click del mouse. Per emulare il click del mouse è sufficiente che il programmatore utilizzi il seguente event handler:
button1.onclick=”myEventHandler()”
Questo definisce l’event handler da usarsi quando viene premuto il pulsante button1
myEventHandler()
Questo invoca direttamente l’event handler, come se fosse stato premuto il pulsante
La seconda tecnica è basata su IFRAME, un tag Html che, opportunamente utilizzato, permette di posizionare una finestra Html su una esistente o su tutta la sua estensione o utilizzando parti di essa. Un hacker utilizza, di norma, un IFRAME per inserirvi un sito insidioso su uno legittimo per tutta la sua estensione. In questo modo le eventuali selezioni sulla pagina cadono sulla pagina fittizia.
Per esempio utilizzando il codice riportato:
iframe height=”100″% width=”100″% src=attacker site Attualmente nessun browser è immune da attacchi di questo tipo in quanto
la minaccia è insita nel tag IFRAME o nello standard HTML e Javascript. La soluzione possibile è allora l’inasprimento dei controlli del browser oppure l’inibizione di certe opzioni. Ad esempio si possono disabilitare contemporaneamente l’interprete Javascript e il tag IFRAME. Inoltre alcuni browser come Mozilla e Firefox permettono l’installazione di plug-in NoScript e la selezione dell’opzione “forbid IFRAME”. Inoltre gli amministratori di siti web possono innalzare le barriere di sicurezza relative ai propri siti associando ad ogni click i famosi captcha (Test per determinare se l’utente sia un umano e non un computer o un bot. Tipicamente si richiede all’utente di scrivere quali siano le lettere o i numeri presenti in una sequenza che appare distorta o offuscata sullo schermo) o definendo password mirate per una singola operazione oppure delle mail di conferma.
Attacchi DoS
Gli attacchi Denial Of Service, DoS (letteralmente negazione del servizio) hanno lo scopo di portare il server web al limite delle prestazioni in modo che non possa più erogare servizi. Le comunicazioni su Internet avvengono tramite il protocollo TCP/IP che prevede una sincronizzazione della connessione tra sorgente e destinatario realizzata tramite il Three Way Handshaking secondo il quale il client inizia la connessione verso il server inviando un pacchetto TCP contrassegnato con il flag SYN, il server invia una notifica di ricezione della richiesta generando un pacchetto con flag SYN/ACK, di seguito la connessione viene stabilita e mantenuta con dei pacchetti aventi il flag ACK. In figura seguente (Protocollo Handshake) viene mostrato il processo di sincronizzazione:
L’attacco al server può quindi essere realizzato inviando contemporaneamnte migliaia di richieste di sincronizzazione al secondo verso il server che risponde inviando SYN/ACK finchè le sue possibilità hardware e software lo permettono, ovvero finchè il livello di utilizzo della CPU non sale al 100 % bloccando di fatto il server e quindi non permettendo nessun tipo di operazione, sia essa di amministrazione locale della macchina sia in remoto. Ovviamente anche tutte le connessioni dall’esterno non saranno possibili e quindi tutti i servizi, web server incluso, non risulteranno disponibili. Questa tecnica di attacco DoS viene definita Flooding (innondamento), in quanto viene realizzata tramite l’invio di un flusso anomalo di pacchetti verso un’unica destinazione.
Attacchi DDoS
Gli attacchi DoS si sono evoluti nel corso del tempo, da semplici attacchi, condotti da singoli PC, ad attacchi organizzati in modo distribuito (da qui l’acronimo DDoS), realizzati da migliaia di computer disseminati per tutta la rete che insieme compongono una botnet a libera disposizione dell’attaccante. Infatti l’attaccante non si espone direttamente, per evitare di essere individuato, ma infetta un numero elevato di computer utilizzando virus o worm che permettono di lasciare aperte delle backdoor a loro riservate in modo da consentire all’attaccante di prendere il controllo remoto della macchina senza il consenso del proprietario.
L’attacco Ddos non deve essere sottovalutato basti pensare che riuscì, nel febbraio del 2000, a mettere in ginocchio siti ad elevata visibilità come CNN, Yahoo, Ebay, Amazon. Un attacco di questo tipo risulta così pericoloso in quanto è impossibile fare una distinzione tra un carico pesante, ma legittimo, proveniente da molteplici sorgenti e un attacco di tipo Ddos.
Web Spoofing
Tale attacco consiste nella falsificazione di un sito web per trarre in inganno l’utente che crede di navigare all’interno del sito web richiesto mentre in realtà è connesso ad un server malevolo.
Innanzitutto l’hacker adesca la vittima servendosi di hyperlink fasulli che indirizzano il click dell’utente, non al sito web desiderato, ma a quello creato dall’attaccante. Gli hyperlink fasulli per adescare nuove vittime devono essere diffusi in diversi modi, ad esempio:
- l’hyperlink può essere posto all’interno di una pagina web popolare
- inviando alla vittima una mail contenente un puntatore al falso sito web
- alternativamente inviando alla vittima una mail che contenga il contenuto di una pagina presente sul falso sito web
- l’hacker può ingannare un motore di ricerca riuscendo a far puntare il risultato di una ricerca ad un contenuto del falso sito web
Il falso sito web, creato dall’hacker, assomiglia totalmente a quello originale in quanto contiene le stesse pagine e gli stessi link in modo che l’utente non si accorga dell’inganno. L’inganno permette all’attaccante di impadronirsi del traffico tra il browser web dell’utente ed il Web permettendogli così di ottenere anche le credenziali inserite dall’utente. Inoltre l’hacker può modificare tutti i dati in transito tra la vittima ed il Web server senza che egli se ne accorga. Ad esempio se la vittima effettua on-line un ordine di 100 widgets, l’hacker può: modificare la quantità dell’ordine, inviare a sè stesso una parte dei widgets modificando l’indirizzo oppure modificare il contenuto inviato dal Web server all’utente inserendo altro materiale come mostrato in figura seguente.
Cross Site Scripting
L’attacco Cross Site Scripting(XSS) richiede tipica mente l’utilizzo di script client-side realizzati in Java Script e progettati allo scopo di estrapolare informazioni dalla vittima e trasmetterle all’attaccante.
Una pagina web contiene testo e immagini che vengono immagazzinati in un Server Web e formattate utilizzando HTML in modo che, quando la pagina viene inviata all’utente, il suo browser interpreti il linguaggio HTML fornendo all’utente la pagina desiderata.
Tali pagine possono essere statiche o dinamiche: nel primo caso le informazioni contenute al suo interno non cambiano anzi sono le stesse per ogni visitatore mentre nel secondo caso cambiano il proprio contenuto in base all’input inserito dall’utente.
L’attacco XSS si basa sulle pagine dinamiche infatti si tratta di codice malevolo (tipicamente in JavaScrpit ma anche in ActiveX) inserito in specifiche pagine dinamiche. Tuttavia l’attacco XSS non è direttamente rivolto alla pagina in questione, in quanto l’hacker non intende entrare nel Web Server, ma la sua vittima è l’utente che naviga nel web visitando pagine dinamiche e iniettando inconsapevolmente nell’applicazione web uno script di tipo client-side.
Per comprendere meglio come funziona il Cross Site Scripting, vengono di seguito elencate le fasi della sua attuazione:
- L’attaccante cerca un sito web, vulnerabile all’attacco XSS, che visualizzi la login errata come mostrato in figura segeunte.
- Individuato il sito, l’attaccante può generare un URL che contenga al suo interno alcuni comandi JavaScrip.
- Successivamente questo URL viene inviato tramite mail alla vittima chiedendogli di inserire le proprie credenziali al fine di verificare la propria password oppure promettendogli di ricevere servizi
- Inconsapevolmente la vittima clicca sull’URL dell’attaccante ed inserisce i propri username e password che vengono inviati al server dell’attaccante prima di essere trasmesse al vero server Web. La vittima viene logga ta all’interno dell’applicazione web senza rendersi conto che le proprie credenziali sono state rubate.
Mentre, nella figura che segue vengono riassunte le fasi descritte sopra:
SQL Injection
Tale tecnica mira all’attacco di applicazioni web che si appoggiano su data base di tipo SQL al fine di accedere ad informazioni private, modificare le informazioni presenti nel database bersaglio, controllare o addirittura distruggere il database stesso.
In questa tipologia di attacco, l’intruso non tenta di accedere al database, eludendo la protezione crittografica oppure il sistema di password, ma tenta di iniettare alcuni script “legali”sfruttando modalità standard di input dei dati quale ad esempio un textbox in una pagina web. Se tale attacco và a buon fine è possibile accedere o modificare dati sensibili presenti sul database ed inserire Query o comandi SQL tra cui anche il comando DROP TABLE che permetterebbe all’attaccante di eliminare l’intero contenuto del database.
Esempio di SQL Injection
Nelle pagine asp Microsoft, Un esempio di codice HTML per un form in cui inserire due input, login e password è:
<form method=post action=http://testasp.acunetix.com/login.asp>
<input name=tfUName type=text id=tfUName>
<input name=tfUPass type=password id=tfUPass>
</form>
La via più facile per far funzionare il login.asp è quella di costruire una query per il database come la seguente:
SELECT id
FROM logins
WHERE username = ‘$username’ AND password = ‘$password’
Se le variabili username e password vengono richieste direttamente dall’input dell’user, questo può essere facilmente compromesso.
Supponiamo di inserire “Joe come username e di fornire come password la seguente stringa:
‘anything’OR ‘x’=’x’.
SELECT id
FROM logins
WHERE username = ‘Joe’
AND password = ‘anything’OR ‘x’=’x’
Se gli input dell’applicazione web non sono correttamente controllati, l’uso delle virgolette singole modifica il comando WHERE di SQL in una clausola di due componenti.
Il codice ‘x’=’x’garantisce che la password risulti corretta a prescindere da ciò che la prima parte contiene. Questo pùo permettere ad un attaccante di bypassare il form di login senza conoscere una combinazione username/password valida.
Esistono tre possibili meccanismi da attuare per prevenire attacchi di tipo SQL Injection:
- Utilizzare un Proxy interposto tra l’applicazione web e il database in modo che ogni istruzione di tipo SQL venga controllata dal proxy prima di essere reindirizzata al database e in caso di validità ottenga l’accesso al database.
- Utilizzare un filtro per monitorare il traffico HTTP ed eliminare eventuali attacchi malevoli.
- Utilizzare istruzioni SQL parametrizzate in modo che ogni input possa venire automaticamente verificato dall’applicazione
Tuttavia le soluzioni proposte comportano degli svantaggi per l’applicazione web, quali ad esempio un elevato carico computazionale e una maggior difficoltà di implementazione.
Cookie Manipulation
I Cookie sono frammenti di testo inviati da un server ad un web client e poi rispediti dal client al server, senza subire modifiche, ogni volta che il client effettua l’accesso al server.
I cookie sono spesso usati dagli sviluppatori web in quanto permettono di gestire informazioni senza bisogno di memorizzarle sul server stesso ma in maniera distribuita sui client, preservando quindi le risorse del server. I siti Internet che li utilizzano, ne fanno uso, solitamente, oltre che per controllare quante volte uno stesso utente accede al sito web, anche per memorizzare informazioni che possano rendere migliore la navigazione di un client all’interno di uno stesso sito, ad esempio possono essere creati per conservare informazioni di login per accesso ad un forum o ad un’area privata.
Più in dettaglio i diversi utilizzi dei cookie sono dunque:
- Riempire il carrello della spesa virtuale in siti commerciali
- Permettere ad un utente il login in un sito web
- Personalizzare una pagina web sulla base delle preferenze dell’utente. Modalità sfruttata ad esempio dal motore di ricerca Google per permettere all’utente di decidere il numero di risultati della ricerca che l’utente desidera visualizzare per pagina Tracciare i percorsi dell’utente.
- Modalità tipicamente sfruttata dalle compagnie pubblicitarie al fine di ottenere informazioni sul navigatore, quali gusti e preferenze. I dati raccolti vengono poi utilizzati per creare un profilo del visitatore che gli presenti, al momento della navigazione, solo i banners pubblicitari scelti sulla base dei suoi gusti.
- Gestire ed aggiornare un sito sulla base di informazioni riguardanti i suoi visitatori al fine di migliorarne le navigazione. Ad esempio raccogliendo informazioni sui percorsi compiuti dagli utenti all’interno del sito, il gestore può accorgersi di eventuali percorsi ciechi ed eliminarli.
Inoltre i cookie possono memorizzare dati identificativi dell’utente (ad esempio: nome, indirizzo e-mail, indirizzo di casa, numero telefonico) ma attenzione non può carpirli dal pc dell’utente quindi deve essere direttamente l’utente a fornirli.
I cookie sono caratterizzati dagli attributi:
- Nome/Valore: è una variabile ed un campo obbligatorio.
- Scadenza (expiration date): è un campo opzionale ed indica la scadenza del cookie rispetto al timestamp nel quale lo stesso viene creato, può essere espressa come data, come numero di giorni, come NOW (adesso) e come NEVER (mai). L’utilizzo di una scadenza NOW elimina immediatamente il cookie dal sistema ospite in quanto il cookie scade nel momento in cui viene creato o aggiornato. L’utilizzo di una scadenza NEVER permette la creazione di cookies non soggetti a scadenza.
- Sicuro (secure): è un attributo opzionale che indica se il cookie debba essere trasmesso criptato HTTPS.
- Percorso (path): è un campo opzionale e definisce il sottoinsieme di indirizzi url a cui il cookie può essere applicato.
- Dominio (domain): indica il dominio a cui il cookie si riferisce.
L’attacco cookie manipulation compare tra i 20 attacchi più utilizzati dagli hacker proprio per la semplicità dei cookie che essendo file di testo possono essere facilmente modificati. Attraverso questa tecnica chi attacca può ottenere informazioni private e non autorizzate da un utente, nonchè rubare la sua identità.
Spam
Spam è il nome della prima carne in scatola in gelatina, inventata da J.C. Hormel nel 1936 in una cittadina dello stato del Minnesota che ebbe un successo immediato e straordinario.
Nei primi anni ’90 una coppia di avvocati dell’Arizona inonda il mondo dei newsgroup di mail pubblicitarie in cui offrivano i loro servizi. Le proteste furono così numerose che il fenomeno venne battezzato spam perchè, come l’originale, destinato a capillare diffusione.
Attualmente il termine spam viene utilizzato per indicare un’ondata di mail non richieste, inviate a scopo pubblicitario ad indirizzi reperiti dagli attaccanti in diverse modalità.
Gli spammers possono ottenere indirizzi email da varie sorgenti: siti Web, newsgroups, directory online, virus che rubano i dati e così via. Lo spam è un mezzo molto popolare per diffondere malware ed esche che attirino gli utenti su siti malevoli attraverso l’invio di link agli indirizzi mail individuati.
Questa tecnica non è molto persuasiva infatti si stima che solo 4 persone ogni mille contattate mostri qualche interesse, ma è una tecnica molto diffusa in quanto praticamente gratuita.
La soluzione è data all’adozione di filtri per lo Spam. L’uso del sistema antispam (molto spesso associato all’antivirus) permette di bloccare i messaggi indesiderati (spam) prima che questi vengano recapitati all’utente, mettendoli in una zona di quarantena su cui l’utente pùo agire per cancellarli o richiederne comunque la ricezione.