리눅스 커널 보안 하드닝(Hardening) 기능들의 심층 동작 원리를 분석하고, 실제 커널 빌드 및 QEMU(x86_64 / arm64) 가상머신 환경에서 각 보안 기능을 실습·검증하는 오픈소스 엔지니어링 가이드.
- 이론과 실습의 1:1 결합: 단순 이론 나열이 아닌, 각 하드닝 피처별 커널 Kconfig 설정, 공격 PoC/LKDTM 트리거, QEMU 실행 결과 로그를 함께 제공함.
- x86_64 & arm64 듀얼 아키텍처 지원: 인텔/AMD 서버 환경과 ARM 모바일/임베디드/클라우드 환경의 하드닝 메커니즘 차이를 직접 비교 검증함.
- 고품질 인터랙티브 시각화: Archify(
tt-a1i/archify) 기반 인터랙티브 아키텍처 다이어그램 및 Mermaid 프로세스 흐름도 탑재. - 다국어 기술 문서 지원: 한국어(기본, 명사 종결형 표준) 및 영어 문서 1:1 완벽 제공.
- 원클릭 재현 환경: 커널 소스 다운로드부터 BusyBox initramfs 빌드, 피처별 Kconfig 머지, QEMU 구동까지 스크립트로 자동화 지원.
상세 구현 항목 및 체크리스트는 PROJECT_SPEC.md 참조.
- Stack & Buffer Protection: Stack Canary (
CONFIG_STACKPROTECTOR_STRONG), FORTIFY_SOURCE, Shadow Call Stack, Stackleak. - Memory Layout & Randomization: KASLR, FG-KASLR, Randomize Memory.
- Memory Permissions & Access Separation: Strict Kernel/Module RWX, SMEP/PXN, SMAP/PAN, Page Table Check, KPTI (Meltdown).
- Control Flow Integrity (CFI): Clang kCFI, x86 IBT & SHSTK (Intel CET), ARM64 BTI & PAC.
- Heap & Slab Allocator Hardening: SLAB Freelist Random/Hardened, Init on Alloc/Free, Hardened Usercopy, KFENCE.
- Structure & Compiler Defenses: Structleak, Randstruct GCC Plugins.
- Speculative Execution Defenses: Retpoline, IBPB/STIBP (Spectre v2), SSBD (Spectre v4), MDS/TAA.
- Mandatory Access Control & LSM: AppArmor, SELinux, Landlock, Stackable LSM.
- System & Binary Integrity Verification: IMA (Integrity Measurement Architecture), EVM (Extended Verification Module), IPE (Integrity Policy Enforcement), Lockdown LSM, Module Signature Verification.
- Attack Surface Reduction & System Hardening: Seccomp-BPF, BPF JIT Hardening, Strict Devmem, Yama Ptrace, Dmesg Restrict.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
mkdocs serve
# http://127.0.0.1:8000 접속 (한/영 토글 가능)소스 다운로드부터 rootfs 생성, 커널 빌드 및 QEMU 부팅까지 단 한 줄로 자동 실행 지원함:
# [방법 A] Makefile 활용 (권장)
make run # x86_64 베이스 커널 원클릭 빌드 & 부팅
make run-arm64 # ARM64 베이스 커널 원클릭 빌드 & 부팅
# [방법 B] run_lab.sh 오케스트레이터 직접 실행
./scripts/run_lab.sh # x86_64 베이스 커널 실행
./scripts/run_lab.sh --arch arm64 # ARM64 베이스 커널 실행
./scripts/run_lab.sh --feature stack-protector # 하드닝 피처 적용 빌드 & 실행- 문서 작성 표준 및 문체 규칙:
SKILL.md - 프로젝트 명세 및 진행 상황:
PROJECT_SPEC.md - 라이선스: MIT License (
LICENSE)