Computer security and privacy

COM-301

Media

Media

This file is part of the content downloaded from Computer security and privacy.
Course summary

General Information

General

Lecturer: Prof. Edouard Bugnion


Assistants

  • Klim Kireev (SPRING)
  • Mathilde Raynal (she/her, SPRING)
  • Boya Wang (SPRING)
  • Saiid El Hajj Chehade (SPRING)
  • Christian Knabenhans (SPRING)
  • Malo Perez (CVLab)
  • Marwan Azuz (AE)
  • Florian Kolly (AE)
  • Hugo Majerczyk (AE)
  • Pierre-Hadrien Levieil (AE)

Most Important Information

  • Lectures will be held only in-person every Tuesday 15h15-17h00 in CE4. 
  • Exercise sessions will be live and in-person every Thursday, 8h15-10h00
  • the mid-term will be in-person and on site (on Thursday Nov 7 (closed book))
  • the final exam will be held in-person and on site during the exam session in Jan/Feb (closed book)


In More Detail


Course Logistics

From Tuesday Sept 3 on, every following week will have the same structure: 

  • Tuesday (15h15-17h00 in CE4). In-person lecture followed by an interactive exercise session led by Prof. Edouard Bugnion.   Due to the high class enrollment, there will be a livestream to the overflow room CM011
  • Thursday (8h15-10h00 in BS160, BS170, CE2): Q&A time followed by an interactive exercise session (in small groups)

  • 8h15-9h00: During the Q&A time, the TAs will be available to answer questions about the programming homework (graded assignments), theory exercises, or lecture material. The TAs best suited to answer questions about the programming homework are: Hugo, Marwan, Florian, and Pierre-Hadrien. The TAs best suited to answer questions about theory are Klim, Mathilde, Boya, Saiid, Christian, and Malo. 

  • 9h15-10h00: During the interactive exercise session, each TA will lead a small group of students to solve a set of exercises, often questions from previous exams, published before the session


Course Activities

There are four different types of activities that you are expected to actively participate in

  • Lectures: Lectures will be held live and in-person this year. Slides (without notes) will be published before the start of each week's lecture. The lectures will convey the theoretical foundations that you will need to participate in all other course activities. You are expected to attend lectures to follow the course material. As a backup, recordings of the lectures from 2021 will be published.
  • Interactive exercise sessions: Interactive exercise are a set of questions we will solve together (either the whole class or in small groups, see above) in an interactive manner. Mostly, these questions are very open and thus do not have one single correct solution. You are not expected to solve these exercises before coming to the interactive exercise session. The only preparation needed is to attend the lecture given that week. Some notes about the proposed solutions will be published after the exercise sessions. However, these are not a replacement for attending the exercise session itself and actively participating in the discussion. We expect students to actively participate in the interactive exercise sessions on Tuesdays and Thursdays. Actively participating enables students to practice their security skills and learn from their mistakes. This helps to better understand of the concepts taught in this course and will greatly help at the time of taking exams.
  • Programming homeworks: These are graded assignments that you are expected to solve on your own and individually at home. If you get stuck or need help, the TA team will be available during dedicated hours to answer your questions.
  • Theory exercises: Each week, we will publish an exercise sheet with some theory questions about the content of the course. These exercises are meant to help you revisit the course material and prepare for the midterm and the final exam. At the end of each week, we will release written solutions to these exercises. You are expected to solve theory exercises at home. If you have trouble solving some of the exercises or to understand the proposed solutions, the TA team will be available during dedicated hours to answer your questions.


"I have a question"
Thursday Q&As: The best way we can help you is in-person, during the dedicated Q&A time every Thursday between 8h15-10h00 (see above). No matter whether it is about the programming homeworks or about the lecture material, during this hour there will be someone around who can sit down with you and discuss your question with you in detail. We strongly encourage you to make use of this time.

Ed Forum: Outside the exercise sessions, the Ed platform is a great place for asking a question. The big benefit of asking a question on Ed is that you will very quickly realise that at least two (probably more) of your peers were asking themselves the exact same question and will be very grateful that someone posted about it here. You will also benefit from the fact that you might have to wait much less for an answer given that not only the teaching team but also other students can respond to your question, often steering a much more interesting discussion than what the teaching team could come up with.

Mail: If you want to ask a question by mail, please send it to com301@groupes.epfl.ch. We will do our best to answer questions quickly but please be considerate that we do not guarantee to check mails over the weekend or holidays. If you haven't heard anything from us for more than two working days, we would appreciate a quick reminder because your message might have gotten lost somewhere.

Student hours: We have hours reserved in our calendars to have one-to-one (or small group) meetings. To set up a meeting send an email to the person you want to meet with to agree on when and how to meet.

Grading

The final grade is computed as the maximum of the following two combinations

  • 60% final ; 30% mid-term ; 10% homework
  • 90% final; 10% homework

This means that the other activities: written exercises, assignments, in-class participation, will not be graded. Yet, we strongly recommend you perform them with the same attention as they will greatly help you in your graded activities

Homeworks will be announced on the grading system (com301.epfl.ch). Each homework will be graded on 100 points. The final homework grade will be computed on the total of 500 points.  There is zero tolerance for collaboration on the homeworks.  Before the first homework, get your Linux environment ready (Virtualbox).  You may collaborate on the setup.  More information on the homeworks and the publication and hand-in days can be found in the Programming homeworks page.

Reference books

(Here you can find a mapping between concepts taught in the course and these books in the section below)



Resources (previous exams, videos, programming homeworks)


Week 1.0: Preliminaries and Course Info


Week 1.1: Basic Concepts


Week 2: Security Principles


Week 3: Access Control I - Discretionary Access Control


Week 4: Access Control II - Mandatory Access Control


Week 5: Applied Cryptography I


Week 6: Applied Cryptography II


The Theory Exercises for Week 6 are included in the exercise sheet provided last week (Theory Exercises 5).


Week 7: Authentification


Week 8: Adversarial Thinking I


Week 9: Adversarial Thinking II


Week 10 - Software Security


Week 11 - Network Security I


Week 12 - Network Security II


Week 13 - Privacy


Week 14 - Malware