Torna alla pagina di Sicurezza & Privatezza
:: Appello d'esame di Sicurezza e Privatezza - 05/02/2008 ::
Rispondere brevemente ma in modo completo alle seguenti domande.
SOLUZIONE
1.
All'inizio un utente può leggere qualsiasi cosa. Se legge da BankA significa che escludiamo BankB, perché fa parte della stessa classe di conflitto di interessi, mentre rimangono accessibili OilA e OilB. Successivamente se legge da OilB significa che dobbiamo escludere OilA, ancora perché fa parte della stessa classe di conflitto di interessi.
L'utente S1 non può scrivere da nessun parte se non all'interno di BankA e OilB, perché i company dataset rimanenti(BankB e OilA) sono stati esclusi per conflitto di interessi.
2.
Setuid e Setgid sono privilegi addizionali. Setuid significa che l'UID del processo che esegue il file coincide con l'UID del file.
Setgid significa che il GID del processo che esegue il file coincide con il GID del file.
Entrambi si rappresentano tramite una s se l'utente(es: rws --- ---) o il gruppo(es: rwx rws ---) hanno privilegio di esecuzione sul file, tramite una S se l'utente(es: r-S --- ---) o il gruppo(es: rwx r-S ---) non hanno privilegio di esecuzione sul file.
3.
La matrice delle risorse condivise sfrutta il fatto che la base di ogni covert channel sono le risorse condivise. Si costruisce una matrice M dove le righe sono le risorse e le colonne sono i processi.
Esempio:
E' un pattern sospetto perché la risorsa 2 è condivisa dal processo 2 e dal processo 4(modificata da uno e letta dall'altro). Il processo 2 legge il contenuto della risorsa 4 e la trasmette alla risorsa 2, il processo 4 quindi può leggere indirettamente l'informazione della risorsa 4, cosa che direttamente non potrebbe fare.
Bisogna completare la matrice con il flusso potenziale di informazione e cercare eventuali flussi indesiderati, in questo caso:
4.
char buf[16]="Overflow!%n"; printf(buf);
Il valore 9 verrà scritto all’interno della memoria puntata dal puntatore della printf, perché non c’è nessun secondo argomento nella printf.
5.
Una transizione di stato è un passaggio da uno stato iniziale Q=(S,O,A) a uno stato finale diverso Q', tramite un comando primitivo c(x1,...,xk), dove le x sono sostituite dai parametri attuali con i quali la chiamata è effettuata.
Il problema della Safety afferma che:
dato uno stato iniziale Q0 esiste una sequenza di richieste che portano da Q0 a Q1 e l'azione a è in A[s,o] nello stato Q1 ma non in Q0?
Non possiamo rispondere a questa domanda in tempo polinomiale, è un problema non decidibile. Diventa decidibile solo per comandi mono-operazionali e quando i soggetti e gli oggetti sono finiti.
6.
Un virus crittografico è un virus polimorfo che sfrutta tecniche crittografiche per cambiare forma.
Le tre parti di cui è composto sono:
Si consideri lo chema di rete del comune di Smallville protetta da due Firewall (FW1 e FW2) in cascata avente ognuno due interfacce di rete.
La rete InternalNet prende indirizzi tra 13.10.22.0/24. Nella rete interna risiedono le postazione di lavoro degli utenti Users e un Web Server all'indirizzo 13.10.22.7 che fornisce servizi HTTP e HTTPS. La sottorete DMZ posta tra i due firewall prende indirizzi tra 13.10.121.111. Il Syslog Server fornisce meccanismi per la gestione centralizzata dei log, mentre il Domain Name Server fornisce servizi di naming. All'interno della rete esterna Internet, è presente una admin (111.111.12.24).
Si specifichino le politiche di sicurezza necessarie e sufficienti di FW1 e FW2 per autorizzare le seguenti connessioni:
SOLUZIONE
FW1
Direzione |
IP Sorgente |
IP Destinazione |
Protocollo |
Porta Sorgente |
Porta Destinazione |
Flag ACK |
Azione |
OUT |
13.10.22.0/24 |
ANY |
TCP |
>=1024 |
80 |
ANY |
PERMIT |
IN |
ANY |
13.10.22.0/24 |
TCP |
80 |
>=1024 |
1 |
PERMIT |
IN |
ANY |
13.10.22.7 |
TCP |
>=1024 |
443 |
ANY |
PERMIT |
OUT |
13.10.22.7 |
ANY |
TCP |
443 |
>=1024 |
1 |
PERMIT |
OUT |
13.10.121.111 |
ANY |
TCP |
>=1024 |
53 |
ANY |
PERMIT |
IN |
ANY |
13.10.121.111 |
TCP |
53 |
>=1024 |
1 |
PERMIT |
IN/OUT |
ANY |
ANY |
ANY |
ANY |
ANY |
ANY |
DENY |
FW2
Direzione |
IP Sorgente |
IP Destinazione |
Protocollo |
Porta Sorgente |
Porta Destinazione |
Flag ACK |
Azione |
OUT |
13.10.22.0/24 |
ANY |
TCP |
>=1024 |
80 |
ANY |
PERMIT |
IN |
ANY |
13.10.22.0/24 |
TCP |
80 |
>=1024 |
1 |
PERMIT |
IN |
ANY |
13.10.22.7 |
TCP |
>=1024 |
443 |
ANY |
PERMIT |
OUT |
13.10.22.7 |
ANY |
TCP |
443 |
>=1024 |
1 |
PERMIT |
IN |
13.10.22.0/24 |
13.10.121.111 |
UDP |
>=1024 |
53 |
ANY |
PERMIT |
OUT |
13.10.121.111 |
13.10.22.0/24 |
UDP |
53 |
>=1024 |
1 |
PERMIT |
IN/OUT |
ANY |
ANY |
ANY |
ANY |
ANY |
ANY |
DENY |
Si consideri la seguente gerarchia utenti gruppi ed il seguente insieme di autorizzazioni: (G1,+,read,file1); (G2,-,read,file1); (G3,-,read,file1); (G4,+,read,file1).
Si richiede di compilare la tabella allegata indicando il segno/segni (-,+) della autorizzazione che si applicano a ciascun utente, considerando come politiche di risoluzione dei conflitti quelle specificate nella tabella stessa.
POLITICHE |
Alice |
Barbara |
Carol |
Dave |
Nothing take precedence |
+/- |
+/- |
- |
+/- |
Denial take precedence |
- |
- |
- |
- |
Permission Take precedence |
+ |
+ |
- |
+ |
Most specific take precedence |
- |
+/- |
- |
+ |
Most specific along a path take precedence |
- |
+/- |
- |
+/- |