Dreamhack - System Hacking
-
Linux Memory LayoutSystem - Security/Dreamhack - Basic 2023. 5. 15. 17:04
리눅스 프로세스의 메모리 구조 세그먼트 세그먼트란 적재되는 데이터의 용도별로 메모리의 구획을 나눈 것 리눅스에서는 프로세스의 메모리를 크게 5가지의 세그먼트(Segment)로 구분한다 코드 세그먼트, 데이터 세그먼트, BSS 세그먼트, 힙 세그먼트, 스택 세그먼트 로 5가지가 있다 권한은 읽기, 쓰기, 그리고 실행이 존재하며, CPU는 메모리에 대해 권한이 부여된 행위만 할 수 있다 예를 들어, 데이터 세그먼트에는 프로그램이 실행되면서 사용하는 데이터가 적재된다 CPU는 이곳의 데이터를 읽을 수 있어야 하므로 이 영역에는 읽기 권한이 부여된다 반면 이 영역의 데이터는 실행 대상이 아니므로 실행 권한은 부여되지 않는다 코드 세그먼트(Code Segment) 코드 세그먼트(Code Segment)는 실행 가..