꾸준한 개발자

계속적인 성장을 추구하는 개발자입니다. 꾸준함을 추구합니다.

계속 쓰는 개발 노트

운영체제 (OS)

프로세스 구조와 스택 오버플로우

gold_dragon 2021. 4. 18. 17:37

DATA 영역은 BSS와 DATA로 구분됩니다. BSS는 초기화되지 않은 전역변수, DATA는 초기값이 있는 전역변수가 저장됩니다.

 

스택 오버 플로우는 스택 포인터가 스택의 경계를 넘어설 때 일어납니다. (위키백과 참조)

데이터를 저장할 때 해당 데이터가 스택 메모리 사이즈보다 더 많은 스택 메모리를 사용하면서 발생하는 에러 상황입니다.

 

스택 메모리 사이즈보다 많은 데이터를 저장할 때는 다른 stack의 메모리 공간에 덮어 씌어지면서 저장됩니다. 만약 해커가 자신이 원하는 함수의 위치로 저장시키면서 공격을 할 수 있습니다.