660 likes | 825 Views
발표자료는 다음링크에서 다운로드 받으실 수 있습니다. http://younges.tistory.com/629. Memory Protection Mechanism of Linux. TEAM WANG YIS of KSIA – 김태욱 01032309051 xodnr631 fb.com/xodnr631. TEAM WANG. YIS. Buffer Overflow (1). 사용자가 입력한 데이터의 크기가 너무 과하여 제한된 버퍼의 용량을 넘쳐버렸을때 생기는 버그를 이용해 해킹하는 기술
E N D
발표자료는 다음링크에서 다운로드 받으실 수 있습니다. • http://younges.tistory.com/629
Memory Protection Mechanism of Linux TEAM WANG YIS of KSIA – 김태욱 01032309051 xodnr631 fb.com/xodnr631
Buffer Overflow (1) • 사용자가 입력한 데이터의 크기가 너무 과하여 제한된 버퍼의 용량을 넘쳐버렸을때생기는 버그를 이용해 해킹하는 기술 • 버퍼 : 컴퓨터의 주기억 장치와 주변장치 사이에서 데이터를 주고받을때 정보를 임시로 기억해두는 임시저장공간
Buffer Overflow (1) • 사용자가 입력한 데이터의 크기가 너무 과하여 제한된 버퍼의 용량을 넘쳐버렸을때생기는 버그를 이용해 해킹하는 기술 • 버퍼 : 컴퓨터의 주기억 장치와 주변장치 사이에서 데이터를 주고받을때 정보를 임시로 기억해두는 임시저장공간
Buffer Overflow (3) BUFFER – SFP – RET – Argc/Argv – 환경변수 - 파일명
Buffer Overflow (3) BUFFER – SFP – RET – Argc/Argv – 환경변수 - 파일명 A AAAAAAAAAAAAAAAAAA
Stack 유저영역
Stack LOW HIGH
Stack LOW HIGH
Buffer Overflow (4) < 버퍼 오버플로우 문제풀이 > 해커스쿨 FTZ 해커스쿨 LOB IO SmashTheStack
Buffer Overflow (5) <LOB 문제풀이 유형>
Buffer Overflow (5) int main(intargc, char *argv[]) { char buffer[256]; if(argc < 2){ printf("argv error\n”); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); }
Buffer Overflow (5) // here is changed! if(strlen(argv[0]) != 77){ printf("argv[0] error\n"); exit(0); }
Buffer Overflow (5) int main() { char buffer[16]; gets(buffer); printf("%s\n", buffer); }
Memory Protection (1) ASLR(Address Space Layout Randomization)
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
Memory Protection (1) ASLR(Address Space Layout Randomization) STACK LOW HIGH 난짱해커
↑ 고정 된 주소 ↑ 계속해서 바뀌는 주소
↑ 고정 된 주소 ↑ 계속해서 바뀌는 주소
Memory Protection (2) DEP(Data Execution Prevention)
Memory Protection (2) DEP(Data Execution Prevention) STACK
Memory Protection (2) DEP(Data Execution Prevention) STACK LOW HIGH
Memory Protection (2) DEP(Data Execution Prevention) STACK LOW HIGH
Memory Protection (2) DEP(Data Execution Prevention) - RTL STACK LOW HIGH
Memory Protection (2) RTL A AAAAAAAAAAAAAAAAAA
Memory Protection (2) RTL A AAAAAAAAAAAAAAAAAA &system() &execl() &/bin/sh