시스템보안

시스템 보안을 시작하며..

JustSangRok 2026. 6. 13. 19:21

시스템 보안이란 무엇인가 

오늘부터는 시스템 보안을 시작해보겠다.


1. 시스템 보안 vs 네트워크 보안

먼저 둘의 경계부터 그어보자.

        ┌─────────────────────────┐
        │      네트워크 보안       │
        │   (방화벽, IDS/IPS,      │
        │   VPN, UTM, 스니핑 등)   │
        └────────┬────────────────┘
                 │  ← 시스템의 경계
        ┌────────┴────────┐  ┌─────────────────┐
        │   시스템 보안    │  │   시스템 보안    │
        │   (Server)      │  │   (Client)      │
        │  계정·권한·로그  │  │  계정·세션·로그  │
        │  취약점·패치 등  │  │  취약점·패치 등  │
        └─────────────────┘  └─────────────────┘

시스템 = Client & Server. 때로는 Host, Local, Terminal이라고도 부른다. 즉 시스템 안쪽에서 일어나는 내부적인 보안이 시스템 보안이고, 그 시스템의 바깥에서 패킷이 오가는 길목의 보안이 네트워크 보안이다.

 

어느 쪽이 더 중요한가는 상황에 따라 다르다. 외부에서 방화벽(F/W)·UTM 같은 장비로 한 번 걸러주는 환경이라면 네트워크 보안의 비중이 크고, 반대로 외부 방어가 뚫렸을 때 마지막 보루가 되어주는 것이 시스템 보안이다. 그래서 둘은 어느 한쪽을 골라야 하는 관계가 아니라 겹쳐 쌓아야 하는 관계(Defense in Depth) 이다.


2. 시스템 보안 전문가가 되기 위한 4단계 로드맵

시스템 보안 학습은 크게 네 단계로 정리할 수 있다.

단계 영역 주요 학습 내용

Step 1 기초 다지기 컴퓨터 구조, 서버/클라이언트, 운영체제, 네트워크 기초
Step 2 계정·권한 관리 계정/패스워드, 권한, 세션, 보안 솔루션, 암호학 기초
Step 3 모의 침투 테스트 정보 수집, 시스템 침투, 공격 전이 (PTES 표준)
Step 4 보안 운영·관리 로그, 백업/복구, 취약점, 보안 하드닝, 모니터링, 침해 대응

큰 그림은 이렇다. Step 1·2가 방어자(시스템 관리자)의 시각, Step 3가 공격자(모의해커)의 시각, Step 4가 운영자의 시각이라고 보면 된다. 진짜 보안 전문가는 결국 이 세 시각을 동시에 갖고 있어야 한다는 의미이기도 하다.

이제 각 단계를 조금 더 깊이 들여다보자.


Step 1. 기초 다지기

1-1. 컴퓨터 구조 (Computer Architecture)

시스템 보안에서는 하드웨어 구조도 어느 정도 알아야 한다. 이유는 단순하다. 결국 모든 공격과 방어는 메모리·CPU·저장장치 위에서 일어나기 때문이다.

CPU 내부

ALU (Arithmetic Logic Unit) — 산술·논리 연산을 담당

Register — CPU 안에 있는 매우 빠른 임시 저장소. ALU가 계산할 값을 잠깐 둔다

Control Unit — 명령어 해석과 실행 흐름 제어

Bus Interface — 외부와 통신하는 통로

CPU 안팎으로 주소 버스, 데이터 버스, 제어 버스 세 종류의 버스가 오간다.

메모리 위계 — 빠르고 작은 것에서, 느리고 큰 것으로

┌──── 빠름 / 작음 / 비쌈 ────┐
│   Register   (CPU 안)     │
│      ↓                    │
│   L1 / L2 / L3 Cache      │
│      ↓                    │
│   RAM  (Main Memory)      │
│      ↓                    │
│   SSD                     │
│      ↓                    │
│   HDD                     │
└──── 느림 / 큼 / 쌈 ──────┘

ALU가 산술 연산을 할 때는 Register에 값을 잠깐 두고 계산한다. 결과는 곧 RAM으로 옮겨지고, 영구 저장이 필요한 것은 HDD/SSD로 내려간다.

메인 메모리 / 보조기억장치 / 주변장치

분류 예시 특징

