Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Accesso non autorizzato ai file di backup
Network sniffing
Token Based Authentication
Basata su oggetti che gli utenti possiedono.
Memory Card
Possono salvare ma non processare dati. Contengono dei dati segreti. Per esempio le carte bancarie contengono una banda magnetica in cui è salvato il codice di sicurezza.
Avere sia la memory card che la password aumenta di molto il grado di sicurezza.
Utilizzi: Camere di Hotel, ATM
Problemi: richiedono lettori specifici (che devono essere aggiornati e mantenuti sicuri) token loss => l'utente potrebbe perdere la carta insoddisfazione degli utenti (soprattutto nell'uso di memory card per l'accesso ai PC)
Smart Token
Includono un microprocessore interno.
2 tipi di interfacce: manuale con keypad e display elettronico con un lettore/scrittore compatibile
3 tipi di protocollo di autenticazione: statico: L'utente si autentica al token e il token autentica l'utente al PC. (l'ultima parte è simile a quella di una memory card)
Generatore di password dinamico: il token genera una password periodicamente (ogni minuto) che potrà essere utilizzata per accedere al computer.
Challenge response: Il computer genera una challenge e il token computa la relativa risposta.
Il più famoso smart token è la smart card. Solitamente è composta da CPU, coprocessore crypto e da 3 memorie:
- ROM -> Non modificabile (numero di carta, informazioni sull'utente)
- EEPROM Electrically Ereasable ROM -> Contiene i dati e i programmi che la carta deve eseguire
- RAM -> Remote User Authentication - Autenticazione che ha luogo in rete.
Possibilità di eavesdropping (cattura della password e successivo replay).
Solitamente è basata su un approccio challenge-response:
- L'utente manda all'host la richiesta di accesso come user U
- L'host genera un numero random e specifica 2 funzioni f e h (funzione di hash) -> challenge
- L'utente risponde con f(r',h(P')) dove r' è il numero random generato dall'host e P' è la password dell'utente
deve essere uguale a r e P' è la password dell'utente -> response4. l'host controlla che f(r',h(P')) ricevuto sia uguale a f(r,h(P(U))) dove h(P(U)) è l'hash della passwordrelativa all'utente salvata sull host
Quesro risolve un attacco di tipo replay perchè r' che l'utente invia deve ssere uguale a r che viene generato randomicamente. Un altro vantaggio è che l'hash della password non viagga in chiaro ma come uno degli argomenti di una funzione f.
Two-step Verification Process
2 step di verifica dell'indentità
Una possibile implementazione:
- qualcosa che l'utente sa
- qualcosa che è generato da un device posseduto dall'utente (dynamic PIN...)
Possibili Attacchi
- Client Attack: tentare di indovinare le password
- Host Attack: Attacco diretto all'host dove sono salvate le password
- Eavesdropping: Tentare di trovare una copia della password (keylogging). Non funziona bene con la multi factor
authenticationReplayTrojan horse: un applicazione si finge autentica ma cattura le password.
Denial Of Service: Rendere non disponibile un servizio d user authentication (fare dei tentativisbagliati per far scattare il timeout ad un utente)
Access ControlPrevenzione all'uso non autorizzato di una risorsa, compresa la prevenzione all'uso di una risorsa in modo nonautorizzato
Misure che implementano e assicurano la sicurezza dei servizi in un sistema informatico, in particolare quelli cheassicurano il servizio di controllo degli accessi
Un meccanismo di controllo degli accessi media tra un utente (o un processo in esecuzione per conto di unutente) e risorse di sistema, come applicazioni, sistemi operativi, firewall, router, file e database.
3 fasi:
- autenticazione: verifica delle credenziali
- autorizzazione: rilasciare il permesso per un risorsa ad una certa entità
- verifica: controllo indipendente dei record di sistema
Elementi di base
soggetto (subject):è
un'entità (assimilabile ad un processo) capace di accedere ad un oggetto. È generalmente ritenuto responsabile delle azioni che ha avviato.
Esistono 3 classi: owner, group, world
oggetto (object): risorsa per cui è definito un controllo degli accessi
diritti di accesso (access right): descrivono le modalità con cui un soggetto può accedere ad un oggetto: read, write, execute, delete, create, search
Access Control Policies definiscono:
- che tipo di accessi sono permessi
- sotto che circostanze
- da chi
Discretionary Access Control: Basato su identità e regole di accesso.
Mandatory Access Control: Basato su etichette di sicurezza e autorizzazioni
Role-based Access Control: Controlla gli accessi in base ai ruoli degli utenti
Discretionary Access Control (DAC): Schema in cui ad un'entità possono essere concessi diritti di accesso che consentono all'entità, di sua spontanea volontà, di abilitare un'altra entità per
accedere ad alcune risorse. Matrice degli accessi DAC è basato solitamente su una matrice degli accessi (access matrix) che mette in relazione i soggetti con gli oggetti. Ogni entry della tabella indica i diritti di accesso di un particolare soggetto per una particolare risorsa. E' solitamente una matrice sparsa. Può essere decomposta in 2 modi: Access control lists (per colonne): Per ogni oggetto si memorizzano gli utenti (o gruppi) e i loro diritti di accesso. E' un metodo conveniente se si vogliono sapere i diritti di accesso degli utenti per una certa risorsa. Capability tickets (per righe): Per ogni soggetto si memorizzano i file a cui ha accesso e con quali diritti. E' conveniente se si vogliono sapere i file a cui ha accesso un particolare utente. UNIX File Access Control L'accesso ai file UNIX è gestito tramite inodes (index nodes): struttura di controllo che contiene le informazioni necessarie al sistema operativo (attributi del file, permessi di accesso, proprietario, gruppo, ecc.).file, permessi...). Più nomi di file possono essere associati ad un singolo inode. Un inode attivo è associato ad un singolo file. Nel disco è presente una inode table o inode list che contiene gli inode di tutti i file nel filesystem. Quando un file viene aperto, il suo inode viene portato nella memoria principale e archiviato in una tabella di inode residente in memoria. Ogni utente UNIX è associato ad uno userID. Ogni utente fa anche parte di un gruppo primario ed eventualmente altri gruppi identificati da un groupID. Ad ogni file vengono associati 12 bit di protezione: 9 bit specificano permessi di read, write, execute per owner, group e tutti gli altri. 2 bit speciali per Set UserID e Set GroupID che permettono di eseguire il file con i permessi del proprietario/gruppo del file. 1 bit chiamato Sticky bit applicato ad una directory indica che solo il proprietario di ogni file della directory può rinominare, spostare o cancellare quel file (utile sucartelle condivise)qpplicato ad un eseguibile dice al sistema operativo di mantenre quel segmento in swap memory(non più utilizzato)
Un particolare UserID viene indicato come superuser. Non è legato all'access control e ha accesso atutto il sistema.
UNIX Access Control Lists
Esempio FreeBSD (POSIX):setfacl per assegnare una lista di UID o GID ad un filequalsiasi numero di utenti e gruppi può essere associato ad un filebit di protezione read,write,executeun file può non avere ACL (e usare bit tradizionali)si aggiunge 1 bit per sapere se un file ha l'ACL esteso
La classe group ora rappresenta il massimo permesso che può essere assegnato agli utenti o gruppiaggiuntivi
Mandatory Access Control (MAC)
Utilizza un meccansimo di etichette:TOP SECRET > SECRET > CONFIDENTIAL > UNCLASSIFIED
Spesso non applicabile perchè richiede di definire una classificazione troppo rigida
Prevede la suddivisione in compartimenti: ogni risorsa
classificata può essere associata a più progetti detticompartimenti. Ogni risorsa quindi ha un livello di sicurezza in base al compartimento. Anche gli utenti devono essere etichettati nello stesso modo: [rank; compartimento] Si dice che un soggetto abbia un security clearence di un determinato livello; Per un oggetto si parla invece di security classification per un soggetto ed un oggetto se e solo se in questo caso si dice che domina un soggetto può accedere ad un oggetto solo se lo domina
Role-Based Access Control (RBAC) Basato sui ruoli che assumono gli utenti del sistema. I permessi vengono associati ai ruoli. Gli utenti possono assumere vari ruoli anche dinamicamente. Si definiscono 2 matrici: la matrice utente-ruolo la matrice degli accessi ruolo-risorsa È più flessibile del DAC grazie anche alla relazione many-to-many tra utenti e ruoli.
Base Model - 4 entità: utente (user): individuo che ha accesso al computer. Ha uno userId ruolo (role): funzione
lavorativa: permesso (permission): approvazione di una particolare modalità di accesso
sessione (sessione): un mapping tra utente e un insieme di ruoli (sottoinsieme di tutti quelli a cui era stato assegnato)
Role Hierarchies - Permette di riflettere i ruoli aziendali nell'access control. Un ruolo può ereditare i diritti di accesso da ruoli differenti.
Constraints - Aggiungono la possibilità di definire relazioni tra i ruoli:
- mutually exclusive role: un utente può avere al massimo 1 di questi ruoli
- cardinality: serve a definire un numero massimo di utenti da assegnare ad un certo ruolo
- prerequisite: un utente può essere assegnato ad un ruolo solo se è già stato assegnato ad un specifico.
Firewall - Inserito tra la rete locale e Internet per stabilire un collegamento controllato.
- tutto il traffico (sia verso l'interno che verso l'esterno) deve passare per il firewall
- solo il traffico permesso viene lasciato passare. Bisogna
Definire una access policy utilizzando tecnichedi:
- Service control: definisce quali servizi sono accessibili dagli utenti e quali espone la nostra rete
- Direction control: controllo del traffico inbound e outbound
- User control: quali utenti possono utilizzare quale servizio
- Behavior control: ispezionare un certo comportamento di un servizio (e.g anti-spam per un mailserver)
3. Il firewall non deve teoricamente essere penetrabile (l'hardening del firewall è importante)
Capabilitiess:
- Single choke point
- Permette di monitorare la rete e gli eventi legati alla sicurezza del sistema
- Utile anche al di fuori della sicurezza (NAT, load balancing)
- Può essere utilizzato per le VPN
Limiti:
- Non protegge contro minacce interne
- Non protegge da attacchi che bypassano il firewall