• Non ci sono risultati.

Fenomenologia degli Attacchi Informatici. Analisi delle tecniche utilizzate per realizzarli e dei metodi predisposti per contrastarli.

N/A
N/A
Protected

Academic year: 2021

Condividi "Fenomenologia degli Attacchi Informatici. Analisi delle tecniche utilizzate per realizzarli e dei metodi predisposti per contrastarli."

Copied!
156
0
0

Testo completo

(1)
(2)

Sommario

Sommario

Una delle principali e gravi minacce su Internet è il software nocivo, spesso defnito come malware (malicious software) cresciuto esponenzialmente negli ultimi anni. In questo studio sono affrontati solo alcuni aspetti connessi al malware, un fenomeno considerato ormai una minaccia grave e multiforme al sistema economico e sociale; vengono evidenziate le sue sfaccettature ed i punti di vista diversi che portano ad una sua maggiore conoscenza per affrontare al meglio la progettazione e l'applicazione delle armi più effcaci per combatterlo.

I campi e gli esperti implicati nello studio del malware, visto nel suo insieme comprensivo dei fles esecutivi (nocivi) , il loro possibile utilizzo, lo sfruttamento, la propagazione , le implicazioni economiche e sociali dei possibili effetti, le contro mis-ure attuabili, sono molto vari e toccano ambiti che in apparenza potrebbero sembrare distanti :

gli analisti informatici affrontano , verifcano e studiano tutti i metodi possibili per rendere trasparente il codice dei così detti “campioni” nocivi (fle esecutivi) che sono immessi nei circuiti informatici, per trovare i modi più immediati per scovarli e mi-tigarne gli effetti, per creare strumenti di analisi dinamica dei campioni sempre più effcienti. I ricercatori ed i produttori di software anti-virus si confrontano con una moltitudine di campioni (programmi sospetti da analizzare) potenzialmente dannosi. Ricevere migliaia di nuovi campioni ogni giorno non è raro in quanto chi li propaga spera che il tempo impiegato per analizzare ogni campione dia al proprio codice no-civo la possibilità di penetrare nei computer degli utenti;

