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.

Important: All our places for student projects in the Spring semester are taken. If you are still interested in doing a semester project with us, we will have many new interesting semester projects for the Autumn semester soon!

Last Update: 10th February 2021

Applying to projects:

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.

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

We are gathering applications for projects during the Spring Semester 2021 via the Google form until 14th December 2020. We will get back to you about your application between the 14th and the 18th December via mail. We will then admit more applications. If by 15th January 2021 there are still some open projects, we will consider applications that were submitted by then.  

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

Projects on Machine Learning

ML1: Understanding Membership Inference Attacks on Synthetic Data [Taken]

There is a big push to publish and share datasets more widely with the promise that this will lead to new scientific discoveries and improve our lives. However, publishing sensitive datasets, such as health data, in an unsanitized form would breach the privacy of individuals who have contributed their data. Privacy-preserving data publishing techniques try to address this problem by providing a sanitised version of the raw data that still allows for useful data analysis but prevents the inference of private information about individuals. This turns out to be a highly challenging problem, however, and classical anonymisation techniques have failed across the board (see, for example, the Netflix Challenge disaster)

Synthetic datasets produced by generative models have been advertised as a silver-bullet solution to this problem. Synthetic data, it is claimed, “contains no personal data, making it suitable to release as open data” (NHS England).

However, as we have shown in a previous project, these claims do not hold true and synthetic datasets are still vulnerable to privacy attacks that infer sensitive information about individual records in the training data.

In this project, we will analyse why these attacks work, and why some generative models produce more vulnerable data than others. We will explore alternative model training techniques and how they influence the success of privacy attacks on the model’s output.  

  • Good knowledge of Python
    • Basic knowledge of data visualisation techniques in Python
  • Familiarity with supervised (classification models) and unsupervised machine learning techniques (generative models)

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

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

 DLab (Prof. West): 
 MLO (Prof. Jaggi):


Projects on Computer Graphics

CG1: 3D Rendering for Physical Attacks against ML [Taken]

Multiple artists and researchers are exploring the use of adversarial machine learning to create real-world objects that evade or mislead ML-based computer vision classifiers. Some examples are eyeglasses that prevent face detection, and patches on road signs that prevent the recognition of the signs. Such interventions are not rigorously tested in realistic conditions, and hence their effectiveness in the real world is unclear.

In this project, we will build tools that enable comprehensive testing of such real-world adversarial objects. You will build a software environment that can render multiple pictures of 3D scenes involving the adversarial objects from different angles. This tool can then be used to evaluate the performance of an intervention in settings that are close to realistic. As a stretch goal, you will use differentiable rendering to enable end-to-end creation of the adversarial objects that are effective in the real world.

  • Good knowledge of Python and PyTorch
  • Familiarity with the basics of 3D graphics: meshes, textures, rendering, etc.
  • (Optional) Familiarity with 3D modeling with, e.g., Blender
  • (Optional) Familiarity with adversarial machine learning
Further details

This semester project is aimed at one BS/MSc student. This is a joint project between SPRING lab and RGL lab. The student will work with Bogdan Kulynych and Merlin Nimier-David.

Projects on Web Security

Web1: Study of tracker behavioral patterns [Taken]

Detection of undesirable content on the web, such as trackers or unwanted advertisement, is important for security, privacy, and user experience. The SPRING lab has developed an automated tracker detection system, that builds graph representations of webpage load events and uses graph features to classify trackers.

In this project, we will investigate recent behaviors exhibited by trackers. We will trace these behaviors on our graph representations, to understand their prevalence on websites. We will also aim to understand what are common patterns of tracker behavior, and improve our classifier to better detect trackers.

  • Programming skills in Python
  • Familiarity with web development (JavaScript/HTML)
Further Details

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


Web2: Automated detection of website breakage from content blocking [Taken]

Tracking protection measures (such as ad-blockers) often result in ‘website breakage’ — loss of legitimate website functionality as a result of content blocking. This can hinder user experience and cause users to not adopt tracking protection tools.

Current approaches to detecting breakage are predominantly manual, resulting in a slow turn-around time to fix breakage. Last semester, the SPRING lab conducted an initial study of whether breakage detection can be automated, by analyzing changes caused in a website’s structure when content blocking is applied. In this project, we will continue this study, by focusing on two aspects. The first is to develop a method to obtain good examples of website breakage. The second is to build a graph representation of webpage load events and observe changes in the graph structure with different degrees of content blocking. We will trace back the patterns that cause breakage and use their properties to build features for a classifier that can detect breakage.

  • Programming skills in Python
  • Familiarity with web development (JavaScript/HTML)
