Some Part II, III or ACS Project Proposals

1. Attestation in an ARM CHERI Environment

ARM have added capabilities to the instruction set architecture of their processors and we have some prototype boards with that hardware in the lab. Unlike other TEEs, the Morello baords don't directly support attestation so verifying that the program you are running is what was sent, or the processor the program thinks it is running on, is that processor (and not a simulation run by bad guys) is not directly available. Two options at least exist for adding attestion - one would be to use a small TEE running on the ARM using trustzone, to run a key signing/verifying service; a second would be to use remote attestaion (e.g. on mobile devices, via secure code on a tamper proof device such as the SIM). This project would build a testbed for running and evaluating several of these options, including checking for vulnerabilities.

2. Bibliometrical Review of review papers

Review papers are extremely useful and popular publications which serve the community by checkpointing all the work across an area in a structured way so that people can see what has been done, and also where there are gaps in current research. They are often very highly cited.

This project would be to take a corpus of review papers and build a machine learning environment that finds what features are "most useful" (in the sense that they lead to most citations around the time of publication or later). The idea would be to take apply some fairly standard NLP techniques to find properties of a review paper, and then look at how thse impact the paper's effectiveness.

Of course, an obvious goal for this project is to produce a "review of review papers" paper, for publication!

For an example of biblioemtrics, see this earlier work we did on networking papers over 50 years

3. Confidential dataflow programming project

This project is about using a trusted execution environment (in this case, Cheri or ARM Morello) to protect code&data running a confidential computation, e.g. learning some statistics from personal healthcare or finanical records.

The idea starts from work on secure containers and confidential map/reduce style computational frameworks (Hadoop, Spark etc), but in this instance, the task is to take a different framework, namely dataflow, built in a different language (not java/scala, but Rust).

Timely Dataflow and see also differential dataflow . I believe there's a rust compiler that can use the ARM capability mechanism now or soon.

An extra challenge might be to figure out how to do attestation e.g. using a secure co-processor, even a SIM, even something like this.

last edited, 1 May 2024