gli esperti del comportamento umano , individuano le debolezze che portano alcuni utenti a cadere nella rete di chi predispone trappole malware (l'accesso dei fles infetti nei supporti informatici fnali avviene proprio sfruttando debolezze, errori, falle, comportamenti automatici ed impreparazione);

gli analisti economici i cui studi in materia delineano le varie sfde economiche che affiggono la sicurezza informatica : incentivi disallineati, asimmetrie informative e

esternalità.

In questo lavoro viene effettuata un'indagine affrontando quanto realizzato da esperti specializzati in questi campi cercando di mettere in evidenza alcuni as-petti della complessa dimensione del fenomeno. Come primo passo verrà effettuata:

(3)

ciale ponte di accesso sfruttato ampiamente per l'infltrazione nei supporti inform-atici fnali;

seguita da: un'indagine sulle tecniche, basate principalmente su analisi

din-amiche. che vengono utilizzate per analizzare i campioni potenzialmente dannosi,

sui programmi che impiegano queste tecniche di supporto agli analisti umani nella valutazione, in modo tempestivo e appropriato, del comportamento di un determ-inato campione . Presenta inoltre le metodologie che possono essere applicate per an-alizzare potenziali minacce e differenziare campioni che sono semplici varianti di minacce già note e gli strumenti attualmente disponibili e i loro tentativi per l'esecuzione di analisi dinamica automatica sul software potenzialmente dannoso; viene approfondito il sistema Botnet e viene presentata: un'analisi del

comporta-mento di una Botnet come attacco strutturato e complesso e presentazione dei

met-odi allo studio e utilizzati per mitigarne gli effetti (monitoraggio del comportamento ed analisi - Zeus family- );

vista l'ampiezza del problema e la diffcoltà di affrontarne le soluzioni che comunque devono necessariamente essere diversifcate a secondo del tipo di attacco, mirate all'individuazione dei punti deboli, quelli passibili dei danni, dell' individuazione dell'esatta portata dei danni arrecati, vengono presentati gli aspetti del problema malware secondo alcuni studi nel campo economico della sicurezza in particolare quelli di Tyler Moore e Ross Anderson . Questi studi di economia della sicurezza in-dividuano come i sistemi informativi siano inclini a fallire quando la persona o l'im-presa responsabile per la protezione del sistema, non è quella che soffre quando subisce le conseguenze del fallimento. Di conseguenza, qualsiasi analisi della sicurezza informatica dovrebbe iniziare con l'analisi degli incentivi delle parti in-teressate. Inoltre le asimmetrie informative fanno sì che non sempre vengano resi pubblici i danni reali di un attacco ed i costi derivati in quanto , anche se danneggiate alcune persone/imprese ritengono di non avere interesse a rilasciare i dati reali degli attacchi subiti. La mancanza di sicurezza genera esternalità negative. Un computer infetto che è stato incorporato in una rete gestita da malintenzionati (botnet) può in-quinare Internet e danneggiare molti altri host. Le argomentazioni degli analisti eco-nomici puntano sull'importanza di una progettazione guidata dagli incentivi giusti, con informazioni corrette ed esternalità sicure.

(4)

Indice generale

Indice generale

1 INTRODUZIONE...1

1.1 CONTESTO ...1 1.2 BACKGROUND...3 1.3 SCOPOED OBIETTIVI...4

2 RASSEGNA SUL MALWARE E SUA CLASSIFICAZIONE...6

2.1 GLI ATTACCANTI...6

2.2 CARATTERISTICHEDELMALWARE...7

2.2.1 VIRUS...7

2.2.2 WORM...8

2.2.3 TROJAN HORSE...8

2.2.3.1 Ransomware e cryptoware ...9

2.2.4 SPYWARE, KEYLOGGER, SNIFFER ...10

2.2.5 CSS CROSS SITE SCRIPTING...11

2.2.6 ROOTKITS...11

2.2.7 BOT...13

2.2.8 BOTNET...14

2.3 VETTORIDI PROPAGAZIONE / INFEZIONE...15

2.3.1 SERVIZIVULNERABILITRAMITELARETE...15

2.3.2 DRIVE-BY DOWNLOAD...16

2.3.2.1 Man-in-the-Middle...18

2.3.2.2 Man-in-the-Browser...18

2.3.3 INGEGNERIASOCIALE. ...19

2.3.3.1 Esempio: Attacco con violazione di Microsoft Xbox ...20

3 ANALISI DEL MALWARE STATICA E DINAMICA...22

3.1 ANALISI STATICA...23

3.1.1 PROBLEMIDIUTILIZZODELL' ANALISI STATICADELMALWARE ...23

3.2 ANALISI DINAMICADELMALWARE...24

3.2.1 METODIETECNICHEPERL' ANALISI DINAMICA...24

3.2.1.1 Monitoraggio delle chiamate di Funzione...24

3.2.1.2 Analisi dei Parametri di Funzione...25

3.2.1.3 Tracciamento del Flusso di informazioni...25

3.2.2 TRACCIARELEISTRUZIONI ...26

3.2.3 ESTENDIBILITÀDELL'AVVIOAUTOMATICO ...27

3.3 STRATEGIEDI ATTUAZIONE...27

3.3.1 ANALISINELLO SPAZIO USER/KERNEL...27

3.3.2 ANALISIINUNEMULATORE...28

3.3.3 ANALISIINUNA MACCHINA VIRTUALE...28

3.3.4 RIPRISTINODELL'AMBIENTEDI ANALISI...30

3.3.5 SIMULAZIONEDIRETE ...30

Non Internet, ma una Rete simulata. ...31

Accesso a Internet filtrato. ...31

3.3.6 CORSAALLE ARMITRA ANALISTIED AUTORIDELMALWARE...31

3.3.6.1 Codice che si Auto-Modifica e Packers. ...32

3.3.6.2 Mitigare il problema Packer ...33

3.3.6.3 Reverse-engineering dell'algoritmo di unpacking...33

(5)

3.3.6.5 Rilevazione di Ambienti di Analisi...34

Tecniche di contrasto all'Anti-Analisi...36

3.3.6.6 Bombe logiche ...38

3.3.6.7 Analisi delle prestazioni ...39

4 STRUMENTI DI ANALISI DEL MALWARE...41

4.1 ANUBIS...41 4.2 CWSANDBOX ...42 4.2.1 NORMAN SANDBOX...45 4.2.2 THREATANALYZER ...47 4.2.3 JOEBOX...48 4.2.4 ETHER...49 4.2.5 WILDCAT ...51 4.2.5.1 Sakthi ...52 4.2.5.2 Spike...52 4.2.5.3 Cobra ...52 4.2.6 HOOKFINDER...53

4.3 TRATTARECON BINARI PACKED...54

4.3.0.1 Justin. ...54 4.3.0.2 Renovo. ...56 4.3.0.3 OmniUnpack. ...57 4.3.0.4 Analisi Spyware...58 4.3.0.5 Behavior-Based...58 4.3.0.6 TQana. ...59 4.3.1 PANORAMA...61 4.4 HONEYNET...63

5 APPROFONDIMENTO SULLE BOTNET...66

5.1 INTRODUZIONEEDESCRIZIONE...66

5.1.1 CLASSIFICARELE BOTNETCOMEATTACCHI MITB...68

5.1.1.1 URLzone (Bebloh) ...69

5.1.1.2 Torpig (akaSinowal)...70

5.1.1.3 Zbot (Zeus, Kneber)...71

5.1.1.4 L'attacco MITB come strumento utilizzato dalle Botnet...72

5.1.1.5 Come fermare gli attacchi MITB...72

Attacco al sistema OOB...73

Dati statistici sugli attacchi ...74

5.1.2 ZBOT (ZEUS KINGOFTHE BOT)- APPROFONDIMENTO- ...74

5.1.2.1 Installazione di Zbot sul client vittima...77

5.1.2.2 Informazioni raccolte di default da Zbot...78

5.1.2.3 Il file di configurazione dinamica...78

5.1.2.4 HTML Injection nelle pagine web...79

5.1.2.5 Attività aggiuntive...80

5.1.2.6 Comunicazioni sulla Rete...80

5.1.2.7 Costruzione del bot eseguibile e file di configurazione statica...81

5.1.2.8 Configurazione del Server...82

5.1.2.9 Tavole del database cpdb...82

5.1.2.10 Considerazioni su installazione ed uso Zbot/Zeus...83

5.1.2.11 La mutazione ZeuS-P2P / Gameover...83

6 ASPETTI ECONOMICI DELLA SICUREZZA ...86

6.1 CONSIDERAZIONIGENERALI ...86

6.2 BARRIEREECONOMICHEPERMIGLIORARELA CYBERSECURITY...86

(6)

6.2.3 ESTERNALITÀ...90

7 CONSIDERAZIONI ...92

8 CONCLUSIONI...94

9 APPROFONDIMENTI ANALISI DINAMICA...97

9.1 DETTAGLIO CHIAMATEDI FUNZIONE ...97

Application Programming Interface (API) ...97

Chiamate di sistema...97

API native di Windows nativo...98

I risultati della funzione di Hooking (aggancio)...99

Implementare la funzione di aggancio...99

Tracciare la Post-elaborazione della funzione di chiamata...101

9.2 DETTAGLIO TRACCIAMENTO FLUSSODI INFORMAZIONI ...102

Dipendenze Dirette dei dati ...102

Utilizzo delle Dipendenze ...102

Controllo delle Dipendenze del flusso ...103

Il flusso di informazioni implicite ...103

Implementazione di sistemi di flusso di informazioni di monitoraggio ...104

9.3 DETTAGLIO EMULATORE ...105

Emulatore di Memoria e CPU...105

Emulazione completa del sistema ...106

9.4 DETTAGLIO RIPRISTINO AMBIENTEDI ANALISI ...108

Soluzione software. ...108

Istantanee Macchina Virtuale...108

Supporto hardware per le istantanee ...108

10 ESEMPI – CASI DI STUDIO...I

10.1 VIRUS_C.C (COMMENTATO)...I

10.2 WORM LION...III

10.3 TROJAN, WORMEBOT ...III

10.4 PACKER...IV

10.4.1 LAPROCEDURADIIMPACCHETTAMENTODIUNESECUTIVO...IV

10.5 ESEMPIO : COMECLASSIFICAREEFIRMAREUNFILECON CLAMAV [B-69]...VIII

10.6 SCHEMADIATTACCODIUNA BOTNET...X

10.6.1 ROUTINE ANTI-RILEVAMENTO PRE-INFEZIONE...XI

10.6.2 PROCEDURAPERINVOCARE THREADS REMOTI...XIII

10.6.3 COMUNICAZIONECON NAMED PIPE...XIV 10.6.3.1 Mass Process Infection...XV 10.6.3.2 Come Scoprire e Rimuovere il Trojan...XVI

10.7 ILPACCHETTO ZBOT/ZEUS...XVIII

10.8 RANSOMWARE TORLOCKER...XXI

10.9 WEB SERVERSCHEDIFFONDONO MALWARE...XXII

10.10 IL MALWARE POS...XXVI

10.11 APT (ADVANCED PERSISTENT THREAT)...XXVIII

11 BIBLIOGRAFIA...XXX

12 RIFERIMENTI...XXXVI

(7)

Indice delle Figure

Indice delle Figure

Figura 1: Diffusione di internet nel mondo nell'anno 2015 [47]...1

Figura 2: Confronto malware tradizionali ed avanzati [4]...4

Figura 3: Esempio di struttura di una Botnet...14

Figura 4: Rilevamento Symantec su 12 mesi infezione di Zeus...75

Figura 5: Rilevamento Symantec in 10 paesi infezione di Zeus...76

Figura 6: Il monitor di abuse.ch che traccia i server C&C ...77

Figura 7: Pagina Web dopo l'iniezione...80

Figura 8: Pagina Web prima dell'iniezione...80

Figura 9: Nodi della rete Zeus-P2P...85

Figura 10: Esempio Dipendenze dirette 1...104

Figura 11: Esempio Dipendenze dirette 2...104

Figura 12: Esempio Dipendenze flusso ...105

Figura 13: Esempio Informazioni implicite...105

Figura 14: Uso tipico di CR3 traduzione indirizzi in pagine 4 KiB...109 Figura 15: codice virus_c ...II Figura 16: La chiave di registro creata dopo l'esecuzione di virus_c...II Figura 17: Il nome cinese di worm lion...III Figura 18: I componenti di worm lion - tcp connect portscanner, il bind exploit, e alcuni scripts che legano i componenti e indirizzano l' worm...III Figura 19: Il diagramma dei processi attivati da worm lion...III Figura 20: La directory contenente UpX.exe ed il file virus_c.exe...V Figura 21: Invio del comando upx...V Figura 22: Il file packed virus_c.exe ...VI Figura 23: Applicazione di Peid su esecutivo non packed...VI Figura 24: Applicazione di Peid su esecutivo packed con Upx...VII Figura 25: Macchina Virtuale con Sistema Operativo REMnux...VII Figura 26: Applicazione comando clamscan...VIII Figura 27: Risultato del comando clamscan...IX Figura 28: Panorama del comportamento di un Bot nel sistema...X Figura 29: Routine Anti-rilevamento...XI Figura 30: Funzione che genera numeri pseudo-casuali...XII Figura 31: Costanti Pipe...XIII Figura 32: Gestione dei Processi...XV Figura 33: Modifiche sul sistema...XV Figura 34: Scansione memoria...XVI Figura 35: Rilevamento URL...XVI Figura 36: Ricerca con Process Explorer...XVII Figura 37: Home page sito keithjarrett.it...XXII Figura 38: Form da infezione web anyboard.net...XXIV Figura 39: Credenziali default sistemi POS...XXVI

(8)

Elenco di Abbreviazioni e Simboli

Elenco di Abbreviazioni e Simboli

API Application programming interface. Offrono insiemi di procedure utili al programmatore. Le API windows consistono in un insieme di funzioni in linguaggio C implementate in librerie a collegamento dinamico (in inglese Dynamic-link libraries o DLL). Le Windows API, nonostante si-ano scritte, in un mix di linguaggio C e assembly, presentsi-ano un complesso modello orientato agli oggetti con una struttura molto uni-forme ed uno stile che è stato di ispirazione per molti altri progetti. ARM Advanced RISC Machine, prima ancora Acorn RISC Machine indica una

famiglia di microprocessori RISC a 32-bit sviluppata da ARMHoldings e utilizzata in una moltitudine di sistemiembedded.

BHO BHO, letteralmente "assistente del browser", è un piccolo programma, installato nel sistema da un altro software, che parte in automatico ogni qualvolta si accede al browser.Nato nel 1997 come plugin di Internet Ex-plorer 4 della Microsoft per aiutare l'utente a navigare o per personaliz-zare il browser (vedi le barre aggiuntive in Internet Explorer), il BHO si è rivelato un'arma a doppio taglio perché spesso nasconde adware o spy-ware, autentici programmi malevoli il cui scopo è quello di monitorare la navigazione dell'utente ed inoltrare i dati al loro creatore.

CnC - C&C Server Command and Control – Utilizzato in Ambiente Botnet per ge-stire I bot ad esso collegati.

CR0 E' un registro del processore che cambia o controlla il comportamento generale di una CPU o altro dispositivo digitale.Il registro CR0 è lungo 32 bit sui processori 386 e superiori. Su processori x86-64 , è lungo 64 bit (come gli altri registri di controllo). CR0 ha vari flag di controllo che modificano il funzionamento di base del processore.

CR3 Usato quando è abilitato l'indirizzamento virtuale, quindi quando il bit PG si trova in CR0. CR3 permette al processore di tradurre gli indirizzi lin-eari in indirizzi fisici individuando la pagina della directory e la (table

page) per l'attività corrente. In genere, i 20 bit superiori di CR3

di-ventano page directory base register (PDBR) , che memorizza l'indirizzo fisico della prima entrata della pagina di directory.

