Sei sulla pagina 1di 49

Domande aperte Sicurezza Reti delle Telecomunicazioni

1. Quali sono gli elementi principali di un sistema di crittografia simmetrico? V

La crittografia simmetrica è un sistema di crittografia che utilizza una chiave segreta


per cifrare e decifrare i dati. I suoi elementi principali includono una chiave segreta
condivisa, un algoritmo di crittografia, il testo in chiaro da cifrare, il testo cifrato
risultante, i processi di cifratura e decifratura, la sicurezza basata sulla segretezza
della chiave, la velocità di esecuzione e la sfida della condivisione sicura della chiave.
La crittografia simmetrica è veloce e adatta per la crittografia e decrittografia rapida
di grandi quantità di dati, ma richiede la gestione sicura delle chiavi condivise.
Spesso viene utilizzata in combinazione con la crittografia asimmetrica per ottenere
una maggiore sicurezza e praticità in una tecnica chiamata crittografia ibrida.

2. Cos'è la crittoanalisi? v

La crittoanalisi è lo studio e l'analisi dei metodi e delle tecniche utilizzate per violare
la sicurezza dei sistemi crittografici al fine di recuperare informazioni sensibili o
ottenere accesso non autorizzato ai dati crittografati. L'obiettivo della crittoanalisi è
identificare e sfruttare debolezze o vulnerabilità nel sistema crittografico per
compromettere la sua sicurezza. La crittoanalisi può essere divisa in due categorie
principali:
1. Crittoanalisi classica: Questa forma di crittoanalisi si concentra sulla violazione
dei metodi di crittografia storici o tradizionali, come la crittografia a
sostituzione e la crittografia a trasposizione. La crittoanalisi classica coinvolge
l'analisi di schemi di crittografia, l'identificazione di pattern ricorrenti nel testo
cifrato e l'applicazione di tecniche matematiche/statistiche per ottenere
informazioni sul testo in chiaro o sulla chiave segreta utilizzata.

2. Crittoanalisi moderna: Questa forma di crittoanalisi si concentra sulla


violazione dei moderni algoritmi di crittografia, come l'AES (Advanced
Encryption Standard). La crittoanalisi moderna impiega metodi avanzati per
cercare di identificare debolezze o vulnerabilità nel sistema crittografico al fine
di comprometterne la sicurezza.

In sintesi, possiamo dire è l’insieme di tecniche atte a testare la robustezza


dell’algoritmo e della chiave provando a inferire la chiave a partire dai ciphertect.
Tecniche di crittoanalisi possono essere applicate a partire da ipotesi diverse sulle
informazioni possedute dall’attaccante. In particolare, l’attaccante potrebbe: non
conoscere niente, conoscere alcuni ciphertext e l’algoritmo, ecc.
3. Quali sono gli elementi principali di un sistema di crittografia
asimmetrico? V

Un sistema di crittografia asimmetrica, noto anche come crittografia a chiave


pubblica, utilizza una coppia di chiavi, una pubblica e una privata, per cifrare e
decifrare i dati. La chiave pubblica è ampiamente distribuita e utilizzata per
crittografare i dati, mentre la chiave privata è mantenuta segreta e utilizzata per
decifrare i dati. Gli elementi principali di un sistema di crittografia asimmetrica
includono le chiavi pubbliche e private, un algoritmo di crittografia asimmetrica, il
testo in chiaro da cifrare, il testo cifrato risultante, i processi di cifratura e
decifratura, e le firme digitali per l'autenticazione dei dati.
La crittografia asimmetrica offre diversi vantaggi, come la facilità di distribuzione
delle chiavi pubbliche, che possono essere condivise liberamente senza
compromettere la sicurezza, e la possibilità di autenticare l'integrità e l'autenticità
dei dati tramite firme digitali. Inoltre, consente l'implementazione di protocolli di
scambio di chiavi sicuri, che facilitano la creazione di sessioni di comunicazione
sicure tra le parti.
Tuttavia, a causa della complessità computazionale dei suoi algoritmi, la crittografia
asimmetrica è generalmente più lenta della crittografia simmetrica. Per questo
motivo, spesso viene utilizzata in combinazione con la crittografia simmetrica in un
sistema di crittografia ibrida. La crittografia ibrida sfrutta i vantaggi di entrambi i
sistemi, utilizzando la crittografia asimmetrica per lo scambio sicuro delle chiavi
simmetriche, che vengono poi utilizzate per cifrare e decifrare i dati in modo
efficiente utilizzando la crittografia simmetrica.
Complessivamente, la crittografia asimmetrica fornisce un'importante base per la
sicurezza delle comunicazioni digitali, consentendo la cifratura dei dati,
l'autenticazione dei partecipanti e la creazione di sessioni di comunicazione sicure.
4. Descrivere gli schemi di confidenzialità e di autenticazione con
crittografia a chiave pubblica. V

Gli schemi di confidenzialità e di autenticazione sono due obiettivi principali della


crittografia a chiave pubblica. Lo schema di confidenzialità si concentra sulla
protezione dei dati durante la trasmissione o lo storage, garantendo che solo il
destinatario autorizzato possa decifrarli utilizzando la sua chiave privata
corrispondente. Questo schema offre una protezione efficace dei dati durante la
comunicazione.
Lo schema di autenticazione riguarda l'identificazione e la verifica dell'autenticità
delle parti coinvolte in una comunicazione o transazione. Il mittente utilizza la
propria chiave privata per firmare digitalmente i dati o un hash crittografico dei dati.
La firma digitale può essere verificata dal destinatario utilizzando la chiave pubblica
del mittente, garantendo così l'autenticità dell'origine dei dati.
Spesso, questi due schemi vengono combinati per garantire una comunicazione
sicura e autenticata. Utilizzando la crittografia a chiave pubblica, i dati possono
essere cifrati per garantirne la confidenzialità e firmati digitalmente per garantire
l'autenticità dell'origine. In questo modo, la crittografia a chiave pubblica fornisce
un'importante base per la protezione dei dati e l'autenticazione nelle comunicazioni
digitali.
5. Cosa sono le funzioni hash crittografiche? V

Una funzione crittografica di hash, in informatica, è una classe speciale delle funzioni
di hash, che dispone di alcune proprietà che la rendono adatta all'uso in crittografia.
Si tratta di un algoritmo matematico che mappa dei dati di lunghezza arbitraria
(messaggio) in una stringa binaria di dimensione fissa chiamata valore di hash,
ma spesso viene indicata anche con il termine inglese digest.
Tale funzione di hash è progettata per essere unidirezionale (one-way), ovvero una
funzione difficile da invertire: l'unico modo per ricreare i dati di input dall'output di
una funzione di hash ideale è quello di tentare una ricerca di forza-bruta di possibili
input per vedere se vi è corrispondenza (match).
In alternativa, si potrebbe utilizzare una tabella arcobaleno di hash corrispondenti.
La funzione crittografica di hash ideale deve avere alcune proprietà fondamentali:

- deve identificare univocamente il messaggio, non è possibile che due


messaggi differenti, pur essendo simili, abbiano lo stesso valore di hash;

- deve essere deterministico, in modo che lo stesso messaggio si traduca


sempre nello stesso hash;

- deve essere semplice e veloce calcolare un valore hash da un qualunque tipo


di dato;

- deve essere molto difficile o quasi impossibile generare un messaggio dal suo
valore hash se non provando tutti i messaggi possibili.

Tali caratteristiche permettono alle funzioni crittografiche di hash di trovare ampio


utilizzo negli ambiti della sicurezza informatica, quali firme digitali, codici di
autenticazione dei messaggi (MAC) e altre forme di autenticazione.
Possono essere utilizzati anche come funzioni di hash ordinarie, per indicizzare i dati
nelle tabelle di hash, per la rilevazione di impronte digitali, per rilevare dati duplicati
o identificare in modo univoco i file e come checksum per rilevare la corruzione
accidentale dei dati. Infatti, nei contesti di sicurezza informatica, i valori di hash
crittografici sono talvolta chiamati «impronte digitali» o «checksum» anche se tutti
questi termini hanno funzioni più generali con proprietà e scopi piuttosto diversi.
In sintesi, le funzioni hash crittografiche sono algoritmi che trasformano input di
dimensione arbitraria in output di dimensione fissa chiamati hash. Queste funzioni
sono progettate per essere veloci da calcolare e produrre output unici. Le loro
caratteristiche principali includono l'unidirezionalità, il determinismo, l'output di
dimensione fissa e la resistenza alle collisioni.
6. Cos'è una Certification Authority? V

Una Certification Authority (CA) è un'entità fidata che emette e gestisce certificati
digitali per la crittografia a chiave pubblica.
La CA verifica l'identità delle entità o persone richiedenti e garantisce l'integrità delle
informazioni nel certificato. Svolge un ruolo fondamentale nell'infrastruttura a chiave
pubblica (PKI), che assicura la sicurezza delle comunicazioni e delle transazioni
online.
Le responsabilità principali di una CA includono la verifica dell'identità, l'emissione
dei certificati, la gestione del ciclo di vita dei certificati e la fornitura di servizi di
verifica.
Le CA possono essere organizzazioni governative, aziendali o specializzate nella
sicurezza e nell'infrastruttura a chiave pubblica. Le CA di livello superiore, note come
Root CA, emettono certificati per le CA subordinate e costituiscono l'autorità di
fiducia radice nella gerarchia delle CA.
La fiducia e l'affidabilità delle Certification Authority sono essenziali per garantire la
sicurezza delle comunicazioni e delle transazioni digitali.

7. Cosa sono i certificati digitali? V

I certificati digitali sono documenti elettronici emessi da una Certification Authority


(CA) per autenticare l'identità e garantire la sicurezza delle comunicazioni online.
Nella crittografia asimmetrica un certificato digitale è un documento elettronico che
attesta l'associazione univoca tra una chiave pubblica e l'identità di un soggetto; un
certificato digitale contiene informazioni come l'identità del titolare, la chiave
pubblica associata, il periodo di validità e la firma digitale della CA. Se la firma è
valida e l'applicazione che esamina il certificato si affida all'emittente, allora può
utilizzare tale chiave per comunicare in modo sicuro con il soggetto del certificato.
I certificati digitali sono utilizzati in protocolli come SSL/TLS per la crittografia delle
comunicazioni, la creazione e la verifica di firme digitali e come componente di
autenticazione a due fattori. Sono una parte essenziale dell'infrastruttura a chiave
pubblica (PKI) e promuovono la sicurezza e la fiducia nel contesto digitale.
I certificati digitali consentono di stabilire connessioni sicure per siti web, e-
commerce, servizi di posta elettronica e altre applicazioni online, garantendo
autenticità, integrità e riservatezza delle informazioni scambiate.
8. Come si possono classificare gli attacchi alla sicurezza web in base alla
posizione sulla rete?

Gli attacchi alla sicurezza web possono essere classificati in base alla loro posizione
sulla rete. Le categorie comuni includono attacchi di rete, attacchi sul client e
attacchi sul server. Gli attacchi di rete coinvolgono il traffico tra client e server e
possono includere sniffing, DoS e Man in the Middle. Gli attacchi sul client mirano
alle vulnerabilità sui dispositivi del client e comprendono phishing, malware e
iniezione di codice. Gli attacchi sul server si concentrano sulle vulnerabilità sui server
che ospitano le applicazioni web e possono includere SQL injection e vulnerabilità di
configurazione.
È importante notare che queste categorie non sono esclusive e possono essere
combinate in attacchi complessi. È necessaria una difesa multi-livello che copra la
protezione della rete, la sicurezza dei dispositivi del client e le buone pratiche di
sviluppo e configurazione del server.
Gli attacchi web rappresentano una minaccia significativa per la sicurezza online e
richiedono una costante attenzione e mitigazione da parte degli utenti e degli
sviluppatori. La consapevolezza degli attacchi comuni e l'implementazione di misure
di sicurezza adeguate sono fondamentali per proteggere le informazioni sensibili e
garantire la sicurezza delle comunicazioni e delle transazioni su Internet.

