-
CSE543 - Introduction to Computer and Network Security Page
CSE543 - Introduction to Computer and Network Security Module: Advanced Program Vulnerabilities and Defenses
Professor Trent Jaeger
29
CSE543 - Introduction to Computer and Network Security Module: - - PowerPoint PPT Presentation
CSE543 - Introduction to Computer and Network Security Page
29
CSE543 - Introduction to Computer and Network Security Page
30
CSE543 - Introduction to Computer and Network Security Page
31
CSE543 - Introduction to Computer and Network Security Page
32
CSE543 - Introduction to Computer and Network Security Page
33
CSE543 - Introduction to Computer and Network Security Page
34
CSE543 - Introduction to Computer and Network Security Page
35
CSE543 - Introduction to Computer and Network Security Page
36
CSE543 - Introduction to Computer and Network Security Page
37
CSE543 - Introduction to Computer and Network Security Page
38
CSE543 - Introduction to Computer and Network Security Page
39
CSE543 - Introduction to Computer and Network Security Page
40
CSE543 - Introduction to Computer and Network Security Page
41
CSE543 - Introduction to Computer and Network Security Page
42
CSE543 - Introduction to Computer and Network Security Page
43
CSE543 - Introduction to Computer and Network Security Page
44
%eax$= %ebx$= 0x8048000$= Registers Memory Code Stack
G1 5 jmp G2 Return Address
buf
0x8048000 jump G3
. . .
pop$%eax ret pop$%eax ret movl$%eax,$(%ebx) ret
%eax$= %ebx$= 0x8048000$= Registers Memory Code Stack
G1 5 jmp G2 Return Address
buf
0x8048000 jump G3
. . .
pop$%eax ret pop$%eax ret movl$%eax,$(%ebx) ret
%eax$= %ebx$= 0x8048000$= Registers Memory Code Stack
G1 5 jmp G2 Return Address
buf
0x8048000 jump G3
. . .
pop$%eax ret pop$%eax ret movl$%eax,$(%ebx) ret
%eax$= %ebx$= 0x8048000$= Registers Memory 5 Code Stack
G1 5 jmp G2 Return Address
buf
0x8048000 jump G3
. . .
pop$%eax ret pop$%eax ret movl$%eax,$(%ebx) ret
%eax$= %ebx$= 0x8048000$= Registers Memory 5 Code Stack
G1 5 jmp G2 Return Address
buf
0x8048000 jump G3
. . .
pop$%eax ret pop$%eax ret movl$%eax,$(%ebx) ret
%eax$= %ebx$= 0x8048000$= Registers Memory 5 0x8048000 Code Stack
G1 5 jmp G2 Return Address
buf
0x8048000 jump G3
. . .
pop$%eax ret pop$%eax ret movl$%eax,$(%ebx) ret
%eax$= %ebx$= 0x8048000$= Registers Memory 5 0x8048000 Code Stack
G1 5 jmp G2 Return Address
buf
0x8048000 jump G3
. . .
pop$%eax ret pop$%eax ret movl$%eax,$(%ebx) ret
%eax$= %ebx$= 0x8048000$= Registers Memory 5 0x8048000 5 Code Stack
G1 5 jmp G2 Return Address
buf
0x8048000 jump G3
. . .
pop$%eax ret pop$%eax ret movl$%eax,$(%ebx) ret
CSE543 - Introduction to Computer and Network Security Page
47
CSE543 - Introduction to Computer and Network Security Page
48
49
Jay Ligatti summer 2004 intern work with: Úlfar Erlingsson and Martín Abadi
50
nop IMM1 if(*fp != nop IMM1) halt nop IMM2 if(**esp != nop IMM2) halt
51
nop IMM1 if(*fp != nop IMM1) halt nop IMM1
succ(Acall) = {B1, C1}
52
nop IMM2 if(**esp != nop IMM2) halt nop IMM2
succ(Bret) = {Acall+1, Dcall+1}
53
CSE543 - Introduction to Computer and Network Security Page
54
CSE543 - Introduction to Computer and Network Security Page
55
CSE543 - Introduction to Computer and Network Security Page
brute force attack in minutes
Vista onwards (Jan 2007)
56
CSE543 - Introduction to Computer and Network Security Page
57