90 likes | 189 Vues
SoftwarePot provides a secure virtual environment, Pot, with a private namespace of resources, snapshots distributed as packages, and stackable resource views. Installation, uninstallation, and security policy are controlled. Access control policies are simplified, and resources are prepared in virtual environment. Implemented as user-level middleware with syscall interception. Source code available soon!
E N D
SoftwarePot: A Secure Software Circulation System Yoshihiro OYAMA (Univ. of Tokyo / JST) Kazuhiko KATO (Univ. of Tsukuba / JST)
SoftwarePot in a NutShell • Provides virtual environment “Pot” • Pot has private namespace of resources • Contains private file tree (like chroot jail) • Virtual resource in pot can be mapped to real external resource • Snapshots of pots (pot files) are distributed as software packages • Like Zip files
pot file user developer user user
pot process process process remote machine security policy
Installation/Uninstallation • Files in package are not extracted and installed into the original file system • Installation: downloading pot file • Uninstallation: deleting pot file • Execution:“stacking” resource views • Like UnionFS
Security Policy • How to “plant” pot in real environment • How to control accesses map: /usr/local/lib /usr/local/lib /dev/null /dev/null /extern_world /home/oyama/shared_dir_for_pot … socket: allow connect *.u-tokyo.ac.jp 80 redirect 202.226.93.133 23 -> 130.158.85.97 10023
Advantages • Reduced effort is required • for describing access control policies • Because accessible external resources are minimized • for preparing resources in virtual environment • Because they are distributed as pot files
Implementation • User-level middleware • Syscall interception and sysarg modification • Linux: our kernel module • Solaris: procfs • One monitor process attached to each application process • Measured overhead: 6~21%