9. Quali sono le minacce all'integrità nel web? V

Le minacce all'integrità nel web riguardano la violazione o la manipolazione dei dati


e delle risorse web, compromettendo la loro accuratezza e affidabilità. Ci sono
diverse forme di minacce all'integrità, tra cui la manipolazione dei dati, l'iniezione di
codice malevolo, il Trojan horse browser e altri.
La manipolazione dei dati coinvolge la modifica non autorizzata dei dati sensibili
presenti su pagine web o database. L'iniezione di codice malevolo consiste
nell'inserimento di codice dannoso nelle pagine web o negli input degli utenti,
permettendo agli attaccanti di eseguire comandi dannosi o compromettere la
sicurezza del browser. Il Trojan horse consiste in un file malevolo che all’apparenza
può sembrare un comune file ma quando agisce si infetta i PC con lo scopo di
prenderne il possesso.
Proteggere l'integrità richiede l'implementazione di misure di sicurezza come l'uso di
controlli di accesso, la validazione dei dati di input, l'uso di firme digitali per
verificare l'autenticità dei dati, l'implementazione di meccanismi di protezione dei
server e la consapevolezza degli utenti riguardo alle potenziali minacce.
È fondamentale adottare una difesa multi-livello per mitigare le minacce all'integrità
e mantenere la sicurezza delle risorse web.
10. Cos'è il parametro "Initialization Vector" di una connessione SSL? V

Il parametro "Initialization Vector" (IV), tradotto in italiano come "Vettore di


Inizializzazione", è un componente critico utilizzato nelle connessioni SSL/TLS.
L'IV è un valore casuale e univoco che viene utilizzato insieme alla chiave di
crittografia per inizializzare l'algoritmo di crittografia a blocchi simmetrici, come ad
esempio AES, in modalità di cifratura a blocchi, come ad esempio CBC - Cipher Block
Chaining.
L'IV viene generato dal mittente e inviato al destinatario all'inizio di una
comunicazione SSL/TLS. La sua lunghezza dipende dall'algoritmo di crittografia
utilizzato, ma tipicamente ha una dimensione di 8 o 16 byte. L'IV viene utilizzato per
garantire che ogni blocco di dati venga cifrato in modo univoco, anche se gli stessi
dati sono stati crittografati in precedenza. In altre parole, l'IV garantisce che due
blocchi di dati identici non siano crittografati nello stesso modo, evitando così
possibili vulnerabilità e debolezze.
L'IV viene trasmesso insieme ai dati crittografati e può essere considerato un
"numero di serie" per i blocchi di dati cifrati. È importante notare che l'IV deve
essere unico per ogni sessione o comunicazione crittografata, altrimenti potrebbero
verificarsi vulnerabilità alla sicurezza.
L'utilizzo dell'IV nella crittografia SSL/TLS contribuisce a garantire l'integrità e la
sicurezza delle comunicazioni, impedendo l'ottenimento di informazioni sensibili da
parte di terze parti non autorizzate.

11. Come viene usato TURN per aiutare SIP a superare un firewall? V

Il protocollo TURN (Traversal Using Relays around NAT) viene utilizzato in


combinazione con SIP (Session Initiation Protocol) per superare i problemi di
connettività causati da firewall o dispositivi di Network Address Translation (NAT).
TURN agisce come un server relay per consentire la comunicazione in tempo reale
tra i partecipanti SIP situati dietro firewall o NAT e quelli esterni alla rete protetta.
Per superare i problemi di firewall, TURN funge da intermediario tra i partecipanti
SIP interni ed esterni.
Il client SIP configurato utilizza il server TURN come relay per il traffico RTP,
scambiando le informazioni di configurazione tramite SIP. Quando il client deve
inviare dati RTP a un partecipante esterno, il traffico viene instradato attraverso il
server TURN, che lo inoltra al destinatario tramite la rete esterna.
Il server TURN gestisce l'inoltro del traffico RTP, permettendo al traffico di superare
le limitazioni del firewall o NAT e raggiungere i partecipanti esterni.
Inoltre, TURN viene utilizzato come soluzione per connessioni peer-to-peer quando
una connessione diretta non è possibile a causa delle restrizioni del firewall o NAT.
12. Cos'è una sessione SSL? V

Una sessione SSL (Secure Sockets Layer) è un'istanza di comunicazione sicura tra un
client e un server utilizzando il protocollo SSL.
Durante la creazione di una sessione SSL, avviene un processo di handshake che
include diverse fasi, come il Client Hello, il Server Hello, lo scambio delle chiavi, la
verifica del certificato, lo scambio delle chiavi di sessione, la cifratura dei dati e
l'integrità dei dati.
Durante il processo di handshake, il client e il server si scambiano informazioni e
stabiliscono una connessione sicura utilizzando crittografia e autenticazione. Il
certificato del server viene verificato dal client per garantire l'autenticità e la fiducia.
Una volta stabilita la sessione SSL, i dati scambiati tra il client e il server vengono
crittografati utilizzando una chiave di sessione simmetrica e firmati digitalmente per
garantire l'integrità.
Le sessioni SSL sono ampiamente utilizzate in applicazioni web, servizi di posta
elettronica, servizi di pagamento online e in altre situazioni che richiedono la
sicurezza delle comunicazioni. Garantiscono la riservatezza delle informazioni,
l'autenticità delle parti coinvolte e l'integrità dei dati trasmessi. Le sessioni SSL
possono essere terminate esplicitamente o automaticamente dopo un periodo di
inattività.
In sintesi, le sessioni SSL offrono una comunicazione sicura su Internet attraverso la
crittografia, l'autenticazione e l'integrità dei dati.
13. Perché nasce TLS? V

TLS (Transport Layer Security) è stato introdotto come successore di SSL (Secure
Sockets Layer) per affrontare le debolezze e le vulnerabilità presenti in quest'ultimo.
TLS è nato con diversi obiettivi principali:
1. Miglioramenti della sicurezza: TLS è stato progettato per affrontare le
debolezze in SSL e fornire una maggiore sicurezza e robustezza.

2. Standardizzazione: TLS è stato sviluppato come uno standard aperto e


affidabile dall'IETF per fornire un protocollo di sicurezza uniforme e
interoperabile.

3. Aggiornamenti crittografici: TLS ha introdotto algoritmi di crittografia più sicuri


rispetto a SSL, come AES (Advanced Encryption Standard), e ha consentito
l'utilizzo di algoritmi di crittografia a chiave pubblica come RSA e Diffie-
Hellman.

4. Miglioramenti delle prestazioni: TLS ha introdotto ottimizzazioni per migliorare


le prestazioni rispetto a SSL.

5. Flessibilità e compatibilità: TLS è stato progettato per essere flessibile e


adattabile a diverse esigenze di sicurezza. Supporta diverse versioni del
protocollo e offre una retrocompatibilità con SSL per una transizione graduale
dalle implementazioni SSL a TLS.

TLS è diventato il protocollo di sicurezza predominante per le comunicazioni su


Internet. È utilizzato in numerosi contesti, inclusi siti web, servizi di posta elettronica,
messaggistica istantanea e altro ancora, garantendo crittografia forte, autenticazione
e protezione dell'integrità dei dati.
14. A cosa serve la funzione pseudorandom di TLS? V

La funzione pseudorandom di TLS svolge un ruolo cruciale nella creazione di una


comunicazione crittografata sicura. Essa genera dati casuali o pseudo-casuali che
vengono utilizzati per scopi crittografici all'interno del protocollo TLS.
La generazione dei dati casuali ha diverse applicazioni chiave in TLS.
In primo luogo, la funzione pseudorandom genera le chiavi di sessione, che sono
necessarie per crittografare e decrittografare i dati scambiati tra il client e il server
durante una sessione TLS.
In secondo luogo, la funzione pseudorandom genera i numeri di sequenza utilizzati
per garantire l'integrità dei dati crittografati durante la comunicazione. Infine, la
funzione pseudorandom contribuisce anche alla generazione dei parametri
crittografici utilizzati nel processo di handshake TLS.
È di fondamentale importanza che la funzione pseudorandom di TLS sia robusta e
crittograficamente sicura. Questo garantisce che i dati generati siano imprevedibili e
non influenzabili da agenti esterni, impedendo così eventuali attacchi basati sulla
prevedibilità dei valori generati.
In conclusione, la funzione pseudorandom (PRF) serve per espandere le parti segrete
in blocchi. Tale espansione viene utilizzata per la generazione di chiave o per la
validazione dei messaggi. L’idea è di partire da un segreto molto piccolo ed
espanderlo per migliorare la robustezza da attacchi di crittoanalisi
15. Parlare del metodo GET di HTTP. V

Il metodo GET è uno dei principali metodi utilizzati nel protocollo per richiedere e
ottenere risorse da un server web. Quando viene effettuata una richiesta GET, viene
inviata attraverso l'header della richiesta HTTP e può includere parametri opzionali
aggiunti all'URL, Il server risponde inviando la risorsa richiesta nell'header di risposta
HTTP.
Il metodo GET presenta alcune caratteristiche importanti. Innanzitutto, è semplice da
utilizzare ed è il metodo di base per il recupero di risorse tramite HTTP. Tuttavia, ci
sono alcune limitazioni, come la lunghezza massima dell'URL che può essere gestito
e la visibilità dei parametri nell'URL stesso.
È un metodo sicuro (cioè non altera lo stato della risorsa sul server) e idempotente
(ovvero l’effetto di più richieste è identico a quello di una sola) che può
essere:
– Assoluto: normalmente, ossia quando la risorsa viene richiesta senza altre
specificazioni

– Condizionale: se la risorsa corrisponde ad un criterio indicato negli header If-


Match, If-Modified-Since, If-Range;

– Parziale: se la risorsa richiesta è una sotto parte di una risorsa memorizzata

Poiché i parametri sono inclusi nell'URL, possono essere facilmente visualizzati dagli
utenti e memorizzati nei log di server intermedi. Pertanto, l'invio di parametri
sensibili tramite richieste GET non è raccomandato. Tuttavia, il metodo GET offre
anche vantaggi come la possibilità di memorizzare nella cache le risorse ottenute e la
facilità di bookmarking o condivisione delle risorse tramite l'URL completo.
16. Come funziona il protocollo http? V

Il protocollo HTTP (Hypertext Transfer Protocol) è un protocollo di comunicazione


utilizzato per il trasferimento di informazioni su Internet.
Funziona secondo un modello client-server, in cui un client richiede risorse a un
server e quest'ultimo risponde con i dati richiesti.
Il processo si svolge attraverso diverse fasi:
1. Richiesta HTTP: Il client stabilisce una connessione TCP con il server utilizzando
la porta predefinita o la porta sicura.

2. Elaborazione della richiesta: Il server riceve la richiesta HTTP e interpreta l'URL


per identificare la risorsa desiderata. Successivamente, elabora la richiesta in
base al metodo specificato.

3. Risposta HTTP: Il server crea una risposta HTTP che include un codice di stato, un
header con informazioni aggiuntive e il corpo del messaggio che contiene il
contenuto effettivo della risorsa.

4. Chiusura della connessione: Dopo l'invio della risposta al client, la connessione


TCP viene chiusa, a meno che sia specificato il mantenimento della connessione
per consentire ulteriori richieste. Il client elabora la risposta e, se necessario,
effettua ulteriori richieste.

Questo ciclo di richiesta e risposta costituisce il funzionamento base del protocollo


