Policy
Componenti di una politica di sicurezza:
U1. Solo gli utenti hanno accesso al proprio account
U2. Nessun altro utente può leggere o modificare un file
senza il permesso del proprietario
U3. Gli utenti devono proteggere l’integrità, la
confidenzialità e la disponibilità dei loro files
U4. Gli utenti devono essere consapevoli di tutti i
comandi che digitano o che sono digitati per loro
conto
U1. Solo gli utenti hanno
accesso al proprio
account
Accesso
U1 richiede che gli utenti proteggano l’accesso al
proprio account.
Consideriamo i modi in cui un utente può accedere
all’account:
1. Password
2. Login
3. Sistema “abbandonato”
1. Password
Una password può essere scelta:
 in modo non casuale
 in modo casuale
dovrebbe esserci un
programma che controlla
se sono troppo facili da
indovinare
richiedono di essere scritte
PERICOLO => qualcuno può leggere la nostra password
Il grado di pericolo dipende dall’ambiente in cui si trova il sistema e dal
modo in cui viene scritta la password
Sistema isolato
 Stanza chiusa a chiave
 Accesso consentito solo a utenti autorizzati
 Non connesso alla rete
Scrivere la password non comporta alcun pericolo
Sistema non-isolato
 Rete con più computer
 2 amministratori (Anne, Paul) con accesso a tutti i
computer
 Scelta di password casuali
PROBLEMA: difficili da ricordare
SOLUZIONE: utilizzare un algoritmo di trasformazione
Anne: cambia il caso della terza lettera e aggiunge un carattere alla fine
Paul: aggiunge 4 al primo numero e aggiunge un lettera all’inizio
Password originale
Versione di Anne
Versione di Paul
C04cEJxX
C04ceJxX5
RC48cEJxX
4VX9q3GA
4VX9Q3GA2
a8VX9q3GA
8798QqDt$
b12798Qqdt
3WXYwgnw
3WXywgnwS
Z7WXYwgnw
feOioC4f
feoioC4f9
YfeOioC8f
VRd0Hj9E
VRD0Hj9Eq
pVRd4Hj9E
e7BUkcbaX
Xe11Bukcba
8798Qqdt
e7Bukcba
ywyj5cVw
ywYj5cVw*
rywyj9cVw
5iUikLB4
5iUIkLB4m
j9iUikLB4
af4hC2kg
af4HC2kg+
daf8hC2kg
2. Procedura di login
C’è un prompt dove l’utente deve fornire username e
password
ATTACCHI
1) Mancanza di autenticazione reciproca
2) Lettura della password digitata
3) Host non affidabili
2.1 Mancanza di autenticazione reciproca
Un attaccante può installare un programma che emula
il prompt di login in modo da catturare la password
Versione semplice: salva username e password su un
file e termina riproponendo il login
Versione sofisticata: salva username e password su un
file e li manda al processo di login
2.2 Leggere la password digitata
“Shoulder surfing”: l’attaccante carpisce la password al
momento della digitazione
Molti sistemi forniscono informazioni utili sull’ultimo
login (data, ora, luogo). L’utente può verificare che
nessun’altro ha avuto accesso al suo account.
2.3 Trusted hosts non affidabili
TRUSTED HOSTS: se 2 o più hosts sono sotto lo stesso
controllo amministrativo, uno può appoggiarsi all’altro
per autenticare un utente
Permette di automatizzare certi meccanismi senza dover
ridigitare passwords
Richiede un’identificazione accurata dell’host che si sta
connettendo
3. Abbandonare il sistema(1)
 Persone non autorizzate ad usare il sistema possono
accedere nella stanza in cui esso si trova
 Una volta autenticato, un utente deve controllare
l’accesso alla sua postazione fino alla fine
Cosa succede se l’utente va in bagno?
 È necessario usare alcune procedure per bloccare lo
schermo
3. Abbandonare il sistema(2)
Xlock: programma che blocca l’accesso al monitor fino
a quando non viene digitata la password
Solo l’amministratore del sistema può terminare il
programma senza la password, accedendo da
terminale remoto
PROBLEMA: alcuni programmi hanno una master
password (UNIX => “Hasta la vista!”)
Files
 Gli utenti devono proteggere confidenzialità ed
integrità dei file per soddisfare U2
Esempio: Peter vuole permettere solo a Debora di
leggere un determinato file
U2. Nessun altro utente può
leggere o modificare un file
senza il permesso del
proprietario
Nei sistemi UNIX ci sono 3 modi:
 Se sono gli unici membri del gruppo, Peter può
