Differenze tra le versioni di "Progetto della sicurezza di rete/2006-2007"

Da WikiDsy.
(Diario del corso)
(Diario del corso)
Riga 226: Riga 226:
 
* Le informazioni di riferimento compreso i manuali sono reperibili su:
 
* Le informazioni di riferimento compreso i manuali sono reperibili su:
 
** http://drpaulcarter.com
 
** http://drpaulcarter.com
 +
 +
=== Lezione di Lunedì 06 novembre 2006 ===
 +
* Istruzioni NASM
 +
** Tipi di istruzioni
 +
* Debugging
 +
* Schema di un programma
 +
 +
* Esercizio in aula
 +
** Scrivere un programma Assembler che chiede in input due numeri interi e stampa la loro somma, differenza, prodotto, quoziente e resto.
 +
** Predisporre il programma affinché durante la sua esecuzione stampi il contenuto delle locazioni di memoria che contengono i dati di input
 +
** Assmblare generando anche il corrispondente listato del compilato
 +
 +
* Istruzioni di controllo
 +
* Salti
 +
 +
==== HMW consigliato ====
 +
* Imparare ad usare il debugger C: gdb (sotto Linux)
 +
 +
==== HMW #4 ====
 +
* Scrivere un programma assembler che carica un array di 10 numeri interi con segno e calcola:
 +
** la somma e il prodotto degli elementi di posizione pari
 +
** la differenza di quelli di posizione dispari
 +
** il quoziente e il resto tra il prodotto degli elementi di posizione pari e quelli di posizione dispari.
 +
* Scrivere un programma assembler che carica un array di 100 elementi interi senza segno con numeri casuali, li ordina e stampa sia l'array disordinato che quello ordinato (scegliere un algoritmo di ordinamento).
 +
* Consegna entro Domenica 12 novembre 2006 alle 24.00

Versione delle 14:50, 8 nov 2006


News

Lezioni cancellate/spostate

La lezione di Lunedì 16 ottobre 2006 non si terrà, causa Lauree in aula Beta.

Appelli

[...]

Informazioni generali

Progetto della Sicurezza di Rete è un corso complementare per le Lauree Magistrali.

Docenti

Corsi di laurea

Modalità d'esame

  • Homeworks (quasi) settimanali (che costituiranno il 70% della valutazione)
  • Prova pratica di laboratorio (che costituirà il 30% della valutazione)

Prerequisiti al corso

  • Tanta voglia di impegnarsi e di studiare
  • Conoscenza di Linux
  • Conoscenza del linguaggio C
  • Conoscenze di Reti di Calcolatori

Orari e luogo delle lezioni

Orario di ricevimento studenti

  • Ricevimento su appuntamento tramite email
  • Stanza P115

Informazioni specifiche

Siti del corso

Forum del corso (non ufficiale)

Materiale didattico

Programma del corso

Testi

  • Nessun libro di testo è stato consigliato

Altro materiale consigliato

Link utili

Diario del corso

Lezione di Lunedì 02 ottobre 2006

HMW #1

  • Predisporre una relazione in formato elettronico che affronti a livello introduttivo i seguenti argomenti:
    • Che cos'è la sicurezza informatica
    • Definizione dei termini di riferimento: bug, security bug, vulnerabilità, exploit, fault, failure, safety, dependability
    • Breve storia dell'Hacking
    • Aspetti etici del computer hacking, full disclosure e responsible disclosure
    • Bibliografia di riferimento
  • Consegnare via email al Prof. entro Lunedì 16 ottobre 2006

