본문 바로가기
정보보안기사&CISSP관련/System Security

[Day 87] Buffer Overflow Attack(버퍼 오버플로우 공격)

by minimalist_2022 2020. 11. 5.

Buffer Overflow 

  • 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리의 범위를 넘어선 위치에 데이터를 읽거나 쓰려고 할때 발생

 

Stack

  • 함수 처리를 위해 지역변수 및 매개변수가 위치하는 메모리 영역

 

Heap

  • 프로그래머가 관리하는 메모리 영역으로 메모리 사용 시 필요한만큼만 할당하여 사용

 

Stack Buffer Overflow Attack

  • 스택 영역에 할당된 버퍼 크기를 초과하는 양의 데이터(실행 가능 코드)를 입력하여 복귀 주소(RET, Return Address)를 변경하고 공격자가 원하는 임의의 코드를 실행함
  • 특히 root 소유의 SUID 설정 프로그램에 버퍼 오버플로우가 발생하면 root 권한으로 악성 프로그램 실행 가능

 

Heap Buffer Overflow Attack

  • 프로그램 실행 시 힙 영역에 할당된 버퍼 크기를 초과하는 양의 데이터(실행 가능 코드)를 입력하여 메모리의 데이터와 함수 주소 등을 변경하여 공격자가 원하는 임의 코드를 실행함