La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Quarta lezione.

Presentazioni simili


Presentazione sul tema: "Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Quarta lezione."— Transcript della presentazione:

1 Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Quarta lezione 6/6/2007

2 Contenuto Classificazione dei livelli di sicurezza di un S.O. Classificazione dei livelli di sicurezza di un S.O. Sicurezza su Windows Sicurezza su Windows Sicurezza su Unix Sicurezza su Unix Sistemi per la Intrusion Detection Sistemi per la Intrusion Detection Sicurezza nei database Sicurezza nei database

3 Classificazione della sicurezza dei sistemi di calcolo Orange Book. Documento pubblicato dal Dipartimento della Difesa americano (D.O.D) Sono specificate quattro categorie di sicurezza:A, B, C, D (in ordine decrescente). Categoria D. Non ha livelli di sicurezza. Esempi MS-DOS, Windows 3.1.

4 Classificazione Categoria C. Suddivisa in C1 e C2: C1. La Trusted Computing Base consente: Autenticazione degli utenti (password). I dati di autenticazione sono protetti rendendoli inaccessibili agli utenti non autorizzati. Protezione dei dati e programmi propri di ogni utente. Controllo degli accessi a oggetti comuni per gruppi di utenti definiti Esempio: Unix C2. La TCB consente oltre a quanto definito per la C1, il controllo degli accessi su una base individuale. Esempio UNIX, Windows NT e 2000.

5 Classificazione Categoria B. Suddivisa in B1, B2 e B3 B1. La TCB consente, oltre a quanto definito in C2, lintroduzione dei livelli di sicurezza (modello Bell-La Padula). Almeno due livelli. B2. La TCB estende luso di etichette di riservatezza ad ogni risorsa del sistema, compresi i canali di comunicazione. B3. La TCB consente la creazione di liste di controllo degli accessi in cui sono identificati utenti o gruppi cui non è consentito laccesso ad un oggetto specificato.

6 Classificazione Categoria A. Suddivisa in A1 e classi superiori A1. E equivalente a B3, ma con il vincolo di essere progettato e realizzato utilizzando metodi formali di definizione e verifica. Un sistema appartiene ad una classe superiore ad A1 se è stato progettato e realizzato in un impianto di produzione affidabile da persona affidabile

7 Cronologia di Windows: MS DOS 1981 MS-DOS 1.0 per IBM PC 1983 versione versione 3.0 sempre per 16 bits, line-oriented e single-user Windows 2.x/3.x è semplicemente una GUI per MS-DOS

8 Cronologia di Windows: Windows 9x Windows 95 e 98 continuano ad avere molto in comune con MS-DOS molte parti sono a 16 bit hanno lo stesso file system diversità: integrazione del networking nel SO (problemi legali) nessuna sicurezza: condivisione degli spazi di memoria di tutti gli utenti

9 Cronologia di Windows: Windows NT Negli ultimi anni 80 parte windows NT Indipendente da MS-DOS, nasce nel 93 fiasco sul mercato, piccolo successo come server NT 4.0 (1996) --> 16 M di codice C e C++ NT 5.0 (Windows 2000) --> 29 M di codice Possiede molte più features di Unix (window e GUI sono nel SO, ha codice per architetture diverse e per versioni diverse....)

10 Libreria Win32 API è una libreria molto vasta di procedure che possono effettuare chiamate di sistema o anche possono operare semplicemente in user mode moltissime API grafiche garantisce la compatibilità con i SO precedenti Per contrasto, Unix definisce un numero esiguo di chiamate che restano fisse nelle diverse versioni

11 Come funzionano le API di Win32 Le invocazioni di procedure Win32 creano oggetti (file, processi, thread ecc) La chiamata restituisce un handle alloggetto che può essere utilizzato in altre chiamate E un po object-oriented: cè lincapsulamento, loggetto è manipolato (solo) con le funzioni previste

12 Il registry E un database che contiene tutte le informazioni di configurazione hardware/software/sicurezza che sono necessarie al boot è una specie di file system con directory e file generalmente molto piccoli il registry è diviso in sezioni (ROOT KEYS), che contengono directories (keys) che a loro volta possono contenere subkeys o valori (file di testo)

13 Root keys HKEY_LOCAL_MACHINE HKEY_USERS HKEY_PERFORMANCE DATA HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_CURRENT_CONFIG

14 Manipolare il registry il registry è in formato proprietario, si manipola quindi (solo) con un registry editor, cioè regedit.exe Lintegrità del registry è importante hives e keys hanno liste di permessi per i gruppi predefiniti Per default non laudit non si fa, ma è previsto

15 Procedure per manipolare il registry Esistono procedure win32 API per manipolare il registry: RegCreateKeyEx (crea un nuovo key) RegOpenKeyEx (ottiene un handle) RegEnumKeyEx (enumera le key) RegQueryValueEx (ricerca) Il registry è protetto accuratamente, la sua corruzione implica il reinstallo dellintero sistema

16 Caratteristiche di sicurezza in NT login sicuro con misure anti-spoofing (al CTRL- ALT-DEL è chiamato il driver della tastiera che a sua volta chiama un programma di sistema genuino) controllo degli accessi discrezionale accesso privilegiato protezione dello spazio degli indirizzi di ciascun processo prima delluso le pagine di memoria vengono azzerate audit