Lezione di Lunedì 09 ottobre 2006

  • Sicurezza dei sistemi operativi
    • Cos'è un S.O.
  • Meccanismi di protezione
    • S.O. standard
    • S.O. trusted
      • Common Criteria, Standard ISO per la sicurezza informatica CC su en.wikipedia.org
      • Evaluation Assurance Level (EAL)
      • Selinux, esempio di trusted S.O.
  • Protezione del S.O.
    • Separazione fisica
    • Bit di stato
    • Controled invocation
  • Protezione di oggetti/soggetti del sistema da altri soggetti
    • Soggetti, Oggetti, Right
    • Protezione dei processi
    • Protezione della memoria
    • Paginazione, Segmentazione
    • Tagged architecture
    • Controllo degli accessi
    • Problematiche connesse
    • Matrice degli accessi
    • Controllo discrezionale e Controllo mandatorio
    • Access Control List (ACL)
    • Capability (directory)
    • Token (capability)
  • Auditing e Logging
    • Struttura di un sistema di audit
  • Ciclo di vulnerabilità
  • Severity di vulnerabilità
  • Politiche di disclosure
    • Responsible disclosure
  • Database vulnerabilità
    • Bugtraq
    • CVE - Common Vulnerabilities and Exposures

Lezione di Lunedì 23 ottobre 2006

HMW #2

  • Predisporre una relazione in formato elettronico sulla sicurezza dei sistemi operativi in cui:
    • Siano descritte le principali criticità legate alla sicurezza del S.O.
    • Siano descritte le principali protezioni che possono essere implementate a livello di sistema operativo, secondo TCSEC
    • Sia descritto come queste misure sono praticamente implementate in un sistema operativo reale a scelta.
  • Decodificare (con l'ausilio di un password cracker a scelta) il file delle password presente sul sito del corso e consegnare il listato del file decifrato. Lo studente che sarà riuscito a decifrare il maggior numero di password riceverà un bonus punti.
  • Consegna entro Lunedì 6 novembre 2006 alle ore 24.00.

Lezione di Lunedì 30 ottobre 2006

  • WINXP
    • Subjects and tokens
    • Security token
    • Oggetti
    • Security descriptor
    • Owner
    • DACL e ACE
    • Access rights
    • Generic permission
    • Access control entry
    • NULL DACL
    • Type e Object type
    • Inheritance
      • Inheritance Flags
    • ACE Inheritance
    • Inheritance ObjectType
  • Audit Logs in Unix
  • Audit in Windows
  • Assembler IA-32
    • Linguaggio Assembly
    • Processori 80x86
  • Memoria
  • Memory model
    • Flat
    • Segmentata
    • Real-address
  • Modalità CPU
    • Protected Mode
    • Real-address Mode
    • System Management Mode (SMM)
  • Registri del processore
  • Linguaggio Assembly
    • AT&T
    • DOS/Intel Syntax (Intel Assembler, NASM) [quello scelto per il corso]
      • Direttive
      • Istruzioni
      • Stack

HMW #3

  • Installare sul proprio PC l'assemblatore NASM ed il relativo ambiente di sviluppo
  • Studiare i primi due capitoli del libro su NASM
  • Le informazioni di riferimento compreso i manuali sono reperibili su:

Lezione di Lunedì 06 novembre 2006

  • Istruzioni NASM
    • Tipi di istruzioni
  • Debugging
  • Schema di un programma
  • Esercizio in aula
    • Scrivere un programma Assembler che chiede in input due numeri interi e stampa la loro somma, differenza, prodotto, quoziente e resto.
    • Predisporre il programma affinché durante la sua esecuzione stampi il contenuto delle locazioni di memoria che contengono i dati di input
    • Assmblare generando anche il corrispondente listato del compilato
  • Istruzioni di controllo
  • Salti

HMW consigliato

  • Imparare ad usare il debugger C: gdb (sotto Linux)

HMW #4

  • Scrivere un programma assembler che carica un array di 10 numeri interi con segno e calcola:
    • la somma e il prodotto degli elementi di posizione pari
    • la differenza di quelli di posizione dispari
    • il quoziente e il resto tra il prodotto degli elementi di posizione pari e quelli di posizione dispari.
  • Scrivere un programma assembler che carica un array di 100 elementi interi senza segno con numeri casuali, li ordina e stampa sia l'array disordinato che quello ordinato (scegliere un algoritmo di ordinamento).
  • Consegna entro Domenica 12 novembre 2006 alle 24.00