프로그램이 실행되면서 동적 할당하여 사용되는 메모리 영역
- 프로그램이 실행될 때까지 알 수 없는 가변적인 양의 데이터를 저장하기 위해 프로그램의 프로세스가 사용할 수 있도록 예약되어 있는 메인 메모리의 영역
- 프로그램들에 의해 할당되었다가 회수되는 작용이 되풀이됨
- 프로그램들이 요구하는 블록의 크기나 요구/횟수 순서에 일정한 규칙이 없음
힙 오버플로우
- 개발자가 malloc과 같은 메모리 할당 함수 를 이용해 프로그램을 개발하였다면, 힙 영역을 오버플로우시켜 특정 코드를 실행하도록 하는 공격이 가능하다.