System - Security/Dreamhack - Basic
-
Background: Computer ArchitectureSystem - Security/Dreamhack - Basic 2023. 5. 17. 21:15
컴퓨터 구조와 명령어 집합 구조 컴퓨터 구조(Computer Architecture) 컴퓨터 구조란 컴퓨터가 효율적으로 작동할 수 있도록 하드웨어 및 소프트웨어의 기능을 고안하고, 이들을 구성하는 방법을 말한다 컴퓨터 구조는 컴퓨터의 기능 구조에 대한 설계, 명령어 집합구조, 마이크로 아키텍처, 그리고 기타 하드웨어 및 컴퓨팅 방법에 대한 설계 등이 포함된다 CPU의 명령어에 대한 설계는 명령어 집합구조(Instruction Set Architecture, ISA)라고 불리며, CPU가 처리해야 하는 명령어를 설계하는 분야이다 대표적으로 ARM, MIPS, AVR, 인텔의 x86 및 x86-64 등이 있다 CPU의 하드웨어적 설계는 마이크로 아키텍처라고 불리며 정의된 명령어 집합을 효율적으로 처리할 수 ..
-
Linux Memory LayoutSystem - Security/Dreamhack - Basic 2023. 5. 15. 17:04
리눅스 프로세스의 메모리 구조 세그먼트 세그먼트란 적재되는 데이터의 용도별로 메모리의 구획을 나눈 것 리눅스에서는 프로세스의 메모리를 크게 5가지의 세그먼트(Segment)로 구분한다 코드 세그먼트, 데이터 세그먼트, BSS 세그먼트, 힙 세그먼트, 스택 세그먼트 로 5가지가 있다 권한은 읽기, 쓰기, 그리고 실행이 존재하며, CPU는 메모리에 대해 권한이 부여된 행위만 할 수 있다 예를 들어, 데이터 세그먼트에는 프로그램이 실행되면서 사용하는 데이터가 적재된다 CPU는 이곳의 데이터를 읽을 수 있어야 하므로 이 영역에는 읽기 권한이 부여된다 반면 이 영역의 데이터는 실행 대상이 아니므로 실행 권한은 부여되지 않는다 코드 세그먼트(Code Segment) 코드 세그먼트(Code Segment)는 실행 가..