180 likes | 277 Views
Security in Plan 9 Russ Cox, Eric Grosse, Rob Pike, Dave Presotto, Sean Quinlan Presented by Vijay Srinivas Nori April 19, 2006. Outline. Overview Plan 9 Security Problems Proposed Solutions Results Conclusion. Overview. Plan 9 is a microkernel based OS
E N D
Security in Plan 9Russ Cox, Eric Grosse, Rob Pike, Dave Presotto, Sean QuinlanPresented by Vijay Srinivas NoriApril 19, 2006
Outline Overview Plan 9 Security Problems Proposed Solutions Results Conclusion
Overview Plan 9 is a microkernel based OS Developed at Bell Labs (late 1980s) [2] Several Problems in Security Architecture Redesigned security architecture to be Simple to Use Simple to modify/update Simple to understand and verify Focus: Practical causes of Security holes
Outline Overview Plan 9 Security Problems Proposed Solutions Results Conclusion
Application Kernel Module File Server Security Modules Security Modules Security Modules Change Security Algorithm Problems Analyzed (1) recompile/relink & restart security modules
Problems Analyzed (2) Enhance ease of use Many security violations due to user inexperience with complex security e.g. installing X.509 certificates
Network File Stores Network Services Password Problems Analyzed (3) Local File Store User Same password!
Hard to fix broken system! Authentication deeply embedded Problems Analyzed (4) PLAN 9 File Transport Protocol Authentication Protocol
Outline Overview Plan 9 Security Problems Proposed Solutions Results Conclusion
Required at bootstrap to load the existing keys Factotum Components of the Security Architecture
System Redesign Factotum All security code packaged in Debug, modify, add new protocols on the fly Programs don’t need to be compiled with crypto code – talk to factotum agents When modifying security modules – recompile/relink and restart factotum
Factotum Working Requests password for secstore at startup – performs all authentications from then on (like Kerberos [3]) Factotum keeps its keys in volatile memory -passwords as plaintext (-noswap) User talks to factotum using a RPC like protocol Copy initial set of stores from Network Server secstore at startup using encrypted communication.
fauth(int fd, char* servicename) afd (capability file) mount(fd, afd, …) Authentication Protocol Communication Authentication Protocol Execute Request Changes to 9P 9P File Service Client Factotum afd ready for mount!
Outline Overview Plan 9 Security Problems Proposed Solutions Results Conclusion
Results Achieved Ease of Use (subjective) Achieved Security (subjective) The Group is moving their computing environment outside the corporate firewall Primary computing environment for several developers of Plan 9 Ease of Development/Maintainance Only update factotum e.g. with bug fixes
Outline Overview Plan 9 Security Problems Proposed Solutions Results Conclusion
Conclusion It is HARD to write safe code Logic mistakes, OS bugs, compiler bugs Bugs WILL exist – but once detected should be easy to fix or perform damage control Factotum has all the security code Smaller code (~ few thousand lines) Easy to verify and less error prone
References [1] “Security in Plan 9”, Russ Cox et. al., Proceedings of the 11th USENIX Security Symposium [2] “Plan 9 from Bell Labs”, R Pike et. al., Computing Systems, 1995 – scs.stanford.edu [3] “Kerberos: An Authentication Service for Open Network Systems”, Jennifer G. Steiner et. al., Proc. Winter USENIX Conference, 1988