Dawn Song, Professor

Closed (1) Open-Source secure hardware enclaves on RISC-V

Applications for fall 2021 are now closed for this project.

Secure computation is a powerful abstraction, protecting the integrity and confidentiality of computations over confidential data. While there are already many applications for secure computing, it is continuing to grow in importance.

Secure enclaves can provide a solution to the challenge of secure computation with little or no performance overhead over native computation. Hardware enclaves enable computation over confidential data, providing strong isolation from other applications, the operating system, and the host. The secure enclave can also attest to the correct execution of a program to a remote party, enabling trusted remote computation in many different situations.

Keystone is an open-source project for building trusted execution environments (TEE) with secure hardware enclaves, based on the RISC-V architecture. Our goal is to build a secure and trustworthy open-source secure hardware enclave, accessible to everyone in industry and academia. See keystone-enclave.org for further details on the project.

If you have an interest in building low-level secure systems, or in building the tools, language constructs, and support structure for application development in enclave environments, Keystone is a great place for you.

This is a software systems project, and does not require any background in chip and hardware design.

Qualifications: Background in operating systems concepts and implementation, prefer systems and/or hardware security as well. Proficient in systems-level (OS, hypervisor, etc) C and C++ programming. OR Background in compilers and tooling design, perfer security background as well. Proficient in compiler tool development and programming languages.

Weekly Hours: 12 or more hours

Closed (2) New techniques and applications in deep-learning and machine learning for security

Applications for fall 2021 are now closed for this project.

Deep-learning has revolutionized AI, and achieves human-level accuracies in many tasks such as image recognition. Development on the optimization techniques and the availability of large amount of data make training a large architecture possible, which also opens up many intriguing problems to answer. In this project, we are interested in these deep learning problems in three general directions: (1) the mathematical property of deep learning models. For example, one important phenomenon discovered recently is that an attacker can manipulate very slightly the inputs to a deep learning classifier to make the prediction entirely wrong. We can study the robustness issue of deep learning systems against such adversarial manipulations. (2) applying deep learning techniques to novel application domains. For example, we will study program synthesis problems and security applications using deep learning. (3) The infrastructure to support large-scale deep learning. For example, we will study several existing efforts such as TensorFlow to design and develop new frameworks to make it easier for developers to build deep learning systems, architecture and applications. We are also open to other important and not well-understood deep learning related topics.

Moreover, machine learning techniques can be valuable in addressing security problems, e.g., identifying anomalous changes in behavior, clustering and classifying different behaviors/samples. We study how to apply machine learning techniques for a number of security applications including malware analysis and defense, social-network security analysis and defense.

Qualifications: solid background in math (probabilities) and machine learning, proficient in programming in Python and C++

Weekly Hours: 12 or more hours

Closed (3) Privacy preserving machine learning

Applications for fall 2021 are now closed for this project.

Machine learning has seen great advancement over the past years, leading to important progress in various research areas such as computer vision, data mining, and natural language processing. Despite the great success, there are many security and privacy concerns of machine learning techniques. How can we protect users’ sensitive data while not degrading the model quality? On the other side, how can we prevent high-quality models from being stolen by attackers? All these security and privacy issues are important and have not been addressed in theory and practice. Therefore, The need for practical privacy-preserving solutions to solve these problems is imminent in today's interconnected society. We hope to explore several cryptographic tools including zero knowledge proofs (ZKP), secure multi-party computation (MPC), and fully homomorphic encryption (FHE) to tackle these challenges.

Another area of PPML is federated machine learning. Federated machine learning trains an algorithm across multiple decentralized edge devices or servers holding local data samples, trying to avoid private data leakage. This project will also explore solutions with cryptographic tools to make the protocol more secure and robust without compromising efficiency.

Qualifications: Solid background in math (probability, algebra, number theory, and optimization), algorithm and machine learning, proficient in programming in Python and C++. It is better that you have some basic knowledge of cryptography.

Weekly Hours: 12 or more hours

Closed (4) Blockchain and smart contracts

Applications for fall 2021 are now closed for this project.

Blockchain is an example of a fast-rising decentralized, autonomous system. There are new the opportunities this new model of computing brings us, including smart contracts, decentralized applications, etc.

If you are interested in state-of-the-art solutions in this area, including secure decentralized systems, and new programming abstractions to make it easier to build such secure, decentralized systems, please apply.

Qualifications: Understanding of computer networking, both low-level and high-level aspects, experience in programming of distributed systems and/or user interfaces.

Weekly Hours: 12 or more hours