Operating Systems, Security, Concurrency and Architecture Research 1
Practical Techniques to Obviate Setuid-to-Root Binaries
Bhushan Jain, Chia-Che Tsai, Jitin John, Donald Porter
OSCAR Lab Computer Science Department Stony Brook University
Practical Techniques to Obviate Setuid-to-Root Binaries Bhushan Jain - - PowerPoint PPT Presentation
Operating Systems, Security, Concurrency and Architecture Research Practical Techniques to Obviate Setuid-to-Root Binaries Bhushan Jain , Chia-Che Tsai, Jitin John, Donald Porter OSCAR Lab Computer Science Department Stony Brook University 1
Operating Systems, Security, Concurrency and Architecture Research 1
OSCAR Lab Computer Science Department Stony Brook University
2
/bin/mount /dev/sda2 /disk1
3
/bin/mount /dev/sda2 /disk1
4
/bin/mount /dev/sda2 /disk1
5
/bin/mount /dev/cdrom /cdrom
6
/bin/mount /dev/cdrom /cdrom
7
/bin/mount /dev/cdrom /cdrom
8
/bin/mount /dev/cdrom /cdrom
/dev/cdrom /cdrom iso9660 user,ro 0 0
9
/bin/mount /dev/cdrom /cdrom
/dev/cdrom /cdrom iso9660 user,ro 0 0
10
/bin/mount /dev/cdrom /cdrom
/dev/cdrom /cdrom iso9660 user,ro 0 0
11
/bin/mount /dev/cdrom /cdrom
/dev/cdrom /cdrom iso9660 user,ro 0 0
12
/bin/mount /dev/cdrom /cdrom
/dev/cdrom /cdrom iso9660 user,ro 0 0
13
14
15
16
17
18
19
20 40 60 80 100
10 20 30 40 50 60 70 80 90 100 110 120
Installation Percentage
Setuid-to-Root Binaries
20
21
22
23
Privileged Interface Used by What do we do? mount, umount 3 Whitelist safe locations and options socket (ping) 5 Apply firewall rules on raw sockets Credential databases (passwd) 5 Fragment to per-user or pergroup files, matching DAC granularity. ioctl (pppd) 2 Add LSM hooks to verify new routes bind (mail) 3 Map low port to (binary, userid) pair setuid, setgid (sudo) 7 Delegation Framework: LSM hooks to check delegation rules & recency Video driver control state (X) 1 Kernel Mode Switching: Context switches video devices in the kernel /dev/pts* terminal slaves (pt_chown) 1 Deprecated since kernel 2.1 Host private ssh key (ssh-keysign) 1 Restrict file access to specific binaries
24
25
26
/dev/cdrom /cdrom iso9660 user,ro 0 0
27
/dev/cdrom /cdrom iso9660 user,ro 0 0 /*Parse /etc/fstab*/
28
/dev/cdrom /cdrom iso9660 user,ro 0 0 /*Parse /etc/fstab*/
/proc/ mnt_policy
29
/dev/cdrom /cdrom iso9660 user,ro 0 0 /*Parse /etc/fstab*/
/proc/ mnt_policy
30
/dev/cdrom /cdrom iso9660 user,ro 0 0 /*Parse /etc/fstab*/
mount /dev/cdrom /cdrom /proc/ mnt_policy
31
sys_mount(args);
/dev/cdrom /cdrom iso9660 user,ro 0 0 /*Parse /etc/fstab*/
mount /dev/cdrom /cdrom /proc/ mnt_policy
32
sys_mount(args); sys_mount() { if(!security_mount_ok(args)) return -EPERM; do_mount(args); }
/dev/cdrom /cdrom iso9660 user,ro 0 0 /*Parse /etc/fstab*/
mount /dev/cdrom /cdrom /proc/ mnt_policy
33
sys_mount(args); sys_mount() { if(!security_mount_ok(args)) return -EPERM; do_mount(args); }
/dev/cdrom /cdrom iso9660 user,ro 0 0 /*Parse /etc/fstab*/
mount /dev/cdrom /cdrom /proc/ mnt_policy
34
35
36
37
38
39
40
41
42
43
44
45
46
20 40 60 80 100 % LOC Coverage
47
1 2 3 4 5 6 7 8 9 10
% Execution Time Overhead
Protego
48
1 2 3 4 5 6 7 8 9 10
% Execution Time Overhead
Protego
49
1 2 3 4 5 6 7 8 9 10
% Execution Time Overhead
Protego
50
1 2 3 4 5 6 7 8 9 10
% Execution Time Overhead
Protego
51
1 2 3 4 5 6 7 8 9 10 Postal Mail server (Min/msg) Kernel Compile ApacheBench 100 conc. req
52
1 2 3 4 5 6 7 8 9 10 Postal Mail server (Min/msg) Kernel Compile ApacheBench 100 conc. req
53
1 2 3 4 5 6 7 8 9 10 Postal Mail server (Min/msg) Kernel Compile ApacheBench 100 conc. req
54
20 40 60 80 100 20 40 60 80 100 120
Installation Percentage
55
20 40 60 80 100 20 40 60 80 100 120
Installation Percentage
56
20 40 60 80 100 20 40 60 80 100 120
Installation Percentage
57
20 40 60 80 100 20 40 60 80 100 120
Installation Percentage
58
59
Operating Systems, Security, Concurrency and Architecture Research