Student 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 fill gain understanding about what can be expected us and what we expect from students.

Available MSc, BSc and PhD Semester Projects

Last Update 6th November 2018

Project 1

Zero-knowledge proofs for machine learning

Abuse is a big concern for privacy-preserving systems that support communication between people. For example, end-to-end encrypted email can not be scanned for spam content by intermediate email servers, leaving the burden of dealing with spam email to user-side applications.

As a possible solution, we investigate the practicality of zero-knowledge arguments of knowledge for proving that the plaintext corresponding to a given ciphertext has not been classified as malicious by a given classifier known to both sender and receiver of the encrypted data. This semester project will focus on investigating how principles behind inner product proofs in Bulletproofs can be applied to proofs of correct execution of sequences of linear algebraic operations, and in particular, neural networks.

Required skills:

  • Good programming skills (Python)
  • Knowledge of cryptography, particularly elliptic-curve cryptography is welcome
  • Basic knowledge of supervised machine learning (linear regression, SVM, artificial neural networks) is welcome, but not required

Applying to this project:

This semester project is aimed at one MSc/PhD student. For applying please send your grades and CV to Bogdan Kulynych and Wouter Lueks.

Project 2

Privacy attacks against machine learning models

Machine learning models are vulnerable to attacks against the privacy of their training data. By querying a model, an attacker can reliably decide whether a particular example of interest was used for training the model or not.

In this project, the students will come up and experiment with new attacks and defences, and investigate their properties and formal guarantees. In the end, they also are expected to contribute to our open source Python library for privacy attacks.

Requirements

  • Good knowledge of deep learning: backpropagation, stochastic gradient descent
  • Experience with implementing machine learning models
  • Knowledge of one of the existing machine learning frameworks: PyTorch, TensorFlow, Keras

Applying to this project

This semester project is aimed at one MSc/PhD student. For applying please send your grades and CV to Bogdan Kulynych and Giovanni Cherubin.

Project 3

Adversarial machine learning for privacy

Machine learning techniques have become widely used in privacy-invasive applications, like website traffic fingerprinting, facilitation of video and audio surveillance, inference of private attributes from seemingly non-sensitive information (e.g., Cambridge Analytica case).

In this project we investigate the potential of exploiting inherent deficiencies in machine learning models to protect private information. The students will use techniques from adversarial machine learning to interfere with operation of image recognition models, or text classifiers.

Requirements

  • Good knowledge of deep learning: backpropagation, stochastic gradient descent
  • Experience with implementing machine learning models
  • Familiarity with adversarial examples is welcome
  • Knowledge of one of the existing machine learning frameworks: PyTorch, TensorFlow, Keras; cleverhans

Applying to this project

This semester project is aimed at one BSc/MSc/PhD student. For applying please send your grades and CV to Bogdan Kulynych and Giovanni Cherubin.

Project 4

Efficient blacklisting of anonymous users

Anonymous credentials allow users to authenticate to service-providers without identifying themselves. For example, Wikipedia editors could use an anonymous credential to prove to Wikipedia that they are legitimate editors, without revealing their identity. In this way, editors can anonymously edit sensitive document.

Malicious users, however, can abuse this anonymity for other nefarious purposes. For example, a malicious user could deface Wikipedia pages, while hiding behind the strong anonymity provided by the anonymous credentials.

To solve this conundrum, researchers have developed a construction called blacklistable anonymous credentials. Users of blacklistable anonymous credentials are always anonymous, but service providers can blacklist misbehaving users. For example, Wikipedia can blacklist malicious misbehaving editors without ever needing to identify such users. The construction is very interesting. Unfortunately, it is also inefficient. Too inefficient for, e.g., Wikipedia, to use in practise.

Blacklistable anonymous credentials give very strong anonymity guarantees. In practise we can weaken this guarantee without too bad effects. In this project, we explore if a weaker trust assumption allows us to make blacklisting faster and applicable to Wikipedia. We will adapt the existing protocols, implement them, and set up an experiment to validate the increase in efficiency.

References: Patrick P. Tsang, Man Ho Au, Apu Kapadia, Sean W. Smith: BLAC: Revoking Repeatedly Misbehaving Anonymous Users without Relying on TTPs. ACM Trans. Inf. Syst. Secur. 13(4): 39:1-39:33 (2010)

Requirements

  • Some cryptography background (experience with cryptographic libraries and cryptographic implementations are a plus)
  • Good programming skills (e.g., Python and Javascript).

Applying to this project

This semester project is aimed at one BSc/MSc(/PhD) student. For applying please send your grades and CV to Wouter Lueks.

