Protection
1
Disclaimer: some slides are adopted from book authors’ slides with permission
Protection Disclaimer: some slides are adopted from book authors - - PowerPoint PPT Presentation
Protection Disclaimer: some slides are adopted from book authors slides with permission 1 Recap Distributed computing Sharing, performance, reliability Terminology Network Packet Protocol DNS A distributed
1
Disclaimer: some slides are adopted from book authors’ slides with permission
2
3
Ethernet HTTP, DNS, SMTP, FTP, …
4 Source: G. Herrin, Linux IP Networking: A Guide to the Implementation and Modification of the Linux Protocol Stack, 2000
5
6
7
8
9
E.g., User D1 can read F1 or F3
10
group world
11
12
13
14
15
16
17
Stack pointer
18
#define BUFFER_SIZE 256 int process_args(char *arg1) { char buffer[BUFFER SIZE]; strcpy(buffer,arg1); ... } int main(int argc, char *argv[]) { process_args(argv[1]); ... }
19
#define BUFFER_SIZE 256 int process_args(char *arg1) { char buffer[BUFFER SIZE]; strcpy(buffer,arg1); ... } int main(int argc, char *argv[]) { process_args(argv[1]); ... }
arg1
20
#define BUFFER_SIZE 256 int process_args(char *arg1) { char buffer[BUFFER SIZE]; strcpy(buffer,arg1); ... } int main(int argc, char *argv[]) { process_args(argv[1]); ... }
arg1
21
#include <stdio.h> int main(int argc, char *argv[]) { execvp(‘‘/bin/sh’’,‘‘/bin/sh’’, NULL); return 0; }
22
Before After executing strcpy(buffer, arg1) the crafted string containing the illegitimate code
23
Source: http://www.cvedetails.com/vulnerability-list/vendor_id-33/product_id- 47/cvssscoremin-9/cvssscoremax-/Linux-Linux-Kernel.html
212 reported buffer overflow bugs in Linux
24