HTTP. Tuttavia, il protocollo supporta anche meccanismi aggiuntivi come cookie,
autenticazione, caching e altre funzionalità per gestire interazioni complesse tra
client e server. Sebbene HTTP sia senza stato, le applicazioni web possono utilizzare
cookie o altri metodi per gestire lo stato tra le richieste.
17. Cos'è SSH? A cosa serve? V

SSH (Secure Shell) è un protocollo di rete che consente la comunicazione sicura e


criptata tra dispositivi remoti attraverso una rete non sicura, come Internet. È
ampiamente utilizzato per l'accesso remoto sicuro a server e per il trasferimento
sicuro di file. È nato con l’idea di rimpiazzare i protocollo di shell remota precedenti
senza sicurezza come TELNET.
SSH offre una serie di funzionalità che contribuiscono alla sua utilità e popolarità:
1. Autenticazione sicura: SSH fornisce un meccanismo di autenticazione robusto
per verificare l'identità del client e del server. Prevenendo l'accesso non
autorizzato.

2. Crittografia dei dati: Tutte le comunicazioni tra client e server SSH vengono
crittografate per proteggere l'integrità e la riservatezza dei dati trasmessi. Se
le informazioni vengono intercettate da terze parti, non possono essere lette
o comprese.

3. Tunneling: SSH supporta il tunneling, che consente di instradare il traffico di


rete attraverso una connessione SSH sicura.

4. Port forwarding: SSH consente di inoltrare specifiche porte di rete tra il client
e il server. Ciò permette di accedere a servizi remoti attraverso la
connessione SSH, migliorando la sicurezza e la gestione delle risorse.
18. Perché alcuni campi dell'header SIP devono avere una versione in
chiaro? v

Nel protocollo SIP, alcuni campi dell'header devono essere trasmessi in chiaro per
consentire il corretto funzionamento del messaggio attraverso i dispositivi
intermedi di rete. Questo è necessario affinché i dispositivi intermedi possano
elaborare e instradare adeguatamente i messaggi SIP. I motivi principali includono
l'elaborazione dei dispositivi intermedi come proxy, firewall e NAT, che necessitano
di informazioni visibili in chiaro per effettuare il routing corretto e prendere
decisioni basate sull'header SIP.
Inoltre, la trasmissione in chiaro è importante per garantire l'interoperabilità tra
dispositivi di diversi fornitori e consentire la gestione corretta dei dispositivi finali.
In sintesi, alcuni campi dell'header SIP devono essere trasmessi in chiaro perché tali
campi sono necessari nelle request e nelle response per il corretto funzionamento
del protocollo e l'elaborazione dei dispositivi intermedi.

19. Quali sono alcuni meccanismi per rendere sicuro SIP? V

Per rendere sicuro il protocollo SIP (Session Initiation Protocol), possono essere
adottati diversi meccanismi e protocolli aggiuntivi per proteggere le comunicazioni
e mitigare le minacce alla sicurezza.
Alcuni di questi meccanismi includono l'utilizzo di TLS per crittografare le
comunicazioni SIP, l’uso di IPSec, l'implementazione di SRTP per crittografare i flussi
multimediali, l'autenticazione e l'autorizzazione per verificare l'identità dei
partecipanti e definire i privilegi di accesso, l'uso di firewall e dispositivi di NAT per
proteggere i server SIP, l'implementazione di filtri e meccanismi di protezione da
attacchi, e la corretta gestione delle chiavi crittografiche.
L'adozione di tali meccanismi contribuisce a garantire l'integrità, la riservatezza e la
disponibilità delle comunicazioni SIP, proteggendo le informazioni sensibili e
prevenendo eventuali attacchi o intercettazioni indesiderate. È importante che le
organizzazioni utilizzino una combinazione di questi meccanismi in base alle proprie
esigenze di sicurezza e al livello di protezione richiesto.
20. Descrivere l'attacco di play out contro RTP. V

L'attacco di play out è un tipo di attacco che mira a compromettere il corretto


funzionamento del protocollo RTP utilizzato per il trasporto di dati multimediali in
tempo reale su reti IP. Durante l'attacco, un aggressore interferisce con i pacchetti
RTP per influenzare la qualità o la correttezza della riproduzione dei dati
multimediali.
L'attacco può comportare l'alterazione, l'eliminazione o il ritardo selettivo dei
pacchetti RTP durante il transito. Questo può causare problemi di sincronizzazione,
interruzioni, distorsioni o salti nella riproduzione dei media. L'obiettivo dell'attacco
può variare, da disturbare conferenze o servizi di streaming a influenzare
negativamente applicazioni o servizi che si basano sulla corretta riproduzione dei
dati multimediali.
(Un di più che si potrebbe anche omettere)
Per mitigare gli attacchi di play out, è consigliabile adottare misure di sicurezza
come l'autenticazione e la crittografia dei pacchetti RTP, il rilevamento e la
correzione degli errori, la ridondanza dei pacchetti e il controllo e monitoraggio per
rilevare anomalie nella riproduzione dei media. È anche importante proteggere
l'infrastruttura di rete da attacchi di spoofing, iniezione di pacchetti falsi o ritardi
intenzionali.

21. Descrivere l'attacco di call eavesdropping contro RTP. V

L'attacco di call eavesdropping è un tipo di attacco che mira a intercettare e


ascoltare le comunicazioni audio o video in tempo reale tra i partecipanti a una
chiamata o a una sessione multimediale utilizzando il protocollo RTP. Durante
l'attacco, l'attaccante intercetta i pacchetti RTP contenenti i dati audio o video e li
decodifica per ascoltare o visualizzare il contenuto senza il consenso degli utenti
coinvolti.
(Un di più che si potrebbe anche omettere)
“Per proteggere le comunicazioni RTP dall'attacco di call eavesdropping, sono
necessarie misure di sicurezza adeguate. L'utilizzo della crittografia per i pacchetti
RTP, come il protocollo SRTP, garantisce la riservatezza del contenuto e impedisce
l'intercettazione e la decodifica da parte di terze parti non autorizzate.
L'autenticazione dei partecipanti attraverso meccanismi sicuri come i certificati
digitali o le credenziali di accesso impedisce l'accesso non autorizzato alle
comunicazioni. Lo scambio sicuro delle chiavi crittografiche utilizzate per la
crittografia dei pacchetti RTP, come il protocollo ZRTP, assicura la riservatezza delle
comunicazioni. L'implementazione di misure di sicurezza di rete come firewall, filtri
di pacchetti e dispositivi di protezione da attacchi di rete previene l'intercettazione
dei pacchetti RTP da parte di attaccanti esterni.”
22. Cos'è un B2BUA? A cosa serve e come si usa? V

Un B2BUA (Back-to-Back User Agent) è un componente fondamentale nelle reti SIP


(Session Initiation Protocol) che facilita e controlla le sessioni di comunicazione tra
partecipanti SIP, agendo come intermediario per tutta la durata della sessione.
Le funzioni principali del B2BUA all'interno di una rete SIP includono la gestione
delle sessioni, con la creazione, il mantenimento e la terminazione delle sessioni tra
i partecipanti, elaborando i messaggi SIP secondo le politiche di routing definite.
Il B2BUA ha anche la capacità di manipolare i messaggi SIP durante il transito,
consentendo la modifica di informazioni come gli indirizzi IP di destinazione, i
parametri di sicurezza e i codec supportati. Ciò permette l'adattamento e la
personalizzazione delle comunicazioni SIP in base alle esigenze dell'ambiente di rete
o delle applicazioni.
Inoltre, il B2BUA può implementare logiche di controllo per gestire le sessioni SIP,
come politiche di autorizzazione e autenticazione per controllare l'accesso alle
risorse e alle funzionalità di rete. Può anche controllare il flusso dei media durante
una sessione, consentendo funzionalità come la registrazione o l'intercettazione
delle chiamate.
Per agevolare la comunicazione tra partecipanti con codec diversi, il B2BUA può
eseguire la transcodifica dei codec audio e video, fungendo da "ponte" media per
connettere reti o dispositivi con requisiti di trasmissione media differenti.
Infine, il B2BUA può registrare le chiamate SIP per monitoraggio, analisi o
conformità normativa, registrando sia la segnalazione SIP che i flussi di media
associati alla sessione.
Per utilizzare un B2BUA, è necessario configurarlo all'interno dell'infrastruttura di
rete SIP, collocandolo tra i partecipanti SIP come punto di controllo e gestione delle
sessioni. I partecipanti si connettono al B2BUA per avviare le sessioni e interagire
con gli altri partecipanti.
A differenza di un proxy SIP, che agisce solo come intermediario per il routing dei
messaggi SIP senza intervenire attivamente nella gestione e nel controllo delle
sessioni, il B2BUA offre un maggiore controllo e flessibilità nella gestione delle
comunicazioni SIP, grazie a funzionalità avanzate come la manipolazione dei
messaggi e il controllo dei flussi di media.
In conclusione, il B2BUA è un componente essenziale nelle reti SIP che funge da
intermediario per gestire, controllare e mediare le sessioni di comunicazione tra i
partecipanti. Offre funzionalità avanzate come la manipolazione dei messaggi, il
controllo delle sessioni, la transcodifica dei codec e la registrazione delle chiamate.
23. Descrivere la struttura di Kademlia. V

Kademlia è un protocollo di rete peer-to-peer (P2P) che utilizza una struttura di dati
distribuita chiamata Distributed Hash Table (DHT), basato su una metrica che utilizza
la funzione logica XOR. Questo sistema è stato progettato per consentire la ricerca e
l'archiviazione di dati in una rete decentralizzata in modo scalabile.
La struttura di Kademlia si basa su un albero binario chiamato Kademlia Binary Tree
(K-Bucket), in cui ogni nodo rappresenta un peer e ha un ID di nodo univoco. Le
risorse sono replicate nei k nodi più vicini all’identificativo di una determinata
risorsa che detengono la coppia chiave (ID)-valore(risorsa); k è un parametro di
sistema posto a 20 di solito ed è tale per cui dati k nodi è improbabile che due di
questi abbiano una distanza tra essi minore di 60 minuti. La rete Kademlia è un
overlay network, costruita sopra una rete sottostante come Internet, e i peer
comunicano utilizzando protocolli standard come TCP o UDP.
L'algoritmo di routing di Kademlia sfrutta l'albero K-Bucket per determinare i nodi da
contattare durante la ricerca di un ID di nodo o di un valore nella DHT. La procedura
di lookup consente di trovare nodi o valori all'interno della DHT contattando i nodi
più vicini all'ID di destinazione. Gli identificativi di nodi e risorse di solito sono
composti da 160 bit.
Kademlia utilizza la ridondanza dei dati replicando le informazioni su più nodi
all'interno della rete. Questo assicura l'affidabilità e la disponibilità dei dati,
consentendo di recuperarli anche in caso di nodi inaccessibili o usciti dalla rete.
La struttura di Kademlia offre un'architettura P2P efficiente e scalabile per la
memorizzazione e il recupero dei dati all'interno di una rete decentralizzata. Grazie
al suo algoritmo di routing e alla struttura di dati distribuita, Kademlia fornisce
un'architettura resistente ai guasti, garantendo la distribuzione e la replicazione dei
dati tra i nodi per una maggiore affidabilità e resilienza.
24. Come vengono assegnate le risorse in una rete Chord? V

In una rete Chord ogni risorsa è assegnata ad un particolare nodo dell’overlay in base
ad una variante di quello che si chiama consistent hashing, in pratica una risorsa è
assegnata ai nodi in base agli identificatori chiave. Il protocollo Chord è un efficiente
sistema di routing e lookup per reti peer-to-peer (P2P) distribuite.
Gli identificativi corrispondenti a nodi e risorse sono disposti a cerchio o anello.
Conosciamo due modi di assegnazione delle risorse:
1. Lookup semplice:
a. Ritorna il nodo responsabile per un determinato resourceID passato
come argomento;
b. Ogni nodo deve solo sapere come contattare il proprio successore
nell’anello;
c. La richiesta è passata di nodo in nodo fino a giungere alla risorsa
cercata, il nodo successivo è quello responsabile;

