DocumentCode
459458
Title
Preventing Secret Leakage from fork(): Securing Privilege-Separated Applications
Author
Shankar, Umesh ; Wagner, David
Author_Institution
University of California at Berkeley. ushankar@cs.berkeley.edu
Volume
5
fYear
2006
fDate
38869
Firstpage
2268
Lastpage
2275
Abstract
If trusted processes´ secrets or privileged system objects such as file handles are leaked to an untrusted process, the result could be the loss of secrecy and integrity of the data produced by the program. The advent of privilege-separated programs has led to an additional risk: sensitive data or system objects may be leaked when the trusted process of the privilege-separated application forks an untrusted child process. We have identified several channels by which information may flow to the child process: memory, the environment, memory mappings, filesystem information, and file descriptors. We propose fixes for each of these leaks. Some are handled by a novel static source code analysis of the target privilege-separated application´s source code, but some require modifications to the kernel or compiler. As a proof of concept, we applied our technique to privilege-separated OpenSSH running on the Linux 2.6 kernel. Using our tools, we were able to verify easily that it does not leak secrets from its trusted components to its untrusted components; all sensitive data is erased or downgraded appropriately before being inherited by untrusted components. This suggests that our method is a useful way of reasoning about privilege-separated programs.
Keywords
Authentication; Communications Society; Cryptography; Data analysis; Kernel; Linux; Risk analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
Communications, 2006. ICC '06. IEEE International Conference on
Conference_Location
Istanbul
ISSN
8164-9547
Print_ISBN
1-4244-0355-3
Electronic_ISBN
8164-9547
Type
conf
DOI
10.1109/ICC.2006.255108
Filename
4024503
Link To Document