rendere il gruppo proprietario del file e consentire solo
a questo la lettura.
 Se Debora è l’unico membro del gruppo e il sistema
permette ad un utente esterno (proprietario del file) di
dare il file ad un altro gruppo (quello di Debora), Peter
può settare i privilegi come sopra.
 Oppure Peter può settare i permessi di lettura ed
esecuzione della cartella che contiene il file in modo
da consentire l’accesso a se stesso e al gruppo di
Debora.
Permessi di creazione
Molti sistemi permettono all’utente di specificare un
modello di permessi da dare a un file quando questo
viene creato
Il proprietario del file può modificare questi permessi
Accesso di gruppo
 Fornisce un insieme selezionato di utenti con gli stessi diritti d’accesso
 Il problema è che l’appartenenza al gruppo non è sotto il controllo del
proprietario del file
VANTAGGIO: se il gruppo viene utilizzato come ruolo.
Se gli utenti assumono un determinato ruolo, hanno specifici permessi
sul file. Poiché il proprietario del file si preoccupa solo di controllare
l’accesso per gli utenti con quel ruolo, la riconfigurazione dell’accesso al
ruolo riconfigura l’accesso degli utenti al file
SVANTAGGIO: se il gruppo è usato come una scorciatoia per
individuare un insieme di utenti
Se l’appartenenza al gruppo cambia, utenti non autorizzati possono
ottenere accesso al file o utenti autorizzati si vedranno il permesso
negato
Esempi
 GRUPPO COME RUOLO
Viene creato un gruppo al quale appartengono tutte le persone che
lavorano ad un determinato progetto.
Se i membri del gruppo cambiano, la sua funzione rimane la stessa.
Non sono richiesti cambiamenti ai permessi dei file.
 GRUPPO COME INSIEME DI UTENTI
Maria ha creato il gruppo maj per condividere il file movies con Anne e
John.
Successivamente gli viene richiesto di creare un gruppo contenente
Maria, Anne, John e Frank.
Invece di creare un nuovo gruppo, Maria aggiunge Frank al gruppo maj,
concedendogli automaticamente dei permessi su movies anche se non
aveva intenzione di darglieli.
Dispositivi
Gli utenti comunicano con il sistema attraverso
dispositivi virtuali (porte di rete) o fisici (terminali).
U1 e U4 richiedono che questi dispositivi siano
protetti.
U1. Solo gli utenti hanno
accesso al proprio
account
U4. Gli utenti devono essere
consapevoli di tutti i comandi
che digitano o che sono digitati
per loro conto
Writable devices
Dispositivi che consentono agli utenti di inserire testo.
Tali dispositivi possono portare a seri problemi di
sicurezza. Se non è necessario per il corretto
funzionamento del sistema, si dovrebbe ridurre la
possibilità di scrittura per quanto è possibile.
Es. Se un utente può scrivere sul terminale di un altro
utente, un attaccante può cancellare la finestra del
terminale scrivendo un’appropriata sequenza di
comandi su di esso.
Smart terminals
 Forniscono meccanismi interni per eseguire funzioni
speciali.
 La funzione più importante è il block send.
In questo modo, un processo può dare ordini a un
terminale senza che nessun carattere appaia sullo
schermo. Questo può essere usato per impiantare un
Trojan horse.
Esempio – Smart terminals(1)
Robert vuole ingannare Craig facendogli eseguire il
comando
chmod 666 .profile
(concede permessi di lettura e scrittura sul file d’avvio
al proprietario, al gruppo e agli altri utenti)
Robert manda un messaggio a Craig
Messaggio Trojan horse
Dear Craig,
Please be careful. Someone may ask you to
execute
chmod 666 .profile
You shouldn’t do it!
Your friend,
Robert
<BLOCK SEND (-2,18), (-2,18)>
<BLOCK SEND (-3,0),(3,18)><CLEAR>
Esempio – Smart terminals(2)
Quando Craig legge il messaggio, il comando
!chmod 666 .profile
viene inviato all’interprete.
Il suo file d’avvio diventa scrivibile a tutti ed inoltre
l’interprete dopo aver eseguito il comando lo cancella,
senza lasciare traccia.
Differenze tra writable device e smart terminal
 Nei dispositivi writable sia l’attaccante che l’utente
devono digitare i comandi. Entrambi devono avere
diritto di scrittura sul terminale
 Negli smart terminals solo l’utente ha il permesso di
