Sicurezza - homes.di.unimi.ithomes.di.unimi.it/~belletc/corsi/sod2003/0015sicurezza.pdf · Network...
Transcript of Sicurezza - homes.di.unimi.ithomes.di.unimi.it/~belletc/corsi/sod2003/0015sicurezza.pdf · Network...
Sicurezza
2
Computer security e network security
Computer security: strumenti automatici per proteggere le informazioni di un calcolatore
Network security: misure per proteggere le informazioni durante la trasmissione
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Sicurezza: aspetti fondamentaliAttacchi alla sicurezza: azioni che violano la sicurezza delle informazioni possedute da un'organizzazioneMeccanismi di sicurezza: misure progettate per prevenire, rivelare o recuperare da un attacco alla sicurezzaServizi di sicurezza: servizi che rafforzano la sicurezza delle informazioni contrastando gli attacchi mediante uno o più meccanismi
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
The Security Problem
Security must consider external environment of the system, and protect it from:
unauthorized access.malicious modification or destructionaccidental introduction of inconsistency.
Easier to protect against accidental than malicious misuse.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Problemi base delle reti
le reti sono insicure perchè le comunicazioniavvengono in chiarol’autenticazione degli utenti si basa normalmentesu passwordnon c’è autenticazione dei serverle reti locali funzionano in broadcastle connessioni geografiche non avvengonotramite linee punto-punto ma
attraverso linee condivisetramite router di terzi
6
Attacchi alla sicurezza
7
Servizi di sicurezza (1)
Confidenzialità: protezione dei dati trasmessi da attacchi passiviAutenticazione: verifica dell'identità di un'entità in una comunicazioneIntegrità: verifica che un messaggio non è stato modificato, inserito, riordinato, replicato, distrutto
8
Servizi di sicurezza (2)
Non ripudio: impedisce al mittente e al destinatario di negare un messaggio trasmessoControllo degli accessi: capacità di controllare gli accessi a dati e risorseDisponibilità: impedisce le interferenze con le attività di un sistema
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Authentication
User identity most often established through passwords, can be considered a special case of either keys or capabilities.
Passwords must be kept secret.Frequent change of passwords.Use of “non-guessable” passwords.Log all invalid access attempts.
Passwords may also either be encrypted or allowed to be used only once.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
OTPElenco di password dentro ad un libroUtilizzo di una funzione non invertibile
L’utente conosce definisce una chiave…E inizializza il sistema con n e f n(chiave)
f1= f(chiave)f2= f(f(chiave))
All’atto della autenticazione, il sistema sfida l’utente a dirgli la chiave n-1 … cioe’ fn-1(chiave).L’utente puo’ calcolarla dalla chiave di partenza, il sistema applica f una volta alla chiave che gli viene sottoposta e confronta con la chiave che ha memorizzato (che era fn(chiave)). Se ha successo permette login, memorizza chiave appena sottoposta fn-1(chiave) e la prossima volta chiedera` fn-2.
http://research.microsoft.com/users/lamport/pubs/password.pdf
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Encryption
Encrypt clear text into cipher text.Properties of good encryption technique:
Relatively simple for authorized users to incrypt and decrypt data. Encryption scheme depends not on the secrecy of the algorithm but on a parameter of the algorithm called the encryption key.Extremely difficult for an intruder to determine the encryption key.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Encryption (Cont.)
Public-key encryption based on each user having two keys:
public key – published key used to encrypt data.private key – key known only to individual user used to decrypt data.
Must be an encryption scheme that can be made public without making it easy to figure out the decryption scheme.
Efficient algorithm for testing whether or not a number is prime.No efficient algorithm is know for finding the prime factors of a number.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Crittografia a chiave simmetrica
Encryption
“The quick brown fox jumps over the lazy dog”
“AxCv;5bmEseTfid3)fGsmWe#4^,sdgfMwir3:dkJeTsY8R\s@!q3%”
“The quick brown fox jumps over the lazy dog”
Decryption
Plain-text input Plain-text outputtesto cifrato
Stessa chiave(segrete condiviso,
o chiavesimmetrica)
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Crittografia a chiave asimmetrica(pubblica)
Encryption
“The quick brown fox jumps over the lazy dog”
“Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’rkvegMs”
“The quick brown fox jumps over the lazy dog”
Decryption
Clear-text Input Clear-text Outputtesto cifrato
Chiavi diversechiave pubblica
DEL DESTINATARIO
chiave privata
DEL DESTINATARIO
privatepublic
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Creazione di una firma digitale
Hash Function
(SHA, MD5)
Jrf843kjfgf*£$&Hdif*7oUsd*&@:<CHDFHSD(**
Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’rkvegMs”
This is a really long message about Bill’s…
AsymmetricEncryption
Messaggio o file Firma digitale128 Bytes “Message Digest”
Si calcola un piccolo contributo partendo da un input più lungo Chiave
PRIVATAdel firmatario
private
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Verifica di una firma digitaleJrf843kjfgf*£$&Hdif*7oUsd
*&@:<CHDFHSD(**
Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=
&nmdFg$5knvMd’rkvegMs”
Asymmetricdecryption (e.g. RSA)
Questa informazione è didominio pubblico
chiave PUBBLICAdel firmatario
Firma digitale
This is a really long message
about Bill’s…
Stessa funzione usataper creare il digest
(MD5, SHA…)
MessaggioOriginale (input)
Py75c%bn&*)9|fDe^bDFaq#xzjFr@g5=
&nmdFg$5knvMd’rkvegMs”
? == ?Uguali ?
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Nel mondo reale: combinazione di sistemi a cifratura simmetrica e asimmetrica
As above, repeated for other recipientsor recovery agents
DigitalEnvelope
Other recipient’s or agent’spublic key (in certificate)in recovery policy
Launch keyfor nuclear
missile “RedHeat”
is...
Symmetric key encrypted asymmetrically
(e.g., RSA)
Digital Envelope
User’spublic key(in certificate)
RNG
Randomly-Generated symmetric“session” key
Symmetricencryption(e.g. DES)
*#$fjda^ju539!3t
t389E *&\@5e%32\^kd
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
*#$fjda^ju539!3t
t389E *&\@5e%32\^kd
Launch keyfor nuclear
missile “RedHeat”
is...
Symmetricdecryption (e.g. DES)
Digital Envelope
Asymmetric decryption of
“session” key (e.g. RSA)
Symmetric “session” key
Session key must be decrypted using the recipient’s private key
Digital envelope contains “session” key encrypted using recipient’s public key
Recipient’s private key
Continua… la fase di decifrazione
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
PKI
“Infrastruttura a chiave pubblica, forniscecomponenti e servizi per la messa in servizio di un sistema che fa uso di certificati A. Nash, “PKI”, RSA PressPKI è in realtà un gruppo di soluzioni per la distribuzione di chiavi ed altre funzionalità:
Generazione di chiaviGenerazione/validazione/revocazione di certificati
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Problema di distribuzione delle chiavipubbliche
Scott crea una coppia di chiavi (privata e publica) e dice al mondo che la chiavepubblica appartiene a BillLa gente spedisce materiale confidenziale a BillBill non può leggere il contenuto deimessaggiScott legge i messaggi di Bill !
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Come si può verificare una chiavepubblica ?
Due approcciprima di usare una chiave pubblica contattarepersonalmente il proprietario (al telefono ?) e controllare che la chiave sia giusta
Fingerprint o hash possono essere controllateverbalmente
Trovare qualcuno che già usa la chiave e cheaccetti di certificare la chiave
Ma noi dobbiamo fidarci di questa persona ...
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Program Threats
Trojan HorseCode segment that misuses its environment.Exploits mechanisms for allowing programs written by users to be executed by other users.
Trap DoorSpecific user identifier or password that circumvents normal security procedures.Could be included in a compiler.
Stack and Buffer OverflowExploits a bug in a program (overflow either the stack or memory buffers.)
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
System Threats
Worms – use spawn mechanism; standalone programInternet worm
Exploited UNIX networking features (remote access) and bugs in fingerand sendmail programs.Grappling hook program uploaded main worm program.
Viruses – fragment of code embedded in a legitimate program.Mainly effect microcomputer systems.Downloading viral programs from public bulletin boards or exchanging floppy disks containing an infection.Safe computing.
Denial of ServiceOverload the targeted computer preventing it from doing any suefulwork.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Threat Monitoring
Check for suspicious patterns of activity – i.e., several incorrect password attempts may signal password guessing.Audit log – records the time, user, and type of all accesses to an object; useful for recovery from a violation and developing better security measures.Scan the system periodically for security holes; done when the computer is relatively unused.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Threat Monitoring (Cont.)Check for:
Short or easy-to-guess passwordsUnauthorized set-uid programsUnauthorized programs in system directoriesUnexpected long-running processesImproper directory protectionsImproper protections on system data filesDangerous entries in the program search path (Trojan horse)Changes to system programs: monitor checksum values
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Firewall
Serve a gestire la sicurezza riguardo una reteSi pone come guardiano sul punto di accesso ed autentica tutti i pacchetti in transitoSiccome tutto il traffico transita dal firewall questo diventa un collo di bottiglia per la reteL’obiettivo è quello di “lasciare fuori i cattivi”
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Dual homed firewall
intranet extranet
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Screened subnet
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Bastion host
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Intrusion Detection
Detect attempts to intrude into computer systems.
Detection methods:Auditing and logging.Tripwire (UNIX software that checks if certain files and directories have been altered – I.e. password files)
System call monitoring
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
CIFRATURAsi compone di due elementi:
uno collocato lato utente (cifratura)l’altro collocato lato ricevente (decifratura)
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
FIRMA ELETTRONICA
consiste di due procedure: una sul lato mittente l’altra sul lato ricevente
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
CONTROLLO ACCESSI Lo scopo di questo meccanismo e’ di impedire l’uso non autorizzato o improprio di una risorsa.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
RILEVAZIONE DELLE MODIFICHE Il meccanismo e’ distribuito alle estremita’di una connessione; la sua funzione consiste nel rilevare alterazioni del messaggio
il processo mittente genera un valore di verifica e lo concatena al messaggioil processo ricevente calcola il valore di verifica e lo confronta con quello originale.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
MUTUA IDENTIFICAZIONE Il meccanismo consente ad una entita’ di dimostrare la propria identita’ e/o di verificare quella dell’interlocutore.
Possono essere utilizzate password (emessa dal mittente e validata dall’entita’ ricevente) oppure tecniche crittografiche.In caso di fallimento la connessione e’ rifiutata.
37
Attacchi passivi e attivi
difficili da rivelareè possibile impedirli
difficili da impedireè possibile rivelarli e recuperare
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Tipologie di attacco
PASSIVIATTIVI
ISO 7498-2 individua i servizi di sicurezza atti ad opporsi a tali attacchi.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Attacco Passivo
E’ un attentato alla riservatezza dei datiL’obbiettivo e’ quello di acquisire informazioni.
Contenuto dei datiattivita’ di un organizzazioneubicazione degli interlocutoristruttura del sistema telematico
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Attacco Passivo
Servizi necessari alla garanzia di:Riservatezza dei dati
protezione dei dati trasmessi/ricevuti
Riservatezza della connessioneprotezione specifica per il tipo di connessione.
Riservatezza del flusso di trafficoimpedire l’acquisizione di informazione dalla osservazione delle caratteristiche del traffico dati
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Attacco Attivo
Servizi necessari a garantire:Autenticazione di entita’ di pari livello
fornisce garanzia che l’entita’ dello stesso livello, con cui avviene la comunicazione, sia quella dichiarata (Es. check di reverse addressing)Il servizio e’ fornito al momento dell’instaurazione della connessione e, talvolta, durante la fase di trasferimento dei dati.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Attacco Attivo
Servizi necessari a garantire:Autenticazione della sorgente dati
fornisce al richiedente la garanzia che i dati provengano dall’entita’ dichiarata.Il servizio si oppone ad attacchi attivi richiedendo agli interlocutori l’identificazione su ogni pacchetto dati inviato sulla connessione.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Attacco Attivo
Servizi necessari a garantire:Controllo accessi.
Il servizio impedisce agli utenti non autorizzati l’uso delle risorse disponibili che sono accedibili attraverso interconnessioni di sistemi OSI.PROTEZIONE GLOBALE o PARZIALE su dati e funzionalita’
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Attacco AttivoServizi necessari a garantire:
Integrita’ dei dati.Fornisce garanzie che l’unita’ dati ricevuta sia integra.Si oppone a tentativi di alterazione delle informazioni scambiate tra gli interlocutori.Rileva in ricezione se sono state apportate delle modifiche ai dati o alla sequenza dei dati.
Integrita’ con recuperoIntegrita’ senza recupero
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Attacco Attivo
Servizi necessari a garantire:Antiripudio.
Fornisce la prova di una spedizione effettuata contro ogni eventuale tentativo di rinnego da parte del mittente o del destinatario.
Con prova alla sorgenteprotegge il destinatario (lettera firmata)
Con prova alla consegnaprotegge il mittente (ricevuta di ritorno)
46
Meccanismi di Sicurezza
Esiste una grande varietà di meccanismi di sicurezza
Quasi tutti si basano su tecniche crittografiche
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
CIFRATURAsi compone di due elementi:
uno collocato lato utente (cifratura)l’altro collocato lato ricevente (decifratura)
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
FIRMA ELETTRONICA
consiste di due procedure: una sul lato mittente l’altra sul lato ricevente
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
FIRMA ELETTRONICA lato mittente: firma del blocco dati
cifratura dell messaggio, al quale e’ concatenato un valore di controllo, utilizzando come chiave una informazione confidenziale
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
FIRMA ELETTRONICA lato ricevente: verifica del blocco dati firmato
la verifica e’ fatta utilizzando informazioni pubblicamente note che sono in corrispondenza univoca con quella utilizzata dal mittente
Nota: la chiave pubblica non permette di risalire alla chiave confidenziale.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
CONTROLLO ACCESSI Lo scopo di questo meccanismo e’ di impedire l’uso non autorizzato o improprio di una risorsa.
Sistemi operativi e distribuiti - A.A. 2002-2003Università di Milano - DICOBellettini, Bettini, Maggiorini
Meccanismi di Sicurezza
RILEVAZIONE DELLE MODIFICHE Il meccanismo e’ distribuito alle estremita’di una connessione; la sua funzione consiste nel rilevare alterazioni del messaggio
il processo mittente genera un valore di verifica e lo concatena al messaggioil processo ricevente calcola il valore di verifica e lo confronta con quello originale.