Esame settembre 2022

Domanda 1
...

Descrivere, con l'ausilio di uno schema grafico, l'attacco XSS (cross site scripting)

Risposta 1
...

Un attacco XSS coinvolge tre entità:

  • una vittima
  • un malintenzionato
  • un sito web vulnerabile a XSS
    Il malintenzionato deve trovare un modo per eseguire codice malevolo sul browser della vittima, mentre la vittima sta visitando il sito target. Per raggiungere tale scopo un malintenzionato sfrutta i comportamenti riflessivi di un certo sito web (che non sanifica opportunamente l'input fornito dall'utente).
    L'attaccante allora genera del codice malevolo e lo inietta, per esempio, nella URL del sito scelto come target, in modo che quando la vittima visita il sito, attraverso il link (fornito dall'attaccante) venga eseguito sul browser della vittima il codice dell'attaccante.
    XSS è un attacco di tipo injection.
    Pasted image 20231204180639.png
    L'attacco potrebbe essere anche di tipo permanente, l'attaccante invece che iniettare il codice in una URL, potrebbe iniettare il codice in un commento di un forum, per esempio, o in modo più generale, potrebbe far si che il sito target, salvi in modo persistente il suo codice malevolo e lo mostri a chiunque visiti una certa pagina eseguendo il codice malevolo.

Domanda 2
...

Un MAC (message authentication code):
A) associa un messaggio ad una chiave pubblica
B) associa un messaggio ad una chiave pubblica e ad una chiave privata
C) permette di verificare integrità e origine di un messaggio
D) permette di verificare integrità e origine di una chiave simmetrica associata ad un messaggio
E) permette di verificare integrità e origine di una chiave asimmetrica associata ad un messaggio

Domanda 3
...

Una firma elettronica:
A) associa un messaggio ad una coppia di chiavi asimmetriche
B) associa un messaggio ad una coppia di chiavi simmetriche
C) permette di verificare integrità e origine di un messaggio, ma non ne impedisce il disconoscimento
D) permette di verificare integrità e origine di un messaggio, e ne impedisce il disconoscimento
E) permette di verificare l’integrità di un messaggio, ma non la sua origine

Domanda 4
...

Descrivere alcune possibili contromisure agli attacchi di “buffer overflow”

Risposta 4
...

Alcune contromisure per gli attacchi di buffer overflow sono:

  • la randomizzazione dell'indirizzo di dello stack (ASLR, Address Space Layout Randomization): rende difficile all'attaccante capire in quale punto della memoria lo stack si trova;
  • stack non esegubile: impedisce l'esecuzione di codice caricato direttamente nello stack;
  • canarino: implica l'uso di una variabile, chiamata canary, con un certo valore, che viene replicata ogni certo numero di byte all'interno dello stack. Il valore di tale variabile viene salvato in un posto sicuro (per esempio nel segmento BSS), se dovesse verificarsi un attacco di buffer overflow il valore del canarino viene alterato, e quando si confronta il valore del canarino salvato al sicuro con quello sovrascritto il programma è in grado di verificare se si è verificata corruzione dello stack.

Domanda 5
...

Descrivere il protocollo ESP di IPSEC, illustrando anche graficamente il formato del suo Header

Risposta
...

Il protocollo ESP di IPsec è una modalità utilizzata per implementare una rete virtuale.
ESP consente di cifrare un datagramma e ne consente l'autenticazione. Inoltre ESP fornisce anche protezione contro gli attacchi di duplicazione.
ESP può essere implementato in modalità tunnel e in modalità trasporto.
Quando giunge un pacchetto IP vanilla, viene aggiunto un trailer ESP che contiene i campi: padding, padding length e next header. Il tutto viene cifrato.
Viene poi aggiunto l'header ESP che contiene i campi SPI e numero di sequenza.
Se richiesto header ESP, pacchetto IP e trailer ESP vengono autenticati (e viene posto alla fine un MAC).
Viene poi creato un nuovo header IP che trasporta il pacchetto ESP.
Il pacchetto transita come un normale pacchetto IP.
In modalità trasporto invece viene cifrato il payload del datagramma IP vanilla e il trailer ESP.
Tra l'header IP e il segmento viene posto l'header ESP. Se richiesto header ESP, payload datagramma IP e trailer vengono autentica (un MAC viene posto alla fine).