메인 메모리 RAM, ROM RAM은 휘발성, ROM은 비휘발성
보조기억장치 HDD, SSD 비휘발성, 용량 큼
주변장치 (I/O) Keyboard, Monitor, NIC 입출력 담당

부팅에 필요한 핵심 코드(BIOS/UEFI 펌웨어) 같은 것들은 ROM(또는 EEPROM/Flash)에 들어 있어, 전원을 껐다 켜도 사라지지 않는다.

보안 관점 — 포렌식에서 전원 상태가 중요한 이유

디지털 포렌식에서는 하드디스크만 봐서는 증거를 잡기 어려운 경우가 많다. 메모리에 떠 있는 암호화 키, 실행 중인 프로세스, 네트워크 연결, 클립보드 내용 같은 휘발성 정보는 전원이 꺼지는 순간 사라지기 때문이다. 그래서 라이브 포렌식에서는 전원이 켜진 상태의 시스템을 어떻게든 그 상태로 확보하는 것이 핵심이다. 책에서 "현장에 도착하면 컴퓨터를 끄지 마라"는 말이 등장하는 게 그래서이다.

그리고 시스템 보안의 큰 축인 버퍼 오버플로우(Buffer Overflow), Use-After-Free 같은 메모리 손상 취약점은, 결국 위에서 본 메모리 구조 위에서 일어나는 일이다. 그래서 컴퓨터 구조를 모르고 시스템 보안을 하려고 하면 어느 시점에서 반드시 막힌다.

1-2. 운영체제 (Operating System)

운영체제는 사용자/애플리케이션과 하드웨어 사이의 통역가 역할을 한다. 사용자는 "파일 저장해줘" 하고, 애플리케이션은 OS에 요청을 넘기고, OS가 그것을 하드웨어가 알아들을 수 있는 신호로 바꿔준다.

OS가 관리하는 것

Memory — 누가 어느 메모리를 쓸지 할당·회수

Processor — CPU 시간을 누구에게 얼마나 줄지

Process — 실행 중인 프로그램의 생애주기

I/O — 입출력 장치와의 통신

File System — 파일·디렉터리 구조

OS의 구성 요소

구성 요소 역할

Kernel OS의 핵심. 하드웨어와 직접 대화
System Call 애플리케이션이 커널에 요청을 보내는 통로
Device Driver 각 하드웨어를 OS가 부릴 수 있도록 해주는 소프트웨어

커널 구조의 차이 — Linux vs Windows

자주 헷갈리는 부분이라 정리해두자.

Linux모놀리식 커널(Monolithic Kernel). 디바이스 드라이버, 파일 시스템, 네트워크 스택 등이 거의 다 커널 안에 들어 있다. 그래서 흔히 "리눅스에서는 커널 자체가 OS다"라고 부르기도 한다.

Windows NT (현대 Windows) — 하이브리드 커널(Hybrid Kernel). 마이크로커널 컨셉을 일부 차용했지만 성능을 위해 일부 서비스를 커널 모드에 둔다.

순수 마이크로커널 — Mach, MINIX, QNX 등. 커널은 최소한의 것만 담고 나머지는 사용자 공간에서 돈다.

이번 카테고리에서는 Windows 계열(Windows Server 2022, Windows 10)Unix 계열(Rocky Linux) 둘 다를 오가며 다룰 예정이다.


Step 2. 계정·권한 관리

시스템 보안의 본질 중 하나가 "누가 무엇을 할 수 있게 할 것인가" 이다. 그래서 이 영역은 다음 네 가지가 핵심이다.

계정 및 패스워드 관리

권한 관리 — 핵심은 소유권(Ownership)허가권(Permission)

세션 관리 — 연결이 언제까지 유지되고 언제 끊어지는가

암호학 기초 — 시스템에 저장된 자격증명을 보호하는 토대

세션 관리는 이런 것이다. FTP(vsftpd)·SSH 같은 서비스에서 3-way handshake로 연결이 만들어진 뒤, 얼마나 오래 그 연결을 유지할 것인지, 무엇을 기준으로 끊을 것인지가 세션 정책이다. 같은 시스템에서 도는 프로세스 간(소프트웨어 ↔ 소프트웨어) 세션도 여기에 포함된다.