Project 5

Measuring the Security of Website Fingerprinting Defences

The privacy of Web browsing via Tor can be compromised by so-called Website Fingerprinting (WF) attacks: an adversary can predict which web pages a victim is visiting by only looking at the (encrypted) network traffic she produces. This can be done in spite of encryption, because web pages exhibit patterns in the network traffic they generate that are related to their application-layer content.

In this project, the student will study and formally evaluate application-layer WF defences. A particular focus will be given to ALPaCA, a recent defence that is run on a webserver, and which morphs the web pages’ content every time a user queries them, so as to prevent traffic analysis. The tools used to measure the security of this defence will also give an occasion to dig deeper in the theory of Machine Learning.

Requirements

  • Basic understanding of network protocols (TCP/IP stack, HTTP) and Tor
  • Good knowledge of Machine Learning
  • Good programming skills (Python is required)

Applying to this project

This semester project is aimed at one MSc/PhD student. For applying please send your grades and CV to Giovanni Cherubin and Bogdan Kulynych.

Project 6

Fighting traffic-correlation on the Tor network

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.

References: Roger Dingledine, Nick Mathewson, Paul F. Syverson: Tor: The Second-Generation Onion Router. USENIX Security Symposium 2004: 303-320, https://svn.torproject.org/svn/projects/design-paper/tor-design.pdf

Requirements

  • Good software engineering skills (C essential)
  • Some experience with networks is a plus
  • Not scared of a large existing code base with imperfect documentation.

Applying to this project

This semester project is aimed at one BSc/MSc student. To apply please send your grades and CV to Wouter Lueks.

Project 7

Lightweight Android/iOS library for using Tor

Supporting Tor [1] from mobile applications is difficult. On Android, the Orbot library provides a proxy service that communicates via Tor. However, apps cannot use Tor if this library is not installed or configured correctly. On iOS, applications need to be crafted to run a seperate Tor thread to provide anonymous communication via Tor [2]. In both cases, developing apps that seamlessly integrate Tor is difficult.

The Tor client is complicated because Tor supports a large variety of uses, from web browsing to instant messaging, and both short-term identities and long-term circuits. However, applications often do not require all features of Tor, nor do they need to support full internet browsing. So, we might be able to develop a very simple Tor client that is much easier to integrate into mobile platforms.

Recently, we have been working on developing a lightweight web-browser client. In this project our goal is to design a simple, yet secure, lightweight Tor client library for Android or iOS. This project has two aspects: (1) analysing which aspects of the Tor client are essential for a secure operation; and (2) implementing a lightweight client for mobile platforms.

References: Roger Dingledine, Nick Mathewson, Paul F. Syverson: Tor: The Second-Generation Onion Router. USENIX Security Symposium 2004: 303-320, https://svn.torproject.org/svn/projects/design-paper/tor-design.pdf    https://blog.torproject.org/tor-heart-onion-browser-and-more-ios-tor

Requirements

  • Good software engineering skills, most notably in developing smartphone applications (either iOS or Android)

Applying to this project

This semester project is aimed at one BSc/MSc student. To apply please send your grades and CV to Wouter Lueks.

Project 8

Breaking the curse of multiple devices: handling many keys

Modern cryptographic protocols promise users the world: secure digital payments, end to end encryption for email and messaging, anonymous authentication, etc. However, for security these protocols rely on cryptographic keys. And these keys are stored on the users’ devices, because they are too long to remember.

Managing these keys is challenging. Users must guard the keys well to ensure security. At the same time, users nowadays have multiple device. And users want to use these devices — and therefore their keys — interchangeably. The naive solution to duplicate the key to all devices, is not only cumbersome, it is also dangerous. Duplicating the key increases the attack surface: An attacker that compromises any of the user’s devices can steal and abuse the user’s key. The good thing about duplicating the key is that the user can always recover it as long as she retains one device.

Earlier we proposed Tandem, a mechanism that enables a user to split her cryptographic key between her single device and a central server. Since the full key is never on the user’s device, an attacker that compromises the device therefore cannot steal the user’s key.

In this project we will adapt this mechanism mechanism to securely distribute the user’s key over multiple devices so that users can use their key from any of their devices and recover their keys as needed, while ensuring that attackers can never steal the key.

This project consists of two parts: (1) adapt Tandem to the multi-device setting, and (2) implement it to provide a secure and robust implementation of a cryptographic protocol such as signing Bitcoin transactions, decrypting email, or authenticating anonymously using attribute-based credentials.

References: Wouter Lueks, Brinda Hampiholi, Greg Alpár, Carmela Troncoso: Tandem: Securing Keys by Using a Central Server While Preserving Privacy. CoRR abs/1809.03390 (2018)

Requirements

  • Some cryptography background (experience with cryptographic libraries and cryptographic implementations are a plus)
  • Good programming skills (e.g., Python and Javascript).

Applying to this project

This semester project is aimed at one MSc/PhD student. To apply please send your grades and CV to Wouter Lueks.

Project 9

Conformal Prediction for (In)Security

Conformal Prediction (CP) methods allow wrapping existing Machine Learning

models to produce predictions that have a guarantee on the errors they commit. More specifically, they output a set of possible predictions (a prediction region), which contain the correct prediction with a certain (pre-chosen) probability.

The student will learn about CP, and explore its application to security and privacy contexts, such as traffic analysis and inference attacks.

Along the process, the student may also contribute to our CP tool, which is written in Rust.

Requirements

  • Good knowledge of common Machine Learning methods
  • Knowledge of basic statistics and probability theory
  • Good programming skills: Python (required), Rust (optional)
  • (Desirable) Basic understanding of Machine Learning -based attacks (e.g., traffic analysis or membership inference).

Applying to this project

This semester project is aimed at one MSc/PhD student. To apply please send your grades and CV to Giovanni Cherubin.

Project 10

Privacy-friendly classroom tools

Teachers and researchers like to use in-class tools such as quizzes to illustrate concepts, to highlight problem areas, to help students learn vocabulary, and to study student performance. While the functionality of the tools is often relatively simple, these tools collect large amounts of data about students. This data collection is not only privacy-invasive, but has recently become a reason for not using these tools in the first place.

The SPRING lab has been working on constructing privacy-friendly classroom tools and in-class quizzes that collect data from students anonymously. To protect students’ privacy, we collect statistics anonymously — without being able to link results to students. Moreover, to get even better privacy guarantees, we make it impossible to link a student’s result between sessions.

However, these strong privacy guarantees reduce the utility of the system. Teachers and researchers have long since recognized the benefit of applying gamification to keep students engaged and challenged. A common gamification technique is to compare the students’ current performance to either their own past performance, or to that of the other students. Yet, our privacy-friendly mechanisms make comparisons impossible, thus precluding the use of gamification.

In this project we explore if we can offer privacy-friendly gamification techniques. This is not always possible. For example, a straightforward leader board that shows the performance of each student will allow anonymous test results to be linked to real students. The challenge of this project is therefore two-fold: (1) design gamification techniques that do not inherently weaken student’s privacy, and (2) instantiating these designs in practice using cryptographic techniques.

Requirements

  • Some cryptography background (experience with cryptographic libraries and cryptographic implementations are a plus)
  • Good programming skills (e.g., Python and Javascript).
  • Knowledge of basic statistics and probability theory.

Applying to this project

This semester project is aimed at one MSc/PhD student. To apply please send your grades and CV to Wouter Lueks.

Project 11

Website Fingerprinting as a Service

Website Fingerprinting (WF) attacks allow an adversary to discover what web pages a victim is browsing, by only looking at the encrypted network traffic she produces. Previous work observed that WF attacks are possible particularly because of differences in the webpages’ objects (e.g., images, stylesheet files, …).

The student will explore the idea of a server that, upon request, measures the security of a website against Website Fingerprinting (WF as a service): the owner of a website hosted on the Tor network (.onion site) should be able to query this service, and be informed on how “fingerprintable” their website it.

Requirements

  • Excellent software engineering skills (Python and optionally Rust)
  • Experience with Machine Learning tools and libraries
  • Basic understanding of traffic analysis attacks

Applying to this project

This semester project is aimed at one MSc/PhD student. To apply please send your grades and CV to Giovanni Cherubin and Bogdan Kulynych.

Project 12

Private information retrieval based privacy-preserving search

Privacy-friendly search engines such as DuckDuckGo do not track users, personalize search results, or store search queries. However, to answer a search query, the search engines must still see every query. For some users, such as journalists, search queries can be very sensitive. So sensitive, in fact, that journalists are not always willing to trust the search provider with their query.

In this project, we explore how a search engine can answer queries without learning anything about the query using private information retrieval (PIR).

Private information retrieval allows a client to retrieve a record from the server without revealing to the server which record the client accessed. One approach to build a privacy-preserving search is to create an index and allow clients to retrieve the relevant results with PIR.

This project has two steps. First, you will study the PIR literature and explore its application in the privacy-preserving search. Second, you will design a new scheme or customize an existing scheme for this problem. The second step can be tailored to fit the project level.

References:  Eyal Kushilevitz, Rafail Ostrovsky: Replication is NOT Needed: SINGLE Database, Computationally-Private Information Retrieval. FOCS 1997: 364-373

Requirements

  • Good knowledge of cryptography

Applying to this project

This semester project is aimed at one MSc/PhD student. MSc students can choose this project as either a Master Thesis or a semester project. For applying, please send your grades and CV to Kasra EdalatNejad.

Project 13

Secure multiparty computation based privacy-preserving search

Privacy-friendly search engines such as DuckDuckGo do not track users, personalize search results, or store search queries. However, to answer a search query, the search engines must still see every query. For some users, such as journalists, search queries can be very sensitive. So sensitive, in fact, that journalists are not always willing to trust the search provider with their query.

In this project, we explore how a search engine can answer queries without learning anything about the query using secure secure multiparty computation (SMC).

Secure multiparty computation allows multiple parties to compute an arbitrary function on their joint data without revealing the input to each other. One approach to build a privacy-preserving search is to use SMC between the client and the server to compute the intersection of an item with the query to find interesting items, and reveal their identity to the client.

This project has two steps. First, you will study the SMC literature and explore its application in the privacy-preserving search. Second, you will design a new scheme or customize an existing scheme for this problem. The second step can be tailored to fit the project level.

References: Nigel P. Smart: Cryptography Made Simple. Information Security and Cryptography, Springer 2016, ISBN 978-3-319-21935-6.

Requirements

  • Good knowledge of cryptography

Applying to this project

This semester project is aimed at one MSc/PhD student. MSc students can choose this project as either a Master Thesis or semester project. For applying, please send your grades and CV to Kasra EdalatNejad.

Project 14

DNS Privacy – Website fingerprinting under realistic user scenarios

The Domain Name Service (DNS) is ubiquitous in today’s Internet infrastructure. DNS is primarily used for translating an easy-to-read domain name to a numerical IP address, so that a connection to the required service can be made. Almost every connection to an Internet service is preceded by a DNS lookup. A vast majority of DNS queries are sent in plaintext. In the Web, this lack of encryption leaks information about the browsing history of users.

Recently, there have been efforts to improve DNS privacy by encrypting the DNS queries and responses. Some protocols that do this are DNS-over-TLS (DoT) and DNS-over-HTTPS (DoH). Companies such as Google and Cloudflare now provide DoT and DoH solutions.

We are interested in studying the effectiveness of the DNS privacy solutions, specifically DoT. Our goal is to determine whether it is possible to fingerprint and identify webpages from encrypted DNS traffic. The initial set of experiments conducted at the lab prove that the webpages can indeed be identified. However, the experiments have been carried out under more idealistic user conditions. In this semester project, the student will have to build upon our existing set of experiments to determine fingerprintability of encrypted DNS traffic with more realistic user scenarios. Some of these scenarios include introduction of client-side caching of DNS responses and multi-tab user browsing.

Requirements

  • Good programming skills (Python)
  • Some knowledge of networking

Applying to this project

This semester project is aimed at one BSc/MSc student. To apply please send your grades and CV to Sandra Siby.

Project 15

DNS Privacy – Development of defenses against website fingerprintability

The Domain Name Service (DNS) is ubiquitous in today’s Internet infrastructure. DNS is primarily used for translating an easy-to-read domain name to a numerical IP address, so that a connection to the required service can be made. Almost every connection to an Internet service is preceded by a DNS lookup. A vast majority of DNS queries are sent in plaintext. In the Web, this lack of encryption leaks information about the browsing history of users.

Recently, there have been efforts to improve DNS privacy by encrypting the DNS queries and responses. Some protocols that do this are DNS-over-TLS (DoT) and DNS-over-HTTPS (DoH). Companies such as Google and Cloudflare now provide DoT and DoH solutions.

We are interested in studying the effectiveness of the DNS privacy solutions, specifically DoT. Our goal is to determine whether it is possible to fingerprint and identify webpages from encrypted DNS traffic. The initial set of experiments conducted at the lab prove that the webpages can indeed be identified. We are now interested in studying whether simple defense measures, such as padding of the traffic, can avert the threat of fingerprintability. In this semester project, the student will first look at existing literature on traffic analysis countermeasures and then apply some of them to the use case of DNS traffic to determine whether they are effective. If existing measures are not effective, the student will develop their own defense method.

Requirements

  • Good programming skills (Python)
  • Some knowledge of networking

Applying to this project

This semester project is aimed at one BSc/MSc student. To apply please send your grades and CV to Sandra Siby.