The goal of the project is to provide the opportunity for you to conduct some research in some security-oriented topic.
In the project, you must propose a research project with a problem statment and a research plan, conduct the research, and write up your research results and experience. There are three deliverables in the project: a research proposal, a final presentation, and a final report.
Note: It is okay if you do not complete a full-fledged project by the end of the term. The goal is to learn how to go from a one-line problem to a fully scoped out research problem, then try and identify potential solutions. If a topic is difficult and you do not reach the practical implementation stage, that will be fine.
The proposal should include the following sections and must be minimally three pages.
Introduction: In this section, you will explain what is the problem, why is it an important problem, and why are you interested in this problem? Describe the background and motivation for the problem you are interested in, and pose a concrete research question.
Related work: Do a brief survey of related work in the problem space. This includes papers that solve the same problem but with a different approach and papers whose ideas you build upon in your own work. Compare and contrast your own proposed solution with each related work. Some of the papers in related work may be required to explain the background and motivation in the introduction.
Even if you have not read all the related work by the time of proposal submission, make a list of papers that you will be covering by the final report submission.
Proposed solution: Describe your proposed solution and planned methodology to answer the research question at a high level.
Evaluation methodology: Describe how you plan to evaluate your proposed solution. What is your security evaluation plan? What is your performance evaluation plan? What kind of data (or plots) would you generate from the evaluation?
Experimental setup: What equipment, software, tools do you need for your solution and evaluation? If you need anything specific, please speak to us as soon as possible.
We encourage you to come talk to us to discuss your project and get feedback on the idea, methodology, etc. At the minimum, we expect to meet with you once before the proposal submission deadline and once before the in-class presentation. You can schedule more meetings with us on an on-demand basis.
Each team will present a short talk about their project. You should plan for a 10 min presentation with 2-5 min for questions and answers. The presentation would be similar to a conference or workshop talk. Focus on presenting the motivation, the problem, one key idea of your project, and the results. You should be able to motivate your audience to read your final reports.
The final report is like a short research paper. The paper must include similar sections as in the proposal but written in a way to describe what has been done. Additionally, add a section describing the limitations of your work and how the research can be extended (by you or someone else) in the future. Some of these reports could lead to a conference or workshop submission, and you could be the ones authoring those papers. The final reports will be shared with everyone in the class.
Below is a list of project ideas. More ideas might get added later, so keep checking here in case you don't find something interesting yet or get stuck in an idea. These projects may sound vague and open-ended. Scoping out a concrete problem is a part of the research process that you will learn, and the staff is available to brainstorm with you and help with this process. Please meet with us in our office hours or schedule an appointment.
You are also welcome to propose your own ideas.
This project is about overcoming the practical challenges of performing side-channel attacks in a function-as-a-service (FaaS)/serverless platform. In a FaaS platform, the cloud provider schedules the tenant applications (functions). There is an upper bound on the function execution time (e.g., 15 min in AWS), after which it is descheduled. This limit poses a challenge for an adversary targetting FaaS applications. Identify strategies that could be adopted by an adversarial FaaS application to maximize leakage of secrets from a victim application.
A serverless application can be much smaller than traditional monolithic applications. Implement a serverless application in a way that it is immune to memory, cache, and timing side channel leaks. How would you modify the code and data access patterns in the application to achieve this?
Constant-time transformation techniques have been widely studied in crypto libraries that are often implemented in native languages or domain-specific languages (e.g., Obliv-C, FaCT). Can we extend these techniques to applications (e.g., serverless) that may be written in languages like python or javascript, which are interpreted languages?
Some papers have demonstrated how ML algorithms can be transformed to be data oblivious. (e.g, oblivML, Visor). However, these transformations are tailored to specific instances of ML algorithms and models. For example, a change in the number of layers in a DNN may require generating transformation from scratch. Design techniques to enable automatic and possibly incremental transformations of ML algorithms and models.
The paper proposes that transient execution attacks can be thought of as ordered dependency graphs with missing security dependency edges. This is a theoretical model, and the goal of this project is build a tool based on this model, and use it to (1) analyze leaks in specific applications, and (2) evaluate the efficiency of mitigations implemented at different levels in the architecture pipeline.
Pacer provides a profiling tool to compute traffic shapes in single-tier web services with a single request-response style workload. Most modern web services are much more complex. Extend the profiling tool to compute traffic shapes for a multi-tier web application.
Network side channels can also cause leaks in applications executing in IoT and edge devices. A solution like Pacer is too heavyweight for these resource-constrained devices. Design a resource-efficient mitigation system for these devices.
Industrial robots, lab automation tools may be controlled over internet / 5g in future. The actual task being performed by these robot or automation tool, e.g., a machine assembly or a chemistry experiment, may be an intellectual property of the company. In this case, while the communication over public Internet is secure against direct attacks, side channels can still possibly leak the experiment secrets. Demonstate side-channel leaks in such a setup, and suggest solutions based on the ideas presented during the seminar.
Projects overlapping with other research: You could undertake a project related to your own research, if you can demonstrate how it is related to and/or influenced by some topic from CPSC 538M. In other words, your project in CPSC 538M must extend your research work in some new and/or different way.