scrittura, l’attaccante ha bisogno di digitare il
comando sul suo terminale. Basta che l’utente legge
una cosa sbagliata e parte l’attacco
Monitors e Window Systems (1)
I Window System forniscono un’interfaccia grafica al sistema.
Window manager: controlla cosa è visualizzato sullo schermo
 I client registrati possono ricevere input e mandare output attraverso il window
manager.
 Il window manager mostra l’output sullo schermo quando è necessario ed è
responsabile di indirizzare l’input al client corretto.
ATTACCO: Se un attaccante registra un client con il window manager, può
intercettare l’input.
Es. in alcune versioni di X Window è possibile per un attaccante sovrapporre un
finestra invisibile sullo schermo. L’attaccante può registrare tutti i movimenti
del mouse e i tasti digitati, passwords comprese.
Monitors e Window Systems (2)
I window system possono usare vari meccanismi per
controllare l’accesso al window manager.
Es. X Window
 Controlla l’accesso sulla base del nome dell’host o del
possesso di un token. Se l’accesso al window manager è
consentito, il client può controllare il display.
 Ci sono 2 modi di controllo
 METODO XHOST
 METODO XHAUT
Monitors e Window Systems (3)
 METODO XHOST
Determina il nome dell’host dal quale il client cerca di connettersi. Il window
manager verifica se tale nome è presente nella lista degli host dai quali i
processi sono autorizzati a connettersi. In caso affermativo l’accesso è garantito,
altrimenti è negato.
 METODO XHAUT
Richiede che un processo sia in grado di fornire un numero casuale fissato
(magic cookie). Quando il window manager si avvia, crea un magic cookie che
viene memorizzato nel file .Xauthority nell’home directory dell’utente.
Ogni client che vuole connettersi al window manager deve fornire il magic
cookie.
Se il processo è locale ed è stato avviato dall’utente, può ottenere il magic
cookie direttamente dal file .Xauthority.
Se il processo è stato avviato da un host remoto, l’utente deve assicurare che
quel processo abbia il magic cookie prima di connettersi al window manager
Processi
I processi manipolano oggetti, incluso file.
U3 richiede che l’utente sia consapevole di come i
processi manipolano i files.
U3. Gli utenti devono
proteggere l’integrità, la
confidenzialità e la
disponibilità dei loro files
Copiare un file
Copiare un file duplica il suo contenuto. La semantica del comando di
copia determina se vengono copiati anche i permessi del file.
Se non sono copiati, l’utente deve prendere degli accorgimenti per
preservare integrità e confidenzialità del file.
Es. UNIX
Anne vuole copiare il file xyz
cp xyz plugh
 se plugh non esiste, il comando lo crea e copia il contenuto di prova in
esso. I permessi sono gli stessi di xyz.
 se plugh esiste, il comando copia il contenuto di xyz al suo interno. I
permessi di plugh non vengono modificati. Questo è un problema di
sicurezza.
Sovrascrittura accidentale di un file
Parte di U3 è proteggere gli utenti da loro stessi.
A volte possono sbagliare a digitare un comando,
determinando conseguenze spiacevoli.
Es. Mark vuole cancellare tutti i file dalla sua directory il cui nome
termina in “.o”.
rm * .o
Si sbaglia e mette uno spazio tra * e “.o”.
Ha cancellato tutti i file della directory.
Molti programmi chiedono conferma prima della
cancellazione o della sovrascrittura.
È buona norma non disabilitarlo.
Impostazioni di start-up
 Molti programmi, come l’editor di testi, usano informazioni d’avvio. Queste
variabili o file contengono comandi che vengono eseguiti quando parte il
programma ma prima che l’utente possa digitare input. Le impostazioni dei file
d’avvio e l’ordine in cui vengono eseguite influiscono sull’esecuzione del
programma.
Es. UNIX
La shell di login si inizializza accedendo ad alcune informazioni d’avvio.
 Il contenuto del file /etc/profile
 Il contenuto del file .profile nella home directory dell’utente
 Il contenuto del file fissato nelle variabili d’ambiente ENV
Se uno di questi file non c’è il passo viene saltato.
Se uno di questi file viene modificato dall’attaccante possono essere eseguiti
comandi indesiderati all’avvio.
Conclusioni
Sono stati affrontati solo alcuni aspetti che consentono
agli utenti di proteggere dati e programmi con cui
lavorano.
In ogni caso è possibile minimizzare i rischi solo
attraverso un’attenta security policy.
Scarica

User Security