2. Lookup scalabile:
a. Ogni nodo mantiene non solo una lista di successori ma anche delle
cosiddette finger table;
b. Ogni nodo ha una finger table con al massimo m righe;
c. Ogni riga contiene l’identificativo e l’indirizzo IP del nodo che dista dal
nodo corrente almeno 2i-1 con i che va da 1 a m, il tutto sempre in
aritmetica modulare.
d. In pratica si hanno nodi distanti mezzo cerchio, un quarto di cerchio, un
ottavo di cerchio, ecc.
e. La procedura di lookup viene modificata nel modo seguente: se il nodo
responsabile della risorsa cercata è il successore del nodo corrente,
viene restituito quest’ultimo, altrimenti si restituisce la riga con il nodo
più lontano nella finger table che precede la risorsa cercata e si ripete.
25. Quali sono i possibili effetti di un attacco Sybil su rete Kademlia? V

Un attacco Sybil è un tipo di attacco in cui un singolo aggressore crea molteplici


identità o nodi falsi all'interno di una rete peer-to-peer, come la rete Kademlia. Gli
effetti di un attacco Sybil sulla rete Kademlia sono molteplici. Innanzitutto,
l'aggressore può sovraccaricare la rete creando numerosi nodi falsi, che occupano
una parte significativa delle risorse di rete e possono causare congestione e
interruzioni nel funzionamento della rete stessa.
In secondo luogo, un attacco Sybil può manipolare i risultati delle ricerche nella rete
Kademlia. L'aggressore può influenzare la tabella finger di un nodo target, fornendo
informazioni errate sui nodi da contattare durante una ricerca. Ciò può portare a
risultati di ricerca distorti, con nodi falsi indicati come responsabili delle risorse
cercate.
Inoltre, un attacco Sybil compromette la sicurezza della rete Kademlia. Gli
aggressori possono utilizzare i nodi falsi per raccogliere informazioni sensibili,
eseguire attacchi di tipo man-in-the-middle e compromettere la privacy e l'integrità
dei dati scambiati nella rete.
Un attacco Sybil può anche distorcere la distribuzione delle risorse nell'anello
Kademlia. L'aggressore può concentrare la maggior parte dei nodi falsi in specifiche
regioni dell'anello, creando uno squilibrio nella distribuzione delle risorse. Ciò può
influire negativamente sulle prestazioni complessive della rete e ostacolare il
corretto funzionamento del protocollo di routing e ricerca.
Infine, un attacco Sybil rende difficile mantenere la coerenza dei dati nella rete
Kademlia. L'aggressore può creare molteplici copie di una stessa risorsa all'interno
dei nodi falsi, causando discrepanze e mancanza di coerenza dei dati. Ciò rende
complicato l'accesso e l'aggiornamento coerente delle risorse, compromettendo
l'integrità dei dati nell'intera rete.
Per mitigare gli effetti degli attacchi Sybil, sono necessarie misure di sicurezza
adeguate. Queste comprendono l'uso di meccanismi di autenticazione e
identificazione dei nodi, l'implementazione di algoritmi di rilevamento degli attacchi
Sybil e l'applicazione di politiche di gestione dei nodi per prevenire la proliferazione
di nodi falsi nella rete Kademlia.
26. Quali sono alcune possibili soluzioni agli attacchi al join nelle reti P2P?

Gli attacchi al join nelle reti peer-to-peer (P2P) possono essere mitigati attraverso
diverse soluzioni. Ecco alcune possibili:

- Gerarchia di nodi cooperativi per il controllo di ammissione alla rete: basato


sul grafo di bootstrap. Si presuppone anche un limite superiore sul numero di
ID ammissibili. Si usa il DH per condividere segreti tra i nodi della gerarchia. La
radice dell’albero gerarchico è comunque un single point of failure.

- Screening dei nodi: Effettuare un processo di screening o valutazione dei nuovi


nodi prima di consentire loro l'accesso completo alla rete. Ciò può coinvolgere
la verifica della loro reputazione, delle loro prestazioni o dell'affidabilità in
base a criteri predefiniti.

- Random computational puzzle: i peer si sfidano l’un l’altro in broadcast. È


inoltre richiesta la risoluzione di un puzzle computazionale al momento del
join.

- Ottenimento dell’ID tramite criptaggio con due chiavi: viene criptato l’indirizzo
IP del nuovo arrivato e l’invio dell’ID avviene via SMS ad opera di un central
agent. C’è centralizzazione e si richiede un canale telefonico con differente uso
della scheda SIM.

- Invalidazione periodica: dei nodeID da parte di un’entità esterna fidata. È


difficile accumulare molti nodeID ma i nodi legittimi devono periodicamente
spendere del tempo per riottenere un ID corretto.

- Costs and fees: il certificato che lega il nodeID ad una chiave pubblica deve
essere pagato. Il costo di un attacco cresce con la dimensione della rete. C’è
un single point of failure perché si prevede comunque un’entità centralizzata.

- Monitoraggio della rete: Mantenere un monitoraggio costante della rete P2P


per identificare attività sospette o nodi compromessi. Ciò può aiutare a
individuare e isolare gli attaccanti prima che possano causare danni
significativi.

Queste soluzioni possono essere adottate in combinazione o individualmente a


seconda delle esigenze specifiche della rete P2P e del tipo di attacco al join che si
vuole contrastare.
27. Quali miglioramenti può portare l'applicazione di una strategia di trust
e reputation in una rete Kademlia attaccata da nodi sybils? V

L'implementazione di una strategia di trust e reputation in una rete Kademlia


attaccata da nodi Sybil comporta diversi vantaggi significativi. Questi includono
l'identificazione e l'isolamento dei nodi Sybil, la riduzione dell'affidabilità di tali nodi,
l'inibizione della propagazione di informazioni false, la promozione della
cooperazione e della condivisione affidabile delle risorse, una maggiore resistenza
agli attacchi Sybil e il miglioramento complessivo delle prestazioni della rete.
La strategia di trust e reputation permette ai nodi di valutare i comportamenti dei
nodi nella rete, isolando così l'influenza dei nodi Sybil. Raccogliendo informazioni
sulla reputazione, la rete può distinguere nodi affidabili da quelli compromessi.
Inoltre, un sistema di trust e reputation aiuta ad evitare la diffusione di informazioni
false, promuove la cooperazione tra i nodi e migliora l'efficienza delle operazioni di
routing e lookup.
In sintesi, l'applicazione di una strategia di trust e reputation in una rete Kademlia
attaccata dai nodi Sybil apporta miglioramenti sostanziali alla sicurezza,
all'affidabilità, alla cooperazione e alle prestazioni della rete.

28. Quali sono i possibili modelli di trust e reputation? V

Esistono diversi modelli e approcci per misurare e gestire il trust e la reputation.


- Il primo modello è basato sul feedback degli utenti, che forniscono valutazioni e
recensioni per calcolare un punteggio di reputazione complessivo.
- Il secondo modello si basa sulla reputazione globale, calcolando un punteggio
basato sulle interazioni passate di un partecipante nella comunità o nel sistema.
- Il terzo modello si basa sul trust sociale, considerando la reputazione e le
relazioni sociali tra gli utenti. Ad esempio, si attribuisce maggiore fiducia a un
utente raccomandato da un amico o un contatto di fiducia.
- Il quarto modello utilizza algoritmi di machine learning per analizzare dati e
identificare pattern indicativi di alto trust o reputation.
- Infine, il modello basato su blockchain gestisce il trust e la reputation attraverso
contratti intelligenti e registri immutabili nelle blockchain pubbliche
decentralizzate. L'obiettivo principale di questi modelli è fornire un sistema
affidabile e trasparente per valutare il trust e la reputation degli utenti, creando
un ambiente sicuro per le interazioni digitali.
29. Cosa sono trust e reputation?V

Trust e reputation sono concetti che giocano un ruolo fondamentale nella


valutazione della credibilità, dell'affidabilità e della fiducia nelle interazioni sociali e
nelle transazioni digitali. È un modello che pare adeguato ad uno scenario
distribuito in cui ogni peer acquisisce esperienza dei comportamenti di altri nodi e
fa le proprie valutazioni sulla qualità delle interazioni ricevute.Vediamoli nel
dettaglio:

1. Trust (fiducia): Il trust rappresenta la fiducia che una persona in base a una
valutazione delle sue caratteristiche, competenze, comportamenti passati o
raccomandazioni da parte di terze parti affidabili. Possiamo riassumere il trust come
una fiducia diretta in un determinato nodo/peer.

2. Reputation (reputazione): La reputation si riferisce alla valutazione basata sulle


sue azioni, comportamenti e performance passate. La reputazione può essere
influenzata da diverse fonti, come feedback degli utenti, recensioni, valutazioni,
esperienze condivise e testimonianze di terze parti. Una buona reputazione indica
un alto grado di fiducia e affidabilità, mentre una reputazione negativa può indicare
problemi o preoccupazioni riguardo all'affidabilità o alle capacità di una persona o
di un'entità. Possiamo riassumere la reputation come informazioni indirette sul
comportamento e sulle qualità delle risorse restituire da un determinato
nodo/peer.

Nel contesto delle transazioni digitali, delle piattaforme online o delle reti peer-to-
peer, trust e reputation sono spesso misurati e gestiti attraverso sistemi di
valutazione, feedback degli utenti, indicatori di reputazione e algoritmi di trust
basati su criteri specifici. Questi meccanismi aiutano a fornire informazioni affidabili
agli utenti e a prendere decisioni informate sulla fiducia e l'affidabilità degli altri
partecipanti o dei servizi coinvolti.
30. Come avviene la negoziazione degli algoritmi nel Transport Layer
Protocol di SSH? V

Nel protocollo SSH (Secure Shell), la negoziazione degli algoritmi nel Transport Layer
avviene durante la fase di scambio delle chiavi e la creazione del canale sicuro tra il
client e il server. La negoziazione permette di definire gli algoritmi crittografici e di
autenticazione da utilizzare per garantire la sicurezza delle comunicazioni.
Durante la negoziazione, il client invia una lista di algoritmi supportati al server,
specificando gli algoritmi preferiti in ordine di priorità. Questi algoritmi includono
l'algoritmo di scambio delle chiavi, l'algoritmo di crittografia simmetrica, l'algoritmo
di integrità dei dati e l'algoritmo di autenticazione. Il server, a sua volta, seleziona gli
algoritmi preferiti tra quelli proposti dal client e risponde con la sua lista di
preferenze.
La negoziazione procede con un'iterazione tra client e server fino a quando non si
raggiunge un accordo sugli algoritmi da utilizzare. Se non viene trovato un comune
denominatore tra le preferenze di entrambi, la connessione viene terminata.
Una volta stabiliti gli algoritmi da utilizzare, il client e il server iniziano a utilizzare
questi algoritmi per la cifratura, l'autenticazione e l'integrità dei dati scambiati
durante la sessione SSH. L'utilizzo di algoritmi crittografici robusti e di alta qualità è
fondamentale per garantire la sicurezza delle comunicazioni e prevenire attacchi di
tipo man-in-the-middle o violazioni della riservatezza dei dati.

31. Quando è necessario usare il Tunnel Mode? V

Il Tunnel Mode viene utilizzato quando si ha la necessità di creare un tunnel