암호학은 두 갈래로 만난다. 시스템 보안에서는 주로 **시스템 내부에 저장된 해시·암호를 어떻게 보호할 것인가(또는 크래킹할 것인가)**를 다루고, 네트워크 보안에서는Password Attack 글에서처럼 온라인으로 비밀번호를 시도하는 무차별 대입 쪽을 다룬다. 같은 암호학이라도 적용 위치에 따라 다른 모습이다.


Step 3. 모의 침투 테스트 — PTES

방어자의 시각으로만 보안을 공부하면 한계에 부딪힌다. 공격자가 어떻게 들어오는지를 직접 흉내 내봐야 어디를 막아야 하는지가 보인다. 이 영역이 모의 침투(Penetration Testing) 이다.

기본 3단계는 이렇게 표현되곤 한다.

정보 수집  →  시스템 침투  →  공격 전이
            (취약점 익스플로잇)  (흔적 지우기 + 백도어)

다만 실제 모의해킹은 더 체계화된 표준을 따른다. 그 대표가 PTES이다.

PTES (Penetration Testing Execution Standard)

모의해킹을 체계화된 방법으로 수행하기 위해 만든 표준이다.

7단계로 구성된다.

[01] Pre-Engagement Interactions  대상 선정
       ↓ 고객과 진단 범위·법적 동의 협의
[02] Intelligence Gathering       정보 수집
       ↓ OSINT, 스캔으로 진단 대상 정보 최대한 수집
[03] Threat Modeling              위협 모델링
       ↓ 조직 내/외부 위협 목록화
[04] Vulnerability Analysis       취약점 분석
       ↓ 발견된 약점을 분석·검증
[05] Exploitation                 공격
       ↓ 실제로 침투 가능함을 증명
[06] Post-Exploitation            후속 공격
       ↓ 권한 상승, 자료 획득, 흔적 처리, 백도어
[07] Reporting                    결과 보고
         최종 보고서 + 대응책 제시

단계 한 줄 요약

01. 대상 선정 모의해킹 수행 전 고객과 진단 대상 협의
02. 정보 수집 진단 대상의 정보 최대한 수집
03. 위협 모델링 내·외부 위협 목록화
04. 취약점 분석 자체 취약점을 분석하는 과정
05. 공격 취약점을 이용해 침투 가능함을 증명
06. 후속 공격 시스템 점령 후 원하는 정보 획득 시도
07. 결과 보고 최종 보고서 및 대응책 제시

이번 카테고리에서는 Kali Linux를 가지고 이 7단계를 따라가는 실습을 차차 풀어보게 될 것이다.


Step 4. 보안 운영·관리

마지막 단계는 일상적인 운영의 영역이다.

로그 관리 — UTM·서버·애플리케이션의 로그를 어떻게 모으고 분석할 것인가

백업 및 복구 — 침해를 당했을 때 무엇으로 돌아갈 것인가

취약점 관리 — 패치 주기, 취약점 스캐닝, CVE 추적

보안 설정 및 하드닝(Hardening) — 기본 설정에서 한 걸음 더 단단하게

모니터링 및 탐지 — IDS/IPS, SIEM 같은 도구로 이상을 감지

침해 사고 대응(Incident Response) — 사고가 났을 때의 절차

왜 웹 보안이 시스템 보안과 만나는가

80(HTTP)·443(HTTPS) 같은 포트는 어떤 시스템이든 거의 항상 열려 있는 입구이다. 그래서 시스템 침해의 상당 부분이 웹 취약점을 시작점으로 일어난다. 대표적인 예가 Broken Access Control(취약한 접근 통제) 인데, OWASP Top 10에서 2021년부터 줄곧 1위(A01) 를 차지하고 있는 가장 흔하고 위험한 웹 취약점이다. 시스템 관리자 입장에서는 자신이 운영하는 서버의 웹 애플리케이션 한 줄이 곧 시스템 침해의 입구가 될 수 있다는 점을 늘 의식해야 한다.

 


앞으로의 실습 환경

 

Kali Linux — 모의해킹 도구가 모두 들어 있는 표준 공격 환경

Rocky Linux — 시스템 관리·하드닝 학습용 

CentOS 7 — 옛 환경 학습용

Windows 10 — 공격 대상 클라이언트

Windows 7 — 옛 취약점실습용

Windows Server 2022 — 현대 윈도우 서버 환경

Windows Server 2008 — 옛 윈도우 서버 환경