17 Gruppi e permessi Windows NT Windows NT prevede molti utenti e gruppi predefiniti (i loro permessi di default sono nel Registry) Cio è molto utile per distribuire le responsabilità della gestione del sistema su vari utenti Anche linsieme dei permessi è più ampio: oltre a read write ed execute, si può concedere take ownership, change permissions, delete,….

18 Permessi in Windows DELETE The right to delete the object. READ_CONTROL The right to read the information in the object's security descriptor, not including the information in the SACL. SYNCHRONIZE The right to use the object for synchronization. This enables a thread to wait until the object is in the signaled state. Some object types do not support this access right. WRITE_DAC The right to modify the DACL in the object's security descriptor. WRITE_OWNER The right to change the owner in the object's security descriptor. FILE_ADD_FILE For a directory, the right to create a file in the directory. FILE_ADD_SUBDIRECTORY For a directory, the right to create a subdirectory. FILE_ALL_ACCESS All possible access rights for a file. FILE_APPEND_DATA For a file object, the right to append data to the file. For a directory object, the right to create a subdirectory. FILE_CREATE_PIPE_INSTANCE For a named pipe, the right to create a pipe.

19 Permessi in Windows FILE_DELETE_CHILD For a directory, the right to delete a directory and all the files it contains. FILE_EXECUTE For a native code file, the right to execute the file. This access right given to scripts may cause the script to be executable, depending on the script interpreter. FILE_LIST_DIRECTORY For a directory, the right to list the contents of the directory. FILE_READ_ATTRIBUTES The right to read file attributes. FILE_READ_DATA For a file object, the right to read the corresponding file data. For a directory object, the right to read the corresponding directory data. FILE_READ_EA The right to read extended file attributes. FILE_TRAVERSE For a directory, the right to traverse the directory. By default, users are assigned the BYPASS_TRAVERSE_CHECKING privilege, which ignores the FILE_TRAVERSE access right. FILE_WRITE_ATTRIBUTES The right to write file attributes. FILE_WRITE_DATA For a file object, the right to write data to the file. For a directory object, the right to create a file in the directory. FILE_WRITE_EA The right to write extended file attributes. [...]

20 Vantaggi Questa maggiore ricchezza di permessi di utenti e di gruppi, assieme al meccanismo di incapsulamento delle funzioni di sistema di Win32, rende possibile eseguire molti dei compiti usuali di amministrazione con permessi non di root

21 Architettura Ogni utente (gruppo, host e server) ha un SID : è un numero che consiste di una breve intestazione e di un intero lungo (univoco) ) quando un utente inizia un processo, riceve un SAT (Security Access Token)

22 SAT Security ID: identifica un utente in maniera univoca. Group SID: Una lista dei gruppi ai quali lutente appartiene ai fini del controllo degli accessi. Un gruppo è un insieme di ID di utente. Ogni gruppo ha un unico SID. Privilegi: Una lista di servizi di sistema security sensitive che lutente può chiamare. Esempio creare token. Default owner: se lutente genera un nuovo oggetto può specificare se il proprietario delloggetto è lutente stesso o un gruppo cui lutente appartiene. Default ACL: lista iniziale di protezione associata agli oggetti che lutente crea. La lista può essere successivamente modificata

23 Controllo ogni volta che il processo chiede di usare una risorsa, il S.O. usa Il SAT del processo e Il Security Descriptor della risorsa stessa

24 Security Descriptor Flags: definiscono il tipo ed i contenuti di un descrittore. Esempio: se sono contenute o no SACL e DACL. Owner:il proprietario delloggetto può essere un individuo o un gruppo. Il proprietario può cambiare i contenuti della DACL. Discretionary Access Control List (DACL): determina quali utenti e con quali operazioni possono accedere alloggetto. E costituita da una lista di access control entries (ACEs). System Access Control List(SACL):specifica quali tipi di operazioni sulloggetto generano audit messages.

25 ACE Access Control Entry: contiene un SID individuale o di gruppo e una maschera di accesso che definisce i diritti che sono garantiti al SID. La maschera contiene quattro bit per indicare i diritti di accesso di lettura, scrittura, esecuzione e tutti i diritti. Altri bit indicano ulteriori diritti

26 Esempio fileSID GSID ACL SACL deny pippo allow franz allow everyone audit franz

27 Scansione delle ACL La scansione si ferma alla prima ACE in cui corrisponde luser o il group SID del processo che chiede di usare la risorsa se è DENY allora NO altrimenti ci deve essere ALLOW delloperazione richiesta I DENY sono sempre allinizio per successive operazioni rivolte alla stessa risorsa si usa la stessa ACE Per default ACL assente => accesso sempre permesso ACL vuota => accesso sempre negato

28 File cifrati in Windows NT il file system permette di crittare i file mediante una chiave di 128 bit (diversa per ogni file) la chiave è usata per crittare il file (blocco a blocco) la chiave cifrata con la chiave pubblica dellutente è inserita nel Registry per decrifare il file cè bisogno della chiave segreta dellutente Se il file deve essere condiviso, la chiave di cifratura è cifrata con le chiavi pubbliche di tutti gli utenti che vi possono accedere

29 Cronologia di Unix MIT, Bell Labs e GE lavorano al S.O. MULTICS Bell lascia il progetto e Ken Thompson inizia lo sviluppo di Unix Sviluppato in C su PDP Portabilità attraverso quella del compilatore C Networking con TCP/IP