Further Details

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

Projects on Cryptography

Crypto1: Tools for efficient zero-knowledge proofs [Taken]

Zero-knowledge proofs are an important cryptographic building block for building privacy-enhancing systems. But implementing, testing, and evaluating them is difficult and time-consuming. Even experienced programmers can easily make errors.

Therefore, we recently build the zero-knowledge swiss knife (zksk) library to provide an easy to use and composable API. In this project you will work on extending zksk’s ability to compose to other modern proof systems such as BulletProofs.

  • Excellent programming skills in for example Python
  • Good knowledge of applied cryptography and/or zero-knowledge proofs
Further Details

If you like diving deep into an often used, modern cryptographic tool, and are interested in making these tools more easily accessible, this might be a project for you. This project (semester or thesis) is aimed at one master student. The student will work with Wouter Lueks.

Projects on Systems

Systems1: Building secure systems for journalists [Taken]

Investigative journalism is essential for modern democratic societies to function well. Their investigations can highlight corporate misbehavior, corruption, crime, and societal injustice. However, globalization makes their investigations more difficult: journalists now need to collaborate more frequently, often with colleagues in other countries. How do they know who to collaborate with, and how do they collaborate securely?

The SPRING lab has been working with journalists to build secure tools and systems that can help them in their investigations. In one project we are building a system for securely searching documents held by other journalists, enabling journalists to find possibilities to collaborate. In another, we are building a system to enable secure referencing and archiving of published articles.

In these projects, we combine applied cryptography, systems engineering, anonymous communication and threat modeling to build systems for journalists that are simultaneously secure, usable and efficient enough to be of actual use.

  • Good programming skills in for example Python
  • Basic knowledge of applied cryptography
  • Basic knowledge of threat modeling
Further Details

This project (semester or thesis) is aimed at one master student. The student will work with Wouter Lueks.


Systems2: Fighting traffic correlation on the Tor network [Taken]

The anonymous communication network Tor [1] has been designed to support internet browsing at a low bandwidth overhead. However, this design choice comes at a price: Tor is vulnerable to end-to-end traffic correlation. Tor assumes that doing an end-to-end correlation attack is difficult, because it is costly to observe both traffic going into the Tor network and traffic coming out of it. However, that is not always true, for example when communicating parties reside within the same country or network. This occurs quite often. In messaging and electronic voting, both parties are typically in the same country or on the same network.

However, messaging and electronic voting, do not require high throughput. By focussing on these specific scenarios, we can design anti traffic-correlation techniques that have low bandwidth overhead. In this project we will investigate one potential technique that sends constant rate cover traffic to/from the Tor network. This cover traffic then hides the real communication patterns.

This project has two aspects: (1) design a cover traffic mechanism that has low overhead, yet is difficult to circumvent for attackers; and (2) extend the Tor software to implement this mechanism.

[1] Roger Dingledine, Nick Mathewson, Paul F. Syverson: Tor: The Second-Generation Onion Router. USENIX Security Symposium 2004: 303-320,

  • Excellent software engineering skills (C essential)
  • Knowledge of machine learning appreciated
  • Experience with networks is a plus
  • Not scared of a large existing code base with imperfect documentation.
Further Details

This project (semester or thesis) is aimed at one master student. You will be working with Wouter Lueks.

Systems3: Securing biometric authentication data with trusted hardware [Taken]

Biometrics are convenient identification and authentication methods as they do not require users to remember a password or keep a key token on themselves. However, using biometric imposes two primary risks on users: (1) it is impossible to change your fingerprint or iris if your biometric data is stolen. (2) As biometric data is personally identifying, it can be used to track user’s behavior and link it to real-life identities. These two risks make privacy cautious organizations wary of authentication solutions which require creating central biometric databases.

In this project, we explore securing fingerprint authentication and protecting biometric data with trusted hardware (Intel SGX). This project starts with a practical study of fingerprint sensors and softwares and aims to port the sensitive portion of the authentication to a secure enclave.

  • Excellent programming skill in C/C++
  • (Optional) Familiarity with Intel SGX
Further Details

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