본문 바로가기

전체 글57

정보보호정책과 위험관리 1. 정보보호 정책 (Information Security Policy)정보보호정책이란, 기업의 내·외부 환경과 업무 성격에 맞는 효과적인 정보보호 활동을 위해 기본적으로 수행되어야 할 사항을 일목요연하게 기술한 최상위 문서이다. 정보보호의 목적, 범위, 책임, 활동에 관한 경영진의 의지와 방향성을 담고 있으며, 하위 문서(표준, 지침, 절차)의 근거가 된다. 정책 (Policy): 조직이 '무엇을(What)' 해야 하는지 정의하는 최상위 선언문(예: "모든 임직원은 강력한 인증을 사용해야 한다.")표준 (Standard): 정책을 이행하기 위해 '반드시(Must)' 지켜야 하는 강제적 기술 규격(예: "비밀번호는 영문/숫자/특수문자 조합 12자리 이상으로 설정한다.")지침 (Guideline): 표준 .. 2026. 4. 15.
[3주차 TIL] KnockOn Bootcamp - ELF 파일 구조 ELF는 Linux 및 유닉스 계열 시스템에서 실행파일, 오브젝트 파일, 공유 라이브러리, 커널 모듈에 이르기까지 널리 사용되는 표준 이진 포맷입니다.리버서에게 있어 ELF 구조를 정확히 이해하는 것은 바이너리 해석, 후킹, 섹션 주입, Exploit 개발의 기초가 된다.📘ELF 구조 분석 – 리눅스 실행파일을 해부하다🔍 5.1 ELF란?ELF(Executable and Linkable Format)는 리눅스/유닉스 계열 운영체제에서 사용되는 실행파일 및 링크 가능 오브젝트 포맷이다.기본적인 목적은 OS가 파일을 쉽게 읽고 메모리에 적절히 맵핑하여 실행하거나 재사용할 수 있도록 설계된 구조다.ELF는 Windows의 PE(Portable Executable)와 같은 역할을 하며, 리버싱 시 PE와 함.. 2025. 4. 22.
[3주차 TIL] KnockOn Bootcamp - 메모리 구조와 매핑 📘실행파일의 메모리 구조와 매핑 – 코드가 RAM 위에 올라가는 방식실행파일이 메모리에 어떻게 적재되고, 어떤 구역이 어떤 역할을 하는지를 알아야만스택 버퍼 오버플로우, 힙 조작, 코드 인젝션, 권한 우회 등 실전 익스플로잇이 가능해집니다.🔍 4.1 메모리 구조 개요프로그램이 실행되면 운영체제는 실행파일을 RAM의 특정 공간에 적재한다.이 메모리 공간은 아래처럼 여러 구역(섹션, Section)으로 나뉘어 있으며,각 구역은 서로 다른 목적과 보안 속성을 가진다.아래 그림은 메모리 구조의 전형적인 모습이다:📦 4.2 각 섹션의 구조와 역할🔹 Code Section (.text)역할: 프로그램의 기계어 명령어(코드)가 저장됨속성: 읽기 + 실행(Read + Execute), 쓰기 금지보안적 의미: S.. 2025. 4. 22.
[3주차 TIL] KnockOn Bootcamp - 링커와 로더 📘링커와 로더 – 실행파일이 메모리에서 살아나는 과정🔍 3.1 링커(Linker)란?💡 개념"링커(linker)"는 컴파일된 목적 파일들(.o, .obj)을 하나의 실행 가능한 프로그램으로 결합해주는 툴이다.링커는 외부 참조를 해결하고, 코드나 데이터의 실제 메모리 주소를 할당해주며, 최종 실행파일을 생성한다.🔧 링커의 주요 역할심볼 이름 → 실제 주소 매핑라이브러리와 연결 (printf, malloc 등)코드/데이터 영역 구성 (.text, .data, .bss)재배치(Relocation) 처리🔍 3.1.1 동적 링킹 vs 정적 링킹 항목 정적 링킹 (Static) 동적 링킹 (Dynamic) 시점컴파일 시실행 시 (런타임)실행 파일 크기크다 (라이브러리 포함됨)작다 (라이브러리 분리됨)성.. 2025. 4. 22.
[3주차 TIL] KnockOn Bootcamp - 컴파일러 📘 컴파일 과정의 내부 구조 – 소스코드에서 실행파일까지🔍 2.1 컴파일이란 무엇인가?C언어로 작성한 소스코드는 CPU가 이해하지 못한다.이 코드를 컴퓨터가 이해할 수 있는 **기계어 바이너리(executable)**로 바꾸는 과정이 바로 컴파일이다.이 과정은 한 단계로 끝나는 것이 아니라 총 4단계에 걸쳐 진행된다.🔧 2.2 컴파일 4단계 요약단계이름결과 파일 확장자역할1단계전처리(Preprocessing).i매크로, #include 처리2단계컴파일(Compilation).sC코드 → 어셈블리3단계어셈블(Assembling).o어셈블리 → 목적코드4단계링킹(Linking)없음 (.exe, .out)목적코드 + 라이브러리 결합🧪 실습 – gcc 명령어로 직접 확인해보기예시 파일: main.c#in.. 2025. 4. 22.
[3주차 TIL] KnockOn Bootcamp - 아키텍쳐 📘 시스템 아키텍처와 바이너리 구조의 이해🔍 1.1 폰 노이만 구조란?🔧 개념폰 노이만 구조(𝑉𝑜𝑛 𝑁𝑒𝑢𝑚𝑎𝑛 𝐴𝑟𝑐ℎ𝑖𝑡𝑒𝑐𝑡𝑢𝑟𝑒)는 오늘날 대부분의 컴퓨터 시스템이 따르는 메모리 기반 명령 실행 모델이다.📦 핵심 요소구성 요소설명제어 장치명령어를 해석하고 제어 신호 생성연산 장치계산 및 논리 연산 수행 (ALU)메모리명령어와 데이터를 함께 저장입력/출력 장치외부와의 정보 송수신 담당프로그램 카운터다음 실행할 명령의 주소 저장⚠️ 리버싱 관점모든 명령어는 메모리에 저장되어 있고, CPU는 이를 순차적으로 읽어 해석한다.어셈블리 분석 시 프로그램 카운터(Instruction Pointer)가 다음 실행 위치를 의미함.💡 1.2 아키텍처란?**아키텍처(Arc.. 2025. 4. 22.