30 Cronologia di Unix release 2.0 di Linux in M molto software viene portato su Linux esiste una GUI (KDE) Linux simile a Unix, condivide con questultimo circa l80% delle chiamate di sistema

31 Login e password ogni utente autorizzato ha login e password ed identificato con userID e groupID le password sono criptate con una funzione one-way sono contenute in un file (spesso /etc/passwd) accessibile (rw) solo da root questo file è separato da quello di profilo (spesso /etc/profile) che contiene le azioni specifiche da eseguire al login che è accessibile dallutente

32 UID e GID UID sono interi a 16 bit ( ) UID speciali 0 = root, 1 = daemon (lp) 9 = audit i GID sono simili: 0 = system 1 = daemon per device...

33 Utente Root root può fare quasi tutto, tranne recuperare le password (nessuno lo può fare) può essere qualsiasi utente può montare e smontare file systems decidendo gli accessi consentiti quindi root è anche un punto debole: conviene separare i diversi compiti del system manager usando altri utenti come daemon per il networking

34 Punti importanti sulla sicurezza in Unix la politica degli accessi è espressa tramite ACL semplificate Il metodo per consentire ad un processo di accedere a risorse per cui non avrebbe i permessi è linvocazione controllata

35 File system in Unix Unix organizza i file in una struttura ad albero, i nodi interni sono folder (comunque file) e le foglie sono i file semplici ogni file nella directory è un puntatore ad un i- node che contiene varie informazioni mode, link counter,uid, gid dellowner, time, block count, posizione fisica

36 ACL in Unix 12 bit link counter rwx r-- r-- permessi del gruppo dellowner permessi di tutti gli altri permessi dellowner

37 Controllo delle ACL quando un processo (UID e GID) chiede di accedere un file: i permessi vengono esaminati da sinistra a destra, se UID è lowner del file allora valgono i primi 3 bit se il GID è quello dellowner del file allora vale la seconda terna altrimenti vale la terza terna

38 Directory ogni utente ha una home ed altre directory si creano con mkdir Le directory hanno permessi come i file ma con i seguenti significati: x= è richiesto per entrare (cd) nella directory e per aprire file in essa (non si può fare ls) w= creare e distruggere file r= si può fare ls

39 Invocazione controllata in Unix è possibile specificare che un eseguibile E quando viene invocato da un processo P non prende lo UID e GID di P bensì quelli del creatore di E se questo è root o un utente con privilegi particolari allora questi vengono prestati allutente di P un tale programma si chiama SETUID o SETGID

40 Invocazione controllata linvocazione controllata è il modo in cui UNIX media TUTTE le richieste di accesso alle risorse Per ogni richiesta avviene linvocazione di un processo di sistema eseguito come root (o utente speciale) che controlla che la richiesta sia autorizzata e, se lo è, esegue lazione richiesta e poi ritorna allutente

41 Esempio gestione di una stampante lp /dev/lp owner un daemon (lp) ACL rw nessuno a parte lp può usare la stampante ma se definiamo un programma stampa(lp) che accede alla stampante e tale che: il suo owner sia il daemon lp e sia SETUID, allora ogni utente può usare la stampante e SOLO con stampa(lp)

42 Invocazione ed incapsulamento ogni utente può usare linvocazione controllata per ottenere incapsulamento se lutente U ha un file X che vuole proteggere, cioè vuole che venga consultato solo con un dato programma PX, allora può fare così: crea utente UX owner di PX e di X (con permessi rw) e rende PX SETUID poi rende PX eseguibile da Y Y eseguendo PX diventa UX e quindi può accedere a X

43 SETUID Un comando con SETUID root è passwd cambia la password deve accedere al file delle password crittate Un altro è login chmod 4/// nome --> SUID allesecuzione chmod 2/// nome --> SGID allesecuzione

44 Processo di login riceve login e passwd codifica la passwd e controlla che sia corretta nel profile trova lambiente (sh, csh, ksh…) apre input e output standard esegue setuid e setgid dellutente esegue la shell e termina la shell continua con UID e GID giuste

45 1.ogni comando nella shell inizia un processo che eredita la UID e GID della shell 2.ogni file che viene creato riceve quella UID e GID 3.quando un processo tenta di accedere per la prima volta ad un file la UID e GID sono usate per controllare se laccesso è consentito 4.il processo riceve un file descriptor e nelle successive operazioni, non ci sono più controlli 5.se il modo di un file cambia, il cambiamento entra in effetto dopo la chiusura

46 Protezione delle device sono come files e quindi hanno i loro permessi: /dev/mem mappa della memoria fisica /dev/kmem mappa della memoria virtuale il system manager non deve lasciare permessi pericolosi Possono condurre ad attacchi al livello sottostante

47 mount mount serve per montare file systems: offre opzioni di sicurezza -r = read only nosuid = mettere a 0 tutti i SUID e SGID bit noexec = nessun binario può essere eseguito

48 Auditing ricorda i fatti rilevanti per la sicurezza in un file protetto: per scoprire lintrusione per rispondere allintrusione (pericoloso) oltre a restringere laccesso al file di log, conviene mandarlo su altre macchine o stamparlo

