|
|
(261 versioni intermedie di 28 utenti non mostrate) |
Riga 1: |
Riga 1: |
− | <!-- Allo staff: mi son portato avanti cominciando ad abbozzare la pagina :). Ho copiato e incollato la formattazione dal corso di bioinformatica per la specialistica -->
| + | {{introduzione}} |
| + | == Turni == |
| + | {{turno}} |
| | | |
− | == '''Sicurezza, anno 2005/2006''' == | + | == A.A. passati == |
| + | {{annipassati|2006-2007|(Danilo Bruschi)}} |
| + | {{annipassati|2005-2006|(Danilo Bruschi)}} |
| | | |
− | '''Sicurezza''' è un corso complementare per la laurea in comunicazione digitale e altri corsi di laurea.
| + | == Informazioni == |
| | | |
− | === Docenti === Danilo Bruschi
| + | Sicurezza è un corso '''complementare''' per i tre corsi di laurea. |
− | e-mail: <bruschi [at] dico [dot] unimi [it]>
| |
| | | |
− | === Orari delle lezioni ===
| + | Si raccomandano come prerequisiti l'aver frequentato il corso di Reti di calcolatori e Sistemi Operativi, ma l'aver verbalizzato il voto o l'averli seguiti non è vincolante in alcun modo per seguire e sostenere il corso e l'esame. Si raccomanda inoltre di poter lavorare su Linux, in quanto la pratica verterà su questo sistema operativo. |
− | | |
− | {| border=1
| |
− | ! Lunedì!! Mercoledì
| |
− | |-
| |
− | | 17:30-19:30 Aula Alfa|| 17:30-19:30 Aula Sigma
| |
− | |}
| |
− |
| |
− | Le lezioni del lunedì tratteranno la parte teorica del corso e saranno tenute dal prof. Bruschi,mentre le lezioni del mercoledi` tratteranno la parte pratica del corso e saranno tenute dai dott. Cavallaro e Lanzi
| |
− | | |
− | === Orario di ricevimento dei docenti ===
| |
− | | |
− | Ricevimento su appuntamento:
| |
− | * Prof. Bruschi <bruschi [at] dico [dot] unimi [dot] it>
| |
− | * Dott. Lanzi <andrew [at] security [dot] dico [dot] unimi [dot] it>
| |
− | * Dott. Cavallaro <sullivan [at] security [dot] dico [dot] unimi [dot] it>
| |
− | | |
− | ===Sito del corso ===
| |
− | | |
− | Se andate [http://security.dico.unimi.it/sicurezza0506/ qui] trovate il programma del corso (vedi [http://security.dico.unimi.it/sicurezza0506/stuff/Programma_Sicurezza0506.pdf PDF]),le modalità d'esame e quant'altro di necessario.
| |
− | | |
− | === Materiale didattico ===
| |
− | | |
− | * Primo libro:
| |
− | ** Titolo: ''"Firewall e sicurezza si rete"'',II Edizione
| |
− | ** Autori: W.Cheswick,S.Bellouin,A.Rubin
| |
− | ** Casa Editrice: Edision Wesley
| |
− | ** Prezzo: 32 €
| |
− | | |
− | * Secondo libro:
| |
− | ** Titolo: ''"Computer Security"''
| |
− | ** Autore: D.Gollmann
| |
− | ** Casa editrice: J.Wiley
| |
− | ** Lingua: solo inglese
| |
− | ** prezzo: 50 € scontato, alla [http://www.accu.mi.it/clued/ CLUED],settore didattico [http://www.dsy.it/forum/member.php?action=getinfo&find=lastposter&threadid=22261 JoY§TiCk]
| |
− | | |
− | In più ci sarà alro materiale sparso,presentato a lezione. Vi terremo aggiornati ;).
| |
− | Ad ogni modo il prof ribadisce che il primo libro(quello in italiano)tratterà il 70% delle lezioni e che i lrestante 30% deriverà dal secondo e da altro materiale.
| |
− | '''Non''' verranno presentate slides alle lezioni di teoria del lunedì,nè messe a disposizione sul sito. Per quanto riguarda le lezioni di pratica invece ci saranno delle slides pubblicate sul sito.
| |
| | | |
| === Modalità d'esame === | | === Modalità d'esame === |
− |
| |
− | Si raccomandano come prerequisiti l'aver frequentato il corso di Reti di calcolatori e Sistemi Operativi,ma l'aver verbalizzato il voto o l'averli seguiti non è vincolante in alcun modo per seguire e sostenere il corso e l'esame.
| |
− | Si raccomanda inoltre di poter lavorare su Linux,in quanto la pratica verterà su questo sistema operativo.
| |
− | L'esame consiste di due modalità:
| |
| | | |
| * SCRITTO: domande a risposta aperta; | | * SCRITTO: domande a risposta aperta; |
− | * PRATICA: implementazioni varie su Linux; | + | * PRATICA: implementazioni varie su Linux; |
− | | |
− | | |
− | '''''N.B.: La quasi totalità dei link a pagine esterne al wikiDsy sono stati inseriti dal sottoscritto e NON dal professore. Questo per far si di integrare meglio quanto spiegato a lezione con il vasto materiale disponibile in rete.'''''
| |
− | | |
− | Editaggio a cura di: --[[Utente:Voodoo|Voodoo]] 12:21, Nov 9, 2005 (CET)
| |
− | | |
− | == '''Diario del corso''' ==
| |
− | | |
− | === Lezione di Lunedì 3-10-05 ===
| |
− | | |
− | '''Argomenti trattati nella lezione di oggi''':
| |
− | | |
− | * Cosa vuol dire fare sicurezza: prevenire azioni non autorizzate che posson provocare conseguenze spiacevoli,nel nostro caso ciò si applica ai sistemi informativi e alla loro prevenzione;
| |
− | * Distinzione tra SECURITY e SAFETY;
| |
− | * Perchè esiste la sicurezza;
| |
− | * Peculiarità in campo di sicurezza:
| |
− | *# Non esiste alcun sistema sicuro;
| |
− | *# La sicurezza costa in termini di:
| |
− | *## soldi;
| |
− | *## tempo;
| |
− | *## privacy;
| |
− | *## flessibilità del sistema;
| |
− | * l'importanza di saper fare delle scelte,valutare elementi critici in un sistema e dare dalle priorità ad essi. In pratica la politica di gestione degli elementi da difendere;
| |
− | * Quindi si vede la fase si ANALISI del rischio e la GESTIONE dello stesso,svolta dal management aziendale;
| |
− | * I beni desiderabili(ASSET)da parte degli attaccanti:
| |
− | *# informazioni,dati memorizzati;
| |
− | *# servizi erogati dalla macchina e loro uso;
| |
− | *# <u>la protezione dei precedenti implica la protezione delle persone che stanno dietro ad essi;</u>
| |
− | * Chi fa sicurezza deve garantire che un sistema goda di:
| |
− | *# confidenzialità;
| |
− | *# integrità;
| |
− | *# disponibilità;
| |
− | | |
− | Al termine della lezione è stata trattata a grandi linee la nascita e l'evoluzione della sicurezza in campo informatico,ricordando una data storica,2 novembre 1988,per via di un crash di un numero ingente di macchine negli USA nel giro di poco tempo,causato da un programma(una tipologia che verrà chiamata WORM)scritto da R.J.Morris.<br>
| |
− | Alcuni link d'interesse che trattano la storia:
| |
− | | |
− | [http://snowplow.org/tom/worm/worm.html http://snowplow.org/tom/worm/worm.html]
| |
− | | |
− | [http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-sg-it-4/ch-sgs-ov.html http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-sg-it-4/ch-sgs-ov.html]
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Mercoledì 5-10-05 ===
| |
− | | |
− | * Introduzione del corso;
| |
− | * Installazione di Debian tramite VMWare;
| |
− | | |
− | Vedere [http://www.vmware.com/download/index.html#eval qui] per scaricare la versione di prova;
| |
− | altri emulatori utilizzabili sono [http://fabrice.bellard.free.fr/qemu/ Qemu] e [http://bochs.sourceforge.net/ Bochs]
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Lunedì 10-10-05 ===
| |
− | | |
− | <u>Introduzione alla [http://it.wikipedia.org/wiki/Crittografia crittografia]</u>
| |
− | | |
− | La crittografia è un valido sostegno al mantenimento della confidenzialità delle informazioni;
| |
− | | |
− | * attori della scenografia crittografica:
| |
− | ** mittente;
| |
− | ** destinatario;
| |
− | ** intruso (man in the middle);
| |
− | * definizione di operazioni di cifratura e decifratura;
| |
− | * Esempi di codici crittografici storici:
| |
− | ** codice di cesare: [http://it.wikipedia.org/wiki/Cifrario_di_Cesare qui] potete leggere in breve come si comporta questo codice e [http://www.tonycrypt.com/Crittografia/Crittoanalisi.htm qui]un esempio di [http://it.wikipedia.org/wiki/Crittanalisi crittanalisi] che sfrutta le ricorrenze dei caratteri;
| |
− | ** Aenigma: codice trattato esaurientemente in [http://it.wikipedia.org/wiki/Enigma_(crittografia) wikipedia]. [http://russells.freeshell.org/enigma/ Qui] si possono trovare anke simulatori della macchina aenigma
| |
− | * Protocolli a chiave pubblica o asimmetrica:
| |
− | ** il primo è pubblicato agli inizi degli anni 80;
| |
− | ** presenza di due chiavi;
| |
− | ** sfruttano proprietà dei numeri primi e campi aritmetici modulari;
| |
− | ** il protocollo Diffie-Hellman è usato per l oscambio delle chiavi pubbliche;
| |
− | ** La chiave pubblica è a disposizione di tutti e viene usata per cifrare i messaggi,i quali verranno decifrati con la chiave privata del destinatario;
| |
− | ** notevole lentezza nel calcolo degli algoritmi(può richiedere ore per grossi documenti);
| |
− | ** notevole sicurezza dei dati e ottima gestione delle chiavi;
| |
− | * Protocolli a chiave privata o simmetrica:
| |
− | ** algoritmi efficienti e veloci
| |
− | ** le trasformazioni sono effettuate anche in hardware,un ulteriore livello per renderle più efficaci;
| |
− | ** utilizzano operazioni di "or","shift" e permutazioni;
| |
− | ** buon livello di sicurezza anche con chiavi contenute;
| |
− | ** gestione delle chiavi critica,poichè mittente e destinatario utilizzano la stessa chiave(segreta),con la scomoda necessità di comunicarla per esser nota da ambo le parti;
| |
− | ** il più usato è il [http://it.wikipedia.org/wiki/Data_Encryption_Standard DES](molto usato per le transazioni bancarie);
| |
− | ** visti i limiti del DES,vengono sviluppati [http://it.wikipedia.org/wiki/Advanced_Encryption_Standard AES] e Triple DES;
| |
− | ** Sia AES sia DES lavorano con una codifica denominata ECB,anche se non è molto sicura per testi lunghi,dove è meglio impiegare la CBC;
| |
− | | |
− | Altri spunti [http://telemat.det.unifi.it/book/1997/cryptography/crysym1.htm qui]e il libro on-line [http://www.ecn.org/kriptonite/ Kriptonite] anche scaricabile in formato PDF compresso in uno zip
| |
− | <br>Altro approfondimento: [http://world.std.com/~franl/crypto.html qui]
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Mercoledì 12-10-05 ===
| |
− | | |
− | Ripasso in veloce carrellata dei permessi classici in Linux:
| |
− | * <tt>rwx</tt>,umask
| |
− | * SGID,SUID per i files;
| |
− | * Sticky,SGID per le directories;
| |
− | * ripasso dei seguenti comandi:
| |
− | ** <tt>chattr</tt>: modifica gli attributi;
| |
− | ** <tt>lsattr</tt>: mostra gli attributi impostati per la lista;
| |
− | ** <tt>chown</tt>: cambio propietario o gruppo per un file;
| |
− | ** <tt>chgrp</tt>: cambia solo il gruppo al file;
| |
− | ** <tt>chmod</tt>: cambia permessi classici(propietario,gruppo,resto del mondo);
| |
− | | |
− | Abbiamo visto due files importanti:
| |
− | * <tt>/etc/passwd</tt>: contiene account utente,uid,gid,home,shell..;
| |
− | * <tt>/etc/shadow</tt>: contiene la password leggibile solo dall'utente root,e vari suoi attributi;<br>
| |
− | : la password è cifrata tramite DES o MD5 (vedi [http://www.faqs.org/rfcs/rfc1321.html rfc]);
| |
− | * ACL (Access Control List):
| |
− | ** è possibile aggiungere utenti o gruppi con un nome specifico;i comandi ACL possono rimpiazzare quelli di <tt>chmod</tt>; tuttavia, suid/sgid/sticky bit possono essere impostati solo con chmod;
| |
− | ** ACL minimale: permessi classici;
| |
− | ** ACL estesa: maschera,utente,gruppi aggiuntivi,...
| |
− | ** Access ACL: più diffusa,trova applicazione per files e directories;
| |
− | ** default ACL: solo su directories;
| |
− | | |
− | N.B.: sono stati asseganti degli esercizi in classe,che non sono stati eseguiti per mancanza di tempo;
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Lunedì 17-10-05 ===
| |
− | | |
− | * descrizione generale dell'algoritmo RSA;
| |
− | ** descrizione dell'algoritmo,a partire dalla scelta di due numeri primi a piacere molto grandi;
| |
− | ** la scelta dei numeri è molto importante ai fini della robustezza del codice;
| |
− | ** visto un esempio di cifratura della parola ''Hello'';
| |
− | * La funzione hash e il suo ruolo per la firma digitale;
| |
− | ** la chiave privata oltre a decifrare viene impiegata per firmare i messaggi,più propriamente per firmare l'hash del messaggio: questo a fianco della confidenzialità dei dati,va ad aggiungere la garanzia dell'identità reale delle persone;
| |
− | * Riassunto delle modalità di crittazione dei messaggi:
| |
− | ** crittazione semplice tramite chiave pubblica e decrittazione tramite quella privata <br>
| |
− | E<sub>B</sub>[M] (encryption da A) S<sub>B</sub>(E<sub>B</sub>[M]) (decryption di B)
| |
− | ** crittazione dell'hash tramite firma: <br>
| |
− | E<sub>B</sub>[(M,S<sub>A</sub>H[M])] (encryption di A) <br> A firma l'hash del messaggio con la sua chiave privata. B riceve il messaggio,spacchetta <br>tramite la sua privata im messaggio,ne calcola l'hash,vede l'hash calcolato da A decrittandolo <br>con la chiave pubblica del medesimo e ne confronta i risultati;
| |
− | ** crittazione veloce mista:
| |
− | E<sub>B</sub>[K],K[(M,S<sub>A</sub>H[M])] (encryption di A) <br> A cifra con la sua chiave privata l'hash del messaggio,come prima,ma poi cifra con la crittografia<br> a chiave privata,generando un numero ''K'' grande,per rendere veloce il processo. Dopo di che,critta<br> la chiave privata ''K'' con la chiave pubblica di B,per rednergliela nota.
| |
− | ----
| |
− | | |
− | === Lezione di Mercoledì 19-10-05 ===
| |
− | | |
− | * Abbiamo usato il tool ''John the Ripper'',usato per craccare le password di sistema degli utenti;
| |
− | * sono on-line le slides della teoria spiegata e gli esercizi relativi;
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Lunedì 24-10-05 ===
| |
− | | |
− | * Problema di impersonificazione nella crittografia a chiave pubblica: la soluzione risiede nelle : Certification authority,i quali firmano con la loro chiave privata l'hash del nostro certificato : digitale,il quale contiene chiave pubblica ed estremi anagrafici;inoltre per provare effettivamente : la loro identità,le CA pubblicano sulla gazzetta ufficiale gli hash delle loro chiavi pubbliche;
| |
− | * la robustezza di un algoritmo dipende molto dalla pubblicità dello stesso;
| |
− | * attacchi brute force per chiavi DES a 40 bit: richiederebbe 2 anni con la generazione di : 71434440*10<sup>9</sup> di chiavi; algoritmi migliori ci riescono per chiavi di 56 bit in circa 35 giorni;
| |
− | ** lista di Certification authority: [http://www.qmw.ac.uk/~tl6345/ca.htm qui]
| |
− | | |
− | '''PROTEZIONE DI UN SISTEMA OPERATIVO'''
| |
− | * Stratificazione in un sistema informatico:
| |
− | # Applicazioni;
| |
− | # Sistema operativo:
| |
− | ## Interfaccia applicazioni;
| |
− | ## Servizi di sistema operativo;
| |
− | ## kernel;
| |
− | # Hardware;
| |
− | La sicurezza per un livello viene implementata a livello inferiore. Fare sicurezza a livello applicazione significa impedire che le applicazioni interferiscano con le altre.
| |
− | <br>''N.B.:'' l'hardware è il massimo livello di protezione che abbiamo,in cui è impossibile per il system manager attuare modifiche a meno di manomissioni a questo livello;
| |
− | * Sono esempi di protezioni hardware quelle proposte dal TCG: vedi [http://www.complessita.it/tcpa/ qui] e [http://www.no1984.org/ qui] (riferimento indicativo,da prendere con le pinze :))
| |
− | ** Aggiungerei un riferimento decisamente importante per l'argomento Trusted Computing Platform, rappresentato dal [http://www.trustedcomputinggroup.org Trusted Computing Group], consorzio responsabile della stesura della specifica per il TPM, TSS, etc (senza contare il lavoro portato avanti da gruppi di ricerca tra i quali il [http://www.watson.ibm.com/index.shtml Watson Research Center] dell'IBM).
| |
− | | |
− | '''Requisiti di un OS per esser definito sicuro:
| |
− | * accesso al sistema garantito ad utenti autorizzati;
| |
− | * processi utente possono usare il OS;
| |
− | * l'utilizzo dell'OS da parte di processi utente deve essere consentito e non abusivo;
| |
− | | |
− | * Trusted OS: tipicamente per applicazioni militari; i sistemi operativi possono essere cetificati da uno dei 7 livelli di sicurezza indicati da delle lettere.[http://www.nsa.gov/selinux/index.cfm SELinux] è tra B1 e B2,Windows NT 5.0 è tra C2 e B1;
| |
− | * distinzione processi utente e processi del sistema operativo:
| |
− | ** status bit;
| |
− | ** programma trap;
| |
− | ** interrupt;
| |
− | ** Il SO si fa carico delle richieste delle applicazioni e restituisce i risultati nel loro spazio di memoria;
| |
− | * politica di gestione dei processi e dei dati nel processore Motorola 68000;
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Mercoledì 26-10-05 ===
| |
− | | |
− | Esercizi con GnuPG: vedi [http://security.dico.unimi.it/sicurezza0506/#syllabus qui]
| |
− | * PGP 9 (trialware): [http://www.pgp.com/downloads/index.html qui]dopo i 30 giorni è possibilie ancora utilizzarlo con meno opzioni;
| |
− | * PGP versioni storiche: [http://hemsidor.torget.se/users/c/CoMa/pgp/pgpdownload.html qui]
| |
− | * Gnu Privacy Guard: [http://www.gnupg.org/ questo] è un sostituto completo e libero di PGP;
| |
− | * guida PGP e altre info: [http://pgp.unito.it/ qui]
| |
− | ----
| |
− | | |
− | === Lezione di Mercoledì 2-11-05 ===
| |
− | | |
− | Esercizi con GnuPG: vedi [http://security.dico.unimi.it/sicurezza0506/#syllabus qui]
| |
− | | |
− | ----
| |
− | === Lezione di Lunedì 7-11-05 ===
| |
− | | |
− | Fare sicurezza di un sistema vuol dire fare sicurezza a livello di sistema operativo(kernel). Bisogna:
| |
− | # evitare che i processi interferiscano tra loro;
| |
− | # evitare che i processi modifichino/interferiscano con il sistema operativo in maniera illegittima;
| |
− | # proteggere le informazioni;
| |
− | # garantire l'autenticità dei soggetti che utilizzano il sistema;
| |
− | | |
− | '''Strategie:'''
| |
− | * Separazione logica delle entità: processi in esecuzione sono messi in aree di memoria separate logicamente(rilocazione in ''loading time'' ed ''execution time'');
| |
− | * Controllo degli accessi: si decide chi può fare cosa a chi,mediante l'uso della matrice degli accessi,sfruttata dal '''P'''rocess'''C'''ontrol'''B'''lock (dispendioso) o dalle ACL(più efficiente,sono la base del sistema di protezione di UNIX);
| |
− | * meccanismi di autenticazione per gli utenti(tipicamente ''username'' e ''password'');
| |
− | * Storia di Windows: [http://it.wikipedia.org/wiki/Storia_di_Microsoft_Windows wikipedia]<br>
| |
− | * Per una panormaica sui sistemi operativi,vedere i pdf del corso omonimo,presso comunicazione digitale: [http://bellettini.usr.dico.unimi.it/~belletc/SODwiki/materiale qui]<br>
| |
− | * Accenno a kerberos(''solo detto cos'è''): [http://web.mit.edu/kerberos/www/ qui]
| |
− | | |
− | ----
| |
− | === Lezione di Mercoledì 9-11-05 ===
| |
− | | |
− | * [http://openvpn.net/ OpenVPN]: controllare il [http://security.dico.unimi.it/sicurezza0506/#syllabus materiale didattico]
| |
− | ----
| |
− | | |
− | === Lezione di Lunedì 14-11-05 ===
| |
− | | |
− | '''Fase di identificazione''': tipicamente l'inserimento di un ''user-id'' da dichiarare all'inizio della sessione di lavoro;
| |
− | <br>'''Fase di autenticazione''': sfrutta in genere uno o più di questi parametri:
| |
− | # ciò che l'utente possiede;
| |
− | # ciò che l'utente sa;
| |
− | # ciò che l'utente è;
| |
− | | |
− | <u>Paradigma "ciò che sai"</u>
| |
− | * Meccanismo delle password e punti deboli:
| |
− | # le password vanno memorizzate su disco: calcolo dell'hash della password,memorizzato su disco. Sulla password fornita dall'utente,viene eseguito l'hash e confrontato con quello su disco,nel caso coincidano,allora l'utente ha accesso al sistema (si basa sulla presunta impossibilità di inveritre la funzione di [http://it.wikipedia.org/wiki/Hash hash]);
| |
− | # le password possono essere scelte deboli: si consiglia l'uso di caratteri alfanumerici e speciali, dando alla password una certa lunghezza in caratteri(dai 6 in su). C'è il problema che la complessità scelta può portare ad una difficoltà alla memorizzazione,con la conseguente imprudenza di alcuni utenti di scriverla in luoghi insicuri(agende,libri o luoghi limitrofi alla macchina). Attacchi possibili:
| |
− | * Attacco dizionario: raccolta di parole ricorrenti nella lingua della vittima di cui si fa l'hash,da confrontare con la password da scoprire. Se coincidono la password è stata scovata. Vedere alcuni riferimenti:
| |
− | ::: http://en.wikipedia.org/wiki/Dictionary_attack ''(definizione)''
| |
− | ::: http://www.cs.jhu.edu/~fabian/courses/CS600.624/pwdweb.pdf ''(sicurezza contro attacchi dizionario)'' <br>Viene ricordata la storia di Morris e del suo Internet worm,che ha usato un attacco dizionario. Si ricorda John the ripper,uno dei programmi più usati in questo ambito. Bisogna vere un file di password.
| |
− | * Attacco phishing: e-mail truffaldine che fingono l'identità di qualcun'altro(banche,ecc) per far dirottare solitamente l'utente su un sito clonato,molto simile(in base all'abilità del truffatore) per ottenere dati personali e finanziari. Si veda :<br>
| |
− | ::: http://www.antiphishing.org/
| |
− | ::: http://www.webopedia.com/TERM/p/phishing.html ''(definizione)''
| |
− | | |
− | <u>Paradigma "ciò che hai,ciò che sai"</u>
| |
− | * Uso delle ''One-time password'': password "usa-e-getta" valide una volta sola,anche se intercettate non saranno valide per altre autenticazioni.
| |
− | * smart-card: pin sblocca la [http://en.wikipedia.org/wiki/Smart_card smart card] inserita.
| |
− | | |
− | <u>Paradigma "ciò che si è"</u>
| |
− | * Biometria: meccanismi di identificazione in base a caratteristiche fisiche difficili da contraffare. Caratteristiche studiate,con tasso d'errore a fianco,sono:
| |
− | ** impronta digitale ''(0.1%)'';
| |
− | ** retina e iride dell'occhio ''(0.01%)'';
| |
− | ** impronta della mano;
| |
− | ** voce;
| |
− | ** forma del viso ''(50%)'';
| |
− | | |
− | Problema di privacy e sostituibilità.
| |
− | | |
− | Una soluzione che coniuga tutti i parametri sarebbe il possesso di una smart-card,sbloccabile sempre con il solito pin,sulla quale vi è anche la propria impronta digitale: in questo modo c'è un confronto diretto dell'impronta senza invadere la privacy.
| |
− | Un possibile attacco ai riconoscitori di impronte digitali può essere l'applicazione di una sostanza impercettibile al tatto,sul riconoscitoree di impronte digitali. Quando l'utente se ne è andato,si toglie la pellicola sulla quale vi è rimasta l'impronta,per poi venir trattata in laboratorio,prodicendo pelle sintetica applicabile su un dito finto(situazione accaduta in Giappone).
| |
− | <br>
| |
− | I costi sono zero per le password,ma si va dalle 15€ alle 30€ per lettori smart-card e smart-card e dispositivi OTP. Il processo di sotituzione password avverrà entro 5-10 anni,ma le nuove tecnologie avranno comunque dei margini di errore,anche se infinitesimi perchè son sempre e comunque delle tecnologie.
| |
− | | |
− | <u>Meccanismi di audit</u>
| |
− | * logging: registrazione eventi che possono fornire informazioni sul sistema;
| |
− | * auditing: analisi dei log;
| |
− | * monitoring: controllo delle attività di un sistema;
| |
− | | |
− | Problemi e soluzioni:
| |
− | * i log è meglio memorizzarli su dispositivi WORM,per evitare cancellazione/riscrittura;
| |
− | * scegliere cosa monitorare per evitare produzione ingente di dati;
| |
− | * Usufruire di log consolidation,per disporre di tutti i log di diverse piattaforme in un formato standard,analizzabile velocemente attraverso un database centrale;
| |
− | * Sfruttare net correlation,attraverso la quale identificare automaticamente attività sospette;
| |
− | | |
− | ----
| |
− | === Lezione di Mercoledì 16-11-05 ===
| |
− |
| |
− | * [http://openvpn.net/ OpenVPN]: controllare il [http://security.dico.unimi.it/sicurezza0506/#syllabus materiale didattico]
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Lunedì 21-11-05 SOSPESA===
| |
− | Lezione sospesa causa indisposizione del docente
| |
− | | |
− | ----
| |
− | === Lezione di Mercoledì 23-11-05 ===
| |
− | | |
− | * [http://openvpn.net/ OpenVPN]: controllare il [http://security.dico.unimi.it/sicurezza0506/#syllabus materiale didattico]
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Lunedì 28-11-05 ===
| |
− | | |
− | Stato di updating..
| |
− | XTERM è un demone del sistema operativo attraverso il quale l'utente spcifica le proprietà del terminale. Attraverso i suoi bug di programmazione è possibile,piazzando una stringa opportuna,farsi restituire una shell con i diritti di root.<br>
| |
− | La tecnica del buffer overflow bypassa del tutto il sistema operativo. L'internet worm di Morris sfruttò quest'attacco,dimostrando che era possibile utilizzare questa tecnica anche da remoto.<br>
| |
− | Mediamente vengono scoperte circa 2700 vulnerabilità al giorno,di cui circa il 40% sfrutta questa tecnica. <br>
| |
− | Il buffer overflow è un problema tipico del C e dei linguaggi in genere poco tipizzati,cioè che fanno un controllo debole sui tipi.<br>
| |
− | Molto in sintesi,questa tecnica mi consente,lanciando il programma(solitamente con i permessi di root) di qualcun'altro,di fargli sovrascrivere il return address di una funzione di modo che punti ad un'altra sezione in cui ho inserito il mio codice.
| |
− | * XTERM: emulatore per terminale di [http://www.computerhope.com/unix/ux.htm X]
| |
− | ** [http://dickey.his.com/xterm/xterm.faq.html XTERM FAQ]
| |
− | ** [http://www.scit.wlv.ac.uk/cgi-bin/mansec?1+xterm manuale XTERM]
| |
− | * Buffer overflow
| |
− | ** [http://sicurezza.html.it/articoli/articoli.asp?IdCatArticoli=18&idarticoli=43 Buffer overflow]
| |
− | ** [http://www.siforge.org/articles/2003/04/15-bofexp.html Spiegazione tecnica ed esempio pratico]
| |
− | ** [http://it.wikipedia.org/wiki/Buffer_overflow Wikipedia definizione]
| |
− | ** http://www.linuxjournal.com/article/6701
| |
− | ** [http://www-128.ibm.com/developerworks/linux/library/l-sp4.html Secure programmer: Countering buffer overflows]
| |
− | ** [http://www.enderunix.org/docs/eng/bof-eng.txt BUFFER OVERFLOWS DEMYSTIFIED] ''(txt)''
| |
− | ** [http://suif.stanford.edu/papers/tunji04.pdf A Practical Dynamic Buffer Overflow Detector] ''(pdf)''
| |
− | ** [http://www.windowsecurity.com/articles/Analysis_of_Buffer_Overflow_Attacks.html Analysis of Buffer Overflow Attacks]
| |
− | | |
− | ----
| |
− | | |
− | === Lezione di Mercoledì 30-11-05 ===
| |
− | | |
− | TCP/IP Summary:
| |
− | * Sniffing && tcpdump <br>
| |
− | Vedere: [http://security.dico.unimi.it/sicurezza0506/#syllabus Materiale didattico]
| |
− | | |
− | ----
| |
− | === Lezione di Lunedì 5-12-05 ===
| |
− | | |
− | '''Stato di updating...lezione in ascolto'''
| |
− | | |
− | * [http://it.wikipedia.org/wiki/Malware Malware:definizione]
| |
− | * http://www.attentialvirus.com/
| |
− | * [http://securityresponse.symantec.com/avcenter/vinfodb.html?prodid=nav2005 Virus List di Norton]
| |
− | * [http://hoaxbusters.ciac.org/ Hoaxes]
| |
− | * http://www.tightvnc.com/
| |
− | * http://www.realvnc.com/
| |
− | * http://ultravnc.sourceforge.net/
| |
| | | |
− | Codice maligno è codice progettato per fare danni volutamente ad un sistema,il tutto in modo che l'utente nn sappia nulla per nascondersi. Ce ne sono migliaia basta andare sui siti degli antivirus e vedere le liste(un centinaio di migliaia di voci). Saranno in circolazione dal 1980 circa,evolvendosi fino ai worm dei giorni nostri. Tipologie di malware:
| + | === Giudizio sul corso === |
| + | {{Giudizio}} |
| + | {{Giudizio/Interesse|5|5}} |
| + | {{Giudizio/Difficoltà|2|4}} |
| + | {{Giudizio/Nonfrequentanti|5}} |
| + | {{Giudizio/Ore|3|4}} |
| | | |
− | * [http://it.wikipedia.org/wiki/Virus_%28informatica%29 virus]: prog maligno in grado di replicarsi autonomamente,una volta eseguito prende possesso di gran parte del sistema,necessitando di un ospite,da solo nn funzia,ha bisogno di un prog che venga eseguito e il quale esegua a sua volta il virus contenuto in esso. L'ospite va diffuso per propagarsi,non si distribuisce da sè,può solo infettare nuovi files.
| + | [[Categoria:Corsi Primo Semestre]] |
− | * [http://it.wikipedia.org/wiki/Worm worm]: nn necessita un ospite per diffondersi,è un programma che può assumere varie sembianze ma funziona da sè. Si propaga in modo autonomo. Mail con allegati solitamente,essi sono worm. Può sfruttare vulnerabilitàò dei sistemi per entrare automaticamente in esecuzione e diffondersi.
| |
− | * [http://it.wikipedia.org/wiki/Backdoor backdoor]: prog per bypassare le protezioni e consentire il controllo del sistema remotamente. uno famoso è [http://it.wikipedia.org/wiki/Back_orifice BackOrifice],tool di amministrazione remota,fa la stessa funzione di VNC,lanciato i lserver sulla macchina remota mi posso collegare all'host e zombificarlo,amministrandolo senza avere il permesso altrui. Rientrano tipologie di software che permettono l'amministrazione remota senza il permesso dell'admin.
| |
− | * [http://it.wikipedia.org/wiki/Trojan trojan horse]: prog che dicono di far una certa cosa ma nefanno anke un'altra nascosta. NOn sono concepiti per replicarsi automaticamente,per propagarlo un modo classico è diffondere il software nei sistemi di filesharing implementandolo in alcuni programmi craccati. Prendono possesso del sistema e inviano informazioni mandandole a host remoti.
| |
− | * [http://en.wikipedia.org/wiki/Rootkit rootkit]:
| |