Study Programmes 2015-2016
INFO0045-3  
Introduction to computer security
Duration :
30h Th, 10h Pr, 8h Labo., 30h Proj.
Number of credits :
Master in computer science and engineering (120 ECTS)5
Master in computer science and engineering (120 ECTS)5
Master in computer science (120 ECTS)5
Master in computer science (120 ECTS)5
Master in computer science (60 ECTS)5
Lecturer :
Benoît Donnet
Language(s) of instruction :
English language
Organisation and examination :
Teaching in the second semester
Units courses prerequisite and corequisite :
Prerequisite or corequisite units are presented within each program
Course contents :
The course alternates theoretical lessons with practical ones. Three main themes  tackled during the semester are: cryptography, networking, and system security. The course is organized as follows:
Adminstrative Details
Introduction
Part 1: Cryptography
  • Chapter 1: Mathematics for Cryptography
  • Chapter 2: Concepts
  • Chapter 3: Symmetric Cryptography
  • Chapter 4: Asymmetric Cryptography
  • Chapter 5: Authentication
  • Chapter 6: Key Distribution
Part 2: Networking
  • Chapter 1: Firewalls
  • Chapter 2: Proxies
  • Chapter 3: Intrusion Detection Systems
  • Chapter 4: Network Attacks
  • Chapter 5: Spam
  • Chapter 6: Virology
Part 3: System Security
  • Chapter 1: Passwords
  • Chapter 2: Exploits
  • Chapter 3: Web Security
  • Chapter 4: Biometry
  • Chapter 5: Access Control
Learning outcomes of the course :
The objective of this course is to provide a first vision of the computer security and raise students awareness of computers security.
At the end of the course, students will be able to:
  • defend needs of protection and security
  • identify advantages and drawbacks, in term of security, of a computer system
  • expose fundamental principles in the set-to against computer criminality
  • develop a computer-based solution to a security issue
In addition, each student will develop several practical skills related to computer security. Each student will be able to use cryptographic Java libraries. Further, he will be able to set up firewall and NAT policies through iptables. Finally, any student will have the opportunity to improve his English skills.
Prerequisite knowledge and skills :
Each student is supposed to be able to program with a classic programming language (C - course INF0902 for CE students or course INFO2050 for CS students) and object oriented language (Java - course INFO0062).
In addition, the student must have a basic knowledge of networking (course INFO0010), operating systems (course INFO0940) and computation structures (course INFO0012).
To make easier laboratory sessions, each student should be familiar with a Unix environment (Linux, Mac OS X, Free BSD, OpenBSD).
Planned learning activities and teaching methods :
In addition to theoretical courses, weekly exercises lessons are organized in order to illustrate the theoretical lessons.  Those lessons are organized in class, or in front of a computer in the algorithmic laboratory.
Several assignments will be proposed during the semester.
The course is entirely given in English
Mode of delivery (face-to-face ; distance-learning) :
The course is given during the 2nd semester. Theoretical lessons are based on slides. The audience is supposed to actively participate to lessons and to take additional notes. If possible, one or several seminars will be organized, seminars in which professional in computer security will give a talk.
Recommended or required readings :
Slides are available, in printed format, at the Centrale des Cours. An electronic version (i.e., PDF) is also available on the course web page. Exercises are also available on the web page. Students are supposed to have, before each lesson, the slides and exercises.
None book is mandatory. However, for students willing to go further, those books might be a good starting point:
  • M. T. Goodrich, R. Tamassia. "Introduction to Computer Security". Person Ed., International Edition. 2010.
  • Wm. A. Conklin, G. G. White, C. Cothren, D. Williams, R. L. Davis. "Principles of Computer Secrutiy. Security+ and Beyond". Mc Graw Hill Higher Eduction Ed. 2004.
  • W. Stallings. "Computer Security: Principles and Practice". Prentice Hall Ed. 2011.
  • W. Stallings. "Cryptography and Network Security: Principles and Practice". Pearson Ed., International Edition. 2010.
  • G. Avoine, P. Junod, P. Oechslin. "Computer System Security".  EPFL Press.  2007.
  • D. Vergnaud.  "Exercices et Problèmes de Cryptographie".  Editions Dunod. 2012.
  • W. Du.  "SEED: A Suite of Instructional Laboratories for Computer SEcurity EDucation". Syracuse University. 2011.
Assessment methods and criteria :
Students are graded in two ways: assignments and exam.
Assignments
During the semester, students will have to do three assignments. Those assignments must be done by group of two (you cannot change the groups between assignments).
There will be three assignments.  The first assignment is about Cryptography (learning objective: Java cryptographic libraries, implementation of security protocols).  This assignment counts for 10% of the final grade.
The second assignment is about networking (NATs and firewalls configuration through iptables).    This assignment counts for 15% of the final grade.
In the third assignment, each group is required to give a 5 minute short presentation (+ 5min Q/A -- all in English) on recent information security related news published online (or in classic newspapers) after September, 15th, 2015.  The score will be given based on (1) the relevance of the news to the course; and (2) the cogency of the presentation. This assignment counts for 5% of the final grade.
All in all, assignments count for 30% of the final grade.
Those assignments are mandatory for accessing the exam.  In case of one assignment (or more) not being done, the student will not be allowed to present the exam (written and oral) will get an absence grade.
Exam
The exam, in June, is mandatory and made of two parts
  • Written Exam. It is about the practical part of the course (i.e., exercises). The exam lasts 4 hours (but normally, 3 hours should be enough). It counts for 20% of the final grade.
  • Oral Exam. It is about the theoretical part of the course. Any student randomly selects one question and prepares its answer on the board. It counts for 50% of the final grade.
The exam (both written and oral) is done during the June session. In case of failure, any student can do a resit (for both written and oral) during the August session. Failed assignments (grade < 10/20) should also be redone during the summer but, in this case, individually (the deadline will be the 1st day of the resit session). No support (Q/A sessions, explanations) will be provided, for the assignments, during the summer.
Work placement(s) :
Organizational remarks :
The course is given during the second semester.
Contacts :
Teacher: Benoit Donnet (email(benoit.donnet@ulg.ac.be) -- Office 1.15 (B28) )
TA: Yves Vanaubel (email(yves.vanaubel@run.montefiore.ulg.ac.be) -- Office R.85a (B28))
Items online :
Course Web Site
The course Web site is of the highest importance as it covers contact information, PDFs, course agenda, and assignment subjects.