Differenze tra le versioni di "Sicurezza"

Da WikiDsy.
(Lezione di Lunedì 24-10-05)
(Lezione di Lunedì 24-10-05)
Riga 205: Riga 205:
 
<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;
 
<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]
 
* Sono esempi di protezioni hardware quelle proposte dal TCG: vedi [http://www.complessita.it/tcpa/ qui] e [http://www.no1984.org/ qui]
 +
: '''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. SELinux è tra B1 e B2,Windows NT 5.0 è tra C2 e B1;
 
* [http://www.nsa.gov/selinux/index.cfm SELinux all'NSA]
 
* [http://www.nsa.gov/selinux/index.cfm SELinux all'NSA]

Versione delle 19:14, 27 ott 2005


Sicurezza, anno 2005/2006

Sicurezza è un corso complementare per la laurea in comunicazione digitale e altri corsi di laurea.

=== Docenti === Danilo Bruschi e-mail: <bruschi [at] dico [dot] unimi [it]>

Orari delle lezioni

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 qui trovate il programma del corso (vedi 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: sconosciuto

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

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;
  • PRATICA: implementazioni varie su Linux;

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:
    1. Non esiste alcun sistema sicuro;
    2. La sicurezza costa in termini di:
      1. soldi;
      2. tempo;
      3. privacy;
      4. 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:
    1. informazioni,dati memorizzati;
    2. servizi erogati dalla macchina e loro uso;
    3. la protezione dei precedenti implica la protezione delle persone che stanno dietro ad essi;
  • Chi fa sicurezza deve garantire che un sistema goda di:
    1. confidenzialità;
    2. integrità;
    3. 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.
Alcuni link d'interesse che trattano la storia:

http://snowplow.org/tom/worm/worm.html

http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-sg-it-4/ch-sgs-ov.html

N.B.: tutti i link a pagine esterne al wikiDsy sono stati inseriti dal sottoscritto e NON dal professore

Lezione di Mercoledì 5-10-05

  • Introduzione del corso;
  • Installazione di Debian tramite VMWare;

Vedere qui per scaricare la versione di prova; altri emulatori utilizzabili sono Qemu e Bochs

Lezione di Lunedì 10-10-05

Introduzione alla crittografia

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: qui potete leggere in breve come si comporta questo codice e quiun esempio di crittanalisi che sfrutta le ricorrenze dei caratteri;
    • Aenigma: codice trattato esaurientemente in wikipedia. 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 DES(molto usato per le transazioni bancarie);
    • visti i limiti del DES,vengono sviluppati 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 quie il libro on-line Kriptonite anche scaricabile in formato PDF compresso in uno zip
Altro approfondimento: qui

N.B.: tutti i link a pagine esterne al wikiDsy sono stati inseriti dal sottoscritto e NON dal professore

Lezione di Mercoledì 12-10-05

Ripasso in veloce carrellata dei permessi classici in Linux:

  • rwx,umask
  • SGID,SUID per i files;
  • Sticky,SGID per le directories;
  • ripasso dei seguenti comandi:
    • chattr: modifica gli attributi;
    • lsattr: mostra gli attributi impostati per la lista;
    • chown: cambio propietario o gruppo per un file;
    • chgrp: cambia solo il gruppo al file;
    • chmod: cambia permessi classici(propietario,gruppo,resto del mondo);

Abbiamo visto due files importanti:

  • /etc/passwd: contiene account utente,uid,gid,home,shell..;
  • /etc/shadow: contiene la password leggibile solo dall'utente root,e vari suoi attributi;
la password è cifrata tramite DES o MD5 (vedi rfc);
  • ACL (Access Control List):
    • è possibile aggiungere utenti o gruppi con un nome specifico;i comandi ACL possono rimpiazzare quelli di chmod; 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;

Nella prossima lezione di laboratorio(o quella ancora successiva) si parlerà del software PGP,quindi anticipo alcuni link utili:

  • PGP 9 (trialware): quidopo i 30 giorni è possibilie ancora utilizzarlo con meno opzioni;
  • PGP versioni storiche: qui
  • Gnu Privacy Guard: questo è un sostituto completo e libero di PGP;
  • guida PGP e altre info: qui e qui

N.B.: tutti i link a pagine esterne al wikiDsy sono stati inseriti dal sottoscritto e NON dal professore. Inoltre non è ancora stato trattato l'argomento PGP,questo vuole solo essere un anticipo

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;

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^9 di chiavi; algoritmi migliori ci riescono per chiavi di 56 bit in circa 35 giorni;
    • lista di Certification authority: qui

--- PROTEZIONE DI UN SISTEMA OPERATIVO

  • Stratificazione in un sistema informatico:
  1. Applicazioni;
  2. Sistema operativo:
    1. Interfaccia applicazioni;
    2. Servizi di sistema operativo;
    3. kernel;
  3. 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.
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 qui e qui
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. SELinux è tra B1 e B2,Windows NT 5.0 è tra C2 e B1;
  • SELinux all'NSA