Please enable JavaScript.
Coggle requires JavaScript to display documents.
SICUREZZA DI SISTEMI INFORMATIVI - Coggle Diagram
SICUREZZA DI SISTEMI INFORMATIVI
Proprietà di Sicurezza:
Integrità:
Il sistema deve impedire l'
alterazione
delle informazioni in qualsiasi caso se l'utente o il processo NON sono autorizzati
Autenticità:
Al destinatario deve essere nota l'
identità
del mittente e le informazioni devono essere
integre
.
Ne segue l'
autenticazione
, ogni
agente
deve essere autenticato prima di interagire con il sistema
Riservatezza(confidenzialità):
Nessun utente deve essere in grado di accedere a informazioni che non è destinato a conoscere
Se queste informazioni riservate riguardano dati su individui si parla di
privacy
Disponibilità:
Il sistema deve rendere disponibile a ogni utente autorizzato l'accesso alle informazioni richieste in base ai protocolli in uso
Problematiche relative alla sicurezza
Minacce
Fisiche:
Danneggiano gli impianti e le infrastrutture (es. terremoti, incendi...)
Logiche:
Sottrazione o danneggiamento di informazioni e risorse (es. clonazione di bancomat)
Accidentali:
Errori di configurazione di software e della rete, malfunzionamenti di programmi...
Hanno come conseguenza
Violazioni
Sfruttando le
vulnerabilità (exploit)
vengono effettuati attacchi mirati sia all'utilizzo indebito di informazioni riservate, sia al blocco delle risorse (attacchi
DoS - Denial of Service
)
Attacchi
LIVELLO DI RETE
Spoofing:
Invio di pacchetti con indirizzo di sorgente diverso dal proprio con lo scopo di non essere identificati o di impersonare un altro agente (rubandone di fatto l'identità)
Sniffing:
Intercettazione di informazioni scambiate tra due agenti :arrow_right:
accesso non autorizzato a informazioni
Hijacking:
o
Man-in-the-middle
, una combinazione di sniffing e spoofing al fine di deviare verso un agente malevolo le comunicazioni e di intercettare e modificare il traffico in modo invisibile ai sistemi compromessi
Flooding:
Intasamento della rete con quantità di traffico indesiderato che porta al blocco e all'irragiungibilità del servizio (DoS)
LIVELLO APPLICATIVO
Malware:
Software creati per causare danni
Virus:
Un frammento di software capace di infettare files per potersi riprodurre facendo copie migliorate di sé stesso
Worm:
Un malware capace di riprodursi autonomamente, è un programma eseguibile, non necessita altri programmi per potersi riprodurre
Trojan:
Malware le cui funzionalità sono mascherate dietro un programma apparentemente utile o innocuo. Spesso si trovano in programmi scaricati da Internet. I trojan necessitano un'azione da parte dell'utente per poter essere eseguiti
Ransomware:
Malware creato per limitare l'utilizzo del dispositivo infettato fino a quando non venga pagato un riscatto
Backdoor:
"porte segrete" lasciate aperte volontariamente (per manutenzione) per poter bypassare almeno parzialmente le procedure di sicurezza attive in un SI.
Possono essere usate per manomettere un sistema (un utente esterno potrebbe prendere il controllo remoto della macchina senza autorizzazione)
Spyware:
Software creati per raccogliere illecitamente informazioni dal sistema su cui sono stati installati per trasmetterli a un destinatario interessato
Attacchi:
Da terze parti
, ossia da agenti
esterni
all'organizzazione
Da utenti interni
, che utilizzano indebitamente i propri permessi per accedere a informazioni alle quali non dovrebbero accedere
Crittografia:
garantisce le proprietà di
riservatezza
,
autenticità
e
integrità
A chiave simmetrica:
Esiste un'unica chiave, detta
chiave simmetrica o segreta
; appartengono a questa categoria gli algoritmi di
sostituzione
,
trasposizione
e gli algoritmi derivanti dalla combinazione delle due precedenti. Due esempi sono il DES(
https://it.wikipedia.org/wiki/Data_Encryption_Standard
) e il AES(
https://it.wikipedia.org/wiki/Advanced_Encryption_Standard
)
Le due tecniche principali utilizzate sono:
Sostituzione:
Ad esempio con chiave numerica e sostituzione monoalfabetica, ho un mapping fisso. Un esempio è il
cifrario di Cesare
, dove la chiave
k
è il numero di lettere da saltare ( M=ciao e k=4 :arrow_forward: M'=goes)
Trasposizione:
La chiave serve per indicare come permutare le lettere contenute nel testo in chiaro durante la codifica
L'algoritmo standard di questa categoria è l'AES, il messaggio viene cifrato utilizzando chiavi di 128,192 o 256 bit. Per la cifratura il messaggio viene:
spezzato in blocchi da 128 bit
ogni blocco viene cifrato tramite le fasi di:
xor dei bit
del messaggio con i bit di chiave,
sostituzioni
,
trasposizioni
e
combinazioni tra bit
in fasi intermedie
PUNTI CRITICI
:check:
PRO:
Velocità
di
codifica
e di
decodifica
Possibilità di implementare l'algoritmo in hardware con processori dedicati
:red_cross:
CONTRO:
La chiave deve essere cambiata spesso
La chiave deve essere generata e distribuita con la
massima
sicurezza
A chiave asimmetrica:
Esistono due chiavi, una
pubblica
e l'altra
privata
, entrambi i soggetti possiedono entrambe le chiavi. L'algoritmo è basato su problemi matematicamente complessi. Due esempi molto utilizzati sono: l'RSA(
https://it.wikipedia.org/wiki/RSA_(crittografia
)) e il Diffie-Hellman(
https://it.wikipedia.org/wiki/Scambio_di_chiavi_Diffie-Hellman
)
Ogni agente possiede una coppia di chiavi: {
K_P
(chiave pubblica) e
K_pr
(chiave privata)}
Tutto ciò che è cifrato con una delle due chiavi può essere decifrato dall'altra chiave
della coppia
Non deve essere
in alcun modo possibile
dedurre una delle due chiavi a partire dalla conoscenza dell'altra
La chiave pubblica
può essere distribuita
mentre la chiave privata
deve
restare segreta
Vengono garantite
riservatezza
e
autenticità
PRIMO MODO:
A
cifra il messaggio
con la chiave pubblica
di
B
:arrow_forward: il messaggio può essere decifrato
solo
con la chiave
privata
di
B
Viene garantita la
riservatezza
:warning: Poiché
tutti
possono entrare in possesso della chiave pubblica di B, potrebbero fingersi A all'interno della comunicazione
Sono possibili attacchi di tipo
Man-in-the-middle
SECONDO MODO:
A
cifra il messaggio
con la sua chiave privata
prima di inviare il messaggio a
B
che potrà decifrare il messaggio solo con la chiave pubblica di
A
Lo scambio è
autenticato
, perché A, cifrando con la sua chiave privata,
certifica
la propria identità
:warning: Poiché
tutti
possono entrare in possesso della chiave pubblica di A, il messaggio risulta leggibile anche da terzi
Non viene garantita la riservatezza
Per garantire sia
l'autenticità
sia
la riservatezza
i due modi vanno combinati con una
doppia fase di cifratura
Il principio su cui si basa la crittografia asimmetrica è l'uso di una funzione
f
semplice
la cui inversa è
complessa
:red_cross:
CONTRO:
La cifratura con chiave asimmetrica è
lenta
, questo perché è richiesta una certa capacità computazionale per risolvere i problemi
Funzione di Hash:
Serve a garantire l'integrità
Trasforma un messaggio di lunghezza arbitraria in un output di lunghezza
fissa
detto
impronta digitale
,
hash
o
digest
Questo costituisce la prova di
integrità
del messaggio
Se l'impronta ricevuta e quella calcolata a partire dal messaggio ricevuto sono
diverse
si riconosce la manipolazione durante la trasmissione; se invece le due impronte
coincidono
il messaggio è
integro
Coerenza:
Due messaggi identici hanno
lo stesso
digest
Univocità:
Se due messaggi differiscono anche soltanto di un bit devono essere associati a due digest
diversi
Non-invertibilità:
Dato un digest non deve essere in alcun modo possibile risalire al messaggio originario
FIRMA DIGITALE:
è il
digest
crittografato di un elemento ottenuto utilizzando la
chiave privata
del mittente del documento
Con questa si vogliono autenticare i dati e identificare con certezza il loro creatore
La firma va allegata al documento da spedire
Ricevuti i due documenti si effettuano due verifiche:
Ricalcolo del digest del documento
Decodifica della firma con la chiave
pubblica
del mittente e recupero del digest originale
Possiede la proprietà del
non-ripudio
, ovvero viene identificato l'agente che ha generato i dati e viene anche certificato che i dati non siano stati manomessi dopo essere stati firmati
Controllo degli accessi
AUTENTICAZIONE
all'agente viene associata un'identità precisa
Un agente può essere identificato sfruttando
una o più
delle seguenti caratteristiche:
Something You Have (SYH):
un oggetto posseduto (es. tessera magnetica)
Something You Are (SYA):
una caratteristica fisica (es. impronta digitale)
Something You Know (SYK):
un'informazione conosciuta (es. password)
AUTORIZZAZIONE
viene verificato se l'agente
può
svolgere determinate funzioni
I
DBMS sicuri
hanno delle regole di accesso composte da:
Autorizzatori:
Quando vale l'ownership sulle risorse il creatore corrisponde con il proprietario che può decidere a chi garantire l'accesso. Due esempi sono il DBA (Data Base Administrator) e il security officer
Per basi
centralizzate
è utile che vi sia un unico amminstratore
Per basi
distribuite
solitamente esistono più autorizzatori divisi in
gerarchie
Soggetti:
Sono:
utenti
amministratori e programmatori applicativi
gruppi o classi
transazioni o applicazioni
Oggetti
Diritti
Modi di accesso (read, write, execute...)
(per i programmi)
CRUD
-
c
reate,
r
ead,
u
pdate,
d
elete
(per i dati)
La definizione delle regole è dettata dalle
politiche di sicurezza
Sistema chiuso:
gli accessi permessi sono
soltanto
quelli specificati dalle regole. Tutto ciò che non è
esplicitamente
permesso è
vietato
Sistema aperto:
tutti gli accessi sono permessi
tranne
per quelli
specificatamente
vietati
tramite regole. Tutto ciò che non è
esplicitamente
vietato è
permesso
Le
regole di accesso
(definite dagli autorizzatori) sono basate su un modelllo a quattro componenti:
subject
object
right
costraint
Politiche di accesso ai dati
Politiche discrezionali:
chiamate anche DAC, è discrezione dei proprietari autorizzare altri utenti all'accesso, definire i tipi di accesso da concedere ad altri e definire gli accessi selettivi
Politiche mandatorie:
chiamate anche MAC, sono adatte per database con dati sensibili e dove sono necessari controlli sul flusso di dati e controlli sugli utenti
Le politiche MAC classificano gli oggetti con
livelli di sensitività
e i soggetti con
livelli di clearance
Sono inoltre definite le
Security Class
, dove la
componente gerarchica
individua il livello e e le
categorie
individuano le aree di appartenenza dei dati
Tipici livelli di classificazione sono:
Unclassified (U)
Confidential (C)
Secret (S)
Top Secret (TS)
Le politiche MAC seguono le seguenti regole:
No-Read-Up:
Un soggetto è autorizzato alla lettura di un oggetto solo se il livello del soggetto è
maggiore o uguale
al livello dell'oggetto
No-Write-Down:
Un soggetto è autorizzato alla scrittura di un oggetto solo se il livello del soggetto è
minore o uguale
al livello dell'oggetto
Queste regole impediscono
flussi di dati
tra soggetti high e low
Sicurezza infrastrutturale:
Firewall
, componenti e servizi usati per controllare e limitare il traffico tra la rete da proteggere e l'esterno. Seguono le seguenti:
1) Il firewall
deve
essere l'unico punto di contatto tra la rete
interna
e l'esterno (come un ponte levatoio)
2) Tutti i pacchetti devono essere bloccati tranne quelli
autorizzati
3) Il firewall deve essere
sicuro
a sua volta
Componenti base che permettono il monitoraggio sono:
Screening router
(o Packet filtering) e
Packet Inspection
Application Gateway
Packet filtering:
si analizza solo
l'intestazione
del pacchetto in ricezione in base alle liste contenenti gli
IP
dai quali accettare/rifiutare
Packet Inspection:
supero l'intestazione e ispeziono anche il payload. Viene controllata
tutta la sessione di comunicazione
. Più lento rispetto al Packet filtering
Application proxy:
vengono intercettate le comunicazioni e filtrate le comunicazioni in ingresso al server. Esiste un elemento in mezzo alla comunicazione atto alla protezione del server. Ancora più lento rispetto al Packet inspection
Esistono architetture a più livelli: in un' architettura a tre livelli, dove sono presenti due firewall, la zona "in mezzo" ai due firewall prende il nome di
DMZ
(
D
e
M
ilitarized
Z
one), una zona intermedia a rischio usata come quarantena per proteggere la zona dove sono presenti i dati sensibili
Inoltre, in alcuni casi, soprattutto in architetture a 5-tier, oltre alla presenza di più DMZ esiste anche un
"server ostaggio"
, contenente pagine statiche e usato per monitorare eventuali attacchi
Intrusion Detection System:
o IDS, sono i sistemi che automatizzano il processo di Instrusion Detection, identificando intrusioni di utenti
non autorizzati
(
crackers
) e
autorizzati
(
inside threaters
). Sono le "ronde" del sistema.
I componenti funzionali sono:
Sensori:
raccolgono elementi dai quali rilevare tracce di intrusione
Algoritmi di analisi:
implementano l'ID sulla base dei dati raccolti
Componenti di Alerting & Response:
componenti attivi che, quando è in atto un attacco intraprendono varie azioni
Le principali assunzioni su cui si basano sono:
Le attività di sistema sono
osservabili
Le attività normali e intrusive hanno
evidenze diverse
Si usano
features
(catturano le evidenze di intrusione) e
modelli
(permettono di comporre tali evidenze)
Servono vari componenti: processori per i dati di audit, una base di conoscenza, una 'decision engine' e generatori di allarme e risposte
Gli IDS possono essere classificati in base a diversi criteri:
In base alle Information Source
1) Un
network-based IDS
rileva gli attacchi analizzando il traffico di rete. I sensori devono essere distribuiti sulla rete
2) Un
host-based IDS
è un
software
da installare su ogni macchina da proteggere
In base al tipo di analisi
1) Analisi di tipo
misuse detection
, volta a individuare i comportamenti già noti come attacchi. Analizzano l'attività del sistema e la confrontano con le
signature
2) Analisi di tipo
anomaly detection
, individua deviazioni significative dal comportamento normale
Una volta che l'IDS ha rilevato un attacco si possono avere due tipi di
response
Active response:
vengono acquisite maggiori informazioni aumentando il livello di sensitività, oppure viene modificato l'ambiente bloccando l'attacco in corso
Passive response:
l'IDS invia una notifica all'amministratore del sistema senza intraprendere altre misure