crittografato per il trasporto sicuro del traffico di rete attraverso una rete non fidata
o non sicura. Questa modalità è comune in situazioni in cui si desidera stabilire una
connessione sicura tra reti separate o proteggere il traffico che attraversa una rete
pubblica, come Internet. Questo impedisce a potenziali minacce o attacchi di
intercettare o manipolare il traffico di rete sensibile. I dati vengono crittografati alla
sorgente, inviati attraverso il tunnel sicuro e quindi decrittografati alla destinazione
finale.
L'utilizzo del Tunnel Mode offre la privacy, l'integrità e la sicurezza dei dati durante il
trasporto attraverso una rete non sicura. Protegge le informazioni sensibili da
attacchi di sniffing o intercettazione e permette la comunicazione sicura tra reti
separate.
In conclusione, il Tunnel Mode è indispensabile quando si desidera garantire la
sicurezza e la protezione dei dati in transito attraverso una rete non attendibile,
fornendo un canale crittografato che preserva la riservatezza e l'integrità delle
informazioni trasmesse.
32. Qual è la differenza tra Transport Mode e Tunnel Mode? Fornire
esempi dei due incapsulamenti. V

La differenza principale tra Transport Mode e Tunnel Mode riguarda il livello di


incapsulamento dei pacchetti e l'ambito in cui vengono utilizzati.

- Il Transport Mode viene utilizzato per proteggere il traffico tra due host finali
all'interno di una rete.
In questa modalità, solo il carico utile dei pacchetti IP viene crittografato e
incapsulato, mentre l'intestazione IP originale rimane intatta. Questo significa
che solo i dati contenuti nel pacchetto originale vengono protetti, mantenendo
le informazioni di routing visibili.
Il Transport Mode è spesso utilizzato per proteggere il traffico tra un client e un
server, ad esempio durante una connessione SSH tra due computer.

- il Tunnel Mode viene utilizzato per creare un tunnel crittografato tra due reti o
tra un host finale e una rete.
In questa modalità, l'intero pacchetto IP, inclusa l'intestazione IP originale, viene
incapsulato e crittografato, diventando il payload di un nuovo pacchetto IP.
Questo nuovo pacchetto IP viene quindi inviato attraverso una rete non sicura o
non fidata. Il Tunnel Mode è comunemente utilizzato nelle reti VPN per
proteggere il traffico tra reti remote o per inviare il traffico attraverso una rete
pubblica in modo sicuro.

In sintesi, il Transport Mode protegge il traffico tra host finali all'interno di una rete,
mentre il Tunnel Mode crea un tunnel crittografato per il trasporto sicuro del
traffico tra reti o tra un host finale e una rete.
33. Su quali campi di IP viene effettuata l'autenticazione di AH? V

L'autenticazione di AH (Authentication Header) nel protocollo IPsec avviene


sull'intestazione IP dei pacchetti.
AH aggiunge un header aggiuntivo all'intestazione IP originale per garantire
l'autenticità e l'integrità dei pacchetti IP.
L'autenticazione di AH copre i seguenti campi dell'intestazione IP, ne citiamo alcuni:

1. Source IP address: L'indirizzo IP di origine del pacchetto viene incluso nei


calcoli di autenticazione per garantire che il mittente sia autentico.

2. Destination IP address: Anche l'indirizzo IP di destinazione viene incluso


nell'autenticazione per garantire che il pacchetto sia destinato al destinatario
corretto.

3. Identification Protocol: Il campo del protocollo nell'intestazione IP indica il


protocollo di trasporto utilizzato nel pacchetto.Questo campo viene incluso
nell'autenticazione per proteggere l'integrità del protocollo specificato.

4. 4.Header Length: La lunghezza dell'intestazione IP viene anche inclusa


nell'autenticazione per rilevare eventuali modifiche dell'intestazione stessa.

L'autenticazione di AH utilizza un valore di autenticazione (authentication value)


calcolato sulla base di questi campi e altre informazioni. Il destinatario del pacchetto
può quindi calcolare un valore di autenticazione simile e confrontarlo con quello
ricevuto per verificare l'integrità del pacchetto e l'autenticità del mittente.
34. Quali sono i campi immutabili dell'header di IPv4? V

Nell'header di IPv4 (Internet Protocol version 4), ci sono alcuni campi che sono
immutabili e non possono essere modificati durante il transito del pacchetto. Questi
campi immutabili sono i seguenti:

1. Version: Questo campo indica la versione del protocollo IP utilizzata, ed è fissato a


4 per IPv4.

2. Header Length: Indica la lunghezza dell'header IP in parole da 32 bit. È un valore


fisso che indica l'inizio del payload dei dati.

3. Total Lenght: Indica la lunghezza complessiva.

4. Identification Protocol: Questo campo viene utilizzato per identificare


univocamente un pacchetto IP, ed è utilizzato principalmente per la frammentazione
e il riassemblaggio dei pacchetti.

5. Source IP Address Destination IP Address: Questi campi indicano gli indirizzi IP di


origine e destinazione del pacchetto IP.

I campi sopra menzionati sono parte integrante dell'header di IPv4 e non possono
essere modificati durante il transito del pacchetto.
35. Quali sono le differenze nella struttura dei pacchetti tra AH ed ESP, sia
in Tunnel che in Transport Mode? Usare delle rappresentazioni grafiche. V

Ecco le differenze nella struttura dei pacchetti tra AH (Authentication Header) ed ESP
(Encapsulating Security Payload) sia in Tunnel Mode che in Transport Mode.

AH in Tunnel Mode:
+--------------------+ +-------------+ +-------------------+ +------------------+
| New IP Header | AH Header | Inner IP Header| Payload Data |
+--------------------+ +-------------+ +-------------------+ +------------------+

ESP in Tunnel Mode:


+-------------+ +------------ -+ +-------------------+ +----------------+ +------------++------------+
| IP Header | ESP Header| Inner IP Header| Payload Data | ESP Trailer| ESP Auth|
+-------------+ +------------ -+ +-------------------+ +----------------+ +------------++------------+

AH in Transport Mode:
+------------------------++------------------------++------------------------+
| IP Header | AH Header | Payload Data |
+------------------------++------------------------++------------------------+

ESP in Transport Mode:


+-------------++---------------++-----------------++-------------++-------------+
| IP Header | ESP Header | Payload Data | ESP Trailer | ESP Auth|
+-------------++---------------++-----------------++-------------++-------------+

Le principali differenze tra AH ed ESP sono le seguenti:

1. AH (Authentication Header): Fornisce l'autenticazione dei pacchetti IP e


l'integrità dei dati tramite l'uso di checksum e firme digitali.
2. ESP (Encapsulating Security Payload): Fornisce la confidenzialità, l'integrità e
l'autenticazione dei pacchetti IP. L'ESP Header contiene informazioni come il
tipo di trasformazione criptografica utilizzata e l'ESP Trailer contiene l'hash dei
dati crittografati.

Entrambi AH ed ESP possono essere utilizzati in Tunnel Mode o Transport Mode. In


Tunnel Mode, i pacchetti IP vengono incapsulati all'interno di un secondo pacchetto
IP. In Transport Mode, i pacchetti IP vengono protetti senza essere incapsulati in un
nuovo pacchetto IP.
36. Descrivere, anche con l'ausilio di una rappresentazione grafica, il
Tunnel Mode di ESP. V

Il Tunnel Mode di ESP (Encapsulating Security Payload) viene utilizzato per


proteggere i pacchetti IP mediante l'incapsulamento dei pacchetti originali all'interno
di un nuovo pacchetto IP. Questo processo avviene per consentire una connessione
sicura tra due reti remote.
Nel Tunnel Mode di ESP, il pacchetto IP originale viene incapsulato all'interno di un
nuovo pacchetto IP. Il pacchetto originale diventa il payload del nuovo pacchetto IP.
L'ESP Header viene inserito subito dopo l'IP Header originale e contiene informazioni
relative alla sicurezza, come l'algoritmo di cifratura e di autenticazione utilizzato.
Successivamente, un nuovo IP Header viene aggiunto prima dell'ESP Header. Questo
nuovo IP Header specifica gli indirizzi IP di origine e destinazione della rete esterna,
che è solitamente una rete pubblica o non sicura. Questo IP Header esterno
consente al pacchetto di viaggiare attraverso la rete pubblica in modo sicuro.
Infine, il Payload Data originale viene inserito nel pacchetto come parte dei dati
protetti da ESP.
In sintesi, il Tunnel Mode di ESP crea un tunnel sicuro tra due reti remote,
consentendo di trasmettere pacchetti IP protetti attraverso una rete non sicura.
37. Che differenza c'è tra una SA IKE e una SA IPSec? V

Una SA IKE e una SA IPSec sono due componenti chiave utilizzate per garantire la
sicurezza delle comunicazioni in un tunnel VPN basato su IPSec. Tuttavia, differiscono
nella loro funzione e nel momento in cui vengono stabiliti.

1. SA IKE:
L'SA IKE è un meccanismo per la creazione /negoziazione automatica di un SA
tra nodi IPSec. L'SA IKE viene utilizzata per stabilire una connessione sicura e
autenticata tra i peer, consentendo loro di negoziare e scambiare le
informazioni necessarie per stabilire una successiva SA IPSec. L'SA IKE
definisce i parametri crittografici, come algoritmi di crittografia e di
autenticazione, utilizzati nella comunicazione IPSec.

2. SA IPSec:
L'SA IPSec è un'associazione di sicurezza stabilita successivamente alla
negoziazione IKE, dopo che l'SA IKE è stata stabilita. L'SA IPSec viene utilizzata
per proteggere il traffico dati effettivo scambiato tra i peer IPSec. L'SA IPSec
definisce i parametri di sicurezza specifici per il traffico, come l'algoritmo di
crittografia, l'algoritmo di autenticazione, le chiavi crittografiche, i parametri di
protezione del protocollo. L'SA IPSec viene utilizzata per crittografare,
autenticare e proteggere l'integrità dei pacchetti IP.

In sintesi, l'SA IKE è stabilita durante la negoziazione IKE per stabilire una
connessione sicura tra i peer IPSec e definire i parametri di sicurezza. Una volta
stabilita l'SA IKE, viene creata l'SA IPSec per proteggere il traffico dati effettivo tra i
peer IPSec utilizzando i parametri specifici concordati nell'SA IKE. Quindi, l'SA IKE
precede l'SA IPSec ed è responsabile della negoziazione dei parametri di sicurezza,
mentre l'SA IPSec protegge il traffico dati reale scambiato tra i peer IPSec.
38. Descrivere le fasi di cui si compone IKE. V

IKE (Internet Key Exchange) è un protocollo crittografico utilizzato per negoziare e


stabilire associazioni di sicurezza (SA) all'interno di una VPN basata su IPSec. IKE
opera in diverse fasi per consentire una corretta autenticazione e negoziazione dei
parametri di sicurezza. Le fasi di IKE sono le seguenti:

1. Fase 1: Negoziare l'associazione di sicurezza IKE:


o Scambio di versione e capability: I peer IKE scambiano informazioni sulla
versione del protocollo IKE e le loro capacità di crittografia. Vengono
stabilite le IKE_SA e le chiavi per proteggere i messaggi IKE che si
scambieranno nella fase 2.

o Autenticazione dei peer: I peer si autenticano l'un l'altro utilizzando metodi


come pre-shared keys, certificati digitali o altri meccanismi di
autenticazione.

o Scambio delle chiavi Diffie-Hellman: I peer si scambiano informazioni per


generare una chiave crittografica condivisa utilizzando l'algoritmo Diffie-
Hellman.

o Negoziazione dei parametri di sicurezza: I peer negoziano gli algoritmi


crittografici, le modalità di crittografia e gli algoritmi di autenticazione da
utilizzare per la comunicazione IPSec.

2. Fase 2: Negoziare l'associazione di sicurezza IPSec (Child SA):


o Creazione di una connessione di sicurezza: I peer stabiliscono una
connessione sicura utilizzando i parametri negoziati nella fase 1.

