1. 미션 제목

메모리와 OverFlow 개념 정리

2. 지시문

  1. 수업에서 언급되었던 Heap overflow와 stack overflow에 대해서 어떤 경우에 발생이 되는지 서술해주세요.

  2. Strcpy와 strncpy의 차이점을 서술해보세요. (어떤 것을 추천하는지와 그 이유에 대해서 서술해주세요.)

  3. 메모리 초기화, 복사, 이동, 비교와 같은 함수가 라이브러리에 있습니다. 사용방법을 숙지하고, 간단하게 코드로 구현 후 정상적으로 동작이 되는지 확인해보세요.

3. 핵심 개념

#문자열복사 #string.h

나의 풀이

1) Heap overflow와 Stack overflow

컴퓨터 메모리는 크게 4가지 영역으로 나뉘어진다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/99380f81-0f80-41a0-979d-ecaecc46ed00/Untitled.png

overflow란 사용 가능한 메모리 영역을 넘어설 때 발생하는 오류이다. 즉, 메모리 할당 가능한 영역보다 더 많은 메모리 할당을 하면 발생하게 된다.

문제는 이러한 특성을 이용해서 해킹 공격에 사용될 수 있다는 점이다. 이미 옛날부터 버퍼 오버플로우는 널리 알려졌지만 여전히 강력한 해킹 수단이 된다. 그로 인한 피해는 접근할 수 없어야 하는 데이터에 접근하거나 수정하거나 취득하거나 혹은 데이터가 삭제되는 경우가 발생할 수 있다.