References:
Input: a) source code + user annoations on sensitive functions/globals; b) metircs budgets and the optimization goal.
Output: A set of functions and globals that should be included in the sensitive domain. The rest of the code stays in the insensitive domain.
Manual partition implementation.
Isolation mechanism: Process separation.
Benchmarks
telnet
thttpd
.htpasswd
.htpasswd
on the server.wget
nginx
chsh
chage
passwd
useradd
As stated in the paper, it cannot partition individual functions. But this can be useful:
main
function manually as in telnet
example.
If you could revise
the fundmental principles of
computer system design
to improve security...
... what would you change?