49 Auditing e SETUID i programmi SETUID mettono in crisi lauditing perchè viene ricordato lUID del processo che è diverso da quello dellutente che richiede loperazione abbiamo visto che ci sono comandi del sistema per risalire alla UID e GID reale uid=getuid(), gid=getgid() // reale uid=geteuid(), gid=getegid() // effettivo

50 Problemi con linvocazione controllata Il meccanismo dellinvocazione controllata si presta ad un attacco molto pericoloso ed usato di frequente: Stack overflow Lintruder acquisisce i diritti di root e può causare molti danni...

51 Access Control List in Unix Al pari delle ultime versioni di Windows, anche in Unix è possibile usare le ACL, descritte secondo lo standard POSIX Al pari delle ultime versioni di Windows, anche in Unix è possibile usare le ACL, descritte secondo lo standard POSIX Non tutte le versioni di Unix e di Linux supportano tale standard Non tutte le versioni di Unix e di Linux supportano tale standard Comunque non tutte le applicazioni controllano le ACL Comunque non tutte le applicazioni controllano le ACL

52 Posix ACL Tipi di ACL entry Owner user::rwx Named user user:name:rwx Owning group group::rwx Named group group:name:rwx Mask mask::rwx Others other::rwx

53 Posix ACL ACL minime Contengono solo tre entry Sono equivalenti ai bit di permesso di UNIX tradizionale ACL estese Hanno più di tre ACL entry Contengono una mask entry Possono contenere qualunque numero di named user e di named group entries

54 Funzionamento delle ACL Le ACL minime funzionano come al solito Le ACL estese hanno il seguente funzionamento Tutti i named user e i named group entrano a far parte della classe group Bisogna distinguire fra: permessi della classe group ACL entry della classe group I permessi della classe group sono contenuti nella maschera e rappresentano un "upper bound" ai permessi che possono essere ottenuti dalle entry della classe gruppo

55 Esempio Con i seguenti permessi user::rw group::r others::r user:jane:rwx mask:rw lutente jane ha diritti rw

56 ACL di default Come vengono ereditate le default ACL? la default ACL viene copiata nella access ACL dei nuovi file la default ACL viene copiata nella default ACL delle nuove directory Ulteriori dettagli quando un file viene creato possono essere specificati dei diritti di accesso viene effettuata l'intersezione tra questi e la default ACL se una directory non ha default ACL, si utilizza il meccanismo tradizionale UNIX (umask, etc.)

57 Intrusion detection Un meccanismo estremamente importante da utilizzare per controllare la sicurezza di un sistema è quello degli IDS (Intrusion Detection System) Un meccanismo estremamente importante da utilizzare per controllare la sicurezza di un sistema è quello degli IDS (Intrusion Detection System) Si può fare a livello di host (HIDS) e a livello di network (NIDS) Si può fare a livello di host (HIDS) e a livello di network (NIDS)

58 Principi di base Distinguere situazioni normali da quelle anomale Distinguere situazioni normali da quelle anomale Lutente in condizioni normali Lutente in condizioni normali si comporta in modo più o meno prevedibile si comporta in modo più o meno prevedibile non compie azioni atte a violare la sicurezza non compie azioni atte a violare la sicurezza i propri processi compiono solo azioni permesse i propri processi compiono solo azioni permesse

59 Scopi di un IDS Scoprire un ampia gamma di intrusioni, sia già note che non note Scoprire un ampia gamma di intrusioni, sia già note che non note Scoprirle velocemente, non necessariamente in tempo reale Scoprirle velocemente, non necessariamente in tempo reale Presentare i report delle analisi in formato semplice e facilmente comprensibile Presentare i report delle analisi in formato semplice e facilmente comprensibile Essere accurato, evitando possibilmente falsi positivi e falsi negativi Essere accurato, evitando possibilmente falsi positivi e falsi negativi

60 Modelli per lIDS Detection di anomalie Detection di anomalie Sequenze di azioni non usuali possono essere intrusioni Sequenze di azioni non usuali possono essere intrusioni Detection di uso malevolo Detection di uso malevolo Si conosce cosa quali sequenze di azioni possono essere intrusioni Si conosce cosa quali sequenze di azioni possono essere intrusioni Detection in base a specifiche Detection in base a specifiche Si conoscono le situazioni derivanti da intrusioni Si conoscono le situazioni derivanti da intrusioni I modelli possono essere statici o adattivi I modelli possono essere statici o adattivi

61 Modelli per la scoperta di anomalie Si analizzano insiemi di caratteristiche del sistema confrontando i valori con quelli attesi e segnalando quando le statistiche non sono paragonabili a quelle attese Si analizzano insiemi di caratteristiche del sistema confrontando i valori con quelli attesi e segnalando quando le statistiche non sono paragonabili a quelle attese Metriche a soglia Metriche a soglia Momenti statistici Momenti statistici Modelli di Markov Modelli di Markov

62 Metriche a soglie Contare il numero di volte che un evento si presenta Contare il numero di volte che un evento si presenta Ci si aspetta tra m e n occorrenze Ci si aspetta tra m e n occorrenze Se il numero cade al di fuori, cè unanomalia Se il numero cade al di fuori, cè unanomalia Esempio Esempio Windows: blocco dopo k tentativi di login falliti. Il range è (0, k–1). Windows: blocco dopo k tentativi di login falliti. Il range è (0, k–1). k o più tentativi destano sospetto k o più tentativi destano sospetto