DDoS Distributed denail-of-service.Indica un malfunzionamento in cui si fanno esaurire le risorse di un un sistema informatico che fornisce un servizio ad esempio un sito web su un web server, fino a renderlo non più in grado di erogare il servizio ai client richiedenti.

DLL Dynamic-link library . E' una libreria software che viene caricata dinam-icamente in fase di esecuzione, invece di essere collegata statdinam-icamente a un eseguibile in fase di compilazione.

DOM Document Object Model , letteralmente modello a oggetti del docu-mento, è una forma di rappresentazione dei documenti strutturati come modello orientato agli oggetti.DOM è lo standard ufficiale del W3C per la rappresentazione di documenti strutturati in maniera da essere neutrali sia per la lingua che per la piattaforma. DOM è inoltre la base per una vasta gamma di interfacce di programmazione delle applicazioni; alcune di esse sono standardizzate dal W3C.

IA-32 (Intel Architecture 32 bit), a volte i386, si definisce l'architettura o l'in-struction set dei microprocessori prodotti da Intel.

(9)

IDT Il Descriptor Table interrupt (IDT) è una struttura di dati utilizzata dal ar-chitettura x86 per implementare una tabella vettore di interruzione. L'IDT è utilizzato dal processore per determinare la risposta corretta per inter-rupt ed eccezioni.

ISA Un set di istruzioni, o architettura del set di istruzioni (ISA), è la parte dell'architettura computer connessa alla programmazione, compresi i tipi nativi di dati, istruzioni, registri, modalità di indirizzamento, architettura della memoria, interrupt e gestione delle eccezioni, e I / O esterno. Un ISA comprende una specificazione del set di codici operativi (linguaggio macchina), e i comandi nativi attuati da un particolare processore. IRC Internet Relay Chat (IRC) è un protocollo di messaggisticaistantanea su

Internet Descrizione : RFC1459.

KADEMLIA E' un protocollo di rete peer-to-peer. utilizzata per il file sharing, basata su tabelle distribuite su nodi della rete senza server centrali.

KVM KVM (kernel-based per Virtual Machine) è una soluzione di virtualizza-zione completa per Linux su hardware x86 contenente le estensioni di virtualizzazione (Intel VT o AMD-V).

MPLS Multi Protocol Label Switching è una tecnologia per reti IP che permette di instradare flussi di traffico multiprotocollo tra nodo di origine (Ingress

Node) e nodo di destinazione

MSR Machine state register è un registro di stato della macchina , uno dei tre registri di controllo di processo presenti nell'architettura processore PowerPC

P2P Peer-to-peer (P2P) o rete paritaria o paritetica, è un'espressione che in-dica un'architettura logica di rete in cui i nodi sono visti sotto forma di nodi equivalenti o paritari (in inglese peer) che possono cioè fungere sia da cliente che da servente verso gli altri nodi terminali (host) della rete. Essa dunque è un caso particolare dell'architettura logica di rete cli-ent-server.

PowerPC Acronimo di Performance Optimization With Enhanced RISC – Perform-ance Computing, a volte abbreviato in PPC, rappresenta l'architettura dell'insieme ISA RISC.

PTE Page Table Entry in ciascuna tabella delle pagine, ci sono anche 1024 entries. Sono entries della tabella delle pagine, e sono molto simili a quelle della pagina delle directory.

QEMU QEMU è un emulatore generico ed open source e virtualizzatore mac-china. Quando viene utilizzato come un emulatore, QEMU può eseguire sistemi operativi e programmi realizzati per una macchina (ad esempio una scheda ARM) su un computer diverso. Usa la traduzione dinamica, raggiunge prestazioni molto buone.

RDTSC Counter Time Stamp (TSC) è un registro a 64 bit presente su tutti i pro-cessori x86 dal Pentium in avanti. Conta il numero di cicli dal reset. L'is-truzione RDTSC restituisce il TSC in EDX: EAX.

TDL Il linguaggio TDL (Template Description Language) è

un'imple-mentazione del linguaggio XML (Extensible Markup Language). TDL è stato appositamente progettato per trasformare le idee dei progettisti di architetture software in criteri significativi.

UPnP Universal Plug and Play (UPnP) è un protocollo di rete creato dall'UPnP Forum. Permette la creazione di una rete peer-to-peer tra personal

(10)

com-puter e periferiche di rete.

WIDGET Un widget, in informatica, è un componente grafico di una interfaccia utente di un programma, che ha lo scopo di facilitare all'utente l'in-terazione con il programma stesso.

(11)

1

1

Introduzione

Introduzione

1.1

1.1

Contesto

Contesto

Da quando l' utilizzo degli strumenti di comunicazione e di lavoro basati su codice binario è diventato massivo è cresciuto in modo esponenziale il numero di col-oro che appartengono al gruppo degli attaccanti degli utenti legittimi (o, per meglio dire degli utenti inseriti nella regole di convivenza sociale che prevede il rispetto della privacy e della proprietà) e studiano ed attuano a vari livelli software e tecniche (di sfruttamento di falle di sicurezza , di ingegneria sociale,...) per carpire inform-azioni da utilizzare per varie fnalità. Gli attacchi sono cresciuti con la diffusione in tutto il mondo di Internet . Internet è presente ovunque: scuole, enti pubblici, casa, la-voro. La connessione Internet è sempre disponibile per gli utenti: Internet mobile a costi contenuti, larga diffusione di dispositivi mobili per accedere alla Rete (tablet e smartphone). Ampio è utilizzo di Internet per effettuare il pagamento di servizi pub-blici, acquistare prodotti e gestire i conti bancari.

Quota percentuale di utenti sottoposti ad attacchi provenienti dal Web (1° semestre del 2012):

(12)

Germania — 28,8%, 101° posto; Gran Bretagna — 36,8%, 42° posto; Francia – 36,3%, 44° posto; Italia – 43,5%, 18° posto; Unione Europea – 32,1%.

Elevato numero di utenti Mac OS X, crescita costante del numero di smartphone dotati di sis-tema operativo mobile Android.

I sistemi operativi sottoposti al maggior numero di attacchi: Windows, Android,Mac OS X [1].

Di contro anche tra coloro che per studio, ricerca o per professione studiano le contromisure si sono dotati di mezzi e strumenti sempre più sofsticati , sono stati arruolati alcuni attaccanti seguendo la regola che prevede “per vincere conosci il tuo nemico”.

Gli attaccanti se hanno la caratteristica esclusiva di perpetrare azioni criminali sono defniti: cybercriminali . Il software nocivo che propagano è il malware defnito come software che "compie deliberatamente l'intento dannoso di un attaccante". Per poter infettare un computer con software nocivo , i cybercriminali devono [1] :

• Invogliare l'utente ad eseguire un fle infetto, oppure

• Tentare di penetrare nel computer della vittima, attraverso una vulnerabilità del sistema operativo o di un'applicazione in esecuzione sul computer.

Allo stesso tempo, i cybercriminali più professionali tentano anche di assicur-arsi che i loro fles sfuggano al software anti-virus in esecuzione sul computer della vittima. Il campo di attacco preferito come è già stato detto è quello di Internet (e qualsiasi altro mezzo dove avvengano transazioni di dati sensibili) .

I malware sono progettati da aggressori, sono polimorfci in quanto possono presentare distinte e diverse caratteristiche e metamorfci in quanto possono possedere la capacità di modifcare il loro codice mentre si propagano. Inoltre, la d

i-versità e il volume delle loro varianti minano gravemente l'efficacia delle difese

trad-izionali che utilizzano in genere tecniche basate sulle firme e non sono in grado di

ril-evare gli eseguibili dannosi sconosciuti in precedenza.

Le varianti di famiglie di software nocivo condividono modelli comporta-mentali tipici che rifettono la loro origine e lo scopo. I modelli comportacomporta-mentali ot-tenuti in modo statico o dinamico possono essere sfruttati per rilevare e classifcare

(13)

malware sconosciuti nelle loro famiglie note utilizzando le tecniche di apprendimento

automatico.

1.2

1.2

Background

Background

I primi malware conosciuti furono denominati virus. Il termine virus è stato utilizzato per la prima volta da Len Adleman, un ricercatore dell’Università Lehigh in Pennsylvania, che ha paragonato il comportamento di un virus informatico a quello di un virus biologico, soprattutto per quanto concerne il propagarsi dell’infezione

[2]

. In origine questi programmi non furono creati per provocare danni. Il primo fu intro-dotto nel 1970 sotto il nome di Creeper ed attaccò la rete ARPAnet .

Il primo virus sviluppato in Italia, che ebbe una notevole diffusione in tutto il mondo, fu il cosiddetto virus della pallina – denominato Ping-pong – che si limitava a far comparire sul video del computer una faccina sorridente che si spostava su tutto lo schermo. È quasi certo che tale virus sia stato realizzato per fni di ricerca, nel 1987, da alcuni studenti del Politecnico di Torino.

L'idea di creare malware e diffonderlo è diventata popolare nell' ambiente del

cyber-crime avendo perso la componente goliardica e di ricerca ed avendo assunto

