-
CSE543 - Introduction to Computer and Network Security Page
CSE543 - Introduction to Computer and Network Security Module: Operating System Security
Professor Trent Jaeger
1
CSE543 - Introduction to Computer and Network Security Module: - - PowerPoint PPT Presentation
CSE543 - Introduction to Computer and Network Security Page
1
CSE543 - Introduction to Computer and Network Security Page
2
CSE543 - Introduction to Computer and Network Security Page
3
CSE543 - Introduction to Computer and Network Security Page
4
CSE543 - Introduction to Computer and Network Security Page
5
CSE543 - Introduction to Computer and Network Security Page
6
CSE543 - Introduction to Computer and Network Security Page
7
CSE543 - Introduction to Computer and Network Security Page
8
CSE543 - Introduction to Computer and Network Security Page
9
CSE543 - Introduction to Computer and Network Security Page
10
CSE543 - Introduction to Computer and Network Security Page
applications call it (system calls)
11
Gate
CSE543 - Introduction to Computer and Network Security Page
12
1 2 3 4 5 6 7 a1 a2
CSE543 - Introduction to Computer and Network Security Page
13
1 2 3 4 5 6 7 a1 a2
Allow with gate No ring fault Denied
Ring c2 c1
Ring fault
CSE543 - Introduction to Computer and Network Security Page
14
CSE543 - Introduction to Computer and Network Security Page
15
CSE543 - Introduction to Computer and Network Security Page
16
CSE543 - Introduction to Computer and Network Security Page
17
CSE543 - Introduction to Computer and Network Security Page
18
CSE543 - Introduction to Computer and Network Security Page
19
CSE543 - Introduction to Computer and Network Security Page
20
CSE543 - Introduction to Computer and Network Security Page
21
CSE543 - Introduction to Computer and Network Security Page
22
CSE543 - Introduction to Computer and Network Security Page
23
CSE543 - Introduction to Computer and Network Security Page
24
CSE543 - Introduction to Computer and Network Security Page
25
CSE543 - Introduction to Computer and Network Security Page
26
/* 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.
CSE543 - Introduction to Computer and Network Security Page
27
CSE543 - Introduction to Computer and Network Security Page
28
CSE543 - Introduction to Computer and Network Security Page
29 Systems and Internet Infrastructure Security (SIIS) Laboratory Page
confining them relative to the system)
9
CSE543 - Introduction to Computer and Network Security Page
30 Systems and Internet Infrastructure Security (SIIS) Laboratory Page
10
CSE543 - Introduction to Computer and Network Security Page
31