-
CSE543 - Introduction to Computer and Network Security Page
CSE543 - Introduction to Computer and Network Security Module: Operating System Security
Professor Trent Jaeger
1
1
CSE543 - Introduction to Computer and Network Security Module: - - PowerPoint PPT Presentation
CSE543 - Introduction to Computer and Network Security Page
1
1
CSE543 - Introduction to Computer and Network Security Page
2
2
CSE543 - Introduction to Computer and Network Security Page
3
3
CSE543 - Introduction to Computer and Network Security Page
4
4
CSE543 - Introduction to Computer and Network Security Page
5
5
CSE543 - Introduction to Computer and Network Security Page
6
6
CSE543 - Introduction to Computer and Network Security Page
7
7
CSE543 - Introduction to Computer and Network Security Page
8
8
CSE543 - Introduction to Computer and Network Security Page
9
9
CSE543 - Introduction to Computer and Network Security Page
10
10
CSE543 - Introduction to Computer and Network Security Page
11
11
CSE543 - Introduction to Computer and Network Security Page
12
12
CSE543 - Introduction to Computer and Network Security Page
13
13
CSE543 - Introduction to Computer and Network Security Page
14
14
CSE543 - Introduction to Computer and Network Security Page
15
15
CSE543 - Introduction to Computer and Network Security Page
16
16
CSE543 - Introduction to Computer and Network Security Page
17
17
CSE543 - Introduction to Computer and Network Security Page
18
18
CSE543 - Introduction to Computer and Network Security Page
19
19
CSE543 - Introduction to Computer and Network Security Page
O1 O2 O3 J R R RW S2
RW S3
RW
20
20
CSE543 - Introduction to Computer and Network Security Page
– RWX assigned by file owners
21
21
CSE543 - Introduction to Computer and Network Security Page
22
22
CSE543 - Introduction to Computer and Network Security Page
23
23
CSE543 - Introduction to Computer and Network Security Page
24
24
CSE543 - Introduction to Computer and Network Security Page
25
/* from fs/fcntl.c */ long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) { struct file * filp; ... filp = fget(fd); ... err = security ops->file ops
... err = do fcntl(fd, cmd, arg, filp); ... } static long do_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg, struct file * filp) { ... switch(cmd){ ... case F_SETLK: err = fcntl setlk(fd, ...); ... } ... } /* from fs/locks.c */ fcntl_getlk(fd, ...) { struct file * filp; ... filp = fget(fd); /* operate on filp */ ... }
Figure 8: Code path from Linux 2.4.9 containing an ex- ploitable type error.
25
CSE543 - Introduction to Computer and Network Security Page
26
26
CSE543 - Introduction to Computer and Network Security Page
27
27
CSE543 - Introduction to Computer and Network Security Page
28
28
CSE543 - Introduction to Computer and Network Security Page
29
29
CSE543 - Introduction to Computer and Network Security Page
30 Systems and Internet Infrastructure Security (SIIS) Laboratory Page
10
30
CSE543 - Introduction to Computer and Network Security Page
31
31