Torna alla pagina di Sicurezza & Privatezza
:: Appello d'esame di Sicurezza e Privatezza - 05/02/2007 ::
Domande
Rispondere brevemente ma in modo completo alle seguenti domande.
- Descrivere in sintesi le caratteristiche principali di un Trojan Horse e mostrare, tramite un esempio, perché e le politiche discrezionarie sono vulnerabili a questa tipologia di attacco.
- Dire cosa si intende per canale coperto e fare un esempio.
- Descrivere le tre tipologie di asserzioni che possono essere definite in SAML.
- Descrivere l’attacco ping of death.
- Nell’ambito dei sistemi per la determinazione delle intrusioni, discutere il problema dei falsi positivi e falsi negativi.
- Si supponga di avere a disposizione un web server Apache. Si richiede di definire delle regole di controllo dell’accesso che permettano l’accesso al contenuto della directory /usr/pippo/www solo all’utente esame05 (esame05 è la login dell’utente) le cui richieste di accesso possono essere accettate solo se provengono dalla macchina con IP 134.123.786.9.
- Descrivere le tre principali minacce alla sicurezza di e-mail.
- Descrivere la modalità di tunnel del protocollo IPSec.
SOLUZIONE
1.
Un Trojan Horse è un programma di utilità che contiene del codice nascosto che esegue funzioni non legittime. Il problema è che le politiche discrezionarie controllano solo gli accessi diretti, non effettuano nessun controllo su cosa accade all'informazione una volta rilasciata. Quindi tutto ciò che l'applicazione esegue(quindi anche il codice nascosto) dipende dall'identità dell'utente che ha invocato l'applicazione e dai suoi permessi.
Da ricordare che un trojan horse non può operare sul sistema se non viene attivato dall'utente.
Esempio:
Nell'esempio le istruzioni readMarket e writeStolen sono legittime perché ci si basa sull'identità di chi ha lanciato l'applicazione, cioè Jane. Quindi John rispettando la politica discrezionaria riesce ad ottenere informazioni non legittime.
2.
Un canale coperto è un canale nascosto di comunicazione che viola le politiche di sicurezza in quanto permette ad un processo di trasferire informazioni. E' un canale nascosto perché normalmente non viene utilizzato per trasferire informazioni.
Esempio:
In un esame a crocette con quattro risposte possibili (ovviamente tutti devono averle nello stesso ordine), Cthulhu e Dagon possono creare un canale coperto:
se la riposta corretta è la 1, allora Cthulhu ruggisce una volta
se la riposta corretta è la 2, allora Cthulhu ruggisce due volte
e così via...
3.
4.
L'attacco ping of death è un tipo di Denial of Service e si basa sul protocollo ICMP, specialmente sul comando ping. Il comando ping viene usato per determinare se un sistema remoto è raggiungibile o meno dal proprio sistema locale. Il problema quindi non riguarda solo i computer, ma tutto ciò che si connette direttamente alla rete (es: stampanti, router).
Le specifiche del TCP/IP fissano la grandezza massima di un datagramma IP in 65536 bytes, di questi solo 20 sono riservati all'intestazione del pacchetto. Però all'interno del pacchetto risiede una richiesta ICMP costituita da 8 bytes di header seguita dal numero di byte riservati per i dati, la cui dimensione massima è 65507 bytes. Il problema del ping of death nasce dalla possibilità di generare una richiesta ICMP_ECHO in un pacchetto con più di 65507 byte di campo dati.
Da notare che macchine simili possono reagire in modo diverso, in quanto in alcuni casi il fenomeno si può verificare in condizioni di carico gravoso su macchine che in altre condizioni non avevano presentato il problema. In alcuni casi si può anche arrivare al crash e al reboot del sistema.
Quindi riassumendo l'attacco ping of death tramite una richiesta ICMP echo manda in crash il sistema perché la richiesta generata supera il limite di bytes concessi dalla specifica TCP/IP per il campo dati dei pacchetti.
5.
6.
Direttiva:
order allow, deny
allow from 134.123.786.9
require user esame05
satisfy all
Torna alla pagina di Sicurezza & Privatezza