Study/Student Projects

We offer various Bachelor and Master independent study/student projects for RUB students throughout the entire year in all areas of our research. You can get get a better idea about our research through our publications and our research overview. We do not supervise remote study projects for non-RUB students.

We offer separate projects for Bachelor and Master in Software Security and Internet Security:

  • Initial Research in Internet Security (Bachelor)
  • Initial Research in Software Security (Bachelor)
  • Research in Internet Security (Master)
  • Research in Software Security (Master)

Topics

We do not list specific topics for Bachelor or Master study projects that we offer on our website for a simple reason: Picking a topic from a list is unlikely going to lead to a topic that closely matches your expertise and interests as well as our interests. Instead, our experience has shown that discussing available topics with you works much better. This is particularly important because we want you to make a first step toward a rigorous scientific contribution with your project, which hopefully develops into a thesis later on. This is extremely challenging if you are not captivated by your project.

Requirements

For doing a student project with us, you should have:

  • Some programming experience in Python, as well as Rust (preferred), C, or C++.
  • First experience with Git, LaTeX, and Linux.

Additionally, it helps if significantly if you have some background knowledge in at least one of the following areas:

  • Static program analysis, like data flow analysis, abstract interpretation, or symbolic execution.
  • Dynamic program analysis techniques, like fuzzing.
  • Vulnerability discovery and exploitation, for example, heap or kernel exploitation.
  • Evaluating program/protocol analysis methods and security mechanisms/techniques.
  • Network measurements and protocol analysis.
  • Network protocols, like TLS, DNS, BGP, or IPv6.

You should have also taken at least one, but in the best case multiple of the following courses and done well:

  • Software Security
    • Program Analysis
    • Software Security 1
    • Software Security 2
    • Advanced Automated Testing
  • Internet Security
    • Network and Data Security 1
    • Network and Data Security 2
    • Message-Level Security

Expectations

The general goal of your study project is to show that you can apply the knowledge you gained during your studies to solve a small, open-ended problem practically by identifying, implementing, and evaluating a solution to it. Typically, student projects that we offer aim to support ongoing research in our research group.

Our goal is that the project gives you an introduction as to what a Bachelor/Master thesis in our group entails and an idea what the first steps are to making a leading scientific contribution.

Application

If you are interested in doing your student project with us, please send an application to softsec+projects@rub.de.

Your application needs to include:

  • Your transcript of records (for Bachelor students, your Bachelor grades; for Master students, your Bachelor and Master grades).
  • A brief motivation discussing your preferred topics and interests (no more than one short paragraph). This does not need to be overly detailed, but it helps us to determine where the topic fit is. If you are unsure about your topic, just mention this and we can try to find a topic that matches your background and interests.
  • A concise description of your programming skills (one to two sentences).

Please do note that we will not reply to emails that:

  • Lack any of the above information.
  • Appear to have made significant use of generative AI and were not largely written by you.
  • Suggest you did not read the information we made available on this website.