63 Problematiche E difficile trovare lintervallo corretto E difficile trovare lintervallo corretto Talvolta si possono creare situazioni in cui lintervallo diventa molto più grande Talvolta si possono creare situazioni in cui lintervallo diventa molto più grande Esempio utenti francesi che usano una tastiera americana Esempio utenti francesi che usano una tastiera americana

64 Momenti statistici Lanalizzatore calcola la deviazione standard (i primi due momenti) o altre misure di correlazione (momenti di ordine superiore) Lanalizzatore calcola la deviazione standard (i primi due momenti) o altre misure di correlazione (momenti di ordine superiore) Se i valori misurati di un certo momento cadono al di fuori di un certo intervallo vi è unanomalia Se i valori misurati di un certo momento cadono al di fuori di un certo intervallo vi è unanomalia Problematiche Problematiche I profili possono evolvere nel tempo, si possono pesare opportunamente i dati o alterare le regole di detection I profili possono evolvere nel tempo, si possono pesare opportunamente i dati o alterare le regole di detection

65 Esempio: IDES Developed at SRI International to test Dennings model Developed at SRI International to test Dennings model Represent users, login session, other entities as ordered sequence of statistics Represent users, login session, other entities as ordered sequence of statistics q i,j (statistic i for day j) is count or time interval q i,j (statistic i for day j) is count or time interval Weighting favors recent behavior over past behavior Weighting favors recent behavior over past behavior A k,j sum of counts making up metric of kth statistic on jth day A k,j sum of counts making up metric of kth statistic on jth day q k,l+1 = A k,l+1 – A k,l + 2 –rt q k,l where t is number of log entries/total time since start, r factor determined through experience q k,l+1 = A k,l+1 – A k,l + 2 –rt q k,l where t is number of log entries/total time since start, r factor determined through experience

66 Example: Haystack Let A n be nth count or time interval statistic Let A n be nth count or time interval statistic Defines bounds T L and T U such that 90% of values for A i s lie between T L and T U Defines bounds T L and T U such that 90% of values for A i s lie between T L and T U Haystack computes A n+1 Haystack computes A n+1 Then checks that T L A n+1 T U Then checks that T L A n+1 T U If false, anomalous If false, anomalous Thresholds updated Thresholds updated A i can change rapidly; as long as thresholds met, all is well A i can change rapidly; as long as thresholds met, all is well

67 Modelli di Markov Lipotesi è che la storia passata influenzi la prossima transizione di stato Lipotesi è che la storia passata influenzi la prossima transizione di stato Le anomalie sono riconosciute da sequenze di eventi, e non sulle occorrenze di singoli eventi Le anomalie sono riconosciute da sequenze di eventi, e non sulle occorrenze di singoli eventi Il sistema deve essere addestrato per riconoscere sequenze valide Il sistema deve essere addestrato per riconoscere sequenze valide laddestramento è svolto con utenti non anomali laddestramento è svolto con utenti non anomali laddestramento produce migliori risultati con una quantità maggiore di dati laddestramento produce migliori risultati con una quantità maggiore di dati i dati dovrebbero coprire tutti le sequenze normali del sistema i dati dovrebbero coprire tutti le sequenze normali del sistema

68 Esempio: TIM Time-based Inductive Learning Time-based Inductive Learning Sequence of events is abcdedeabcabc Sequence of events is abcdedeabcabc TIM derives the following rules: TIM derives the following rules: R 1 : ab c (1.0)R 2 : c d (0.5)R 3 : c e (0.5) R 4 : d e (1.0)R 5 : e a (0.5)R 6 : e d (0.5) Seen: abd; triggers alert Seen: abd; triggers alert c always follows ab in rule set c always follows ab in rule set Seen: acf; no alert as multiple events can follow c Seen: acf; no alert as multiple events can follow c May add rule R 7 : c f (0.33); adjust R 2, R 3 May add rule R 7 : c f (0.33); adjust R 2, R 3

69 Sequenze di chiamate di sistema Forrest: definisce il normale andamento in termini di sequenze di chiamate di sistema (tracce) Forrest: definisce il normale andamento in termini di sequenze di chiamate di sistema (tracce) Negli esperimenti è in grado di distinguere sendmail e lpd da altri programmi Negli esperimenti è in grado di distinguere sendmail e lpd da altri programmi Si addestra il sistema con un insieme di tracce e si cerca se la traccia corrente è anomala Si addestra il sistema con un insieme di tracce e si cerca se la traccia corrente è anomala

70 Problematiche ulteriori Modelli statistici Modelli statistici spesso si usa la distribuzione gaussiana spesso si usa la distribuzione gaussiana alternative sono clusterizzazione e tecniche non parametriche alternative sono clusterizzazione e tecniche non parametriche Selezione di feature Selezione di feature CPU versus I/O CPU versus I/O selezione automatica selezione automatica

71 Modelli per il misuso Si controlla se una sequenza di istruzioni da eseguire è già nota essere potenzialmente dannosa per la sicurezza del sistema Si controlla se una sequenza di istruzioni da eseguire è già nota essere potenzialmente dannosa per la sicurezza del sistema La conoscenza è rappresentata mediante regole e il sistema controlla se la sequenza soddisfa una di queste regole La conoscenza è rappresentata mediante regole e il sistema controlla se la sequenza soddisfa una di queste regole Non si possono scoprire intrusioni non note precedentemente Non si possono scoprire intrusioni non note precedentemente