negli anni aspetti ed usi legati a cyber-attacks. Ci troviamo ora di fronte ad un nuovo capitolo che ha come argomento principe la diffusione di software nocivo che si presenta con nomi diversi , utilizzato a volte in concorso con altri tipi e fnalizzato quasi esclusivamente al furto di dati, soldi, di informazioni sensibili di qualsiasi tipo che siano legate a singoli individui, gruppi, società (a prevalenza economico-fnanzi-aria ma anche politica e religiosa) e così via.

I nomi sono Virus, Worm, Trojan horse, Spyware, Keylogger, Sniffer, Rootkit,

Backdoor, Adware …, possono essere utilizzati a gruppi per creare l'ossatura di Botnet,

infrastrutture costituite da bot (pc infetti) che propagano azioni nocive in rete. Le

bot-net costituiscono l'ultima generazione dei cyber-attacks. McAfee

[3]

cataloga oltre 100.000 nuovi campioni di malware ogni giorno e questo signifca circa 69 nuove min-acce ogni minuto o circa una minaccia al secondo.

Con l'aumento di strumenti già disponibili e sofsticati, gli attacchi delle nuove generazioni di minacce informatiche stanno diventando sempre più mirati,

(14)

persist-malware avanzati sono mirati, sconosciuti, furtivi, personalizzati e Zero Day[1] rispetto ai quelli tradizionali che erano diffusi, conosciuti, aperti e one-time.

Una volta dentro, si nascondono, si replicano e disabilitano o aggirano le pro-tezioni del pc host. Dopo essersi installati, contattano i loro server di comando e con-trollo per ulteriori istruzioni, che potrebbero essere quelle di rubare dati, di infettare altre macchine, ed altro.

Per diffondere il software intrusivo e nocivo sono state attuate e continuano ad esserlo varie tecniche defnite come: ingegneria sociale, che applicano l'arte dell'inganno e della truffa alle nuove tecnologie. Il più famoso e primo hacker della storia ad applicarle è stato Kevin Mitnik , ma essendo l'arte dell'inganno insita nel comportamento e nella storia dell'uomo è ampiamente applicata nei modi più vari da sempre in tutti i campi compreso Internet.

Figura 2: Confronto malware tradizionali ed avanzati [4]

1.3

1.3

Scopo ed Obiettivi

Scopo ed Obiettivi

Lo scopo di questo lavoro è quello di mettere in evidenza alcuni aspetti della complessa dimensione del fenomeno malware. Pertanto verrà realizzata una rassegna delle tecniche attualmente utilizzate per la ricerca e la mitigazione del malware con particolare attenzione alle tecniche ed agli Strumenti di analisi dinamica auto-matizzata .

[1]Zero Day , termine usati per descrivere la minaccia di una vulnerabilità di sicurezza sconosciuta in un software o in applicazioni per le quali la patch (correzione) non è stata rilasciata o gli sviluppatori ne erano inconsapevoli o non hanno avuto il tempo suffciente per affrontarla

(15)

Sarà data una panoramica delle principali tecniche di attacco perpetrate e su come avviene un attacco complesso (utilizzando strutture esterne C n C e vari tipi di

fles infetti) tramite una botnet (rete di host compromessi).

Seguirà una presentazione sull' analisi e sulle valutazioni economiche sullo stato della sicurezza in rapporto alle metodologie applicate per contrastare gli effetti nefasti degli attacchi tramite software nocivo.

Per raggiungere questo obiettivo generale, saranno realizzati questi obiettivi :

[Cap.2] Creare una rassegna degli studi sul malware e le minacce correlate. Analizzare I malware più recenti e gli attacchi associati, il comportamento e gli effetti . Evidenziare I vettori di propagazione ;

• [Cap.3 - Cap.4 - Cap.9] Creare una rassegna e la comparazione tra gli stru-menti ed i metodi di analisi per combattere il malware e relativi strustru-menti di rilevazione/valutazione;

[Cap. 5] Approfondimento sulle botnet. Analisi delle botnet più potenti, e dell' impatto dei loro attacchi; Esposizione di un attacco realizzato da una Botnet (Zeus family);

[Cap.6] Presentazione e considerazioni sugli aspetti del problema malware secondo alcuni studi nel campo economico della sicurezza in particolare quelli di Tyler Moore e Ross Anderson [B-1];

• [Cap. 7-8] Considerazioni e conclusioni sul tasso di successo nella rilevazione del malware e sul contrasto agli effetti dei cyberattacks visto secondo il punto di vista degli studi sulla sicurezza economica;

(16)

2

2

Rassegna sul

Rassegna sul

malware

malware

e sua classificazione

e sua classificazione

Il termine di malware raggruppa un insieme di software, accomunati dalle car-atteristiche comuni di essere ostili e invasivi, all'interno di questo insieme vengono coniati termini diversi per i software a seconda degli aspetti che presentano esamin-ando le loro precipue peculiarità.

La sezione seguente fornirà una panoramica di diversi tipi (le famiglie più note) e delineerà la loro rilevanza anche nel contesto assunto all'interno delle botnet delle quali, sarà fornita una descrizione sul funzionamento e saranno introdotti di-versi tipi di infrastrutture e dei metodi più signifcativi delle botnet più recenti.

2.1

2.1

Gli Attaccanti

Gli Attaccanti

Il termine con cui sono defniti comunemente è: hacker , inteso come “colui che cerca e sfrutta le debolezze in un sistema informatico o rete di computer”[19]. Gli

hacker possono essere motivati da una moltitudine di scopi, come il proftto, la

prote-sta, la sfda ed il divertimento. Si è evoluta una sottocultura degli hacker spesso def-nita come underground dell'ambiente dell'informatica . Un uso diverso della parola

hacker, non legato alla sicurezza informatica, è riferito a qualcuno con una

conoscen-za avanconoscen-zata di computer e reti informatiche. Esiste una distinzione fatta da alcuni programmatori professionisti che considerano il termine hacker (black hat) destinato a chi danneggia computer e reti e effettua azioni criminali, ed il termine hacker (whi-te hat) per l' esperto di sicurezza informatica , per altri invece è più appropriatamen-te chiamare i black hat con l'appellativo: cracker (più dispregiativo).

L'underground del computer ha prodotto un proprio gergo specialistico, de-fnito “Leet /1337” ( in Leet “Haxor”, è la traduzione di hacker). I suoi membri spesso sostengono la libertà di informazione, si oppongono fortemente al principio del dirit-to d'audirit-tore, così come sostengono il diritdirit-to di libertà di espressione e della privacy. Scrivere software e svolgere altre attività per sostenere questi punti di vista si riferi-sce come: hacktivism. L'underground del computer è spesso paragonato al selvaggio West. E' comune per gli hacker usare pseudonimi per nascondere la loro identità.

(17)

Quando le attività svolte degli hacker diventano crimini veri e propri vengono anche defniti cybercriminali. Infatti il Cyber-crime, o criminalità informatica, com-prende le attività criminali che implicano un computer e una rete. H. Debarati e K . Jaishankar [B-15]defniscono i Cyber-crimes come: "Reati che sono commessi nei con-fronti di individui o gruppi di individui con la fnalità di danneggiare intenzional-mente la reputazione della vittima o causare danno fsico o mentale, o perdite, in ma-niera direttamente o indirettamente, utilizzando reti di telecomunicazione moderne come internet (Chat room, e-mail, gruppi) e telefoni cellulari (SMS / MMS) ".

Tali crimini possono minacciare la sicurezza di una nazione e la situazione f-nanziaria. Le questioni riguardanti questi tipi di crimini sono diventate di alto prof-lo, in particolare quelle che riguardano l' hacking , la violazione del copyright, la por-nografa infantile. Ci sono anche problemi di privacy quando le informazioni riserva-te vengono inriserva-tercettariserva-te o diffuse.

2.2

2.2

Caratteristiche del

Caratteristiche del

malware

malware

Cercare di fare una classifcazione sarebbe stato impossibile ed ogni elencazio-ne sarebbe risultata assolutamente incompleta , quello che abbiamo cercato di realiz-zare è di sintetizrealiz-zare e mettere in evidenza le caratteristiche salienti dei gruppi più interessanti. (Informazioni aggiornate sono reperibili presso i maggiori produttori di AV [1]).

2.2.1

2.2.1

Virus

Virus

E' un termine predominante emerso in combinazione con il termine malware . Il ter-mine è spesso usato per descrivere i diversi tipi di malware, anche se questi non corrispondono agli attributi relativi alla defnizione stessa di un virus. Alcune defnizioni sono:

Un virus è un tipo specifco di software dannoso caratterizzato da auto-replicazione [B-46] ; è un fle di programma per computer in grado di associarsi ai dischi o ad altri fle e di replicarsi ripetutamente, in genere all'insaputa o senza il permesso dell'utente . Alcuni virus si attaccano ai fle, in modo che quando il fle infetto viene eseguito, anche il virus viene eseguito. Altri

vir-us risiedono nella memoria di un computer e infettano i fle all'accensione del computer,