o Scambio dei parametri IPSec: I peer scambiano i parametri di sicurezza


specifici per la connessione IPSec, come gli algoritmi di crittografia, gli
algoritmi di autenticazione e le chiavi crittografiche.

o Stabilimento dell'associazione di sicurezza IPSec (Child SA): I peer


stabiliscono l'SA IPSec che sarà utilizzata per proteggere il traffico dati
effettivo.

Le fasi di IKE garantiscono una corretta autenticazione e negoziazione dei parametri


di sicurezza tra i peer. La fase 1 stabilisce un'associazione di sicurezza IKE, mentre la
fase 2 stabilisce un'associazione di sicurezza IPSec per proteggere il traffico effettivo.
39. Cos'è il rekeying di una SA? V

Il rekeying di una SA è un processo mediante il quale si rinnova la chiave


crittografica utilizzata per proteggere la comunicazione all'interno di una
connessione sicura, come una VPN (Virtual Private Network) basata su protocollo
IPSec.
La necessità di effettuare il rekeying deriva dal fatto che l'utilizzo prolungato di una
stessa chiave crittografica può renderla vulnerabile ad attacchi crittografici.
Durante il rekeying, le entità coinvolte nella comunicazione (solitamente i due peer
IPSec) negoziano e stabiliscono una nuova chiave crittografica per l'associazione di
sicurezza in uso.
Il processo di rekeying può essere eseguito periodicamente o in risposta a eventi
specifici, come il raggiungimento di una durata massima per una chiave o la
rilevazione di un potenziale compromesso della chiave corrente.
Inoltre, il traffico può continuare ad essere trasmesso utilizzando la chiave corrente
fino a quando la nuova chiave non è stata stabilita con successo. Questo assicura
una transizione senza interruzioni nella protezione della comunicazione.
Il rekeying delle SA è un'importante pratica di sicurezza per mantenere l'integrità e
la riservatezza delle comunicazioni crittografate. Assicura che le chiavi crittografiche
vengano regolarmente rinnovate per mitigare i rischi legati alla loro esposizione
prolungata.
40. Quali problematiche può generare l'uso di IPSec?V

L'uso di IPSec può presentare diverse problematiche se non viene configurato e


gestito correttamente. Questi problemi includono la complessità di configurazione,
l'impatto sulle prestazioni di rete, l'incompatibilità tra dispositivi, la gestione delle
chiavi e i problemi di connessione.
La complessità di configurazione di IPSec richiede una corretta impostazione delle
policy di sicurezza e delle Security Association (SA). Errori o configurazioni
incomplete possono causare malfunzionamenti o una protezione inadeguata.
Le operazioni crittografiche richieste da IPSec possono influire sulle prestazioni di
rete, introducendo overhead crittografico che può aumentare la latenza e ridurre la
velocità di trasmissione dei dati.
Poiché IPSec è uno standard, possono verificarsi problemi di interoperabilità tra
dispositivi di rete che utilizzano implementazioni diverse o non supportano
completamente tutte le funzionalità di IPSec. Questo può causare problemi di
connettività o di configurazione.
IPSec può causare problemi di connessione in determinati scenari, come quando si
utilizzano protocolli di Network Address Translation (NAT) o quando si attraversano
firewall non configurati correttamente per consentire il traffico IPSec.
Infatti, l’impiego di funzionalità di NAT è incompatibile con l’utilizzo del protocollo
AH in quanto sostituendo l’indirizzo IP il datagramma non verrebbe più autenticato;
mentre l’impiego di firewall di tipo packet filtering tradizionali è incompatibile con
l’utilizzo del protocollo ESP.
La risoluzione dei problemi di rete con IPSec può essere più complessa a causa delle
diverse configurazioni possibili e delle interazioni con altri componenti di rete.
41. Descrivere il pacchetto di Authenticate-Request di PAP. v

Il pacchetto di Authenticate-Request di PAP viene utilizzato per avviare il processo di


autenticazione tra un client e un server. Esso contiene le informazioni necessarie per
la verifica della password dell'utente.
Il pacchetto di Authenticate-Request di PAP viene inviato dal client al server per
richiedere l'autenticazione. Esso contiene il nome utente e la password dell'utente
che desidera autenticarsi. Il server riceve il pacchetto, verifica il nome utente e
confronta la password fornita con quella memorizzata nel suo database. Se la
password corrisponde, il server invierà un pacchetto di Authenticate-Ack al client per
confermare l'autenticazione. In caso contrario, verrà inviato un pacchetto di
Authenticate-Nak per indicare l'autenticazione fallita.
PAP è un protocollo di autenticazione debole, poiché le credenziali (nome utente e
password) vengono inviate in chiaro senza crittografia. Pertanto, è preferibile
utilizzare protocolli di autenticazione più sicuri come CHAP o EAP (Extensible
Authentication Protocol) che offrono metodi di autenticazione più robusti.

42. Quanti e quali sono i campi del pacchetto PAP? V

Il pacchetto PAP consiste in quattro campi principali:

1. Code: Questo campo è di 1 byte e indica il tipo di pacchetto PAP. Per un


pacchetto di autenticazione, il valore del campo Code è 1; 2 per l’authenticate-
ACK e 3 per l’authenticate-NACK.

2. Identifier: Questo campo è di 1 byte e contiene un valore univoco che


identifica il pacchetto di autenticazione. Il client e il server utilizzano questo
identificatore per correlare le richieste di autenticazione e le risposte.

3. Length: Questo campo è di 2 byte e indica la lunghezza totale del pacchetto


PAP, compreso l'header. Specifica il numero di byte del pacchetto, compresi i
campi successivi.

4. Data: Questo campo contiene i dati di autenticazione specifici del pacchetto


PAP. La struttura e il numero di campi del campo Data dipendono dal campo
Code.

I campi del pacchetto PAP vengono utilizzati per trasmettere le informazioni di


autenticazione tra il client e il server, consentendo la verifica delle credenziali
dell'utente.
43. Quanti e quali sono i campi del pacchetto CHAP?V

Il pacchetto CHAP consiste in quattro campi principali:

1. Code: Questo campo è di 1 byte e indica il tipo di pacchetto CHAP. I valori


comuni per il campo Code sono 1 per la richiesta di autenticazione (Challenge)
e 2 per la risposta di autenticazione (Response).

2. Identifier: Questo campo è di 1 byte e contiene un valore univoco che


identifica il pacchetto di autenticazione. Il client e il server utilizzano questo
identificatore per correlare le richieste di autenticazione e le risposte.

3. Length: Questo campo è di 2 byte e indica la lunghezza totale del pacchetto


CHAP, compreso l'header. Specifica il numero di byte del pacchetto, compresi i
campi successivi.

4. Data: Questo campo contiene i dati di autenticazione specifici del pacchetto


CHAP. La struttura e il numero di campi del campo Data possono variare a
seconda del tipo di autenticazione utilizzata.

I campi del pacchetto CHAP vengono utilizzati per consentire la sfida e la risposta tra
il client e il server durante il processo di autenticazione, garantendo la sicurezza delle
credenziali dell'utente.
44. Come funziona CHAP?V

Il Challenge-Handshake Authentication Protocol (CHAP) è un protocollo di


autenticazione utilizzato per verificare l'identità di un client remoto rispetto a un
server. Funziona nel seguente modo:

1. Inizializzazione: Il server invia una richiesta di autenticazione al client


specificando un valore casuale chiamato "challenge".

2. Risposta del client: Il client riceve la sfida dal server e utilizza un algoritmo di
hash crittografico per combinare la sfida con la sua password segreta. Il
risultato è chiamato "response" e viene inviato al server.

3. Verifica della risposta: Il server riceve la risposta dal client e calcola la risposta
attesa utilizzando il valore casuale (challenge) ricevuto in precedenza e la
password associata all'account del client. Se la risposta del client corrisponde
alla risposta attesa, l'autenticazione viene considerata valida.

4. Handshake: Se la verifica della risposta è positiva, il server invia una conferma


di autenticazione al client. Il client può quindi accedere alle risorse o ai servizi
offerti dal server.

È importante notare che CHAP funziona su una base di sfida-risposta, il che significa
che la password in chiaro non viene mai trasmessa sulla rete. Questo lo rende più
sicuro rispetto ad altri protocolli di autenticazione che trasmettono le credenziali
dell'utente in modo non crittografato.
45. Quali sono le caratteristiche di RADIUS? V

RADIUS (Remote Authentication Dial-In User Service) è un protocollo di rete


ampiamente utilizzato per l'autenticazione, l'autorizzazione e l'accounting (AAA). Le
sue principali caratteristiche includono:

1. Centralizzazione: RADIUS offre un'architettura centralizzata in cui un server


funge da punto di controllo centrale per l'autenticazione e l'autorizzazione
degli utenti che richiedono l'accesso alla rete. Ciò consente di gestire in modo
efficiente le credenziali degli utenti e le politiche di accesso da un'unica
posizione. Inoltre, un server RADIUS può agire come proxy client per un altro
server.

2. Scalabilità: Il protocollo RADIUS è altamente scalabile e può supportare un


gran numero di client e utenti. Questa caratteristica lo rende adatto
all'implementazione in grandi reti, Internet service provider (ISP) o reti Wi-Fi
pubbliche.

3. Supporto per la sicurezza: Tutte le comunicazioni tra un client RADIUS e un


server sono autenticate grazie ad una shared secret key che non è mai inviata
in rete. RADIUS supporta varie tecniche di sicurezza per proteggere la
trasmissione dei dati, come l'uso di tunneling con protocolli di sicurezza come
IPsec o TLS (Transport Layer Security). Ciò garantisce la confidenzialità e
l'integrità delle informazioni durante il trasferimento.

4. Autenticazione flessibile: RADIUS supporta diversi protocolli di autenticazione,


come Password Authentication Protocol (PAP), Challenge-Handshake
Authentication Protocol (CHAP) e Extensible Authentication Protocol (EAP),
offrendo flessibilità nella scelta delle metodologie di autenticazione.

5. Protocollo estensibile: si possono aggiungere nuovi attributi senza turbare


precedenti implementazioni del protocollo.
46. Cos'è Diameter? V

Diameter è un protocollo di rete di tipo AAA utilizzato per l'autenticazione,


l'autorizzazione e la contabilizzazione delle sessioni di rete, leggero e peer-based.
Le caratteristiche principali di Diameter includono:

1. Scalabilità: progettato per gestire reti di grandi dimensioni con un gran


numero di utenti e dispositivi, il protocollo supporta architetture distribuite,
consentendo la distribuzione di server Diameter in diverse posizioni
geografiche per soddisfare le esigenze di scalabilità.

2. Affidabilità: basato su TCP/IP che fornisce un controllo di connessione


affidabile tra i client e i server. Ciò assicura che i messaggi di autenticazione e
autorizzazione vengano trasmessi in modo sicuro e senza perdite di
informazioni.

3. Sicurezza: offre meccanismi di sicurezza integrati per proteggere la


trasmissione dei dati. Utilizza TLS per crittografare le comunicazioni tra i client
e i server, garantendo la confidenzialità e l'integrità delle informazioni
scambiate.

4. Supporto per l'interoperabilità: è un protocollo standardizzato e fornisce un


framework flessibile per l'implementazione di funzionalità di autenticazione e
autorizzazione. Ciò facilita l'interoperabilità tra dispositivi e fornitori di servizi
che utilizzano questo protocollo.

5. Funzionalità avanzate: A differenza di RADIUS, Diameter supporta funzionalità


avanzate come il trasporto di attributi di lunghezza variabile, il supporto per
servizi multimediali (ad esempio, VoIP), la gestione delle sessioni e la gestione
delle politiche di servizio.