72 Esempi di IDS a regole IDIOT monitorizza i log cercando sequenze di eventi che corrispondono ad attacchi IDIOT monitorizza i log cercando sequenze di eventi che corrispondono ad attacchi STAT analizza le transizioni di stato, concentrandosi sul modo come alcuni privilegi sono ottenuti STAT analizza le transizioni di stato, concentrandosi sul modo come alcuni privilegi sono ottenuti NFR controlla il traffico di rete, analizzando e filtrando i pacchetti NFR controlla il traffico di rete, analizzando e filtrando i pacchetti

73 Modelli mediante specifiche Si determina se una sequenza di azioni viola una specifica di come un programma o un sistema dovrebbe funzionare Si determina se una sequenza di azioni viola una specifica di come un programma o un sistema dovrebbe funzionare

74 Architettura di un IDS E essenzialmente un sistema di auditing sofisticato E essenzialmente un sistema di auditing sofisticato Agente è una sorta di logger; it gathers data for analysis Agente è una sorta di logger; it gathers data for analysis Direttore è un analizzatore; analizza i dati ottenuti dagli agenti secondo regole interne Direttore è un analizzatore; analizza i dati ottenuti dagli agenti secondo regole interne Notificatore ottiene i risultati dal direttore e compie alcune azioni Notificatore ottiene i risultati dal direttore e compie alcune azioni Può semplicemente notificare messaggi agli amministratori Può semplicemente notificare messaggi agli amministratori Può riconfigurare gli agenti Può riconfigurare gli agenti Può attivare meccanismi di risposta Può attivare meccanismi di risposta

75 Agente Ottiene le informazioni e le invia al direttore Ottiene le informazioni e le invia al direttore Può mettere le informazioni in altre forme Può mettere le informazioni in altre forme Preprocessing dei record per estrarre parti rilevanti Preprocessing dei record per estrarre parti rilevanti Può cancellare informazioni non necessarie Può cancellare informazioni non necessarie Il direttore può richiedere allagente ulteriori informazioni Il direttore può richiedere allagente ulteriori informazioni Si distinguono in agenti host e agenti network Si distinguono in agenti host e agenti network

76 Direttore Colleziona le informazioni inviate dagli agenti Colleziona le informazioni inviate dagli agenti Elimina i record ridondanti o non necessari Elimina i record ridondanti o non necessari Analizza le informazioni rimanenti per determinare se si è sotto attacco Analizza le informazioni rimanenti per determinare se si è sotto attacco Usa le tecniche viste prima Usa le tecniche viste prima Gira su un sistema separato Gira su un sistema separato Non influenza le performance dei sistemi monitorati Non influenza le performance dei sistemi monitorati

77 Notificatore Accetta le informazioni dal direttore Accetta le informazioni dal direttore Prende le decisioni appropriate Prende le decisioni appropriate Notificare messaggi agli amministratori Notificare messaggi agli amministratori Rispondere allattacco Rispondere allattacco Spesso usano delle GUI Spesso usano delle GUI

78 Combining Sources: DIDS I monitoraggi di host e di network non sono generalmente sufficienti da soli a scoprire alcuni tipi di attacchi I monitoraggi di host e di network non sono generalmente sufficienti da soli a scoprire alcuni tipi di attacchi Unattaccante prova a fare telnet con vari login: i IDS network lo scoprono, ma non gli IDS host Unattaccante prova a fare telnet con vari login: i IDS network lo scoprono, ma non gli IDS host Lattaccante prova entrare senza la password: gli IDS host lo rilevano, ma non quelli di rete Lattaccante prova entrare senza la password: gli IDS host lo rilevano, ma non quelli di rete DIDS usa gli agenti sugli host da monitorare ed un monitor di rete DIDS usa gli agenti sugli host da monitorare ed un monitor di rete

79 Risposte alle intrusioni Prevenzione: lattacco deve essere scoperto prima del completamento Prevenzione: lattacco deve essere scoperto prima del completamento Una tecnica è il Jailing: far credere allattaccante che lintrusione è andata a buon fine ma confinare le sue azioni in un dominio in cui non può fare danni (o causarne pochi) Una tecnica è il Jailing: far credere allattaccante che lintrusione è andata a buon fine ma confinare le sue azioni in un dominio in cui non può fare danni (o causarne pochi) far scaricare file corrotti o falsi far scaricare file corrotti o falsi imitare il sistema vero imitare il sistema vero

80 Risposta alle intrusioni Trattamento delle intrusioni Trattamento delle intrusioni preparazione preparazione identificazione identificazione contenimento (passivo/attivo) contenimento (passivo/attivo) eradicazione eradicazione recupero recupero seguito (apprendimento) seguito (apprendimento)

81 Sicurezza nei database La protezione dei dati di un database necessita di strumenti particolari, alcuni dei quali mutuati da quelli usati in altri settori La protezione dei dati di un database necessita di strumenti particolari, alcuni dei quali mutuati da quelli usati in altri settori Gli obiettivi sono comunque gli stessi Gli obiettivi sono comunque gli stessi Integrità Integrità Confidenzialità Confidenzialità Disponibilità Disponibilità

