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: 31st May 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 12th July 2021. We will get back to you about your application between the 12th and the 16th July via mail. We will then admit more applications. If by 1st September 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: Estimation and mitigation of privacy attacks against machine learning
A membership inference attack (MIA) against a machine learning model enables an attacker to determine whether a given data record was part of the model’s training data or not. In this project, we want to leverage novel theoretical insights based on statistical theory on the reasons why MIAs are possible. First, we want to build and evaluate new estimation methods. Second, we want to use adversarial training techniques to mitigate vulnerability to MIAs.
- Programming skills in Python; knowledge of scikit-learn and PyTorch
- Practical experience with machine learning
- (Optional) Basic knowledge of statistical theory
This semester project is aimed at one MSc student. The student will work with Bogdan Kulynych.
ML2: Preventing face reconstruction from identity features
Face recognition has attracted a large amount of attention over the last few years. Face recognition systems are widely used in various applications such as security systems and access control. Also, modern data protection legislation pays special attention to data leakage problems.
Modern face recognition pipelines consist of several steps:
- First, the face is detected in the given image, and an alignment process is done.
- Then, an aligned face is fed to the face identification network, that encodes the aligned face to the embedding – the feature vector of lower dimensionality.
- Last, this vector can be classified or compared with the embedding of the target face.
Face recognition systems might be attacked from various perspectives. In this project we focus on data leakage vulnerability, as face embeddings can be reconstructed to a recognizable facial image. The aim of the project is to investigate the applicability of current privacy-oriented approaches like differential privacy and/or developing practical defense from current state-of-the-art face reconstruction algorithms.
- Good knowledge of Python
- Familiarity with least one ML framework (PyTorch, TensorFlow, MxNet)
- Familiarity with deep learning
- (Optional) Familiarity with differential privacy
This semester’s project is aimed at one MSc student. The student will work with Klim Kireev.
Other labs with cool projects on Machine Learning (we can always consider co-supervision):
DLab (Prof. West): https://dlab.epfl.ch/openings/projects/
Projects on Web Security
Web1: Tools for anti-tracking
Detection of undesirable content on the web, such as trackers or unwanted advertisement, is important for security, privacy, and user experience. The SPRING lab conducts research on measurement and automated detection of tracking.
In this project, we will build tools that can improve the current systems developed in the lab. This can be one (or more) of the following:
- a real-time version of our current tracking detection tool
- a tool to evade tracker detection
- improvements to a web crawler to better simulate user behavior
- a tool to improve characterization of tracking entities
- Programming skills in Python
- Familiarity with web development
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
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
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
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
This project (semester or thesis) is aimed at one master student. The student will work with Wouter Lueks.