Security in Software Applications

Sicurezza nelle Applicazioni Software

2° semester  2015-2016


Instructor :   Francesco Parisi-Presicce
Office :  Via Salaria 113, third floor, room 342   
desk phone 06 4991 8512
Email: parisi (AT) di   (DOT) uniroma1 (DOT) it  (include SoftSecurity in Subject  )
Orario ricevimento studenti (Office Hours):  Mon/Wed after class (until 13 June 2016) and by Appointment



Theory and practice of software security, focusing in particular on some common software security risks, including buffer overflows, race conditions and random number generation, and on the identification of potential threats and vulnerabilities early in the design cycle. The emphasis is on methodologies and tools for identifying and eliminating security vulnerabilities, techniques to prove the absence of vulnerabilities, and ways to avoid security holes in new software, and on essential guidelines for building secure software: how to design software with security in mind from the ground up and to integrate analysis and risk management throughout the software life cycle.


The exam will consist of an oral part, the solution of some homework problems and/or small projects periodically assigned by the instructor and possibly (depending on the size of the class) the presentation in class and discussion of a project agreed upon with the instructor. The project could be developed in teams and deal with theoretical  and/or practical aspects of software security.
The solutions to the assigned problems and the oral examination are *individual* endavours. Substantial overlap or the indication that they have been "shared" will make them void and will cause the 'perpetrators' to skip an exam session.

L'esame consiste in una prova orale, la risoluzione di alcuni problemi e/o piccoli progetti assegnati periodicamente durante il corso dal docente, e (forse: dipende dalle dimensioni della classe) la presentazione a lezione e discussione di un progetto concordato con il docente. Il progetto può essere sviluppato in gruppi di uno o due studenti e può riguardare sia aspetti teorici che aspetti pratici della sicurezza nelle applicazioni.
La consegna delle soluzioni dei problemi e la prova orale sono individuali. Se ci sono significativi indizi che portano a credere che il progetto o le soluzioni consegnati siano stati copiati in tutto o in parte, il progetto o le soluzioni è/sono considerati nulli.


An undergraduate security course is not a prerequisite..
Students are expected to have some basic knowledge of programming (C, Java), Operating Systems and Databases (SQL)

Non è richiesto il superamento di un corso di sicurezza della triennale, ma conoscenze di sicurezza sono ovviamente utili.
Si presume che lo studente abbia conoscenze adeguate di programmazione (C, Java), Sistemi Operativi e Basi di Dati (SQL).

 Schedule of LECTURES / Diario delle LEZIONI

(frequently updated / in continuo aggiornamento )  



  Useful Links


Warning In class, we may discuss vulnerabilities in general computer systems. This is NOT intended as an invitation to go and exploit those vulnerabilities. Breaking into other people's systems is inappropriate, and the existence of a security hole is no excuse.