82 Requisiti di sicurezza Integrità fisica del DB: immunità ai guasti di sistema e di dispositivo Integrità fisica del DB: immunità ai guasti di sistema e di dispositivo Integrità logica del DB: preservazione della struttura del database Integrità logica del DB: preservazione della struttura del database Integrità degli elementi: accuratezza dei dati Integrità degli elementi: accuratezza dei dati Auditability: tenere traccia delle operazioni Auditability: tenere traccia delle operazioni Controllo degli accessi Controllo degli accessi Autenticazione degli utenti Autenticazione degli utenti Disponibilità Disponibilità

83 Integrità del database E garantita in gran parte dal DBMS, oltre che dal S.O. E garantita in gran parte dal DBMS, oltre che dal S.O. Strumenti fondamentali sono Strumenti fondamentali sono log delle transazioni su memoria stabile log delle transazioni su memoria stabile copie di backup effettuate regolarmente copie di backup effettuate regolarmente Update a due fasi Update a due fasi Meccanismi standard Meccanismi standard ripresa a caldo ripresa a caldo ripresa a freddo ripresa a freddo

84 Integrità degli elementi Controllo della corrispondenza tra i tipi dei campi e i valori Controllo della corrispondenza tra i tipi dei campi e i valori Controllo degli accessi Controllo degli accessi Log dei cambiamenti Log dei cambiamenti

85 Auditability Tenere traccia delle operazioni svolte sul DB ha un duplice scopo Tenere traccia delle operazioni svolte sul DB ha un duplice scopo garantire lintegrità fisica del DB garantire lintegrità fisica del DB accesso incrementale ai dati accesso incrementale ai dati Problemi nella granularità delle operazioni da tracciare Problemi nella granularità delle operazioni da tracciare

86 Controllo degli accessi Normalmente i database relazionali usano sistemi DAC per il controllo degli accessi Normalmente i database relazionali usano sistemi DAC per il controllo degli accessi La primitiva GRANT permette di concedere diritti su tabelle agli utenti La primitiva GRANT permette di concedere diritti su tabelle agli utenti I diritti standard sono I diritti standard sono SELECT SELECT INSERT INSERT UPDATE UPDATE DELETE DELETE REFERENCES REFERENCES

87 Controllo degli accessi E possibile specificare la clausola WITH GRANT OPTION E possibile specificare la clausola WITH GRANT OPTION il diritto può essere propagato il diritto può essere propagato Il diritto può essere revocato con la primitiva REVOKE Il diritto può essere revocato con la primitiva REVOKE I diritti solitamente sono memorizzati (insieme agli altri metadati) nelle tabelle di sistema I diritti solitamente sono memorizzati (insieme agli altri metadati) nelle tabelle di sistema

88 Controllo degli accessi Come nei SO, anche nei DB esiste il concetto di amministratore: lutente DBA Come nei SO, anche nei DB esiste il concetto di amministratore: lutente DBA Ha il diritto di creare e cancellare utenti Ha il diritto di creare e cancellare utenti Ha il diritto di accesso a tutto il database Ha il diritto di accesso a tutto il database Può concedere e revocare diritti al pari del possessore Può concedere e revocare diritti al pari del possessore

89 Controllo degli accessi Alcuni DBMS, tra cui PostgreSQL, consentono luso di RBAC Alcuni DBMS, tra cui PostgreSQL, consentono luso di RBAC E possibile creare dei ruoli E possibile creare dei ruoli ruolo utente ruolo utente ruolo gruppo ruolo gruppo I diritti si assegnano al ruolo I diritti si assegnano al ruolo Si può assegnare il diritto ad assumere un ruolo Si può assegnare il diritto ad assumere un ruolo

90 Uso delle viste E possibile creare delle viste per restringere laccesso solo ad alcuni dati di una tabella E possibile creare delle viste per restringere laccesso solo ad alcuni dati di una tabella E possibile quindi rendere accessibile a determinati utenti solo la vista e non la tabella da cui proviene E possibile quindi rendere accessibile a determinati utenti solo la vista e non la tabella da cui proviene

91 Autenticazione degli utenti Gli utenti sono autenticati con meccanismi simili a quelli visti per i S.O. Gli utenti sono autenticati con meccanismi simili a quelli visti per i S.O. I DBMS di solito non si fidano dellautenticazione del S.O., la effettuano autonomamente I DBMS di solito non si fidano dellautenticazione del S.O., la effettuano autonomamente Le informazioni degli utenti sono memorizzate nelle tabelle di sistema Le informazioni degli utenti sono memorizzate nelle tabelle di sistema

92 Disponibilità La disponibilità deve essere garantita disciplinando opportunamente gli accessi concorrenti ed evitando che un processo maligno monopolizzi il DB La disponibilità deve essere garantita disciplinando opportunamente gli accessi concorrenti ed evitando che un processo maligno monopolizzi il DB

93 Dati sensibili I database possono contenere dati sensibili, che non dovrebbe essere accessibili al pubblico I database possono contenere dati sensibili, che non dovrebbe essere accessibili al pubblico Un problema sorge quando i dati sensibili sono una parte dei dati, ad esempio Un problema sorge quando i dati sensibili sono una parte dei dati, ad esempio alcuni record di una tabella alcuni record di una tabella alcuni campi di una tabella alcuni campi di una tabella Possono esistere vari gradi di sensibilità a seconda del motivo per cui il dato è dichiarato sensibile Possono esistere vari gradi di sensibilità a seconda del motivo per cui il dato è dichiarato sensibile