modifcano o creano fle. Alcuni virus mostrano dei sintomi, altri danneggiano i fle e il com-puter-system, ma nessuna delle due caratteristiche è essenziale nella defnizione di un virus; un virus che non danneggia è ancora un virus [6] ;

I virus sono programmi che si auto-replicano in modo ricorsivo, il che signifca che i sistemi infetti diffondono il virus ad altri sistemi, che poi propagano ulteriormente il virus.

(18)

Mentre molti virus contengono un payload distruttivo, è abbastanza comune per i virus non fare nulla più di diffondersi da un sistema all'altro (comportamento passivo). La pro-pagazione effettiva tra i sistemi avviene quando i fle infetti vengono trasferiti su altri sistemi. A seconda del suo sviluppo, un virus informatico può utilizzare tutti i tipi di supporti diversi per queste capacità riproduttive, come ad esempio i fle-system basati su rete o supporto rimovibile.

Esempiosez. 10.1 : il codice in linguaggio C di un programma con le caratteristiche di un

virus: il suo eseguibile applica metodi win32 ed agisce sul registro.

2.2.2

2.2.2

Worm

Worm

A differenza di un virus, un worm non ha solo la possibilità di copiare se stesso su di-versi sistemi , ma è anche in grado di diffondersi attivamente. Un worm è in grado di cercare autonomamente altri computer all'interno della rete e di infettarli, se sono stati individuati come vulnerabili. Questo è in genere realizzato sfruttando note o vulnerabilità sconosciute nel sistema operativo o software aggiuntivo installato su di esso.

“Un worm è come un virus che si diffonde attraverso la creazione di duplicati di se stesso su altre unità, sistemi o reti. Un worm mass-mailing è quello che richiede l'intervento di un utente per diffondersi, (ad esempio, l'apertura di un allegato o l'esecuzione di un fle scaric -ato). A differenza dei virus, gli worm non infettano altri fle. La maggior parte dei virus di posta elettronica di oggi sono worm. Un worm di auto-propagazione non richiede l'intervento dell'utente per diffondersi. Esempi di worm di auto-propagazione includono Blaster, Sasser e Confcker”[6].

Un worm non contiene necessariamente routine distruttive o intrusive che danneggia-no direttamente il sistema della vittima. Alcuni worm sodanneggia-no stati creati esclusivamente per diffondersi e stabilire un canale di comunicazione con qualche soggetto che vuole controllare (ad esempio CnC). In questo contesto servono veicolatori attivi. Tuttavia, si deve constatare che gli worm in genere danneggiano il sistema o la rete sottostante indirettamente. Con le risorse che consumano, come potenza e larghezza di banda della rete informatica, spesso in-troducono instabilità nei sistemi host. L' attività di scansione continua, in particolare, con-suma molte risorse e può infuenzare signifcativamente la rete.

Esempio sez. 10.2: worm lion analisi del comportamento [8]

2.2.3

2.2.3

Trojan Horse

Trojan Horse

Mentre gli worm operano silenziosamente ed in autonomia, un trojan horse è un

(19)

fngendo di essere software legittimo da eseguire per attività lecite ed in buona fede. Fin -gendo di avere uno scopo legittimo, inganna l'utente al fne di installare o eseguire software che contiene il trojan horse, che poi provvederà a caricare routine dannose embedded.

“Un programma dannoso che fnge di essere un'applicazione innocua. Esso non si replica, ma provoca danni o compromette la sicurezza del computer. In genere, sono inviati tramite email, è anche possibile scaricare un trojan da un sito web o tramite rete peer-to-peer. I trojan non sono considerati virus in quanto non si replicano “[6].

I trojan più conosciuti sono sicuramente le cosiddette Back Door (o R.A.T. "Remote Access Tool" o anche Trojan Client - Server) che permettono di gestire un sistema remoto tramite protocollo TCP/IP. Nati con lo scopo di facilitare il lavoro di chi ha la necessità di lavorare su macchine remote, permettono di avere il pieno controllo del sistema infetto [7].

Generalmente sono costituiti da due parti: il Client e il Server.

• Il server (la parte di programma da installare sul sistema vittima), quando viene eseg-uito, apporta delle modifche ai registri di sistema in modo da essere avviato ad ogni sessione e si mette in ascolto su una determinata porta; solitamente è di piccole di-mensioni e la sua esecuzione è invisibile all'utente.

• Il client, invece, è installato sulla macchina "dell' aggressore". Questa applicazione per-mette di comunicare con il server. Esistono centinaia di Back Door ma, grosso modo, la maggior parte tende ad avere le caratteristiche delle tre più famose (ed utilizzate): Net Bus, Back Orifce, Sub Seven.

Sul sito di Karpersky[1] esiste una classifcazione/differenziazione dei trojan in base alle conseguenze delle loro azioni : Backdoor, Exploit, Rootkit, Banker, DDoS, Downloader, Dropper, FakeAV, GameThief, IM, Ransom, SMS, Spy, Mailfnder, ...

Esempio di trojan backdoor server sul sito di Chris Neel .[7]

Esempio di trojan banker (in azione) sul sito Symantec [ 9 ] .

2.2.3.1

2.2.3.1 Ransomware Ransomware e ecryptoware cryptoware

Si propagano in genere come un trojan, entrando in un sistema attraverso, ad esempio, un fle scaricato o una vulnerabilità in un servizio di rete. Il programma esegue quindi un payload, che assume tipicamente la forma di un programma dannoso. Questo può visualizzare un mes-saggio di avviso falso presumibilmente da parte di un ente come un'agenzia di applicazione della legge, sostenendo falsamente che il sistema è stato utilizzato per attività illegali, gestisce contenuti come la pornografa e media "pirata", o esegue una versione non originale di Microsoft Windows .

Criptoware èun software che blocca l’accesso al sistema del computer fno al paga-mento di un riscatto da parte dell’utente o dell’azienda per riavere indietro idati contenuti nel

(20)

dispositivo. Alcuni nomi di ransomware: CryptoLocker, CryptoWall, CoinVault, TorLocker, CoinVault, TeslaCrypt e CTB-Locker.

Nel luglio del 2015 Andrey Pozhogin[28] , esperto di cybersecurity di Kaspersky Lab, presenta la sua analisi: mette in evidenza la tendenza crescente degli attacchi ransom-ware, spiega come opera un attacco di ransomware e le conseguenze associate con il paga-mento del riscatto, e ciò che possono fare utenti ed imprese per proteggersi. Purtroppo, in molti casi, una volta che il ransomware viene lanciato, se non c'è un backup o tecnologia pre-ventiva collegata al sistema, vi è molto poco che un utente possa fare. Tuttavia, a volte è pos-sibile aiutare gli utenti a decifrare i loro dati che sono stati bloccati dal ransomware, senza dover pagare il riscatto. Sono stati creati archivi di chiavi di decifrazione. Ma l'attacco può avvenire soltanto se c'è l'interazione della vittima con il potenziale attaccante: Un ransomware è in genere trasportato tramite una e-mail che include un allegato che potrebbe essere un fle eseguibile, un archivio, o un'immagine. Una volta che l'allegato viene aperto, il malware viene distribuito sul sistema dell'utente. Un ransomware potrebbe anche andare in esecuzione sulla macchina di un utente se questo visita un sito web che ha nascosto il malware. Una volta sul sito, un utente esegue inconsapevolmente script non sicuro (a volte facendo clic su un link o il download di un fle) e il malware viene distribuito al sistema.

Entrambi sia Ramsomware che Cryptoware sono un tipo di malware utilizzato come meccanismo digitale di estorsione.

Esempio Sez.10.8 : Attacco Ransomware TorLocker

2.2.4

2.2.4

Spyware, Keylogger, Sniffer

Spyware, Keylogger, Sniffer

Una caratteristica regolarmente presente nel malware è la possibilità di estrarre i dati in tempo reale da un sistema remoto. Questo è tipicamente ottenuto tramite funzioni che agis-cono a livello del sistema operativo. Sottogruppi di malware prendono il nome in base alla loro attività.

Spyware è un termine generico per programmi scritti con l'intenzione di estrazione

dei dati. Questo può variare da monitorare il comportamento di un utente per l'ot-timizzazione di messaggi pubblicitari a forme più aggressive, come rubare i numeri di serie per il software o altri dati sensibili, come informazioni sulle carta di credito. • Il malware che registra le battiture sulla tastiera, al fne di acquisire le credenziali di

solito è chiamato keylogger.

• Strumenti originati dall' analisi della rete , che sono stati trovati utili in un contesto dannoso al fne di intercettare il traffco di rete per fltrare per le credenziali, sono chiamati sniffer.

(21)

2.2.5

2.2.5

CSS Cross Site Scripting

CSS Cross Site Scripting

