Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Sintesi Sicurezza nei sistemi informatici, tesina
Ormai da vent’anni lavoro nel campo dell’informatica, e nella mia tesina ho avuto modo di toccare vari aspetti della materia. In particolare, negli ultimi cinque anni, ho concentrato la mia attenzione alla sicurezza delle reti e dei dati. La sicurezza, riferita ad una generica rete aziendale e alle informazioni che vi circolano, oggigiorno rappresenta un aspetto molto importate soprattutto se riferita al preservamento dei dati. Con questa tesina si vogliono descrivere alcune tra le principali modalità di attacco che una rete e i dati che essa custodisce può subire, e le eventuali contromisure da adottare.
Collegamenti
Sicurezza nei sistemi informatici, tesina
Sistemi: Insieme di misure di sicurezza per una LAN.
Informatica: Sicurezza nei Data Base.
Azione dimostrativa: singoli o gruppi hanno motivi personali o politici di rivalsa nei
confronti di singoli o organizzazioni.
Necessità pratiche: necessità di operare un reboot per rendere effettive alcune modifiche
al sistema al fine di renderlo più vulnerabile
Le tipologie di attacco possono essere diverse:
Saturazione di banda
Resource starvation (saturazione delle risorse)
Bug Software
Attacchi basati sul routing
Attacchi basati sul DNS
2.2 Cavalli di Troia, Virus , Worms e Spamming
Un ulteriore problema sono i Virus, gli Worms e Cavalli di Troia. Queste categorie possono essere
inserite nelle tecniche di disturbo, e possono arrivare al nostro sistema tramite molti sistemi, quali
l'invio di essi tramite posta elettronica.
2.2.1 Cavallo di Troia
Un cavallo di Troia o trojan è un codice che si nasconde all’interno di un programma o di un
documento. Si attiva al verificarsi di alcuni eventi (ad es. il 13 di ogni mese oppure ogni volta che si
apre un particolare documento, ecc.)
Alle funzioni legittime del programma che lo ospita questo tipo di virus aggiunge altre funzioni
indesiderate. Il suo nome è ovviamente riferito al leggendario cavallo di legno usato come
nascoste nel suo ventre, di entrare nella
espediente dai Greci per consentire alle proprie truppe,
città di Troia ed espugnarla. Per analogia, il cavallo di Troia è un programma apparentemente
innocuo e comunque invisibile, ma in realtà in grado di sferrare un attacco distruttivo
trasportando i virus all’interno dell’elaboratore da infettare.
8
2.2.2 I Virus
Il virus è un programma autonomo che, a differenza dei cavalli di Troia, non ha bisogno di un altro
programma che lo ospiti. Ha inoltre un meccanismo di replica. I virus possono avere caratteristiche
diverse in base al punto di attacco o a proprietà intrinseche.
2.2.3 I worms
I worms o vermi sono programmi che si inseriscono nella memoria (sia quella centrale sia quella di
massa), cercando aree libere per replicarsi fino a saturare il sistema. Sono in genere veicolati
attraverso le reti, e sono molto diffusi nei sistemi Windows.
Molti worm agiscono sulle trasmissioni di rete, saturando la banda disponibile con propri messaggi
e rendendo difficile la comunicazione, molti ancora agiscono sulla posta elettronica generando
migliaia di e‐mail fasulle e saturando i server di posta.
2.2.4 Lo spamming
Lo spamming (o spam) è l'uso di sistemi di messaggistica elettronica per inviare
indiscriminatamente messaggi non richiesti. Può essere attuato attraverso qualunque sistema di
comunicazione, ma il più usato è Internet, attraverso messaggi di posta elettronica, chat, forum
ecc..
Il principale scopo dello spamming è la pubblicità, il cui oggetto può andare dalle più comuni
offerte commerciali a proposte di vendita di materiale illegale, come software pirata e farmaci
senza prescrizione medica, da discutibili progetti finanziari a veri e propri tentativi di truffa. Uno
spammer, cioè l'individuo autore dei messaggi spam, invia messaggi identici (o con qualche
Questi indirizzi sono spesso raccolti in maniera
personalizzazione) a migliaia di indirizzi e‐mail.
automatica dalla rete mediante programmi, ottenuti da database o semplicemente indovinati
usando liste di nomi comuni.
Per definizione lo spam viene inviato senza il permesso del destinatario ed è un comportamento
ampiamente considerato inaccettabile dagli Internet Service Provider (ISP) e dalla maggior parte
degli utenti di Internet. Mentre questi ultimi trovano lo spam fastidioso e con contenuti spesso
offensivi, gli ISP vi si oppongono anche per i costi del traffico generato dall'invio indiscriminato.
9
3. ACL
Un primo passo verso la protezione dei nodi interni di una LAN, da attacchi provenienti
dall’esterno, può essere quello di utilizzare la tecnica del packet filtering sul router di accesso.
In particolare per implementare questa tecnica sui router Cisco si usano le ACL (Access Control
List). Con questa tecnica molti tipi di attacco sono bloccati dal router ancora prima di poter
arrivare al nodo sotto attacco.
Protezione di una LAN tramite packet filtering sul router d’accesso
In particolare i router Cisco mettono a disposizione più tipi di ACL. Ad esempio relativamente al
protocollo IP si hanno le IP standard access list e le IP extended access list. La differenza é che
utilizzando le standard si può controllare solamente l’indirizzo IP sorgente; mentre con le
extended si possono controllare molti più campi del pacchetto IP, più precisamente:
• Indirizzo IP sorgente
• Indirizzo IP destinatario rete (Network layer)
• Campo protocollo nell’header del livello
• Numero di porta nell’header del livello trasporto (Transport layer)
Struttura di un pacchetto IP
10
3.1 Come funzionano le ACL
Ci sono delle linee guida che dovrebbero essere seguite quando si creano e implementano le
access list su un router:
Si può assegnare solo una access list per ogni interfaccia, protocollo o direzione del
traffico. Questo significa che se si crea una access list di tipo standard per il protocollo
IP, se ne può avere solo una in ingresso e una in uscita per ogni interfaccia.
Si dovrebbe organizzare in modo tale che i test più specifici siano all’inizio della lista.
tutti i pacchetti saranno
A meno che la lista non finisca con il comando permit any
scartati se non sono compatibili con almeno una regola. Ogni lista dovrebbe avere
almeno un comando permit altrimenti é come spegnere l’interfaccia.
Non si può togliere una singola linea da una lista. Se si compie questa operazione si
rimuove tutta la lista. Per modificare una ACL bisogna copiarla in un editor di testo,
apportare le modifiche e poi riapplicarla sul router.
Dopo aver creato una access list si deve applicare ad una interfaccia. Se si crea una
lista, ma non si applica a nessuna interfaccia, non ci sarà nessun filtro.
Le access list sono progettate per filtrare il traffico attraverso il router. Esse non filtrano
il traffico generato dal router.
Si dovrebbero mettere le access list IP standard il più vicine possibile alla
destinazione.
Si dovrebbero mettere le access list IP extended il più vicine possibile alla sorgente.
motivo di queste ultime due regole cominciando dalla penultima e
Vediamo in particolare il
prendendo come esempio la rete mostrata nella figura 3.1.1. Abbiamo visto che le ACL standard
prevedono la possibilità di filtrare il traffico solo in base all’indirizzo sorgente. Supponiamo che si
voglia impedire l’accesso ad Internet agli host della LAN 1, senza limitare l’accesso alle altre reti
connesse ai router R2 e R3. Se imposto la ACL su R1 blocco tutto il traffico proveniente dalla rete
LAN 1, anche quello diretto a R3 e a R2; quindi devo per forza impostare la ACL sull’ultimo router
prima della destinazione. In particolare, se una ulteriore LAN fosse connessa a R3, devo mettere la
ACL solo sulla porta di uscita verso Internet del router R3, e non sulla porta che collega R3 a R1,
altrimenti, di nuovo, bloccherei il traffico verso R3 (e quindi anche verso R2).
11
Se invece uso le ACL estese, posso controllare anche l’indirizzo di destinazione, quindi potrei
mettere le ACL su R1 o su R3 (o su entrambi), cioè su qualsiasi router presente nel tragitto tra
sorgente e destinazione. In questo caso conviene però impostare le ACL sul router più vicino alla
sorgente, perché elimino il traffico indesiderato prima che raggiunga, inutilmente, altri router.
fig. 3.1.1 ‐ Dove “mettere” le ACL
Inoltre bisogna ricordare l’ordine con il quale lavora una ACL: quando un pacchetto arriva al router
tramite una interfaccia sulla quale è stata definita una ACL, esso viene confrontato con la prima
regola della lista; se questa è soddisfatta il pacchetto non viene confrontato con le regole
successive, altrimenti viene confrontato finché non soddisfa una regola oppure arriva alla fine
della ACL e viene rifiutato.
Per questo motivo abbiamo detto precedentemente che deve essere presente almeno un
l’interfaccia sulla quale è applicata la ACL.
comando permit, altrimenti è come spegnere
Oltre alle IP standard access list e alle IP extended access list è possibile filtrare i pacchetti anche in
base ad altri protocolli.
Nella tabella successiva si può vedere la lista completa dei tipi di ACL disponibili:
12
3.1.2 Wildcard
Le wildcard sono utilizzate nelle ACL per specificare più host, reti o sottoreti.
Le wildcard si usano negli indirizzi di host o di reti per indicare una gamma di indirizzi.
Quindi per specificare un solo host l’indirizzo sarà del tipo:
172.16.30.5 0.0.0.0
che può essere anche scritto nella forma: host 172.16.30.5
I quattro zeri della wildcard mask indicano che tutti e quattro i byte dell’indirizzo devono
corrispondere in maniera esatta. Per specificare, invece, che un byte dell’indirizzo può assumere
un valore qualsiasi, tutti i suoi bit devono essere ‘uno’, ossia, il valore decimale è 255.
Nell’esempio seguente è mostrato come si indica una intera rete di classe C:
172.16.30.0 0.0.0.255
In questo caso i 3 byte più significativi devono coincidere, mentre l’ultimo può assumere un
qualsiasi valore.
Questi, naturalmente, sono solo 2 tra gli esempi più facili. Ma se si ha bisogno di specificare una
cose si complicano leggermente. Innanzitutto si può specificare solo una
piccola sottorete le
sottorete la cui grandezza è una potenza di due. Ad esempio posso specificare una sottorete di 64
o di 8 indirizzi, ma non di 20 indirizzi. Supponiamo di dover filtrare una sottorete nella gamma di
indirizzi da 172.16.8.0 fino a 172.16.15.0. La logica con cui calcolare la wildcard mask è abbastanza
semplice: per ogni bit che non cambia all’interno della gamma di indirizzi si mette uno ‘zero’, se
13
invece il bit cambia si mette ‘uno’. Nel nostro esempio i due bytes più significativi (172.16) sono
uguali, quindi i primi due bytes della wildcard mask saranno 0.0, il terzo byte può variare tra 8
(00001000) e 15 (00001111) pertanto la maschera dovrà essere 7 (00000111).
Come si può facilmente vedere i bit diversi sono i 3 meno significati (00000111) quindi il numero
decimale corrispondente sarà 7. Riguardo l’ultimo byte (il meno significativo) sarà, ovviamente,
255 dato che l’ultimo indirizzo della sottorete 172.16.15.0 è proprio 172.16.15.255, quindi tra 0 e
255 cambiano tutti bit.
Concludendo la wildcard mask sarà 0.0.7.255.
ancora un esempio:
Vediamo
RouterA(config)# access‐list 10 deny 172.16.16.0 0.0.3.255
In questo caso stiamo indicando al router di filtrare dalla rete 172.16.16.0 fino alla rete
172.16.19.0 (cioè fino all’indirizzo 172.16.19.255). Infatti l’operazione di OR binario tra 16 e 3 fa
proprio 19. 14
4. Sicurezza nei Data Base
INTRODUZIONE
Le informazioni sono uno dei beni più preziosi della società odierna ed i database rappresentano,
in senso virtuale, il luogo nel quale tali informazioni sono custodite in attesa di essere utilizzate per
le finalità più disparate.
I moderni RDBMS (Relational Data Base Management System, ossia le banche dati o database)
costituiscono il fondamento di ogni sistema di business e di altre attività di natura differente;
tuttavia essi non vengono tradizionalmente considerati alla stessa stregua dei sistemi operativi e
delle periferiche di rete almeno per quanto concerne l’adozione degli standard di sicurezza.
Due sono le ragioni fondamentali che rendono tali sistemi uno dei target più appetibili per gli
cracker: la prima è sicuramente riconducibile alla presenza di dati che molto spesso assumono il
carattere di estrema confidenzialità (numeri di carte di credito, dati finanziari, strategici, ecc…)
mentre la seconda è data dal fatto che la compromissione di un server di database determina la
possibilità da parte dell’attaccante di acquisire il completo controllo della macchina se non
addirittura della intera infrastruttura di rete. 15
4.1 Il modello di sicurezza dei moderni database SQL
Tutti i più moderni RDBMS adottano una architettura di sicurezza basata su tre differenti livelli di
protezione: