Available Master Projects
Master Project topics for Uni.lu and Erasmus students
We are looking for capable students who would like to do their master/bachelor thesis or a semester project. Below is the list of open topics. Student jobs related to these projects are also available upon request. These projects can be done also in collaboration with external university. Foreign students may look for financial support from Erasmus Mundus programme.
- Proof-of-Work as Anonymous Micropayment
This project is to implement Proof-of-Work as a way for micropayment. This can be done on example of Tor relays providing extended services to clients who mine alt-currencies. This can be also done for news-websites and other cases. In case of Tor, clients do not pay Tor relays with electronic cash directly but submit proof of work shares which the relays can either resubmit to a crypto-currency mining pool or become mining pools by themselves. Relays credit users who submit shares with tickets that can later be used to purchase improved service.
This is a followup project for our work, which is to appear at Financial Crypto 2015 conference.
Obfuscation is the deliberate act of making source code or machine code difficult for humans to understand. Programmers may deliberately obfuscate code to conceal its purpose or its logic, in order to prevent tampering and reverse engineering difficult. Programs known as obfuscators transform readable code into obfuscated code using various techniques.
Recently an open source obfuscator based on LLVM was released (see @ollvm) and with this new development we believe that obfuscation will become mainstream. Conversely to what many people believe, good obfuscation is not easy to achieve. When analyzing security of a software application understanding the complexity of the obfuscator used is of the essence.
Research question: Can you build a tool to remove obfuscation applied by state-of-the-art tools?
Expected outcome - Toolkit that can be used to de-obfuscate: - Code flattening - Opaque predicates - Bogus control flow - ...
Skills - SW Reverse Engineering - Program analysis - Compiler design
WhiteBox attacks toolkit
Whitebox cryptography is an implementation of a cryptographic algorithms in software, in such a way that an attacker with full access to the software is not able to gain any advantage compared to a black box attacker. For example, it should not be possible to obtain key information directly from memory, or intermediate results from the cryptographic algorithm. This research focuses on attempting to recover key information by performing side channel analysis (e.g. MIA or similar attacks) on whitebox implementations.
Research question: Can you build a toolkit to extract keys from white-box crypto implementations?
Expected outcome - state-of-the-art study - implement well-known attacks - research new WBC attack methods - feasibility study; - prototype attack code
Skills: - SW Reverse Engineering - Program analysis - Cryptographic attacks
Evaluation of state-of-the-art side channel techniques on real-life targets
Research papers suggest many promising techniques for side channel analysis (SCA) ranging from signal filtering to attack metrics. The techniques are often supported only with a limited experimental evidence in weak scenarios. As a security testing lab, Riscure is interested in evaluating the reproducibility, effectiveness, and efficiency of the academic advances in the context of security evaluations of embedded devices and integrated circuits.
Examples of the techniques include but are not limited to (to be discussed on individual basis):
- algorithms for full key rank estimation in SCA http://eprint.iacr.org/2014/920
- optimal filtering for side channel trace preprocessing http://cosade.org/cosade14/presentations/session7_a.pdf Here and here are more details.
Research questions: is an SCA technique reproducible for one or two real-life targets?
Expected outcome: - prototype tool to apply the attack and interpret results - methodology for application of the technique - related literature study - master thesis - preferably a publication - familiarity with side channel evaluations of embedded targets
Skills: - basic crypto and embedded security - statistics and/or signal processing - scientific programming (Python, MATLAB, Java)
- Pebbling games and their applications in cryptography
This project is to explore relations between pebbling games, proofs of space, memory-hard functions etc. This project is for mathematically/algorithmically inclined students.
- Lightweight Cryptography for Wireless Sensor Networks
A Wireless Sensor Network (WSN) is a network consisting of a (potentially very large) number of autonomous devices, so-called motes, which are deployed in the environment to cooperatively monitor physical conditions. In fact, WSNs are a prime example of what is often referred to by such buzz phrases like "pervasive computing," "smart dust," or the "internet of things". The magazine Technology Review listed WSNs among 10 emerging technologies that will change the world. Today, WSNs play a vital role in a multitude of applications ranging from environmental surveillance over medical monitoring to home automation.
Security and privacy issues pose a big challenge for the widespread adoption of WSN technology in certain application domains such as health care, traffic control, or disaster detection. The goal of this project is to design lightweight key agreement and authentication schemes based on elliptic curve cryptography, and to implement and evaluate these schemes in a small network of MICA motes.
Contact: Johann Großschädl
- Trusted Computing in Mobile Devices
Trusted computing is an industry initiative to make commodity computer platforms more secure against software attacks. A core component of trusted computing is the Trusted Platform Module (TPM), a microchip that provides certain security-related services and acts as a "root of trust" for the platform. The exact functionality of a TPM is specified by the Trusted Computing Group (TCG), an industry consortium comprising all major hardware and software vendors (Microsoft, Intel, IBM, etc). The current version of the TCG specification mandates the use of RSA for the generation/verification of digital signatures. Recently, the TCG released a set of specifications for trusted computing on mobile devices (e.g. cell phones, PDAs), which explicitly permits the implementation of TPM functionality in software.
The goal of this project is to design and implement a software-TPM that uses elliptic curve cryptography (ECC) instead of RSA, and to evaluate this ECC-based TPM regarding performance and memory footprint. The TPM Emulator for Linux can be used as a starting point for this project.
Contact: Johann Großschädl