Optional group:
comune Orientamento unico QUATTRO A SCELTA TRA - (show)
|
24
|
|
|
|
|
|
|
|
20801791 -
CONCURRENT PROGRAMMING
(objectives)
The goals of the course are: understanding the main aspects of concurrent programming; using popular programming languages to solve concurrent problems; identifying a few promising recent trends in the methodologies and technologies.
-
CRESCENZI VALTER
( syllabus)
Concurrent Programming Fundamentals • Sequential and Parallel Process • Finite Progress Assumption, Fairness and Deadlock • Bernstein conditions, and interference • Dijkstra Semaphores • Conditional Critical Regions • Monitors • Classic Problems
UNIX: Threads and Processes • Process creation: fork() & exec() • IPC: signals, pipes, shared memory, semaphores • POSIX Threads: pthread_create() • thread synchronization: mutex, condition variable, semaphores • thread specific data (TSD) • Unix Client/Server Programming • socket API , TCP vs UDP • Competition problems server side
Java thread • thread creation • java monitor • java cooperation: wait() & notify() • programming techniques for thread-safeness • java.util.concurrent API
Advanced Topics • non-blocking algorithms • concurrent programs testing • modello ad attori • reactive streams
( reference books)
BRIAN GOETZ. JAVA CONCURRENCY IN PRACTICE - ADDISON WESLEY DOUG LEA. CONCURRENT PROGRAMMING IN JAVA - Second ED. - ADDISON WESLEY MAURICE HERLIHY, NIR SHAVIT. THE ART OF MULTIPROCESSOR PROGRAMMING - MORGAN KAUFMANN
|
6
|
ING-INF/05
|
54
|
-
|
-
|
-
|
Core compulsory activities
|
ITA |
20801795 -
INFORMATION SYSTEMS AND NETWORK SECURITY
(objectives)
We intend to provide the student with competencies needed for understanding and tackle security problems for ICT systems, to design networks and computing systems with a certain degree of security, and to manage activities related to computer science security and compliance with Italian law.
-
PIZZONIA MAURIZIO
( syllabus)
• INTRODUZIONE AL CORSO • INTRODUZIONE ALLA SICUREZZA INFORMATICA E TERMINOLOGIA • VULNERABILITÀ E MINACCE • VULNERABILITÀ DEL SOFTWARE INPUT FIDATO E NON FIDATO, VALIDAZIONE DELL'INPUT. VULNERABILITÀ DI APPLICAZIONI SCRITTE IN LINGUAGGI INTERPRETATI, CODE INJECTION. • ESEMPIO DI SITO VULNERABILE A SQL INJECTION • ATTACCHI DI TIPO BUFFER OVERFLOW. EXPLOITATION: PRIVILEGE EXCALATION, INTRUSIONI VIA RETE TRAMITE SERVIZI APERTI, INTRUSIONE VIA DOCUMENTI NON FIDATI (VIA EMAIL, VIA WEB O ALTRO). • ESEMPIO DI CODICE VULNERABILE A BUFFER OVERFLOW E RELATIVO EXPLOIT • SECURE PROGRAMMING. • MALAWARE E SCOCIAL ENGINEERING: VIRUS, WORM, TROJAN, ROOTKIT, BACKDORS, SNIFFER, SPYWARE, ADWARE, ECC. SCRIPT KIDDIES. PHISHING E CROSS-SITE SCRIPTING. • VULNERABILITÀ DELLE RETI: SNIFFING, MAC FLOOD, ARP POISONING, VULNERABILITÀ DEL DNS. TCP SESSION HIJECKING, ATTACCHI MITM, DOS E DISTRIBUTED DOS, ROUTE HIJECKING. • ESERCIZI SU VULNERABILITÀ • CONTROMISURE • PRINCIPI DI PROGETTAZIONE DI POLITICHE E MECCANISMI • MODELLI: AAA, CONFINAMENTO, DAC, MAC, ACCESS CONTROL MATRIX, • SICUREZZA DEI SISTEMI: • PRINCIPI GENERALI (PASSWORDS E VULNERABILITÀ, METODOLIGA DI HARDENING, ASSESSMENT E AUDITING) • UNIX (CONTROLLO DI ACCESSO DISCREZIONARIO, SICUREZZA NEL FILESYSTEM, AUTENTICAZIONE, PAM, HARDENING, SYSLOG) • CONFINAMENTO IN SISTEMI DAC (JAILING E VIRTUALIZZAZIONE), SELINUX • WINDOWS: NTFS • SICUREZZA DEI SISTEMI RFID • ESERCIZI SU ACCESS CONTROL E SICUREZZA DI SISTEMA. • SICUREZZA DELLE RETI: • SICUREZZA A LIVELLO 1 E 2, FIREWALL STATELESS E STATEFULL, LINUX NETFILTER ED ESEMPI DI CONFIGURAZIONI, PROXY E LORO VULNERABILITÀ. SUDDIVISIONI DI CARICO E FULL HIGH-AVAILABILITY. INTRUSION DETECTION SYSTEMS DI RETE. • ESERCIZI SULLA SICUREZZA DELLE RETI. • TECNICHE CRITTOGRAFICHE: • RICHIAMI DI CRITTOGRAFIA (HASH, SIMMETRICA, ASIMMETRICA, MAC, FIRMA DIGITALE), ATTACCHI BIRTHDAY, RAINBOW, QUALITÀ DELLE CHIAVI, GENERAZIONE DI NUMERI PESUDO-CASUALI. • PROTOCOLLI DI AUTENTICAZIONE E DI SCAMBIO DI CHIAVI. ATTACCHI REPLAY E REFLECTION. NONCES. • ESERCIZI SU PROTOCOLLI DI AUTENTICAZIONE E SCAMBIO DI CHIAVI. • CERTIFICATI, CERTIFICATION AUTHORITY, PUBLIC KEY INFRASTRUCTURE E LORO VULNERABILITÀ. APPLICAZIONI: POROTOCOLLI SSL, TLS, SSH, VIRTUAL PRIVATE NETWORK, IPSEC, PPTP. PROTOCOLLI DI AUTENTICAZIONE PUNTO-PUNTO PAP, CHAP, MS-CHAP, EAP. AUTENTICAZIONE DEGLI UTENTI IN RETE LOCALE 802.1X, RADIUS E VULNERABILITÀ. • ASPETTI GESTIONALI: PIANIFICAZIONE, PROGETTAZIONE E NORMATIVA. • STANDARD E CERTIFICAZIONE: TCSEC, ITSEC, COMMON CRITERIA, ISO17799, ISO27001 • PIANIFICAZIONE DELLA SICUREZZA: OBBLIGHI NORMATIVI RELATIVI AL DLGS 196/2003 E IL DPS, IL PIANO DI SICUREZZA AZIENDALE (CONTENUTI, VANTAGGI ORGANIZZATIVI, POLICY, STATO ATTUALE, ANALISI DEI RISCHI, REQUISITI, CONTROMISURE, RISPOSTA AGLI INCIDENTI, BUSSINES CONTINUITY, DISASTER RECOVERY). • ESERCIZI SU PIANIFICAZIONE, PROGETTO E NORMATIVA (SOLUZIONI). • ARGOMENTI SOLO PER GLI STUDENTI DELL'ORDINAMENTO DM270. • STRUTTURE DATI AUTENTICATE • SICUREZZA DI SISTEMA - WINDOWS
( reference books)
MATERIALE FORNITO DAL DOCENTE. TESTI DI RIFERIMENTO • M. BISHOP, "COMPUTER SECURITY: ART AND SCIENCE", ADDISON-WESLESY. • C. KAUFMAN, R. PERLMAN, M. SPECINER, "NETWORK SECURITY: PRIVATE COMUNICATION IN A PUBLIC WORLD (SECOND EDITION)", PRENTICE HALL. • C. PFLEEGER, S. PFLEEGER, "SICUREZZA IN INFORMATICA", PEARSON - PRENTICE HALL. • M. E. RUSSINOVICH, D. A. SOLOMON, "MICROSOFT WINDOWS INTERNALS, FOURTH EDITION", MICROSOFT PRESS.
|
6
|
ING-INF/05
|
54
|
-
|
-
|
-
|
Core compulsory activities
|
ITA |
20801798 -
INTELLIGENT SYSTEMS FOR THE INTERNET
(objectives)
To describe the problems relative to the study, realization and experimentation of software systems for the Internet, realized by means of Artificial Intelligence techniques. The focus is on the adaptive systems based on user modeling.
-
MICARELLI ALESSANDRO
( syllabus)
1. Introduzione ai Sistemi Intelligenti per Internet • Adaptive Web • Processi di Information Seeking
2. Information Retrieval nella Pratica • Architettura dei Motori di Ricerca • Metodi di elaborazione di documenti testuali • Tecniche di Ranking dei documenti • Modelli di Retrieval • Caso di studio: Il motore di ricerca open-source Galago
3. Machine Learning e Information Retrieval • Classificazione e Categorizzazione • Support Vector Machines • Clustering
4. User Modeling e Personalized Search • Tipologie di Modelli Utente • Tecniche di Modellazione Utente • Accesso personalizzato alle informazioni • Content-based Information Filtering
5. Social Search e Recommender Systems • User Tags e Manual Indexing • Searching with Communities • Collaborative Filtering • Recommender Systems
6. Metodi di Valutazione Sperimentale • Metriche per la valutazione sperimentale dei SII • Metodi statistici di hypothesis testing • Casi di studio
7. Seminari • Seminari di approfondimento su temi trattati a lezione
( reference books)
BRUSILOVSKY, KOBSA E NEJDL "THE ADAPTIVE WEB: METHODS AND STRATEGIES FOR WEB PERSONALIZATION" SPRINGER, 2007.
DISPENSE INTEGRATIVE A CURA DEL DOCENTE.
|
6
|
ING-INF/05
|
54
|
-
|
-
|
-
|
Core compulsory activities
|
ITA |
20810006 -
ADVANCED TOPICS IN COMPUTER SCIENCE
(objectives)
The goal of the course is to present models, methods and systems related to the latest advances in the field of information technology able to meet the requirements of modern applications. The course is taught in English by foreign professors of high qualification
|
6
|
ING-INF/05
|
54
|
-
|
-
|
-
|
Core compulsory activities
|
ENG |
|