Student Projects

Available MSc, BSc and PhD Semester Projects

In this page you can find our offering for semester projects. Students who are interested to do a project are are encouraged to have a look at the Thesis & Project Guidelines from the MLO lab, where you will gain understanding about what can be expected us and what we expect from students.

Last Update: 24th November 2021

How to apply:

Please, apply via the Google form. You will need to specify which project(s) you are interested in, why you are interested, and if you have any relevant experience in this area. To access the form you need to login with your EPFL email address.

We process students in two rounds. We collect applications for projects for the first round until December 1, 2021. We will get back to you about your application between the 2nd and 10th of December. If we do not get back to you during the indicated period, we unfortunately did not have space.

We will leave the form open for late applications. If by January 10 there are still projects open we will consider all applications submitted by then. We strongly recommend that you apply by the early deadline for best consideration. We expect many projects to be gone after the first round.

External students: Students that are not from EPFL should get in touch personally with the supervisors of the project(s) via email.

Early deadline: December 1, 2021
First Contact with Supervisors: December 2, 2021 — December 10, 2021

Late deadline: January 10, 2022
First Contact with Supervisors: January 11, 2022 — January 17, 2022

If you encounter any technical issue please get in touch with Laurent Girod.

Projects on Machine Learning

ML1: Cracking Passwords with Deep Learning Taken

Enforcing the security of password-based authentication protocols requires us to create realistic adversary models capable of accurately simulating real-world guessing attacks. In this project, we will rely on deep learning techniques to model and replicate guessing attacks in the targeted context.

Requirements
  • Python and deep learning frameworks (TensorFlow2.x is preferred).
  • Practical experience with deep learning (NLP especially).
  • Knowledge of Seq2Seq models. Knowledge of transformer networks is a (huge) plus
Further details

This semester project is aimed at one MSc student. The student will work with Dario Pasquini.

 

ML2: Robust NN Architectures for Tabular Data Taken

Tabular data is a rare domain in which Deep Learning has not been widely used yet. Traditionally, neural networks showed worse performance than Decision Tree-based algorithms (gradient boosting, random forest, etc.). Recently, new approaches (e.g. TabNet) capable of the same or even better performance have appeared. While demonstrating promising results, these models inherit a significant drawback of DNN – vulnerability to adversarial examples. Here is a bit more detailed overview of the DL application in the tabular domain.

In this project, we will explore the robustness properties of popular DNN architectures in the field, and try to modify them for better adversarial attack mitigation.

Requirements
  • Python and at least one of the deep learning frameworks (PyTorch is preferred).
  • Practical experience with deep learning.
  • Knowledge about adversarial robustness is a plus but not required
Further details

This semester project is aimed at one MSc student. The student will work with Klim Kireev.

 

ML3: Systematic Evaluations of ML Systems in Heterogenous Conditions

ML systems are well-known to exhibit disparate behavior for different types of data. For example, facial recognition systems have disparate performance on different demographic subgroups. In this semester project, we want to conduct systematic statistical evaluations of such disparate behaviors across a range of realistic ML tasks.

Requirements
  • Programming skills in Python; knowledge of scikit-learn and PyTorch/tensorflow
  • Practical experience with machine learning
Further details

This semester project is aimed at one MSc student. The student will work with Bogdan Kulynych.

 

Other labs with cool projects on Machine Learning (we can always consider co-supervision):

 DLab (Prof. West): https://dlab.epfl.ch/openings/projects/ 
 MLO (Prof. Jaggi): https://www.epfl.ch/labs/mlo/page-135359-en-html/

 

Projects on Network Security

Net1: Defenses Against QUIC Fingerprinting Taken

Website fingerprinting is a process by which an adversary aims to infer the website being visited by a user by analyzing network traffic. The SPRING lab has been studying the fingerprintability of QUIC, a transport layer network protocol that has recently been standardized and is seeing increasing deployment. The QUIC protocol specifies padding-based protections against website fingerprinting, but these have been found to be ineffective. In this project, we will study and develop effective alternatives to padding-based defenses against QUIC fingerprinting.

Requirements
  • Programming skills in Python
  • Basic knowledge of networking and Wireshark
  • Familiarity with web development
Further Details

This semester project is aimed at one BSc/MSc student. The student will work with Sandra Siby.

 

Projects on System Security

Sys1: Digital Contact Tracing for Low and Medium Income Countries [Taken]

Ever since the start of the COVID-19 pandemic, there has been a push to deploy technology as a means of pandemic mitigation. The SPRING lab has been heavily involved in the design and development of digital contact tracing systems, two of these are integrated in the SwissCOVID app.

Recently, we designed new protocols for use in a more challenging setting: low and medium income countries. Rather than using phones, we will use custom hardware that uses ultra-wide band (UWB) to accurately measure distance.

We are looking for a talented student that will implement this new protocol on embedded hardware and evaluate its performance.

Requirements
  • Good programming skills in embedded languages, e.g., C or Rust
  • Basic knowledge of applied cryptography
  • Experience developing for embedded hardware is a plus
Further Details

This semester project is aimed at one BSc/MSc student. The student will work with Wouter Lueks.

 

Sys2: Privacy-friendly aid distribution using smart cards [Taken]

In this project you will be implementing a privacy-friendly aid distribution system prototype for the International Committee of the Red Cross (ICRC). One of the key challenges in aid distribution is that due to fraud at different places, aid does not always end up with the people that need aid the most. This is problematic, because the total amount of resources available to the ICRC is limited.

We designed a system that preserves the privacy of recipients of aid while at the same time making fraud more difficult. In this system, each aid recipient will receive a smart card. In this project you will implement a prototype of this system, which includes a smart card implementation as well as the terminal software that will be used when registering recipients and when distributing aid.

Requirements
  • Good programming skills for embedded platforms, e.g., Java for JavaCard
  • Good programming skills in a general purpose language, e.g., Python
  • Basic knowledge of applied cryptography
  • Experience developing for embedded hardware is a plus
Further Details

This semester project is aimed at one BSc/MSc student. The student will work with Kasra EdalatNejad.