L'espressione "cross-site scripting" originariamente si riferiva unicamente ad attacchi basati sull'utilizzo di frammenti di codice JavaScript inseriti all'interno di chiamate a pagine web dinamiche poste su un web-server (tecnica facente parte dei metodi di code injection) in modo che il server remoto eseguisse operazioni diverse da quelle previste originariamente dall'applicativo web. Tale defnizione, gradualmente, si è estesa comprendendo anche altre modalità di "iniezione di codice" basate non solo su JavaScript ma anche su ActiveX, VBScript, Flash, ... o anche puro HTML. Ciò ha generato una certa confusione nella terminologia riferita alla sicurezza informatica: il termine, infatti, ricomprende oggi tutto un insieme di tecniche di attacco e non esclusivamente quella basata su manipolazione di codice JavaScript.

Javascript (introdotto da Netscape nel 1995) permetteva agli sviluppatori web di fare ogni sorta di attività come il rollover, movimenti del mouse, e aprire fnestre pop-up. In un primo momento l'uso era abbastanza ordinato, ma quello che è stato presto scoperto è che un sito web malintenzionato poteva caricare un altro sito in una cornice o una fnestra adiacente, quindi usare JavaScript per leggere in esso. Un sito web potrebbe attraversare un confne e fare script in un'altra pagina. Estrarre dati da moduli, riscrivere la pagina, ecc e da qui il nome di cross-site scripting (CSS). Attualmente DOM XSS è potenzialmente estremamente perico-loso siti web basati su cloud e nuove interfacce Web HTML5 usano moltissimo codice Javas-cript. Javascript può essere abusata per l'hacking in siti web. Questo pericolo è segnalato nella classifca top Ten 2013 OWASP (The Open Web Application Security Project)[46] e di con-seguenza nello standard PCI DSS [47].

2.2.6

2.2.6

Rootkits

Rootkits

Sul sito di Karpersky[1] viene classifcato come trojan. La caratteristica principale di un rootkit è la sua capacità di nascondere determinate informazioni (cioè, la sua presenza) da un utente di un computer. I rootkit inizialmente erano stati concepiti come uno strumento riservato agli amministratori , permettendo loro di avere pieno controllo sui processi in fun-zione nei sistemi client . Questo enorme potere è dato dall'esecufun-zione diretta del rootkit sul nodo principale dei sistemi operativi, per lanciare dei processi critici . Con il passare del tempo questo ruolo di "super-utilizzatore" si è rigirato contro l'industria informatica . Infatti con questi metodi, agenti esterni riescono ad infltrarsi nei sistemi per prenderne il controllo, all'insaputa degli utilizzatori ,i quali ignorano la maggior parte delle volte queste intrusioni. Tecniche rootkit possono essere applicate a differenti livelli di sistema .

Il sistema operativo dialoga con i programmi attraverso un insieme di funzioni, chiamate API. La parte di queste funzioni che riguardano il fle system, hanno come compito

(22)

alle applicazioni. Il rootkit per raggiungere il suo scopo , và ad agire proprio su questo settore, intercettando le risposte che le funzioni API restituiscono alle applicazioni, per rimuovere da esse qualsiasi riferimento riguardante l'oggetto che intende occultare (trojan o backdoor). E' ov-vio che non avendo ricevuto alcuna informazione, le applicazioni non potranno rilevare alcun oggetto nascosto . Il rootkit fà in modo di essere lanciato ad ogni avvio del sistema operativo attraverso una chiave di registro, ovviamente resa anch'essa invisibile con la tecnica appena vista. Una volta attivo, come una qualsiasi applicazione, il rootkit può operare sia in user-mode, che in kernel-mode. I programmi che girano in user-mode sono più limitati, nel senso che operano in un'area ristretta della memoria, e non possono in alcun modo accedere ad altre aree della memoria stessa . Il kernel-mode al contrario, consente un accesso illimitato , ciò signifca che un software in kernel può modifcare e sovrascrivere anche altri programmi (addirittura il codice del sistema operativo) presente in memoria. Un programma per girare in kernel-mode deve però essere avviato con privilegi d'amministratore. I rootkit sono al mo-mento classifcati "user-mode" o "kernel-mode" in base a come si comportano una volta nel sistema [20].

Manipolare le rispettive informazioni permette ad un rootkit di nascondere processi, fle o connessioni di rete su un sistema infetto. Rootkit, inoltre, basati su macchine virtuali nascondono la loro presenza con la migrazione di un sistema operativo infetto su una macch-ina virtuale [B-26]. Molti campioni di malware applicano le tecniche dei rootkit per nascond-ere la loro presenza nel sistema .

Esempio di RootKit utilizzato come anticopia da parte di Sony [22]

Nell'ottobre 2005, Mark Russinovitch, di Sysinternals.com, si accorge della presenza di un programma alquanto insolito sui CD audio Sony. Russinovitch scopre che una volta in -serito il disco nel lettore del PC, viene installato automaticamente un rootkit anticopia. Questo

rootkit, installato sul PC senza chiedere alcuna autorizzazione e all'insaputa dell'utente, ha

avuto delle conseguenze molto più gravi rispetto a quelle previste da Sony. Oltre a svolgere la sua funzione anticopia gestendo i DRM ( Digital Rights Management), il programma si nas-conde in ambiente Windows utilizzando un curioso espediente, cioè quello di rendere invis-ibili tutti i fle e le cartelle il cui nome inizia per " $sys$ ". In questo modo, l'utente non può ac-corgersi della presenza del programma anticopia all'interno del suo PC. L'anello debole della catena era costituito dal fatto che questo espediente spalancava le porte ai creatori di worm e

virus, che potevano creare malware di ogni sorta, contando sulla copertura fornita dal rootkit

Sony: bastava anteporre al malware la sintassi $sys$, ed il gioco era fatto! I malumori scatenati dal programma anticopia portarono numerosi utenti a lamentarsi, fno al punto che in alcuni paesi, tra cui USA e Canada, la protesta assunse i caratteri di una vera e propria class action, che obbligò Sony a richiamare i dischi "difettosi" e a scusarsi pubblicamente per l'errore.

(23)

Il rootkit TDSS è comparso nel 2008 . Da allora si è molto diffuso, la sua caratteristica princip-ale è di infettare il settore di avvio (boot), in modo che il codice maligno viene caricato prima del sistema operativo. TDSS implementa il concetto di infettare i driver; questo signifca che viene caricato ed eseguito nelle prime fasi del sistema operativo, questo complica notevolmente il rilevamento e rende la rimozione una sfda seria. Nel tempo ha subito varie modi -fche ma alcune parti sono rimaste invariate:

Gli identifcatori TDL [50]; strumenti di infezione dei driver; L'utilizzo di fle di confgurazione, Lavorare con il pannello С & C.

Le funzioni più importanti di questo rootkit sono: Proteggere le chiavi di registro critici nascondendole; Proteggere i fle critici sul disco nascondendoli;

L'iniezione di codice dannoso in processi di sistema da un driver in modalità kernel; Nascondere porte di rete TCP;

L'esecuzione di alcune funzioni (terminare processi, chiudere threads, nascondere moduli DLL iniettati etc.)

2.2.7

2.2.7

Bot

Bot

