Buffer Overflow
- 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리의 범위를 넘어선 위치에 데이터를 읽거나 쓰려고 할때 발생
Stack
- 함수 처리를 위해 지역변수 및 매개변수가 위치하는 메모리 영역
Heap
- 프로그래머가 관리하는 메모리 영역으로 메모리 사용 시 필요한만큼만 할당하여 사용
Stack Buffer Overflow Attack
- 스택 영역에 할당된 버퍼 크기를 초과하는 양의 데이터(실행 가능 코드)를 입력하여 복귀 주소(RET, Return Address)를 변경하고 공격자가 원하는 임의의 코드를 실행함
- 특히 root 소유의 SUID 설정 프로그램에 버퍼 오버플로우가 발생하면 root 권한으로 악성 프로그램 실행 가능
Heap Buffer Overflow Attack
- 프로그램 실행 시 힙 영역에 할당된 버퍼 크기를 초과하는 양의 데이터(실행 가능 코드)를 입력하여 메모리의 데이터와 함수 주소 등을 변경하여 공격자가 원하는 임의 코드를 실행함
'정보보안기사&CISSP관련 > System Security' 카테고리의 다른 글
[Day 111] 스택 버퍼 오버플로우(Stack Buffer Overflow) 공격 대응 방안 (0) | 2020.11.29 |
---|---|
[Day 89] 다중 프로그래밍(Multi programming), 이중모드(Dual mode) (0) | 2020.11.07 |
[Day 86] logrotate(리눅스 로그순환) (0) | 2020.11.04 |
[Day 85] /etc/services, /etc/protocols (0) | 2020.11.03 |
[Day 84] Unix/Linux System Directory 구조 (0) | 2020.11.02 |