On Monday, UT computer science Ph.D. student Tyler Hunt gave a presentation at the Gates Dell Complex on a prototype of a security program he helped design and implement called Ryoan.
The goal of the program, which is named after the Buddhist rock garden Ryoan-ji, is to keep users’ information secure when using untrusted operating systems or data-processing services, like tax preparation programs. The challenge is to keep untrusted code, or code written by outside programmers, from leaking the user’s data. According to a paper Hunt co-authored, this is notoriously difficult.
“The way it is now, service providers take data from the user, do something with it and give it back to them,” Hunt said. “The user has to upload their data, and it’s totally out of their control. It’s just a bad deal. We think we can do better.”
According to Hunt, Ryoan can be used in a variety of situations, from spam filtering and virus scanning to translation services and image recognition software.
To accomplish this, Ryoan runs the service provider’s code in protected areas called enclaves in order to keep the operating system from reading the user’s data.
However, the service provider’s program can still save data outside the enclave. Ryoan solves this issue by restricting the memory access for the program, as well as forcing all output to be encrypted and directed to trusted endpoints.
Ryoan also protects the service providers. Data is marked with tags corresponding to the users and the providers. A user cannot receive data marked with more than their own tag, which prevents users from gaining access to the provider’s proprietary data.
In order for applications to work with Ryoan, the service providers will have to change their existing code, but Hunt said there are incentives for them to do so
“The porting effort [to be compatible with Ryoan] is not zero, but it’s not that much,” Hunt said. “And if they care about saying the user’s data is absolutely secure, then I think they will likely do it.”
Ryoan is not without its costs to the users, either. According to Hunt, using Ryoan increases the time it takes for tasks to execute. The length of time is dependent on the type of task, but testing has shown as low as a 27 percent increase for translation and as high as a 400 percent increase for health applications, such as analyzing genomes to determine risk of disease.
Zhiting Zhu, a computer science Ph.D. student who co-authored the paper on Ryoan and helped build it, said in the future they would like to reduce the additional time Ryoan requires to execute tasks.
“Right now, this is just a research project,” Zhu said. “It’s not ready for production. We are still looking for ways to improve the system. We are thinking about it, but it’s not in a serious stage [at the moment].”
As hardware improves, Ryoan will be able to execute tasks faster. However, Zhu said he is not sure whether the software will become popular.
“It’s hard to tell right now [if Ryoan will be widely used],” Zhu said. “It depends on whether people accept the overhead or not. If they want secure processing, there is some overhead they need to pay. I believe if normal users want their data to be secure, Ryoan can provide the need they want from a software side.”