U n bot è un pezzo dannoso di software che può essere installato su una macchina utente a sua insaputa (dell'utente). Una volta iniziata la sua esecuzione, il bot si connette ( in alcuni casi al server IRC) e si unisce al canale specifcato dall'attaccante. Questi bot sono con-trollati a distanza da un aggressore. Pertanto, la differenza principale tra worm e bot è che il bot offre all'attaccante un canale controllato a distanza .

Internet Relay Chat (IRC) è un protocollo di messaggistica istantanea su Internet Descritto in : RFC 1459 . E' un protocollo di rete aperto che utilizza il protocollo di trasmissio-ne TCP (Transmission Control Protocol) e opzionalmente il Transport Layer Security (TLS). Un server IRC (chiamato IRCd) è in grado di connettersi con altri server IRC, formando così una rete di comunicazione alla quale gli utenti accedono mediante un client. Molti server IRC non richiedono all'utente di autenticarsi, ma va comunque specifcato un nickname (univoco a livello della rete IRC).

I bot di oggi combinano le caratteristiche di virus e worm. Ad esempio, si propagano come worm attraverso le condivisioni di rete, piattaforme fle-sharing, reti peer-to-peer,

back-door lasciate da precedenti worm e / o sfruttano le vulnerabilità. Possono anche nascondere la

loro esistenza come virus utilizzando rootkit. Alcuni analisti li defniscono trojan . I bot sono in grado di comunicare con altri utilizzando tipi differenti di protocolli come IRC, HTTP o pro-tocolli peer-to-peer.

(24)

2.2.8

2.2.8

Botnet

Botnet

Una botnet è una rete formata da dispositivi informatici collegati ad Internet e infet-tati da malware che si trovano sotto il comando di un singolo hacker, o un piccolo gruppo di

hacker, conosciuto come un botmaster. I dispositivi che compongono la botnet sono chiamati

bot (da roBOT) o zombie .

Un bot si riferisce a client-host compromessi, o ad un computer, che è membro di una

botnet. Senza causare confusione, un bot si riferisce anche ad un eseguibile maligno

che compromette i controlli e recluta client-host in una botnet.

U n o zombie è un elemento compromesso (bot) appartenente alla botnet. CnC (o C&C)[3] in genere un server IRC impostato da un botmaster . Dopo che un bot avrà in-fettato un host, si collegherà al server C&C e attenderà i comandi del botmaster. I bot consentono ai loro creatori di controllare il sistema da remoto.

I controllori della botnet possono in questo modo sfruttare i sistemi compromessi per lanciare attacchi distribuiti del tipo ‘distributed denial of service’ (DDoS) contro qualsiasi altro sistema in rete oppure compiere altre operazioni illecite, in taluni casi agendo persino su commissione di organizzazioni criminali.

La fgura illustra la struttura generale di una rete bot ed esempi di attacchi DDoS. Il bot scopritore (triangolo rovesciato, in basso isolato) , la connessione al server centralizzato CnC (quadrato grande , al centro). I bot (quadratini) già inseriti nella rete ( le truppe che acquisis-cono una nuova vittima per essere infettata) . Uno dei bot trova una nuova vittima e la infetta (cerchio , sopra). Infne, un certo numero di bot attaccano un server web (triangolo a sinistra) in forma DDoS [B-39] .

Sezione n. 5 : Approfondimento sulle Botnet Esempio n. 10.6 :SchemadiattaccodiunaBotnet

[3] I server di comando e controllo (C n C o C & C) sono macchine centralizzate in grado di inviare

comandi e ricevere le uscite dalle macchine infette dette anche “zombie” facenti parte di una bot-net.

(25)

2.3

2.3

Vettori di Propagazione / infezione

Vettori di Propagazione / infezione

Questa sezione fornisce una panoramica dei vettori di infezione comunemente usati dai software dannosi per infettare il sistema della vittima , costituiscono in con-nubio con altri, gli strumenti di attacco utilizzati dalle botnet. Brevi esempi servono a illustrare come queste infezioni funzionano e come il malware li ha usati in passato.

2.3.1

2.3.1

Servizi vulnerabili tramite la rete

Servizi vulnerabili tramite la rete

I servizi di rete in esecuzione su un server forniscono risorse e servizi condivi-si ai clienti in una rete. Per esempio, un servizio di DNS fornisce le capacità di risolu-zione dei nomi di host in indirizzi IP, e un fle server fornisce storage condiviso in rete.

Molti dei prodotti off-the-shelf sono sistemi pronti ad operare dotati di una va-rietà di servizi di rete che sono già installati e funzionanti. Alcune vulnerabilità in tali servizi potrebbero consentire a un utente malintenzionato di eseguire codice sulla macchina che fornisce il servizio (esempio i server IRC).

Grandi installazioni di servizi di base che condividono la stessa vulnerabilità, vedi ad esempio le vulnerabilità su sistemi di ampia diffusione (come Microsoft):

• quella nella funzione MDAC (Microsoft Data Access Components) che può

consentire l'esecuzione di codice da parte di utenti esterni (come pubblicato sul bollettino Microsoft sulla sicurezza n. MS06-014-critico) e quella nel servi-zio Server che può consentire l'esecuservi-zione di codice in modalità remota (come pubblicato sul bollettino Microsoft sulla sicurezza n. MS08-067 – Critico) per-mettendo ad un utente malintenzionato di eseguire senza autenticazione co-dice arbitrario, creando uno scenario suscettibile ad attacco da worm [10]) , hanno aperto la strada per lo sfruttamento automatico. Pertanto, tali condizio-ni consentono al software dannoso di infettare sistemi accessibili automatica-mente.

Questa caratteristica rende lo sfruttamento del servizio di rete il metodo pre-ferito per l'infezione da worms (aprendo la strada a Botnet strutturate con server CnC che gestiscono numerosi bot). Inoltre, i servizi che forniscono accesso al sistema ad utenti remoti e permettono l' autenticazione di questi utenti con password (ad esem-pio, ssh, Interfacce Web, ecc), sono spesso esposti ai cosiddetti 'dictionary attacks ' . Un

(26)

tale attacco tenta in modo iterativo di accedere a un sistema che utilizza le password memorizzate in un dizionario. Questo vettore di attacco è identico al caso dei servizi di rete sfruttabili. Inoltre, la disponibilità di linguaggi di scripting lato client, come Javascript o VBScript, forniscono all'attaccante mezzi supplementari per lanciare con successo un attacco [B-14] [B-16] .

2.3.2

2.3.2

Drive-by Download

Drive-by Download

Drive-by download hanno come bersaglio il Web browser della vittima. Sfrut-tando una vulnerabilità nell'applicazione , un drive-by download è in grado di scarica-re codice dannoso dal web e successivamente eseguirlo sulla macchina della vittima. Ciò avviene di solito senza ulteriore interazione con l'utente.

Diversamente, per sfruttare le vulnerabilità nei servizi di rete in cui gli sche-mi di infezione push-based sono dosche-minanti. I download drive-by seguono uno schema pull-based [B-41] . Cioè, le connessioni vengono avviate dal cliente quando sta ri-chiedendo contenuti dannosi. Pertanto, i frewall che proteggono i servizi di rete da accessi non autorizzati non possono mitigare la minaccia di attacchi drive-by.

Attualmente, si osservano le seguenti due tecniche, che potrebbero portare a infezioni drive-by.

- Abuso di API.

Se una certa API permette di scaricare un fle arbitrario da Internet, e un'altra API fornisce la funzionalità di esecuzione di un fle casuale su una macchina locale, la combinazione di questi due API può portare ad una infezione drive-by [10][Microsoft Corporation] . L'utilizzo diffuso di browser plug-in di solito dà agli attaccanti un enor-me portafoglio di API che si potrebbero utilizzare e combinare per i loro scopi mal-vagi in modi non previsti.

-

Sfruttamento delle Vulnerabilità del Browser .

Questo vettore di attacco è identico al caso dei servizi di rete sfruttabili. Inol-tre, come descritto in Daniel e Sotiroy [2008] la disponibilità di linguaggi di scripting lato client, come Javascript o VBScript, forniscono all'attaccante mezzi supplementa-ri per lanciare con successo un attacco. Psupplementa-rima che accada un dsupplementa-rive-by download può avvenire che un utente debba visitare un sito maligno. Al fne di attirare l'utente a visitare il sito dannoso, gli attaccanti eseguono ingegneria sociale inviando e-mail di

(27)

spam che contengono link a questi siti o infettano pagine web esistenti con il codice maligno. Ad esempio, una tempesta di worm si avvale delle proprie risorse della bot-net per inviare mail di spam contenenti link a tali pagine di attacco [B-24] .

Per massimizzare il numero di siti che ospitano tali attacchi drive-by, gli ag-gressori sfruttano vulnerabilità nelle applicazioni web che permettono loro di mani-polare questi siti web . Esempio di attacco è quello avvenuto nel 2008 al sito dell' Ambasciata dei Paesi Bassi in Russia [ 5] , in cui gli attaccanti utilizzano un vettore di infezione dei servizi di rete vulnerabili per lanciare attacchi download drive-by contro i clienti di tale servizio.

Un'altra tecnica utilizzata dagli attaccanti per attirare gli utenti ai loro siti web è quella di cercare di ingannare gli algoritmi di ranking dei motori di ricerca del Web utilizzati per ordinare le pagine dei risultati. Un utente malintenzionato potrebbe creare una pagina che è specifcamente resa di rango elevato per i termini di query di ricerca comune.

Se la pagina è quotata su una posizione di vertice per questi termini di ricerca, questo si tradurrà in un gran numero di visitatori [B-8] . E' stato scoperto inoltre che più del 1,3% dei risultati alle query di ricerca di Google includono almeno una pagina che cerca di installare software dannoso sul computer di un visitatore [B-42].

Provos [B-41] ha analizzato anche le tecniche di autori di malware fnalizzate ad attirare un utente ad aprire una connessione a un host che esegue attacchi drive-by download. Le forme più diffuse di tali azioni eludono le misure di sicurezza degli web-server, fornendo all'utente contenuti generati, schemi pubblicitari e widget dannosi [B-42] .

2.3.2.1

2.3.2.1 Man-in-the-MiddleMan-in-the-Middle

Nella terminologia di sicurezza di rete , " The Middle" è defnito in senso mol-to ampio. In quesmol-to caso si riferisce al dominio d'azione di Man in the Middle( MITM) una tecnica che rappresenta il caso in cui un soggetto non autorizzato inserisce se stesso surrettiziamente a un certo punto lungo il fusso di comunicazione tra due o più parti così da acquisire la capacità di controllare le informazioni scambiate, e forse anche di modifcare tali informazioni, generalmente senza essere scoperti, permette di assumere il controllo di una connessione dopo l'autenticazione iniziale. In teoria ,

(28)

l'at-tacco può essere eseguito in qualsiasi punto lungo il canale di comunicazione tra la vittima . MITM può attaccare attraverso un server che controlla in qualsiasi punto lungo il canale dati , o dovunque sia possibile prevedere un punto fsico di allaccio . In pratica sarebbe ineffcace un attacco da qualche parte a caso nella rete dove il traf-fco è soggetto a futtuazioni di tabelle di routing . Pertanto , questo approccio di soli-to deve essere iniziasoli-to con un attacco di phishing per ingannare l'utente a colmare il divario .