Diameter viene ampiamente utilizzato in reti di telecomunicazioni e in ambienti di


rete eterogenei per l'autenticazione e l'autorizzazione degli utenti. Il protocollo offre
maggiore flessibilità e scalabilità rispetto a RADIUS, consentendo alle reti di gestire
un numero crescente di utenti e di supportare nuovi servizi e tecnologie.
47. Cos'è un Kerberos realm? V

Un Kerberos realm, o semplicemente realm, è un concetto utilizzato nel protocollo di


autenticazione Kerberos per identificare un dominio di sicurezza. È un'unità
organizzativa che rappresenta un'area amministrativa autonoma all'interno di un
sistema Kerberos. Un realm è costituito da un insieme di server Kerberos che
condividono una politica di sicurezza comune e un database di utenti.
All'interno di un realm, esiste un server centrale noto come Key Distribution Center
(KDC), che gestisce l'autenticazione e la distribuzione delle chiavi di crittografia. Il
KDC è responsabile della generazione dei ticket di autenticazione che vengono
utilizzati per verificare l'identità degli utenti e dei servizi all'interno del realm.
I realm possono essere organizzati gerarchicamente, consentendo la creazione di
relazioni di fiducia tra i realm. Ciò significa che un realm può riconoscere e accettare
l'autenticazione di un utente o di un servizio proveniente da un altro realm fidato,
consentendo l'accesso a risorse condivise in modo sicuro.
L'utilizzo di realm nel protocollo Kerberos permette di creare un ambiente di
autenticazione sicuro e distribuito, in cui gli utenti possono autenticarsi una sola
volta e accedere a servizi condivisi in diversi sistemi o domini.

48. Cos'è Kerberos? V

Kerberos è un protocollo di autenticazione di rete progettato per garantire la


sicurezza delle comunicazioni tra utenti e servizi su reti aperte come Internet.
Il protocollo Kerberos fornisce un sistema di autenticazione forte basato su
crittografia a chiave simmetrica. Consente agli utenti di autenticarsi una sola volta
per ottenere l'accesso a più servizi senza dover fornire le credenziali di accesso per
ciascun servizio separato. Invece, viene utilizzato un meccanismo di ticket che viene
emesso da un server di autenticazione centrale noto come Key Distribution Center.
Il processo di autenticazione Kerberos coinvolge tre entità principali: il client, il
server di autenticazione (KDC) e il server di servizio. Il client richiede un ticket di
autenticazione dal KDC e lo utilizza per autenticarsi presso il server di servizio
richiesto. Il KDC emette i ticket di autenticazione utilizzando una chiave segreta
condivisa tra il client e il KDC.
Il protocollo Kerberos fornisce anche meccanismi di protezione per prevenire
attacchi di ripetizione e man-in-the-middle. Ogni ticket di autenticazione ha una
durata limitata e può essere utilizzato solo una volta. Inoltre, tutte le comunicazioni
tra le entità Kerberos sono crittografate per garantire la riservatezza e l'integrità dei
dati.
Kerberos è ampiamente utilizzato in ambienti di rete aziendali come sistema di
autenticazione centralizzato. È supportato da molti sistemi operativi e applicazioni
ed è diventato uno standard di facto per l'autenticazione di rete sicura.
49. Definire le tipologie di firewall e i livelli dello stack di rete a cui
operano. v

I firewall sono dispositivi o software che monitorano e controllano il traffico di rete


per garantire la sicurezza del sistema. Operano a diversi livelli dello stack di rete,
offrendo diverse funzionalità di sicurezza. Ci sono tre tipologie principali di firewall:

1. Firewall di rete (livello di rete): Operano al livello di rete (livello 3) e prendono


decisioni di filtraggio in base agli indirizzi IP. Possono bloccare o consentire il traffico
in base a regole di routing, indirizzi IP, porte o protocolli specifici. (Packet Filtering).

2. Firewall di livello di trasporto (livello di trasporto): Operano al livello di trasporto


(livello 4) e lavorano con le porte di origine e destinazione. Possono controllare e
filtrare il traffico in base alle connessioni TCP o UDP. Possono monitorare lo stato
delle connessioni e applicare regole di sicurezza specifiche. (Stateful Filtering).

3. Firewall di livello di applicazione (livello di applicazione): Operano al livello di


applicazione (livello 7) e forniscono un controllo più granulare del traffico in base alle
applicazioni specifiche. Possono analizzare il contenuto dei pacchetti di rete e
applicare politiche di sicurezza basate su protocolli, messaggi o contenuti specifici.
(Application Gateway).

I firewall moderni spesso combinano funzionalità di più livelli per offrire una
protezione completa e personalizzabile. La scelta del tipo di firewall dipende dalle
esigenze specifiche dell'ambiente di rete e dai requisiti di sicurezza. È importante
considerare la configurazione corretta e la gestione adeguata dei firewall per
garantire una protezione efficace della rete.
50. Cos'è un firewall? V

Un firewall è un dispositivo hardware o un software che funge da punto di controllo


tra una rete privata e una rete esterna, come Internet. Il suo scopo principale è
quello di monitorare e controllare il traffico di rete in entrata e in uscita, al fine di
proteggere la rete interna da accessi non autorizzati, intrusioni e attacchi informatici.
Il firewall utilizza regole di sicurezza predefinite o personalizzate per determinare
quali pacchetti di rete possono passare attraverso di esso e quali devono essere
bloccati.
Un firewall è un componente essenziale per garantire la sicurezza delle reti,
proteggendo le risorse interne e prevenendo gli accessi non autorizzati. È importante
configurare e gestire correttamente un firewall per adattarlo alle esigenze specifiche
di sicurezza della rete.
Le regole possono essere basate su diversi fattori, come gli indirizzi IP, le porte di
comunicazione, i protocolli di rete o i tipi di applicazioni.

Le funzionalità di un firewall includono:

1. Filtraggio del traffico: Il firewall può bloccare o consentire il traffico in base alle
regole di sicurezza definite. Può impedire l'accesso a risorse di rete non autorizzate o
a servizi indesiderati.

2. Network Address Translation (NAT): Il firewall può tradurre gli indirizzi IP interni
della rete in un indirizzo IP esterno, consentendo la connessione a Internet senza
esporre gli indirizzi interni.

3. Stateful inspection: Il firewall può monitorare lo stato delle connessioni di rete per
identificare e bloccare attività anomale o sospette.

4. VPN (Virtual Private Network): Il firewall può fornire supporto per la creazione di
tunnel crittografati per connessioni remote sicure.
51. Parlare di tutti i campi possibili di filtraggio di un packet filtering a vari
livelli dello stack ISO/OSI.V

Un packet filtering firewall opera a vari livelli dello stack ISO/OSI per controllare e
filtrare il traffico di rete. Di seguito sono elencati i campi comuni che possono essere
utilizzati per il filtraggio dei pacchetti ai diversi livelli:

Livello 2 (Data Link Layer):


- Indirizzo MAC sorgente: L'indirizzo fisico del mittente del pacchetto.
- Indirizzo MAC destinazione: L'indirizzo fisico del destinatario del pacchetto.

Livello 3 (Network Layer):


- Indirizzo IP sorgente: L'indirizzo IP del mittente del pacchetto.
- Indirizzo IP destinazione: L'indirizzo IP del destinatario del pacchetto.
- Tipi di Protocollo: Il protocollo di rete utilizzato nel pacchetto come TCP, UDP, ICMP.
- TTL (Time-to-Live): Un campo che specifica la durata massima del pacchetto nella
rete.

Livello 4 (Transport Layer):


- Porta TCP/UDP sorgente: Il numero di porta del mittente del pacchetto.
- Porta TCP/UDP destinazione: Il numero di porta del destinatario del pacchetto.

Livello 7 (Application Layer):


- Numero di sequenza: Un numero che identifica l'ordine dei segmenti all'interno di
una sessione.
- Tipo di servizio: Un campo che specifica il tipo di servizio richiesto per il pacchetto.

Tuttavia, i campi di filtraggio possono variare a seconda dell'implementazione


specifica del firewall e delle sue funzionalità. Alcuni firewall possono anche
supportare campi personalizzati o metadati aggiuntivi per il filtraggio dei pacchetti,
come l'URL, i certificati SSL o i parametri specifici dell'applicazione.

È importante notare che i campi di filtraggio possono essere combinati e utilizzati in


modo flessibile per creare regole di sicurezza specifiche, consentendo o bloccando il
traffico in base a criteri definiti.
52. Quali sono le differenze tra packet filter stateful e stateless?V

Le principali differenze tra un packet filter stateful e uno stateless riguardano la


capacità di tenere traccia dello stato delle connessioni di rete. Ecco una panoramica
delle differenze chiave:
- Packet Filter Stateless:
o Valuta ogni pacchetto in base a regole di filtraggio indipendenti. Ogni
pacchetto viene analizzato singolarmente senza considerare lo stato
delle connessioni precedenti.
o Non possono prendere decisioni più complesse in base allo stadio della
comunicazione tra host.
o Non tiene traccia delle connessioni precedenti o dei pacchetti correlati.
Pertanto, non ha memoria di informazioni come le connessioni aperte, i
pacchetti precedenti o i numeri di sequenza.
o Il filtraggio avviene principalmente utilizzando indirizzi IP sorgente e
destinazione e numeri di porta. Può consentire o bloccare pacchetti in
base a combinazioni specifiche di indirizzi e porte.

- Packet Filter Stateful:


o Mantiene una tabella di stato che tiene traccia delle connessioni di rete
attive. Memorizza informazioni come gli indirizzi IP, le porte, i numeri di
sequenza e gli ID di sessione per i pacchetti in transito.
o Può prendere decisioni di filtraggio basate sulle connessioni precedenti.
Ad esempio, può consentire solo i pacchetti che appartengono a una
connessione aperta o che rispettano uno stato di connessione specifico.
o Qualunque connessione di rete esiste può essere descritta da molte
proprietà, inclusi i source e destination IP address, porte UDP o TCP e lo
stadio corrente del tempo di vita della connessione.

In sintesi, un packet filter stateful offre una maggiore capacità di controllo e


protezione rispetto a un packet filter stateless grazie alla sua consapevolezza dello
stato delle connessioni. Questo gli consente di prendere decisioni di filtraggio basate
sul contesto delle connessioni attive, migliorando la sicurezza complessiva del
sistema.
53. Perché gli utenti che accedono ai servizi di proxy di un ALG non
possono accedere all'ALG stesso?V

Gli utenti che accedono ai servizi di proxy di un Application Layer Gateway (ALG) non
possono accedere direttamente all'ALG stesso per diverse ragioni:

- Ruolo di intermediario: Un ALG funge da intermediario tra gli utenti e i servizi


che richiedono il supporto dell'ALG. L'ALG esegue funzioni specifiche di
manipolazione dei protocolli di applicazione impendendo il transito di molti
protocolli “insicuiri” per consentire la comunicazione tra l'utente e il servizio di
destinazione, risultando più affidabile di un Packet Filtering. Gli utenti non
devono essere consapevoli dell'esistenza dell'ALG, ma solo beneficiare delle
sue funzionalità tramite i servizi proxy.

- Protezione e sicurezza: L'accesso diretto all'ALG potrebbe rappresentare un


rischio per la sicurezza. L'ALG può essere configurato per filtrare o bloccare il
traffico indesiderato o potenzialmente dannoso. Limitare l'accesso diretto
all'ALG assicura che il traffico venga gestito e controllato correttamente
attraverso i servizi di proxy, riducendo le vulnerabilità.

- Complessità e comprensione dei protocolli di applicazione: L'ALG comprende i


