🌐 2과목 · 네트워크 보안#
W2 (8/22~8/29) 진도 · 필기 20문항 · 실기 단답형 최다 출제 🔑 = 실기 직결 (답안카드 후보)
🚨 위험
이 과목이 최대 구멍이다. 개발자에게 가장 낯선 영역이고 실기 단답 비중도 가장 높다. 다른 과목은 "이해"로 넘어가지만, 여기는 헤더 필드·플래그·응답 패턴을 숫자 단위로 외워야 한다. W2에 최대 시간을 배정하고, 밀리면 3과목(애플리케이션, 강점)을 줄여서라도 시간을 준다.
📘 참고
출제기준 대응 (2023.1.1
2026.12.31) ① 네트워크 일반 → [16장](#1-osi-7계층과-tcpip-) ② 네트워크 기반 공격기술 → 7~12장 ③ 네트워크 보안 기술 → 13~18장
📑 목차#
| 장 | 내용 | 비중 |
|---|---|---|
| 1 | OSI 7계층과 TCP/IP 🔑 | ★★★ |
| 2 | 프로토콜 헤더 구조 🔑 | ★★★ |
| 3 | IP 주소 체계·서브네팅 🔑 | ★★★ |
| 4 | 네트워크 종류·토폴로지 | ★ |
| 5 | 네트워크 장비 | ★★ |
| 6 | 네트워크 도구 🔑 | ★★★ |
| 7 | 스캐닝 🔑 | ★★★ |
| 8 | 스니핑·세션 하이재킹 🔑 | ★★★ |
| 9 | 스푸핑 🔑 | ★★★ |
| 10 | DoS·DDoS 🔑 | ★★★ |
| 11 | 원격접속 공격 | ★★ |
| 12 | 무선 네트워크 보안 🔑 | ★★ |
| 13 | 보안 프로토콜 🔑 | ★★★ |
| 14 | 방화벽 🔑 | ★★★ |
| 15 | IDS·IPS·Snort 🔑 | ★★★ |
| 16 | VPN 🔑 | ★★ |
| 17 | 통합 보안 솔루션 | ★★ |
| 18 | 패킷·로그 분석·역추적 🔑 | ★★ |
| 19 | 빈출 암기표 | — |
1. OSI 7계층과 TCP/IP 🔑#
| 계층 | 이름 | 데이터 단위(PDU) | 주요 프로토콜 | 장비 |
|---|---|---|---|---|
| 7 | 응용 | 데이터 | HTTP, FTP, SMTP, DNS, SNMP | L7 스위치, 게이트웨이 |
| 6 | 표현 | 데이터 | SSL/TLS, JPEG, ASCII | — |
| 5 | 세션 | 데이터 | NetBIOS, RPC | — |
| 4 | 전송 | 세그먼트 | TCP, UDP | L4 스위치 |
| 3 | 네트워크 | 패킷 | IP, ICMP, IGMP, ARP* | 라우터, L3 스위치 |
| 2 | 데이터링크 | 프레임 | Ethernet, PPP, HDLC | 스위치, 브리지 |
| 1 | 물리 | 비트 | RS-232, 케이블 | 허브, 리피터 |
* ARP는 2·3계층 경계에 위치. 시험에선 2계층 또는 3계층 어느 쪽으로도 출제되니 문맥으로 판단.
TCP/IP 4계층 대응#
| TCP/IP | OSI |
|---|---|
| 응용 | 7+6+5 |
| 전송 | 4 |
| 인터넷 | 3 |
| 네트워크 접근 | 2+1 |
데이터 캡슐화 🔑#
[응용] 데이터
[전송] TCP헤더 + 데이터 → 세그먼트
[네트워크] IP헤더 + TCP헤더 + 데이터 → 패킷
[링크] 프레임헤더 + IP패킷 + FCS → 프레임
송신은 캡슐화(헤더 추가), 수신은 역캡슐화(디캡슐레이션).
TCP vs UDP 🔑#
| TCP | UDP | |
|---|---|---|
| 연결 | 연결형 (3-way handshake) | 비연결형 |
| 신뢰성 | 보장 (재전송·순서보장·흐름제어) | 미보장 |
| 헤더 크기 | 20바이트(옵션 제외) | 8바이트 |
| 속도 | 느림 | 빠름 |
| 용도 | HTTP, FTP, SMTP, SSH | DNS, DHCP, SNMP, TFTP, 스트리밍 |
2. 프로토콜 헤더 구조 🔑#
📌 중요
실기 단답형 최빈출. "TCP 헤더에서 ~를 나타내는 필드는?" 형태로 매년 나온다. 필드 이름과 크기(비트/바이트) 를 같이 외운다.
IP 헤더 (기본 20바이트)#
| 필드 | 크기 | 의미 |
|---|---|---|
| Version | 4bit | IPv4 = 4 |
| IHL (헤더길이) | 4bit | 4바이트 단위. 최소 5(=20byte) |
| ToS / DSCP | 8bit | 서비스 품질 |
| Total Length | 16bit | 헤더+데이터 전체 길이 |
| Identification | 16bit | 단편화 시 원본 식별자 |
| Flags | 3bit | 0 / DF(단편화 금지) / MF(더 있음) |
| Fragment Offset | 13bit | 단편 위치 (8바이트 단위) |
| TTL | 8bit | 홉 제한. 0이 되면 폐기 + ICMP 전송 |
| Protocol | 8bit | 1=ICMP, 6=TCP, 17=UDP |
| Header Checksum | 16bit | 헤더 오류 검출 |
| Source / Dest IP | 각 32bit | 출발지/목적지 주소 |
TTL로 OS 추정 🔑 — 초기 TTL: Windows 128, Linux/Unix 64, Cisco 255
TCP 헤더 (기본 20바이트)#
| 필드 | 크기 | 의미 |
|---|---|---|
| Source / Dest Port | 각 16bit | 포트 번호 |
| Sequence Number | 32bit | 순서 번호 |
| Acknowledgment Number | 32bit | 다음에 받을 순서번호 |
| Offset(헤더길이) | 4bit | |
| Reserved | 6bit | |
| Flags(제어비트) | 6bit | URG ACK PSH RST SYN FIN |
| Window Size | 16bit | 흐름 제어 (수신 가능 크기) |
| Checksum | 16bit | |
| Urgent Pointer | 16bit | URG 플래그와 함께 사용 |
TCP 플래그 6종 🔑
| 플래그 | 의미 |
|---|---|
| URG | 긴급 데이터 |
| ACK | 확인 응답 |
| PSH | 버퍼링 없이 즉시 전달 |
| RST | 연결 강제 종료·거부 |
| SYN | 연결 요청(동기화) |
| FIN | 연결 정상 종료 |
암기: U-A-P-R-S-F (앞에서부터)
3-way handshake / 4-way handshake 🔑#
[연결] Client → SYN → Server
Client ← SYN + ACK ← Server
Client → ACK → Server
[종료] Client → FIN → Server
Client ← ACK ← Server
Client ← FIN ← Server
Client → ACK → Server
주요 상태: LISTEN → SYN_SENT / SYN_RECEIVED → ESTABLISHED → FIN_WAIT → TIME_WAIT → CLOSED
SYN_RECEIVED상태가 대량으로 쌓여 있으면 SYN Flooding 의심 🔑
ICMP 주요 타입 🔑#
| Type | 의미 |
|---|---|
| 0 | Echo Reply (ping 응답) |
| 3 | Destination Unreachable (Code 3 = Port Unreachable) |
| 5 | Redirect |
| 8 | Echo Request (ping 요청) |
| 11 | Time Exceeded (TTL 초과 → traceroute 원리) |
ARP / RARP#
| ARP | RARP | |
|---|---|---|
| 변환 | IP → MAC | MAC → IP |
| 동작 | 브로드캐스트 요청 → 유니캐스트 응답 |
arp -a 로 ARP 캐시 확인. Gratuitous ARP(자발적 ARP)가 스푸핑에 악용된다.
주요 포트 번호 🔑#
| 포트 | 서비스 | 포트 | 서비스 | |
|---|---|---|---|---|
| 20/21 | FTP (데이터/제어) | 110 | POP3 | |
| 22 | SSH, SFTP | 143 | IMAP | |
| 23 | Telnet | 161/162 | SNMP | |
| 25 | SMTP | 389 | LDAP | |
| 53 | DNS (TCP+UDP) | 443 | HTTPS | |
| 67/68 | DHCP | 445 | SMB | |
| 69 | TFTP | 514 | syslog | |
| 80 | HTTP | 3389 | RDP |
3. IP 주소 체계·서브네팅 🔑#
클래스#
| 클래스 | 범위 | 기본 서브넷마스크 | 네트워크/호스트 비트 |
|---|---|---|---|
| A | 1~126 | 255.0.0.0 (/8) | 8 / 24 |
| B | 128~191 | 255.255.0.0 (/16) | 16 / 16 |
| C | 192~223 | 255.255.255.0 (/24) | 24 / 8 |
| D | 224~239 | — | 멀티캐스트 |
| E | 240~255 | — | 연구용 |
127.x.x.x = 루프백
사설 IP 대역 🔑#
| 클래스 | 대역 |
|---|---|
| A | 10.0.0.0 ~ 10.255.255.255 (/8) |
| B | 172.16.0.0 ~ 172.31.255.255 (/12) |
| C | 192.168.0.0 ~ 192.168.255.255 (/16) |
서브네팅 계산 🔑#
호스트 수 = 2^(호스트비트) − 2 (네트워크 주소 + 브로드캐스트 주소 제외)
| CIDR | 서브넷마스크 | 사용 가능 호스트 |
|---|---|---|
| /24 | 255.255.255.0 | 254 |
| /25 | 255.255.255.128 | 126 |
| /26 | 255.255.255.192 | 62 |
| /27 | 255.255.255.224 | 30 |
| /28 | 255.255.255.240 | 14 |
| /29 | 255.255.255.248 | 6 |
| /30 | 255.255.255.252 | 2 (라우터 간 연결) |
예제: 192.168.10.0/26 → 호스트비트 6 → 2⁶−2 = 62대, 서브넷 4개(0/64/128/192)
- VLSM: 가변 길이 서브넷 마스크 — 필요한 크기만큼 쪼개 IP 낭비 최소화
- CIDR: 클래스 구분 없이 프리픽스로 표기 (
/26), 라우팅 테이블 축약(수퍼네팅)
NAT 🔑#
| 유형 | 동작 |
|---|---|
| Static NAT | 사설 IP ↔ 공인 IP 1:1 고정 |
| Dynamic NAT | 풀에서 동적 할당 (N:M) |
| PAT / NAPT | 포트 번호로 구분해 다수 사설 IP를 공인 IP 1개로 (일반 공유기) |
보안 효과: 내부 IP 구조 은닉, 외부에서 내부로의 직접 접근 차단
IPv6#
| 항목 | 내용 |
|---|---|
| 주소 길이 | 128비트 (IPv4는 32비트) |
| 표기 | 16진수 8블록, ::로 0 축약 |
| 헤더 | 고정 40바이트, 체크섬 없음 |
| 특징 | 브로드캐스트 없음(애니캐스트로 대체), IPSec 기본 지원, 자동 주소 설정 |
4. 네트워크 종류·토폴로지#
| 종류 | 범위 |
|---|---|
| PAN | 개인 (블루투스) |
| LAN | 근거리 (건물 내) |
| CAN | 캠퍼스 |
| MAN | 도시 |
| WAN | 광역 |
| 인트라넷 | 내부 전용 |
| 엑스트라넷 | 협력사에 제한 개방 |
토폴로지: 버스 / 링 / 스타(중앙 집중, 현재 주류) / 메시(내결함성↑) / 트리
Ethernet CSMA/CD — 충돌 감지 후 재전송. 무선은 CSMA/CA(충돌 회피)
SDN (Software Defined Network) 🔑
- 제어 평면(Control Plane)과 데이터 평면(Data Plane) 분리
- 중앙 컨트롤러가 소프트웨어로 네트워크 제어 (OpenFlow)
- 보안 이슈: 컨트롤러가 단일 장애점(SPOF), 컨트롤러 장악 시 전체 네트워크 통제권 탈취
5. 네트워크 장비#
| 장비 | 계층 | 기능 |
|---|---|---|
| 리피터 | 1 | 신호 증폭 |
| 허브 | 1 | 여러 포트로 브로드캐스트 (더미 허브 → 스니핑 쉬움) |
| 브리지 | 2 | MAC 기반 세그먼트 분리 |
| 스위치 | 2 | MAC 주소 테이블 기반 전달 (유니캐스트) |
| 라우터 | 3 | IP 기반 경로 선택, 브로드캐스트 차단 |
| L4 스위치 | 4 | 포트 기반 로드밸런싱 |
| L7 스위치 | 7 | URL·콘텐츠 기반 분기 |
| 게이트웨이 | 전 계층 | 이기종 네트워크 연결 |
VLAN 🔑#
물리적으로 같은 스위치를 논리적으로 분리. 브로드캐스트 도메인 분리 → 보안·성능 향상.
- 태깅 표준: IEEE 802.1Q
- 공격: VLAN Hopping (스위치 스푸핑, 이중 태깅) → 대응: 미사용 포트 비활성화, 트렁크 포트 수동 지정, Native VLAN 변경
라우팅 프로토콜#
| 구분 | 프로토콜 | 방식 |
|---|---|---|
| IGP (내부) | RIP | 거리 벡터, 홉 수 기준, 최대 15홉 |
| OSPF | 링크 상태, 대규모 | |
| EIGRP | 하이브리드(Cisco) | |
| EGP (외부) | BGP | 경로 벡터, AS 간 라우팅 |
네트워크 공유#
| 프로토콜 | 내용 |
|---|---|
| NetBIOS | 이름 기반 통신 (137/138/139) |
| NetBEUI | 비라우팅 프로토콜 (소규모 전용) |
| SMB/CIFS | 파일 공유 (445) — 랜섬웨어 확산 경로(WannaCry) |
| P2P | 중앙 서버 없이 단말 간 직접 — 정보유출·악성코드 유포 경로 |
6. 네트워크 도구 🔑#
출제기준에 도구명이 직접 명시되어 있다. "이 도구로 무엇을 알 수 있는가" 가 핵심.
| 도구 | 용도 | 원리 |
|---|---|---|
| ping | 연결성 확인 | ICMP Echo Request/Reply |
| traceroute / tracert | 경로 추적 | TTL을 1씩 증가시키며 ICMP Time Exceeded 수집 |
| arp | IP↔MAC 캐시 확인 | arp -a (ARP 스푸핑 탐지) |
| netstat | 연결·포트 상태 | netstat -antp / -an |
| nslookup / dig | DNS 질의 | 도메인 → IP |
| tcpdump | 패킷 캡처(CLI) | tcpdump -i eth0 port 80 |
| Wireshark | 패킷 분석(GUI) | 필터: ip.addr==, tcp.port== |
| nmap | 포트·서비스 스캔 | 7장 |
| route | 라우팅 테이블 | |
| ifconfig / ip | 인터페이스 설정 | PROMISC 플래그 = 스니핑 의심 🔑 |
💡 TIP
traceroute의 원리를 묻는 문제가 반복 출제. TTL을 1, 2, 3…으로 늘려 보내면 각 홉의 라우터가 TTL 초과(ICMP Type 11) 를 회신하고, 그 출발지 IP가 곧 경로다. 리눅스는 UDP, 윈도우
tracert는 ICMP 를 기본 사용.
7. 스캐닝 🔑#
스캔 유형별 응답 판정 (최빈출)#
| 스캔 | 옵션 | 열린 포트 | 닫힌 포트 | 특징 |
|---|---|---|---|---|
| TCP Connect | -sT |
SYN+ACK → ACK | RST+ACK | 연결 완성. 로그에 남음 |
| SYN (Half-open) | -sS |
SYN+ACK (후 RST) | RST+ACK | 은밀, 로그 회피 |
| FIN | -sF |
무응답 | RST+ACK | 방화벽 우회 |
| NULL (플래그 전부 0) | -sN |
무응답 | RST+ACK | |
| XMAS (FIN+PSH+URG) | -sX |
무응답 | RST+ACK | |
| ACK | -sA |
(필터링 여부 판별) | RST | 방화벽 룰셋 파악 |
| UDP | -sU |
무응답 또는 응답 | ICMP Type 3 Code 3 | 느림 |
📌 중요
FIN/NULL/XMAS는 열려 있으면 무응답, 닫혀 있으면 RST. 직관과 반대라 헷갈린다. 이유: RFC 793상 열린 포트는 비정상 플래그 조합을 무시하도록 규정되어 있기 때문. ※ Windows는 이 RFC를 따르지 않아 항상 RST를 보낸다 → OS 판별에 역이용 가능
기타 스캔 기법#
| 기법 | 내용 |
|---|---|
| Stealth Scan | 로그를 남기지 않는 스캔 총칭 (SYN, FIN, NULL, XMAS) |
| Decoy Scan | 위장 IP를 섞어 실제 공격자 은닉 (-D) |
| Idle/Zombie Scan | 제3의 좀비 호스트의 IP ID 증가를 관찰해 간접 스캔 |
| Fragmentation | 패킷을 잘게 쪼개 IDS 탐지 회피 (-f) |
| 배너 그래빙 | 서비스 응답 배너로 버전 식별 (-sV) |
| OS 핑거프린팅 | TCP/IP 스택 특성 차이로 OS 추정 (-O, TTL/Window Size) |
스캐닝 대응 🔑#
① 불필요한 포트·서비스 차단(방화벽 최소 허용) ② IDS/IPS로 스캔 패턴 탐지 (짧은 시간에 다수 포트 접근) ③ 배너 정보 숨김 / 변조 ④ ICMP 응답 제한 ⑤ 포트 스캔 탐지 도구(PortSentry) 운영
8. 스니핑·세션 하이재킹 🔑#
스니핑 (Sniffing)#
원리: NIC를 무차별 모드(Promiscuous Mode) 로 전환 → 자신에게 오지 않은 패킷도 수집
| 환경 | 스니핑 난이도 |
|---|---|
| 허브 | 쉬움 (모든 포트로 브로드캐스트) |
| 스위치 | 어려움 → 별도 기법 필요 |
스위치 환경 스니핑 기법 🔑
| 기법 | 원리 |
|---|---|
| ARP Spoofing | 위조 ARP로 트래픽을 자신에게 유도 |
| MAC Flooding | 위조 MAC을 대량 전송 → MAC 테이블 오버플로우 → 스위치가 허브처럼 동작(Fail-open) |
| ARP Redirect | 자신을 라우터로 위장 |
| ICMP Redirect | 라우팅 경로를 자신 쪽으로 변경 |
| SPAN/포트 미러링 | 스위치 설정 악용 |
탐지 방법 🔑
ifconfig에 PROMISC 플래그 확인- Ping 테스트: 위조 MAC + 정상 IP로 ping → 응답하면 무차별 모드
- ARP 테스트, DNS 테스트(역방향 조회 발생 여부)
- 도구:
ifstatus,promiscdetect, Sniffdet
대응 🔑 ① 암호화가 근본 대책 (HTTPS, SSH, VPN — 평문 프로토콜인 Telnet/FTP/HTTP/POP3 제거) ② 스위치 환경 구성 + 포트 보안(Port Security) 으로 MAC 수 제한 ③ 정적 ARP 등록 ④ 무차별 모드 주기 점검
세션 하이재킹 (Session Hijacking) 🔑#
원리: 이미 인증이 완료된 TCP 세션을 가로채 정상 사용자인 척 통신 → 시퀀스 번호를 예측·동기화하고, 정상 클라이언트에는 RST를 보내 끊는다
특징: 인증 과정을 거치지 않으므로 일회용 패스워드(OTP)나 강한 인증도 우회 가능
탐지: 비동기화 상태(시퀀스 번호 불일치), ACK Storm(ACK 폭주), 예상치 못한 RST, 세션 중 IP/MAC 변경
대응 🔑 ① 암호화 세션 사용(SSH, TLS) ② 지속적 인증(재인증) ③ 세션 타임아웃 짧게 ④ 시퀀스 번호 무작위화 ⑤ MAC-IP 정적 매핑
9. 스푸핑 🔑#
스푸핑 = 위조. 무엇을 위조하느냐로 종류가 갈린다.
| 종류 | 위조 대상 | 목적 |
|---|---|---|
| ARP Spoofing | MAC 주소 | 트래픽 가로채기(MITM), 스니핑 |
| IP Spoofing | 출발지 IP | 인증 우회, 추적 회피, DoS 증폭 |
| DNS Spoofing | DNS 응답 | 가짜 사이트 유도(파밍) |
| MAC Spoofing | MAC 주소 | MAC 필터링 우회 |
| Email Spoofing | 발신자 주소 | 피싱 |
ARP Spoofing 🔑 (서술형 단골)#
동작 원리 ① 공격자가 게이트웨이 IP + 자신의 MAC 을 담은 위조 ARP 응답을 브로드캐스트 ② 피해자의 ARP 캐시가 오염됨 ③ 피해자의 모든 트래픽이 공격자를 경유 → 스니핑·변조 후 게이트웨이로 전달(MITM)
대응
① 정적 ARP 등록 (arp -s) ② DAI(Dynamic ARP Inspection) ③ DHCP Snooping ④ 통신 암호화(HTTPS/VPN) ⑤ ARP 감시 도구(arpwatch)
IP Spoofing#
출발지 IP를 위조 → 신뢰 기반 인증(r-command, /etc/hosts.equiv) 우회, 응답을 못 받으므로 블라인드 공격 형태
대응: 시퀀스 번호 무작위화, ingress/egress 필터링(사설IP·내부대역 출발 패킷 차단), r-command 제거
DNS Spoofing / 캐시 포이즈닝#
DNS 질의에 정상 응답보다 먼저 위조 응답을 보내 가짜 IP로 유도(파밍) 대응: DNSSEC(응답 무결성 서명), 재귀 질의 제한, 최신 패치, hosts 파일 무결성 점검
10. DoS·DDoS 🔑#
DoS 유형 — 자원 소진형#
| 공격 | 원리 | 대응 |
|---|---|---|
| SYN Flooding | SYN만 대량 전송 → 백로그 큐 고갈 (SYN_RECEIVED 누적) | SYN Cookie, 백로그 큐 증가, 타임아웃 단축, 방화벽 임계치 |
| UDP Flooding | 대량 UDP → ICMP Unreachable 유발 | 불필요 UDP 차단, 임계치 |
| ICMP Flooding (Ping Flood) | 대량 ICMP | ICMP 제한 |
| HTTP GET/POST Flooding | 정상처럼 보이는 대량 요청 | CAPTCHA, 요청 임계치, WAF |
| Slowloris | HTTP 헤더를 천천히 보내 연결 점유 | 연결 타임아웃, 동시연결 제한 |
| RUDY | POST 본문을 아주 느리게 전송 | 위와 동일 |
DoS 유형 — 취약점 이용형 🔑#
| 공격 | 원리 |
|---|---|
| Land Attack | 출발지 = 목적지 IP로 설정 → 자기 자신에 무한 응답 |
| Teardrop | Fragment Offset을 조작해 재조립 오류 유발 |
| Ping of Death | 규격 초과(65,535바이트↑) ICMP → 재조립 시 오버플로우 |
| Bonk / Boink | 시퀀스 번호 조작으로 재조립 방해 |
분산·증폭형 (DDoS) 🔑#
| 공격 | 원리 |
|---|---|
| Smurf | 출발지를 피해자로 위조한 ICMP를 브로드캐스트 → 모든 호스트가 피해자에게 응답 |
| Fraggle | Smurf의 UDP 버전 |
| DNS 증폭 | 작은 질의 → 큰 응답을 피해자로 (증폭률 수십 배) |
| NTP 증폭 | monlist 명령 악용 |
| Memcached 증폭 | 증폭률 최대 5만 배 |
증폭 공격의 공통 구조 = IP 스푸핑 + 요청보다 응답이 큰 프로토콜 + 다수 반사 서버 대응: 스푸핑 방지 필터링(ingress), 브로드캐스트 응답 비활성화(
no ip directed-broadcast), 불필요 UDP 서비스 차단
DDoS 구조·대응#
봇넷 구조: 공격자 → C&C 서버 → 좀비 PC 다수 → 피해자
대응 체계 🔑 ① DDoS 대응 장비 / 클린존(Scrubbing Center) ② CDN·Anycast 분산 ③ ISP 협조 차단, BGP 블랙홀 라우팅 ④ 임계치 기반 차단, 정상 트래픽 학습(베이스라인) ⑤ 서버 확장성 확보(오토스케일)
11. 원격접속 공격#
출제기준 2-5. Trojan / Exploit이 명시되어 있다.
| 공격 | 내용 |
|---|---|
| 백도어 / RAT | 원격 제어 통로 확보 (NetBus, Back Orifice, 최근엔 커스텀 RAT) |
| 리버스 셸 | 내부에서 외부로 연결을 개시 → 방화벽 인바운드 정책 우회 🔑 |
| 바인드 셸 | 대상이 포트를 열고 대기 |
| Exploit | 취약점을 실제 코드로 공격 (Metasploit) |
| 무차별 대입 | SSH/RDP 계정 대입 (Hydra) |
| 중간자(MITM) | 통신 경로 개입 |
대응 🔑
① 불필요 원격 서비스 제거(Telnet → SSH)
② 아웃바운드 정책도 통제 (리버스 셸 차단)
③ 계정 잠금 정책 + 키 기반 인증
④ 관리 포트 접근 IP 제한(VPN 경유)
⑤ 이상 프로세스·연결 모니터링(netstat -antp)
12. 무선 네트워크 보안 🔑#
| 규격 | 암호 알고리즘 | 인증·무결성 | 상태 |
|---|---|---|---|
| WEP | RC4 + 24bit IV | CRC-32 | ❌ IV 재사용으로 완전 해독 |
| WPA | TKIP (RC4 기반) | MIC(Michael) | ⚠️ 과도기 |
| WPA2 | CCMP / AES | CBC-MAC | ✅ 현재 주류 |
| WPA3 | AES-GCMP | SAE(Dragonfly) | ✅ 최신, 오프라인 사전공격 방어 |
인증 방식: PSK(개인용) vs 802.1X/EAP + RADIUS(기업용)
주요 공격
- WEP 크래킹 (Aircrack-ng), 핸드셰이크 캡처 후 사전공격(WPA/WPA2)
- Evil Twin / Rogue AP — 동일 SSID 가짜 AP
- KRACK — WPA2 키 재설치 취약점
- 워 드라이빙, 디어센티케이션(강제 연결 해제)
대응: WPA2/WPA3 + 강한 PSK, SSID 브로드캐스트 제한(보조수단), MAC 필터링(우회 가능하므로 보조), 기업은 802.1X, 무선 IPS(WIPS) 로 Rogue AP 탐지
13. 보안 프로토콜 🔑#
계층별 보안 프로토콜#
| 계층 | 프로토콜 |
|---|---|
| 응용 | PGP, S/MIME(메일), SET(전자상거래), SSH, HTTPS |
| 전송 | SSL / TLS |
| 네트워크 | IPSec |
| 데이터링크 | PPTP, L2TP, L2F |
IPSec 🔑#
| 프로토콜 | 기능 |
|---|---|
| AH (Authentication Header) | 무결성 + 인증 (기밀성 ❌) |
| ESP (Encapsulating Security Payload) | 기밀성(암호화) + 무결성 + 인증 |
| IKE | 키 교환·SA 협상 (500/UDP) |
| 모드 | 보호 범위 | 용도 |
|---|---|---|
| 전송(Transport) 모드 | 페이로드만 암호화 | 종단 간(호스트-호스트) |
| 터널(Tunnel) 모드 | 원본 IP 헤더까지 전체 캡슐화 | VPN(게이트웨이 간) |
SA(Security Association) = 단방향 보안 연결. 양방향 통신엔 2개 필요.
SSL / TLS 🔑#
Handshake 절차
① Client Hello (지원 암호 스위트, 랜덤값)
② Server Hello (선택된 암호 스위트) + 인증서
③ 서버 인증서 검증 → Pre-Master Secret을 서버 공개키로 암호화 전송
④ 양측이 Master Secret → 세션키 생성
⑤ Change Cipher Spec → Finished → 암호화 통신 시작
- 제공 기능: 기밀성 · 무결성 · 서버 인증(+ 선택적 클라이언트 인증)
- 버전: SSL 2.0/3.0 ❌ 폐기, TLS 1.0/1.1 ❌ 폐기, TLS 1.2 / 1.3 ✅
- TLS 1.3 개선: 핸드셰이크 1-RTT, 취약 알고리즘 제거, PFS(순방향 비밀성) 필수
- 주요 취약점: Heartbleed(OpenSSL 메모리 유출), POODLE, BEAST, FREAK
기타#
| 프로토콜 | 용도 |
|---|---|
| SSH | 암호화 원격접속 (22). Telnet 대체 |
| Kerberos | 대칭키 기반 티켓 인증 (AS, TGS, KDC). 타임스탬프로 재전송 공격 방어 |
| RADIUS / TACACS+ | AAA(인증·인가·과금). RADIUS는 UDP/암호만 암호화, TACACS+는 TCP/전체 암호화 |
| S-HTTP | 문서 단위 암호화 (거의 미사용) |
| DNSSEC | DNS 응답 무결성 서명 |
| SNMPv3 | 인증·암호화 지원 (v1/v2c는 평문 커뮤니티 스트링) |
14. 방화벽 🔑#
유형별 비교#
| 유형 | 동작 계층 | 특징 |
|---|---|---|
| 패킷 필터링 | 3~4 | IP·포트·플래그로 판단. 빠르지만 세션 상태 모름 |
| 상태 기반 검사(Stateful Inspection) | 3~4 | 세션 테이블 유지 → 응답 패킷 자동 허용. 현재 주류 |
| 애플리케이션 게이트웨이(프록시) | 7 | 서비스별 프록시. 가장 안전하지만 느림 |
| 회선 게이트웨이(Circuit) | 5 | SOCKS 기반 |
| 하이브리드 | — | 혼합 |
구축 형태 🔑#
| 구조 | 설명 |
|---|---|
| 스크리닝 라우터 | 라우터에서 필터링 (단순) |
| 베스천 호스트 | 요새 호스트 1대 |
| 듀얼 홈드 호스트 | NIC 2개로 내·외부 분리 |
| 스크린드 서브넷 | 라우터 2대 사이에 DMZ 구성 — 가장 안전 |
DMZ = 외부 공개 서버(Web, Mail, DNS)를 두는 완충 구간. 내부망과 분리해 침해 확산 차단.
정책 원칙#
- Default Deny (화이트리스트) — 모두 차단 후 필요한 것만 허용 ✅
- Default Permit — 위험
- 규칙은 위에서 아래로 순차 적용, 마지막에
deny all - 아웃바운드 정책도 반드시 통제 (리버스 셸·정보유출 차단)
iptables 🔑#
iptables -P INPUT DROP # 기본 정책 차단
iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -s 10.0.0.5 -j DROP # 특정 IP 차단
iptables -L -n -v # 규칙 확인
체인: INPUT(수신) / OUTPUT(송신) / FORWARD(경유) · 타겟: ACCEPT / DROP / REJECT / LOG
15. IDS·IPS·Snort 🔑#
IDS vs IPS#
| IDS | IPS | |
|---|---|---|
| 위치 | 미러링(수동) | 인라인(경로상) |
| 동작 | 탐지·경보 | 탐지 + 차단 |
| 지연 | 없음 | 발생 |
| 오탐 영향 | 경보만 | 정상 트래픽 차단 |
탐지 방식 🔑
| 방식 | 원리 | 장단점 |
|---|---|---|
| 오용 탐지(Misuse/시그니처) | 알려진 공격 패턴 매칭 | 정확·낮은 오탐 / 신종 탐지 불가 |
| 이상 탐지(Anomaly) | 정상 프로파일에서 벗어남 감지 | 신종 탐지 가능 / 오탐 높음 |
오탐 용어 🔑
| 용어 | 의미 |
|---|---|
| False Positive (오탐) | 정상인데 공격으로 판단 |
| False Negative (미탐) | 공격인데 정상으로 판단 ← 더 위험 |
| True Positive / Negative | 정상 판단 |
설치 위치: NIDS(네트워크 구간) vs HIDS(호스트 내부)
Snort 룰 구조 🔑 (실무형 단골)#
alert tcp any any -> 192.168.0.0/24 80 (msg:"SQL Injection"; content:"union select"; nocase; sid:1000001; rev:1;)
└─┬─┘ └┬┘ └┬┘ └┬┘ └┬┘ └──────┬──────┘ └┬┘ └────────────── 옵션 ──────────────┘
액션 프로토콜 출발지 방향 목적지 포트
룰 헤더
| 요소 | 값 |
|---|---|
| 액션 | alert(경보+로그) / log / pass / drop(IPS) / reject |
| 프로토콜 | tcp, udp, icmp, ip |
| 방향 | -> 단방향 / <> 양방향 |
주요 옵션 🔑
| 옵션 | 의미 |
|---|---|
msg |
경보 메시지 |
content |
패킷 내용 문자열 매칭 (| 로 16진수) |
nocase |
대소문자 무시 |
offset / depth |
검사 시작 위치 / 범위 |
flags |
TCP 플래그 (flags:S = SYN) |
threshold |
임계치 (type threshold, track by_src, count 10, seconds 60) |
sid |
룰 고유 ID (100만 이상 = 사용자 정의) |
rev |
룰 버전 |
itype |
ICMP 타입 |
예시 해석 연습
alert tcp any any -> any 22 (msg:"SSH Brute Force"; flags:S; \
threshold:type threshold, track by_src, count 5, seconds 60; sid:1000002;)
→ 어떤 출발지든 22번 포트로 60초 내 SYN 5회 이상 보내면 "SSH 무차별 대입" 경보
허니팟 / 허니넷#
의도적으로 취약하게 구성한 미끼 시스템 → 공격 기법 수집·분석, 실제 자산에서 공격자 유인·격리
16. VPN 🔑#
정의: 공중망(인터넷) 위에 암호화 터널을 만들어 사설망처럼 사용
| 구분 | 유형 |
|---|---|
| 형태 | Site-to-Site(지사 연결) / Remote Access(재택) |
| 프로토콜 | IPSec VPN(3계층, 전체 트래픽) / SSL VPN(응용계층, 브라우저만으로 접속) |
| 터널링 | PPTP(2), L2TP(2), IPSec(3), SSL/TLS(4~) |
| IPSec VPN | SSL VPN | |
|---|---|---|
| 계층 | 네트워크(3) | 전송~응용 |
| 클라이언트 | 전용 SW 필요 | 브라우저로 가능 |
| 적용 범위 | 전체 트래픽 | 특정 애플리케이션 |
| 용도 | 지사 간 상시 연결 | 재택·외부 접속 |
제공 기능: 기밀성, 무결성, 인증, (부분적) 접근통제
17. 통합 보안 솔루션#
| 솔루션 | 풀네임 | 역할 |
|---|---|---|
| UTM | Unified Threat Management | 방화벽+IDS/IPS+VPN+안티바이러스 단일 장비 통합. 관리 편의↑, SPOF·성능 저하 위험 |
| ESM | Enterprise Security Management | 이기종 보안장비 로그 통합 관제 |
| SIEM | Security Info & Event Mgmt | ESM 확장 — 빅데이터 기반 상관분석, 장기 보관 |
| SOAR | Security Orchestration, Automation & Response | 대응 절차 자동화 |
| NAC | Network Access Control | 인가된 단말만 접속 허용, 보안 정책 미준수 단말 격리 |
| 역추적 시스템 | Traceback | 공격 근원지 추적 |
| WAF | Web Application Firewall | 웹 공격 전용 (7계층) |
| DPI | Deep Packet Inspection | 패킷 페이로드까지 검사 |
역추적 (Traceback) 🔑#
| 유형 | 대상 | 방법 |
|---|---|---|
| TCP Connection Traceback | 우회 경유지를 거친 접속 | 연결 체인 추적 |
| IP Packet Traceback | 스푸핑된 출발지 IP | 패킷 마킹, ICMP 트레이스백, 홉별 로깅 |
18. 패킷·로그 분석·역추적 🔑#
tcpdump#
tcpdump -i eth0 # 인터페이스 캡처
tcpdump -i eth0 port 80 # 포트 필터
tcpdump -i eth0 host 192.168.0.10 # 호스트 필터
tcpdump -i eth0 'tcp[13] & 2 != 0' # SYN 플래그만
tcpdump -w capture.pcap # 파일 저장
tcpdump -r capture.pcap -nn -X # 파일 읽기 + 16진수/ASCII
Wireshark 표시 필터#
| 필터 | 의미 |
|---|---|
ip.addr == 192.168.0.10 |
해당 IP 관련 |
tcp.port == 80 |
포트 |
http.request.method == "POST" |
HTTP POST |
tcp.flags.syn == 1 && tcp.flags.ack == 0 |
SYN만 (스캔·플러딩 탐지) |
tcp.analysis.retransmission |
재전송 |
공격 유형별 트래픽 특징 🔑#
| 현상 | 의심 공격 |
|---|---|
| 짧은 시간에 다수 포트로 SYN | 포트 스캔 |
| SYN_RECEIVED 상태 대량 누적 | SYN Flooding |
| 동일 MAC이 여러 IP를 주장 / ARP 응답 급증 | ARP Spoofing |
| 출발지 = 목적지 IP | Land Attack |
| Fragment Offset 중첩·비정상 | Teardrop |
| 브로드캐스트로 향한 ICMP + 피해자 출발지 | Smurf |
| 소수 IP에서 비정상적으로 느린 HTTP 헤더 | Slowloris |
| 크기 대비 응답이 훨씬 큰 DNS/NTP 트래픽 | 증폭 DDoS |
방화벽·IDS 로그 분석 관점#
① 출발지 IP 집계 — 특정 IP의 반복 시도 ② 차단(DROP) 로그 급증 시점 — 스캔·공격 개시 시각 ③ 비정상 시간대 접속 — 심야 관리 포트 접근 ④ 아웃바운드 이상 트래픽 — 내부 → 외부 대용량 전송(정보유출), 미상 포트 연결(C&C)
19. 빈출 암기표#
출퇴근길 마지막 5분에 이것만 훑어도 된다.
TCP 플래그 6종#
| U | A | P | R | S | F |
|---|---|---|---|---|---|
| URG | ACK | PSH | RST | SYN | FIN |
스캔별 응답 (최빈출)#
| 스캔 | 열림 | 닫힘 |
|---|---|---|
SYN(-sS) |
SYN+ACK | RST+ACK |
| FIN / NULL / XMAS | 무응답 | RST+ACK |
| UDP | 무응답 | ICMP Type3 Code3 |
헤더·프로토콜 숫자#
| 항목 | 값 |
|---|---|
| TCP / UDP 헤더 크기 | 20 / 8 바이트 |
| IP 헤더 기본 크기 | 20바이트 |
| IPv6 헤더 | 고정 40바이트 |
| IP Protocol 번호 | ICMP 1 / TCP 6 / UDP 17 |
| ICMP Type | 0 Reply / 8 Request / 11 TTL초과 / 3 Unreachable |
| 초기 TTL | Windows 128 / Linux 64 / Cisco 255 |
| IPv6 주소 길이 | 128비트 |
포트 번호#
| 21 | 22 | 23 | 25 | 53 | 80 | 110 | 443 | 445 | 3389 |
|---|---|---|---|---|---|---|---|---|---|
| FTP | SSH | Telnet | SMTP | DNS | HTTP | POP3 | HTTPS | SMB | RDP |
서브넷 호스트 수#
| /24 | /25 | /26 | /27 | /28 | /30 |
|---|---|---|---|---|---|
| 254 | 126 | 62 | 30 | 14 | 2 |
공격 → 핵심 대응 1개씩 🔑#
| 공격 | 핵심 대응 |
|---|---|
| SYN Flooding | SYN Cookie |
| ARP Spoofing | 정적 ARP + DAI |
| 스니핑 | 암호화(SSH/TLS) |
| 세션 하이재킹 | 암호화 세션 + 재인증 |
| Smurf | directed-broadcast 차단 |
| Land Attack | 출발지=목적지 패킷 필터링 |
| DNS Spoofing | DNSSEC |
| 포트 스캔 | 불필요 포트 차단 + IDS 탐지 |
| MAC Flooding | 포트 보안(Port Security) |
| VLAN Hopping | 미사용 포트 비활성 + Native VLAN 변경 |
IPSec 정리#
| AH | ESP |
|---|---|
| 무결성 + 인증 | 기밀성 + 무결성 + 인증 |
| 전송 모드 | 터널 모드 |
|---|---|
| 페이로드만 | 원본 IP 헤더까지 전체 |
Snort 룰 한 줄#
alert tcp any any -> any 80 (msg:"..."; content:"..."; nocase; sid:1000001;)
액션 프로토콜 출발지IP 포트 방향 목적지IP 포트 (옵션)
✅ 이 과목 카드 후보 (목표 55장)#
| 서술형 카드 (18장) | 단답 카드 (37장) |
|---|---|
| ARP Spoofing 원리+대응 | TCP 플래그 6종 |
| 세션 하이재킹 | TCP/UDP 헤더 크기 |
| SYN Flooding + SYN Cookie | IP Protocol 번호 3종 |
| Smurf / Fraggle | ICMP Type 4종 |
| Land / Teardrop | 초기 TTL 3종 |
| Slowloris·RUDY | 주요 포트 10개 |
| DNS Spoofing + DNSSEC | 사설 IP 대역 3개 |
| 스니핑 탐지 4가지 방법 | 서브넷 호스트 수 계산 |
| MAC Flooding | 스캔별 응답 판정 |
| 포트 스캔 유형·대응 | OSI 계층별 PDU·장비 |
| 방화벽 유형 4종 비교 | NAT / PAT 차이 |
| IDS vs IPS / 오용 vs 이상 | 오탐·미탐 용어 |
| IPSec AH/ESP·전송/터널 | Snort 룰 헤더 요소 |
| SSL/TLS 핸드셰이크 | Snort 주요 옵션 6개 |
| VPN 종류 비교 | WEP/WPA/WPA2/WPA3 알고리즘 |
| 무선 보안 규격 발전 | 라우팅 프로토콜 분류 |
| DDoS 대응 체계 | VLAN 태깅 표준 |
| 역추적(Traceback) 2유형 | traceroute 원리 |
문서 원본은
docs/ 폴더의 마크다운입니다.