94 Accesso ai dati sensibili Livelli in base alla sicurezza e alla precisione Livelli in base alla sicurezza e alla precisione Non disclosed Non disclosed Non può essere trovato attraverso altre query Non può essere trovato attraverso altre query Potrebbe essere recuperato da altre query Potrebbe essere recuperato da altre query Restituito come risultato Restituito come risultato Problema dellinferenza Problema dellinferenza

95 Tipi di disclosure Dato esatto: x vale 12 Dato esatto: x vale 12 Limiti inferiori o superiori: x è compreso tra 10 e 15 Limiti inferiori o superiori: x è compreso tra 10 e 15 Risposte negative: x non vale 11 Risposte negative: x non vale 11 Esistenza: Caio possiede un cellulare Esistenza: Caio possiede un cellulare Valore probabile: x vale 10 con probabilità 0.25 Valore probabile: x vale 10 con probabilità 0.25

96 Problema dellinferenza E possibile ottenere dati sensibili attraverso luso di query opportune che non producono dati sensibili E possibile ottenere dati sensibili attraverso luso di query opportune che non producono dati sensibili Tale problema è sentito nei database statistici Tale problema è sentito nei database statistici fornire pubblicamente dati aggregati a scopi statistici fornire pubblicamente dati aggregati a scopi statistici evitare laccesso ai singoli record evitare laccesso ai singoli record

97 Esempio NamePositionSalaryAge MattTeacher50K33 LeonardTeacher50K50 HollyPrincipal60K37 HeidiAide20K20 CeliaTeacher40K45

98 Esempio SELECT SUM(SALARY) WHERE POSITION=TEACHER si può eseguire senza problemi SELECT SUM(SALARY) WHERE POSITION=TEACHER si può eseguire senza problemi poi SELECT SUM(SALARY) WHERE POSITION=TEACHER AND poi SELECT SUM(SALARY) WHERE POSITION=TEACHER AND AGE > 40 non si può eseguire perchè (per differenza con la prima) troviamo lo stipendio di Matt

99 Soluzione La soluzione è quella di tenere traccia di tutte le interrogazioni effettuate e di proibire le interrogazioni che conducono, tramite i risultati di quelle precedenti, ad accedere ai dati di uno (o pochi) record La soluzione è quella di tenere traccia di tutte le interrogazioni effettuate e di proibire le interrogazioni che conducono, tramite i risultati di quelle precedenti, ad accedere ai dati di uno (o pochi) record Esistono metodi per inferire dati da somme, medie, conteggi, mediane, ecc. Esistono metodi per inferire dati da somme, medie, conteggi, mediane, ecc.

100 Altre soluzioni Un altro approccio è quello di usare dati opportunamente modificati prima di calcolare le query Un altro approccio è quello di usare dati opportunamente modificati prima di calcolare le query esclusione di alcuni dati esclusione di alcuni dati campionamento casuale campionamento casuale perturbazione casuale dei dati perturbazione casuale dei dati

101 Database multilivello Si supera la distinzione binaria tra dati sensibili e non sensibili Si supera la distinzione binaria tra dati sensibili e non sensibili Ogni singolo dato del DB può avere un grado di sicurezza Ogni singolo dato del DB può avere un grado di sicurezza Una tupla può essere vista come Una tupla può essere vista come I c i rappresentano il livello di sicurezza del dato v i e ct il livello di sicurezza dellintera tupla I c i rappresentano il livello di sicurezza del dato v i e ct il livello di sicurezza dellintera tupla

102 Esempio NomeEtàStip.Cred. RossiU27C10KSAC VerdiU30C20KSCTS NeriU42C100KTSAC BondTS35TS85KTSATS GialliU50C120KTSAC Si usa il modello di Bell-La Padula (U

103 Esempio La tabella in lettura per un utente C è La tabella in lettura per un utente C è NomeEtàStip.Cred. RossiU27C10KSAC VerdiU30C20KSTS NeriU42CTSAC GialliU50CTSAC

104 Esempio La stessa tabella può essere vista in modi diversi a seconda del grado di sicurezza dellutente La stessa tabella può essere vista in modi diversi a seconda del grado di sicurezza dellutente Allo stesso modo si dovranno controllare gli accessi in scrittura (proprietà * del modello di Bell-La Padula): ad esempio un utente TS non può scrivere un dato con sicurezza S, C o U Allo stesso modo si dovranno controllare gli accessi in scrittura (proprietà * del modello di Bell-La Padula): ad esempio un utente TS non può scrivere un dato con sicurezza S, C o U

105 Realizzazione Esistono vari modi per realizzare un database multilivello Esistono vari modi per realizzare un database multilivello Partizionamento: le tabelle sono memorizzate (e utilizzate) separatamente Partizionamento: le tabelle sono memorizzate (e utilizzate) separatamente Cifratura di campi sensibili Cifratura di campi sensibili Marcatura con lock di integrità Marcatura con lock di integrità


Scaricare ppt "Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Quarta lezione."

Presentazioni simili


Annunci Google