Quando una macchina fnale sta usando una connessione wireless, MITM po-trebbe anche interporsi tra tale macchina e la sua connessione al router wireless, prele-vando il segnale in uscita e poi apparire come l' utente della macchina al router . Il "Middle " descritto comprende quindi tutti i punti dal momento in cui un segnale la-scia una macchina ad una estremità di una transazione fno a poco prima di raggiun-gere la sua destinazione. Tuttavia, MITM potrebbe anche violare l'integrità del segna-le prima ancora che questo lasci il PC dell'utente, se sottopone l'utente all' attacco di Man nel Browser (MITB) .

2.3.2.2

2.3.2.2 Man-in-the-BrowserMan-in-the-Browser

E' una variante dell'attacco Man-in-the-Middle . L' attacco Man in the Browser (MITB) è un forma più recente di attacco in cui l'utente del browser è danneggiato per agire come punto di presa(tap) nel fusso di informazioni, un attacco che si verif-ca a livello di sistema, tra l'utente e il browser, [piuttosto che attraverso] il protocollo [B-70] [B-71]. Questo, parlando di struttura, è un Man-in-the-Middle tra l'utente e meccanismi di sicurezza del browser [B-72] . Pertanto, in termini di sicurezza di rete, l'attacco MITB è un caso particolare dell' Attacco MitM in cui l'intrusione avviene al capo estremo del percorso molto più vicino all'utente.

MITB si guadagna l'accesso attraverso la confgurazione di software su siste-ma, generalmente attraverso un trojan che ha come obiettivo il browser web del com-puter; non ha bisogno di perdere tempo con il lavoro supplementare in quanto nella direzione outward-bound, è l‘ autore di tutti i messaggi compromessi inviati. Nella di-rezione inward-bound , deve avere ancora a che fare con un messaggio completamente formato , ma non deve preoccuparsi di modifcare il messaggio stesso in modo da na-scondere le sue azioni . Questo perché MITB controlla direttamente il browser, e ne-cessita quindi solo di modifcare la visualizzazione del browser per essere come l'u-tente si aspetta. MITB è "immune" a tutte le forme di crittografa, compresa quella simmetrica a chiave, essendo esterna ad esse. Le sole limitazioni di MITB sono

(29)

intorno al livello di sicurezza che viene installato sui sistemi che attacca . Si cointornoscointorno co -munque casi di trojan che da soli sono riusciti ad attaccare centinaia di migliaia di utenti contemporaneamente (pertanto ha una grande scalabilità).

2.3.3

2.3.3

Ingegneria

Ingegneria

sociale

sociale

.

.

l'ingegneria sociale è un metodo comune, utilizzato da tutti i tipi di persone in una vasta gamma di professioni. Si tratta di un aspetto naturale e inevitabile della in-terazione umana, utilizzata sia nel bene (ad esempio per ottenere confessioni nel pe-nale) che nel male (in operazioni rischiose e con il fne di realizzare truffe).

La defnizione che fornisce “The SANS Institute- UK” :

“Il social engineering è la 'arte' di utilizzare il comportamento umano per violare la sicurezza senza che il partecipante (o vittima) nemmeno si rendano conto di essere stati manipolati” [21]. La parte importante di questa defnizione è il contesto in cui è applicato il con-cetto. Quando si tratta di garantire il business e di informazioni sensibili la defni-zione potrebbe diventare:

“L'arte di ottenere informazioni sensibili e / o manipolare individui per far loro svolgere azioni che possono provocare una violazione della sicurezza”.

Tra i primi e più famosi esperti di tale arte che l'hanno applicata al mondo in-formatico c'è Kevin D. Mitnik il quale afferma che “è molto più facile ingannare qual-cuno per farsi dare una password che spendere tempo e fatica a rompere un sistema”.

Tutte le tecniche che attirano un utente ad eseguire deliberatamente codice maligno sul suo computer, possibilmente sotto falsi pretesti, sono considerati come attacchi di social engineering. Non ci sono praticamente limiti alla creatività di attac-canti quando è coinvolta la social engineering. Chiedere all'utente di installare un co-dec previsto per visualizzare il flm che è ospitato sul sito Web corrente, facendo clic ed aprendo un'immagine che è allegata a una email di spam, o speculando che l'uten-te colleghi ad una porta del suo compul'uten-ter una chiave USB “trovata” sono solo al-cuni esempi di ingegneria sociale.

2.3.3.1

2.3.3.1 Esempio: Attacco con violazione di Microsoft XboxEsempio: Attacco con violazione di Microsoft Xbox

Nel mese di marzo 2013 gli account di fgure di alto proflo ed ex dipendenti di Microsoft Microsoft Xbox Live sono stati compromessi da aggressori. Questo non è

(30)

stato realizzato attraverso tecniche dirette di hacking come ad esempio attacchi di password contro portali d'accesso o codice che sfrutta zero-day. Invece gli attaccanti hanno seguito la metodologia standard di ingegneria sociale al fne di acquisire un pezzo di informazioni per poi acquisire un altro pezzo più sensibile.

Gli aggressori sono stati in grado di ottenere l'accesso, attraverso tecniche di ingegneria sociale, i numeri di previdenza sociale (SSN) dei loro obiettivi di alto pro-flo, quindi utilizzare queste informazioni insieme ad altri dettagli per ottenere l'ac-cesso agli account Xbox LIVE. Tuttavia, Microsoft non conserva SSNs e non le colle-ga in alcun modo con gli account Xbox LIVE. Così come hanno fatto gli aggressori usano il SSN dei loro obiettivi? Gli aggressori hanno utilizzato il SSN, insieme a tec-niche di social engineering, per attaccare una società di terze parti che utilizzava il SSN e aveva anche le informazioni relative ai conti XBox Live. E' stata questa società di terze parti che è stato attaccata, non direttamente Microsoft.

Questo metodo può essere paragonato a quello di effettuare una caccia al te-soro o riunire pezzi di un puzzle . Con una quantità suffciente di indizi o pezzi del puzzle, si è ancora in grado di raggiungere l'obiettivo fnale o di capire cosa l'imma-gine del puzzle potrebbe essere, senza bisogno di tutti gli indizi o pezzi del puzzle.

Questo attacco dimostra due tecniche molto comuni ed effcaci di social engi-neering. Il primo è il concetto di trasformare le informazioni innocue in

informazio-ni sensibili. Ad esempio, gli attaccanti possono aver avuto alcuinformazio-ni frammenti di

formazioni personali riguardanti i dipendenti Microsoft. Questo può essere stato in-dirizzi e-mail, data di nascita, ecc … Hanno quindi utilizzato tali informazioni, insie-me con l'ingegneria sociale, per ingannare una società a rivelare SSN del dipendente. Poi il SSN può essere utilizzato per ingannare la società di terze parti nella reimpo-stazione della password per l'account Xbox LIVE o tutto ciò che era necessario per ot-tenere l'accesso ad essa.

Il secondo concetto coperto in questo attacco è l'idea che l'informazione

ber-saglio può essere trovata in più di una posizione. Ad esempio, se un utente

malin-tenzionato volesse acquisire le coordinate bancarie avrebbero necessariamente indi-rizzare la vostra banca? I dettagli dell'account saranno probabilmente conservati in molti luoghi differenti da varie aziende. Può essere molto più facile per un utente malintenzionato indirizzarsi verso la vostra palestra locale che potrebbe memorizza-re le coordinate bancarie dopo aver impostato un debito dimemorizza-retto con loro. La sicumemorizza-rez-

(31)

sicurez-za delle informazioni è forte come il luogo più debole in cui siano archiviate o uti-lizzate.

Riferimenti

Documenti correlati

Il programma, a cura del Ministero dei Beni e delle Attività Culturali e del Turismo e della Presidenza del Consiglio dei Ministri, era volto a promuovere la cultura

  Il  sito  è  stato  realizzato  dal  CNT  che  ne  curerà  anche  la  gestione  per  conto  di  un  folto  gruppo  di  rappresentanti  istituzionali,  clinici 

I graffitisti hanno, implicitamente, messo in rilie- vo che se esiste l’arte come manifestazione della bellezza e come ricerca della novità espressiva, ebbene, accanto a questa

Da quel momento, nasce la complicità di un progetto per un murales da realizzare in Italia, nella città della Torre pendente.. Un anno dopo, nel mese di giugno, iniziano

gli Autori dei testi e delle fotografie; e, in ordine disalfabetico: Keith Haring Foundation, Julia Gruen, Annelise Ream, Caparol Italia, Massimo Guerrucci, Irina Karelina,

culturale dell’umanità come Pisa, sulla pare- te laterale di un convento, Keith Haring, ce- lebrato artista pop newyorkese, attivista gay e pupillo di Andy Wharol, dipingeva il suo

One could envision variations not only in other gauge and Yukawa coupling constants, but also in the speed of light, c; Newton’s constant, G N ; Boltzmann’s constant, k B ;

As discussed in the theoretical overview (in these proceedings), in unified theories of par- ticle interactions, one generally expects that a change in the fine structure constant