protocolli di applicazione specifici che manipola, consentendo funzionalità
aggiuntive come il NAT (Network Address Translation), il controllo degli accessi
o la gestione delle sessioni. Gli utenti che accedono ai servizi di proxy dell'ALG
non devono essere esposti alla complessità e alla comprensione dei dettagli
del protocollo. L'ALG si occupa di gestire internamente questi aspetti,
consentendo agli utenti di accedere ai servizi in modo trasparente.

In conclusione, l'accesso diretto all'ALG è limitato per garantire la sicurezza,


semplificare l'interazione con i servizi di proxy e mantenere l'ALG come un
componente trasparente dell'infrastruttura di rete. Gli utenti possono accedere ai
servizi di proxy offerti dall'ALG senza la necessità di interagire direttamente con l'ALG
stesso.
54. Cos'è una DMZ? V
In ambito informatico e di sicurezza delle reti, una DMZ (Demilitarized Zone) è una
rete intermedia che agisce come una zona separata e controllata tra una rete interna
sicura (solitamente la rete aziendale) e una rete esterna non fidata (solitamente
Internet). La DMZ svolge il ruolo di una zona cuscinetto, fornendo una barriera di
protezione tra la rete interna e il mondo esterno. La principale caratteristica di una
DMZ è quella di ospitare i servizi che devono essere accessibili dall'esterno, come
server web, server di posta elettronica o server FTP. Questi server vengono
posizionati all'interno della DMZ e sono accessibili dagli utenti esterni, ma sono
isolati dalla rete interna. In questo modo, se un server all'interno della DMZ viene
compromesso, l'accesso alla rete interna risulta ancora protetto. La DMZ viene
configurata con un set di regole di sicurezza che controllano il traffico in entrata e in
uscita tra la rete interna, la DMZ stessa e la rete esterna. Queste regole di sicurezza
possono includere il filtraggio dei pacchetti, la traduzione degli indirizzi di rete (NAT)
e l'utilizzo di firewall per garantire la protezione dei server nella DMZ e prevenire
attacchi provenienti dall'esterno.

55. Che differenza c'è tra NAT statico e dinamico?V


Esistono due tipi principali di NAT: statico e dinamico. Le differenze tra i due sono le
seguenti:
- NAT statico: Nel NAT statico, l'associazione tra indirizzo IP privato (interno) e
indirizzo IP pubblico (esterno) è fissa e permanente, rendendo l'indirizzo IP
pubblico dedicato al dispositivo specifico. Questo significa che ogni volta che
un pacchetto proveniente dall'indirizzo IP privato specificato viene inviato
verso l'esterno, viene utilizzato lo stesso indirizzo IP pubblico per la
traduzione. Ad esempio, è utilizzato quando è necessario rendere un server
all'interno della rete locale accessibile dall'esterno.

- NAT dinamico: Nel NAT dinamico, gli indirizzi IP pubblici vengono assegnati
dinamicamente da un pool di indirizzi IP pubblici. Quando un dispositivo
all'interno della rete locale invia un pacchetto verso l'esterno, viene
selezionato un indirizzo IP pubblico disponibile dal pool per la traduzione. Esso
consente di condividere un singolo indirizzo IP pubblico tra più dispositivi
all'interno della rete locale, poiché gli indirizzi IP pubblici vengono assegnati in
modo dinamico e temporaneo. Questo tipo di NAT è utile in scenari in cui il
numero di indirizzi IP pubblici disponibili è limitato e deve essere utilizzato in
modo efficiente.

In sintesi, il NAT statico prevede una corrispondenza tra indirizzo IP intero e indirizzo
IP esterno permanente; mentre il NAT dinamico consente una corrispondenza
variabile.
56. Quali sono i vantaggi e gli svantaggi del NAPT? V

Il NAPT (Network Address and Port Translation), noto anche come NAT con overload,
è una tecnica di Network Address Translation che consente di tradurre gli indirizzi IP
privati di una rete locale in un singolo indirizzo IP pubblico utilizzando la traduzione
degli indirizzi IP e delle porte.
- Vantaggi del NAPT:

o Indirizzamento indirizzi IP pubblici: Il NAPT consente di condividere un


singolo indirizzo IP pubblico tra numerosi dispositivi all'interno di una
rete locale, ottimizzando l'uso degli indirizzi IP pubblici disponibili. Ciò
consente si semplificare le tabelle di routing e la configurazione della
rete interna.

o Aumento della sicurezza: Il NAPT agisce come una forma di firewall


implicito, limitando l’accesso verso una rete interna e nascondendo gli
indirizzi IP privati degli host interni dietro un unico indirizzo IP pubblico.
Questo fornisce una certa protezione dai tentativi di accesso non
autorizzato dall'esterno.

o Facilità di gestione (Load balancing): Il NAPT semplifica la gestione delle


connessioni di rete in quanto richiede meno configurazione rispetto ad
altre forme di NAT, bilanciando il cartico tra più server che erogano un
servizio.

- Svantaggi del NAPT:

o Limitazioni per alcune applicazioni: Alcune applicazioni o protocolli


specifici potrebbero non funzionare correttamente attraverso il NAPT a
causa della traduzione degli indirizzi IP e delle porte causando problemi
di connettività o di funzionamento delle applicazioni.

o Complessità del troubleshooting: La traduzione degli indirizzi IP e delle


porte può complicare la diagnosi dei problemi di rete. La mappatura
delle porte potrebbe causare conflitti o comportamenti imprevisti,
rendendo più difficile identificare e risolvere i problemi di connettività.

o Performance: L'overload del NAPT può avere un impatto sulle


prestazioni di rete. L'introduzione di traduzioni degli indirizzi IP e delle
porte può causare un aumento della latenza e della complessità di
elaborazione, soprattutto in caso di utilizzo intenso della rete.
57. Cos'è il VoIP? E l'Internet telephony? V

Il VoIP (Voice over Internet Protocol) è una tecnologia che consente di effettuare
chiamate vocali tramite Internet o reti basate su protocollo IP. Invece di utilizzare
linee telefoniche tradizionali, il VoIP trasforma l'audio analogico della voce in dati
digitali che vengono inviati attraverso la rete IP. Questi dati possono essere trasmessi
sia su reti private che su Internet pubblico.
Il VoIP offre diversi vantaggi rispetto alle telefonate tradizionali, inclusa la possibilità
di effettuare chiamate a basso costo o addirittura gratuite, la flessibilità
nell'integrazione di servizi di comunicazione e la possibilità di sfruttare funzionalità
avanzate come la conferenza telefonica, la messaggistica istantanea e la condivisione
di file.
L'Internet telephony (telefonia su Internet) è un termine più ampio che include il
VoIP ma si riferisce anche ad altre tecnologie e protocolli utilizzati per le
comunicazioni vocali su Internet. Questi possono includere protocolli SIP, che
consentono la comunicazione in tempo reale tra dispositivi tramite Internet.
L'Internet telephony può comprendere anche applicazioni o servizi specifici che
offrono funzionalità di telefonia via Internet.
In sostanza, il VoIP è una sottocategoria dell'Internet telephony, in quanto
rappresenta la tecnologia specifica per trasformare e trasmettere le chiamate vocali
tramite protocollo IP.
58. Quali sono le differenze tra il piano dati e il piano di controllo nel
VoIP? V

Nel contesto del VoIP il piano dati e il piano di controllo sono due componenti
distinti che lavorano insieme per consentire le comunicazioni vocali su una rete IP. Le
principali differenze tra il piano dati e il piano di controllo sono le seguenti:

- Piano dei dati (data plane): Il piano dei dati si riferisce al trasferimento
effettivo dei pacchetti di dati vocali attraverso la rete IP. Questi pacchetti
contengono l'audio digitalizzato delle chiamate vocali e vengono inviati
attraverso la rete Internet o una rete privata basata su IP. Il piano dati si
occupa della consegna dei pacchetti di dati vocali dal mittente al destinatario,
garantendo che siano recapitati in modo efficiente e senza errori. Questo
piano si basa su protocolli come IP (Internet Protocol), UDP (User Datagram
Protocol) e RTP (Real-time Transport Protocol) per la trasmissione dei
pacchetti vocali.

- Piano di controllo (control plane): Il piano di controllo si occupa della gestione


e dell'organizzazione delle chiamate vocali, compresa l'inizializzazione, la
segnalazione e la gestione delle connessioni tra i dispositivi di comunicazione.
Questo piano si basa su protocolli di segnalazione come SIP per avviare,
modificare e terminare le chiamate vocali. Il piano di controllo gestisce anche
funzionalità come l'autenticazione degli utenti, la gestione della qualità del
servizio (QoS) e il supporto per funzionalità avanzate come il trasferimento di
chiamata o la conferenza telefonica.

In sintesi, il piano dati si concentra sulla trasmissione dei pacchetti vocali attraverso
la rete IP, mentre il piano di controllo si occupa della gestione delle chiamate vocali,
incluso l'avvio, la segnalazione e la gestione delle connessioni. Entrambi i piani sono
fondamentali per il funzionamento del VoIP e lavorano in sinergia per consentire
comunicazioni vocali efficaci e di qualità su una rete IP.
59. Descrivere alcuni scenari di DoS in SIP. V

Il SIP è un protocollo di segnalazione utilizzato per avviare, modificare e terminare


le sessioni di comunicazione VoIP. Come qualsiasi protocollo di rete, il SIP può
essere soggetto ad attacchi di tipo Denial of Service che mirano a interrompere o
degradare il servizio di comunicazione. Ecco alcuni scenari comuni di attacchi DoS in
SIP:

- Il primo scenario che analizziamo è quello di impedire a un client SIP di


portare a termine una chiamata: l’attaccante, sfruttando la natura stateful del
SIP, intercetta il SIP INVITE effettuato dal client chiamante e cancella la
richiesta pendete. Ciò interromperà la chiamata. Essendo un attacco
complesso, l’attaccante deve conoscere i campi esatti da inserire nel
messaggio.

- Il secondo scenario è: un client SIP cerca di effettuare una chiamata inviando


un SIP INVITE e instaura una chiamata con un altro client SIP. L’attaccante
chiude una chiamata inviando due BYE ai due client SIP, concludendo la
chiamata. La complessità nell’attacco sta nel conoscere i campi esatti sia del
client chiamante che di quello ricevente.

Questi sono solo alcuni esempi di scenari di attacchi DoS in SIP. Gli attacchi DoS
possono variare in complessità e impatto, ma il loro obiettivo principale è quello di
interrompere o degradare il servizio VoIP, rendendo difficile o impossibile per gli
utenti legittimi effettuare o ricevere chiamate.
60. Quali sono le vulnerabilità specifiche della segnalazione VoIP?V

La segnalazione VoIP, gestita tramite il protocollo SIP presenta alcune vulnerabilità


specifiche che possono essere sfruttate da potenziali attaccanti:

1. Scanning e sni ng di pacche (Informat on Thef ): I pacche di segnalazione


VoIP possono essere intercet at da at accant o disposit vi malevoli che eseguono lo
sni ng di rete. Ciò può consent re loro di raccogliere informazioni sensibili.
f
t
t
2. Denial of Service (DoS): Gli attaccanti possono indirizzare attacchi DoS verso i
f
server VoIP o gli endpoint, sovraccaricandoli con un'elevata quantità di traffico o
sfruttando vulnerabilità nel software o nelle configurazioni. Ciò può causare
interruzioni o degradazione del servizio VoIP.

3. Hijaking: Gli at accant possono intercet are le chiamate VoIP e ascoltarle senza
l'autorizzazione degli utent legi mi.

È importante adot are misure di sicurezza appropriate per proteggere le


t
infrastrut ure VoIP, come l'ut lizzo di fr ewall, autent cazione forte, crit ograf a dei
dat , aggiornament regolari del sof ware e monitoraggio del tra co di rete per
rilevare e prevenire a vità sospet e.
f
t

Potrebbero piacerti anche