정보보안기사 - 05 네트워크 보안

정보보안기사 필기 준비
개발자's avatar
Sep 15, 2025
정보보안기사 - 05 네트워크 보안
20. 네트워크 개요 (출제빈도 0.7%)물리적 접속 형태 (topology)OSI 7 계층TCP/IP 프로토콜 21. TCP/IP (출제빈도 1.8% / 매회 출제)데이터 링크 계층 네트워크 계층전송 계층22. 라우팅 (출제빈도 0.9%)라우팅 라우팅 알고리즘라우팅 프로토콜 종류23. 네트워크 장비의 이해 (출제빈도 0.8%)허브 (Hub)브리지 (Bridge)라우터 (Router)스위치 24. 무선통신 보안 (출제빈도 1.6%)블루투스 (Blootooth)무선랜 인증기술무선랜 암호화 기술무선랜 인증 및 암호화 복합 기술WAP (Wireless Application Protocol)기기 인증 기술RFID (Radio Frequency Identifier)BYOD(bring Your Own Device) 보안 기술25. 네트워크 관리 (출제빈도 0.3%)SNMP (Simple Network Management Protocol)원격 접속 서비스네트워크 기반 프로그램 활용 (출제빈도 0.9%)PING경로추적 (Traceroute)네트워크 인터페이스 진단(netstat)네트워크 인터페이스 설정(ifconfig)네트워크 패킷/로그 분석(tcpdump)27. 네트워크 기반 공격의 이해 (출제빈도 6.9%)서비스 거부공격(DoS) (⭐️)DDOS 공격 (⭐️)DRDos (⭐️) - 분산 반사 서비스 거부 공격네트워크 스캐닝대표적인 스캔 도구 운영체제 탐지공격을 위한 준비스니핑 (Sniffing) (⭐️)스푸핑 (Spoofing) (⭐️)세션 하이재킹 (Session Hijacking)Trojan, Exploit28. IDS/IPS (출제빈도 2.9% / 매회 출제)침입탐지시스템 (IDS) (⭐️)허니팟 (Honeypot) (⭐️)Snort (⭐️)침입방지시스템 (IPS)29. 침입차단시스템(Firewall) (출제빈도 1.5%)유형에 따른 분류구축형태에 따른 종류iptables30. VPN (출제빈도 1.8%)VPN 정의IPsec (IP Security Protocol)31. 최신 네트워크 보안 동향 (출제빈도 2.7% / 최근 6회 2문제 이상 출제)

20. 네트워크 개요 (출제빈도 0.7%)

물리적 접속 형태 (topology)

  • 그물형(mesh) 접속형태
    • 모든 장치들끼리 점-대-점 링크를 갖는다. → 많은 링크 필요
    • 통신량 문제 해결, 안전성↑, 보안성↑
  • 스타형(성형) 접속형태
    • 각 장치들은 허브라고 불리는 중앙제어장치와 점-대-점 링크를 갖는다.
    • 그물형 접속형태보다 비용↓, 설치∙재구성 용이
    • 허브 고장 시 전체 시스템 고장
  • 버스형 접속형태
    • 하나의 긴 케이블이 네트워크상의 모든 장치를 연결하는 형태 → 적은 양의 케이블 사용
    • 설치가 쉽지만 재구성∙결합분리가 어렵다.
  • 링형 접속형태
    • 자신의 양쪽에 있는 장치와 점-대-점 링크를 갖고, 각 장치는 중계기를 포함한다.
    • 비교적 설치와 재구성이 쉽다.
    • 단방향 전송의 단점. 장치 추가가 어려움

OSI 7 계층

notion image
  • 1,2,3, 계층 - 물리적 전송 처리
  • 4계층 - 두 계층을 연결
  • 5,6,7 계층 - 사용자 지원 계층

TCP/IP 프로토콜

  • 현재 TCP/IP는 5계층 모델로 간주
notion image
  • 캡슐화/역캡슐화 : 발신지 호스트에서 캡슐화, 도착지 호스트에서는 역캡슐화가 이루어진다.

21. TCP/IP (출제빈도 1.8% / 매회 출제)

데이터 링크 계층

  • 노드-대-노드 통신
  • 서비스 : 프레임 짜기(Framing), 흐름제어(Flow Control), 오류제어(Error Control), 혼잡제어(Congestion Control)

네트워크 계층

  • IPv4 주소
    • notion image
    • 서브네팅과 슈퍼네팅을 통해 IP 주소 고갈 문제를 완화시킬 수 있다.
    • 주소 고갈 문제로 클래스 없는 주소지정 방식을 이용하게 되었다. (CIDR)
  • ARP(Address Resolution Protocol)
    • IP 주소를 이용해 해당 MAC 주소를 요청하는 프로토콜
    • ARP 요청 메시지 : 특정 IP 주소에 대한 물리 주소(MAC 주소)를 요구. 브로드캐스트로 전송
    • ARP 응답 메시지 : MAC 주소 정보를 유니캐스트로 전송
    • RARP은 물리 주소(MAC 주소)를 이용해 해당 IP 주소를 요청하는 프로토콜이다.
    • GARP(Gratuitous ARP) : ARP 요청 브로드캐스트를 통해 자신의 존재를 알리는 목적, IP 충돌 감지 목적으로 사용
  • ICMPv4 (Internet Control Message Protocol version 4)
    • IP 프로토콜은 호스트와의 관리 질의를 위한 메커니즘이 없다. (라우터나 다른 호스트가 동작하고 있는지, 네트워크 관리자의 다른 호스트나 라우터의 정보 획득) 이를 보완하기 위한 프로토콜이다.
    • 오류보고 메시지
      • 라우터(목적지)나 호스트가 IP 패킷을 처리하는 도중에 탐지하는 문제를 보고
      • 오류보고 메시지는 ICMP 오류 메시지를 운반하는 데이터그램의 응답으로 생성되지 않음
      • 멀티캐스트 주소를 가진 데이터그램을 위해서 생성되지 않음
      • 특수한 주소(127.0.0.0, 0.0.0.0등)를 가진 데이터그램을 위해서 생성되지 않음
    • 질의 메세지
      • notion image
      • 호스트나 네트워크 관리자가 라우터나 다른 호스트로부터 특정 정보를 획득하기 위해서 사용
  • IPv6 주소
    • IPv4 주소의 고갈로 더 큰 주소 길이를 갖는 IPv6 주소 체계가 고안되었다.
    • 크게 확장된 주소 공간, 새로운 헤더 포맷, 향상된 서비스, 보안성 높아짐
    • IPv4 vs IPv6 비교
      • notion image
    • IPv4 주소에서 IPv6 주소로 변환 방법
      • 이중 스택(시스템이 IPv4, IPv6 동시에 지원)
      • 터널링(종단간 호스트는 IPv6이고 중간노드가 IPv4인 경우)
      • 헤더 변환(통신의 한 호스트는 IPv6이고 다른 호스트는 IPv4인 경우)

전송 계층

  1. UDP(User Datagram Protocol)
  • 비연결형, 비신뢰성 전송 프로토콜
  • 소켓 주소를 이용하여 프로세스-대-프로세스 통신을 제공한다.
  • 흐름제어, 혼잡제어 제공 X. 오류제어는 Check Sum을 제외하고 없음.
  1. TCP(Transmission Control Protocol)
  • TCP 서비스
    • 프로세스-대-프로세스 통신을 제공
    • 스트림 전송 서비스 : 바이트의 흐름(stream of byte)으로 데이터를 송∙수신
    • 송신 및 수신 버퍼 : TCP 흐름/오류제어 기법에 사용되는 두 개의 버퍼
    • 전이중 통신(full-duplex service) : 동시에 양방향으로 전달가능
    • 연결 지향 서비스 : 논리적인 연결통로를 통해 데이터를 주고받음으로써 전송순서를 보장 (순서제어)
  • TCP 연결 방식(three-way handshaking)
    • notion image
    • Client가 SYN 세그먼트를 전송한다. (데이터 운반X, 순서번호 1개 소비)
    • Server는 SYN+ACK 세그먼트를 전송한다. (데이터 운반X, 순서번호 1개 소비)
    • Client가 ACK 세그먼트를 전송한다. (데이터를 운반하지 않는다면 순서번호 소비 X)
    • 연결 종료에는 3-way handshaking 방식과 절반-종료의 4-way handshaking 방식이 있다.
      • 3-way handshaking 종료 : 연결 설정 방식과 비슷하게 FIN 세그먼트 -> FIN+ACK 세그먼트 -> ACK 세그먼트로 종료
      • 4-way handshaking 종료 : 데이터를 받고 있는 도중에 한쪽에서 종료하는 경우에 발생. FIN 세그먼트 -> ACK 세그먼트 -> (데이터전송) FIN 세그먼트 -> ACK 세그먼트

22. 라우팅 (출제빈도 0.9%)

라우팅

  • 패킷을 전송하기 위해 송신측에서 목적지까지의 경로를 정하고, 정해진 경로를 따라 패킷을 전달하는 일련의 과정
  • 정적 라우팅 vs 동적 라우팅
    • notion image

라우팅 알고리즘

  • 거리벡터 라우팅(DV, Distance-vector) : 목적지까지의 최소비용만을 제공
  • 링크-상태 라우팅(LV, Link-State) : 딕스트라 알고리즘(Dijkstra algorithm)을 사용하여 최적 경로를 계산
  • 경로 벡터 라우팅(PV, Pate-vector) : 스패닝 트리를 이용하여 가장 최선의 규칙을 사용하는 경로를 선택

라우팅 프로토콜 종류

  • RIP : 간단한 라우팅 프로토콜. 여러 문제점(느린 수렴, 라우팅 루프, 무한세기, 작은 무한값)이 있다.
  • RIPv2 : RIP를 확장한 프로토콜. 서브넷마스크 식별, 경로정보 인증, AS 구별 등의 기능이 추가되었다.
  • IGRP : RIP의 문제점을 해결하기 위한 거리 벡터 프로토콜
  • EIGRP : IGRP를 확장한 프로토콜. 거리 벡터 프로토콜이지만 링크 상태 라우팅 프로토콜에 더 가까운 특성을 지님
  • OSPF : 링크 상태 라우팅 프로토콜.
  • BGP4 : 현재 인터넷에서 사용되고 있는 프로토콜. 경로 벡터 알고리즘 기반

23. 네트워크 장비의 이해 (출제빈도 0.8%)

허브 (Hub)

  • 물리 계층에서 동작하는 장비.
  • 리피터(Repeater) : 약해진 신호를 수신하여 원래의 형태로 재생하고 증폭하는 장치. 최근 모든 네트워크 장비에 기본적으로 들어가는 기능

브리지 (Bridge)

  • 데이터링크 계층인 MAC에서 동작하는 장비
  • 네트워크를 확장시키고 통신을 격리시키기 위해 사용 (분산적으로 구성되어 보안성 향상)
  • 네트워크에 장비의 수가 늘어나면 충돌(Collision)이 발생할 확률이 높아지게 되므로 브리지를 사용하여 충돌 도메인(Collision Domain)을 나누어 준다.

라우터 (Router)

  • 3계층 장비로 물리, 데이터 링크, 네트워크 계층에서 동작한다.
  • 라우터는 각 인터페이스를 위한 MAC 주소와 IP 주소를 갖는다.
  • 브리지와 달리 라우터는 브로드캐스팅과 멀티캐스팅 패킷을 모두 차단하여 다른 네트워크 세그먼트로 전달되는 것을 방지하기에 회선을 효율적으로 사용할 수 있게 된다.

스위치

  • L4 스위치 : TCP/UDP 포트 정보를 분석해 해당 패킷이 현재 사용하는 서비스 종류별로 패킷 처리
  • L7 스위치 : 트래픽의 내용 패턴 등을 분석해 패킷을 처리

24. 무선통신 보안 (출제빈도 1.6%)

블루투스 (Blootooth)

  • 서로 다른 기능을 가진 장치를 연결하기 위해 설계된 무선 LAN 기술
  • 구조
    • 피코넷(piconet) : 8개까지의 지국을 가지고 있으며, 그 중 하나는 주국(Primary)이고, 나머지는 종국(Secondary)이라 한다.
    • 스캐터넷(scatternet) : 피코넷이 합쳐진 구조. 피코넷 안의 종국은 다른 피코넷에서 주국이 될 수 있다.
  • 보안 취약점
    • 블루프린팅(Blueprinting) : 블루투스 장치를 검색하는 활동
    • 블루스나핑(Bluesnarfing) : 블루투스의 취약점을 이용하여 장치의 임의 파일에 접근하는 공격
    • 블루버깅(Bluebugging) : 블루투스 장치 간의 취약한 연결 관리를 악용해 공격 대상 장치를 연결하여 임의의 동작을 수행
    • 블루재킹(Bluejacking) : 블루투스를 이용해 특정 정보를 익명으로 퍼뜨리는 것

무선랜 인증기술

  • SSID 설정과 폐쇄시스템 운영
    • SSID(Service Set Identifier) : 32bytes의 고유 식별자로 구성된 AP를 구분하는 ID
    • 폐쇄시스템 : SSID 값을 NULL로 하여 접속을 요구하는 사용자를 차단하도록 AP를 설정하는 것
    • SSID 숨김으로 설정하고 폐쇄시스템을 운영하면 SSID를 모르는 사용자의 접근 시도 감소/차단 효과
  • MAC 주소 인증
    • 접속을 허용하는 사용자의 MAC을 사전에 등록해 놓고, 접속을 요청하는 장치의 MAC 주소를 통해 인증을 하는 방법
    • 간단한 보안설정으로 효과적인 접근제어가 가능하지만, 대규모 기관에서는 MAC 주소 관리가 힘들어진다.
  • WEP(Wired Equivalent Privacy) 인증
    • WEP 적용 시 사용자 인증과 데이터 암호화를 모두 적용할 수 있다.
    • 구현이 간단하고, 인증 절차도 간결하지만 몇 가지 문제점이 존재
    • 단방향 인증의 취약성 : 불법 복제 AP로 인한 피해가 발생할 수 있다.
    • 고정된 공유키 사용의 취약성 : WEP 키 값이 외부로 유출될 경우 문제 발생
    • 동적 WEP : 기존 WEP과 다르게 암호화 키 값이 주기적으로 변경되지만 기존 RC4 알고리즘을 그대로 사용하므로 문제가 있음.
  • EAP(Extensible Authentication Protocol) 인증
    • IEEE 802.1x에서 사용자 인증 방법으로 사용
    • 802.1x 보안 : 브리지 혹은 무선 AP에서의 물리적인 포트 사용권을 획득하는 절차를 규정
      • 인증자(서비스 포트에 대한 인증을 수행), 서플리컨트(포트를 인증 받고자 하는 개체), 인증 서버(인증 서비스 제공)로 구성
    • 인증 서버와 무선장비 사이에 상호 인증을 허용하고 사용자가 패스워드, OTP, 인증서 등을 사용함으로써 유연성을 제공

무선랜 암호화 기술

  • WEP
    • 무선 AP와 무선 단말기 간에 주고받는 무선 전송데이터를 2개의 장비가 약속한 공유 비밀키와 임의로 선택되는 IV 값을 조합한 62bits 또는 128bits의 키를 이용해 전송 데이터를 RC4 스트림 방식으로 암호화
    • 데이터 암호화뿐만 아니라 공유키를 이용한 사용자 인증 기능도 제공
    • 데이터 무결성을 보장하기 위해서 CRC-32 알고리즘으로 구성되는 ICV(Integrity Check Value)를 사용
    • WEP의 취약성
      • 암호 메커니즘의 취약성 : IV가 24bits의 짧은 길이를 가지고 있다.
      • WEP 키 관리 취약성 : 고정 키 값의 사용으로 외부 유출의 위험성이 크다.
  • TKIP(Temporal Key Integrity Protocol)
    • 48bits의 확장된 길이의 IV
    • IV의 순차적 증가 규칙을 보완하여 재생 공격으로부터 보호
    • WEP의 CRC-32 알고리즘보다 안전한 MIC를 제공
    • TKIP는 WEP의 취약성을 보완하고 있지만, 여전히 RC4 암호 알고리즘을 사용하고 있고, 키 관리 방법을 제공하지 않는 등의 WEP이 가지고 있던 취약성을 그대로 가지고 있다.
  • CCMP(Counter mode with CBC-MAC protocol)
    • RC4 암호 알고리즘이 아닌 AES 암호 알고리즘을 사용
    • 128bits의 대칭키를 사용하고, 48bits의 IV를 사용.
    • Counter 모드 기반의 CBC-MAC인 CCM을 기반

무선랜 인증 및 암호화 복합 기술

  • WPA(Wi-Fi Protected Access)
    • 무선랜 암호화 기법인 TKIP 사용하여 WEP의 약점 해결
    • 무선랜 인증 기법인 IEEE 802.1x와 EAP를 기반으로 강력한 인증 제공
    • RC4 암호 알고리즘 사용의 취약점을 가지고 있음
  • WPA2(RSN, Robust Security Network)
    • WPA의 TKIP를 대체하기 위해 AES에 기반을 둔 CCMP 암호화 방식 + IEEE 802.11i 수정안을 포함한 기술
    • RC4 알고리즘 대신 AES 알고리즘 사용으로 좀 더 강력한 보안을 제공
  • WPA-PSK(Wi-Fi Protected Access Pre-Shared Key)
    • PSK 인증방식은 인증 서버가 설치되지 않은 소규모 망에서 사용되는 방식이다.
    • AP 내부에 키 값을 정해 놓고 미리 정해진 키를 사용하여 AP에 인증을 받아 접속하는 방법
    • 취약성 : 접속/인증 패스워드를 짧게 설정하거나 추측하기 쉬운 값으로 설정할 경우 크랙당할 가능성이 있다.
  • 802.1x/EAP 보안(WPA-EAP, WPA-Enterprise)
    • 사용자에 대한 인증을 수행하고 사용 권한을 중앙 관리
    • 다양한 인증을 제공하고 세션별 암호화 키를 제공한다.

WAP (Wireless Application Protocol)

  • 무선 응용 프로토콜(WAP) : 웹과 같은 정보 서비스에 접근하기 위한 보안 기능을 포함한 표준
  • 무선 마크업 언어(WML, Wireless Markup Language) : 제한된 통신 용량, 제한된 사용자 입력 기능을 가진 장비에서 콘텐츠와 양식을 표현하기 위한 언어
  • 무선 응용 환경(WAE, Wireless Application Environment) : WAP가 지원하는 응용 프로그램과 장비 개발을 쉽게 하기 위한 도구와 형식의 집합
  • WAP 프로토콜 구조
    • 무선 세션 프로토콜(WSP) : 연결형 세션 서비스(WTP), 비연결형 서비스(WDP)를 위한 인터페이스 지원
    • 무선 트랜잭션 프로토콜(WTP)
    • 무선 데이터그램 프로토콜(WDP)
  • WTLS(Wireless Transport Layer Security)
    • TLS에 기반하여 모바일 장비(클라이언트)와 WAP 게이트웨이 간의 보안 서비스를 제공
    • 데이터 무결성, 프라이버시, 인증, DDoS 공격 보호 기능을 지원

기기 인증 기술

  • 아이디/패스워드 기반 인증 방법
    • ID/PW를 통한 인증
    • 무선 네트워크 아이디(SSID)을 사용한 인증
    • 무선 단말과 AP간 WEP 키를 이용한 인증
  • MAC 주소 값 인증
  • 암호 프로토콜을 이용한 인증
  • 시도/응답 인증 : OTP와 유사하게 일회성 해시값을 생성하여 사용자를 인증하는 방법

RFID (Radio Frequency Identifier)

  • 무선 주파수(RF)와 제품에 붙이는 태그에 생산, 유통, 보관, 소비의 전 과정에 대한 정보와 연동되는 식별자인 전자칩을 이용하여 물체를 식별할 수 있는 기술
  • RFID 네트워크 공격 유형에는 도청, 트래픽 분석, 위조, DDoS 공격 등이 있다.
  • RFID 보안 기술
    • Kill 명령어 : 태그에 kill 명령어를 전송해 태그를 영구적으로 비활성화 시키는 방식. 태그를 재활용할 수 없어 활용도 떨어짐
    • Sleep / Wake 명령어 : 태그의 기능을 일시적으로 정지시켰다가 다시 동작시키는 방법. 관리의 어려움이 있다.
    • 블로커(Blocker) 태그 : 소비자가 전용 IC 태그를 소지함으로써 가까이에 있는 IC 태그의 ID를 읽을 수 없게 만드는 기법
    • Faraday Cage : 태그를 물리적인 방법으로 막아 무선 신호의 전달을 방해하는 방법
    • Jamming : 강한 방해 신호를 보내어 불법적인 리더기의 접근을 막는 방식
    • 해시 락(Hash Lock) : 일방향 해시 함수를 기반으로 하는 접근제어 메커니즘
    • XOR기반 원타임 패드 기법 : XOR와 같은 간단한 연산을 사용하는 기법

BYOD(bring Your Own Device) 보안 기술

  • MDM(Mobile Device Management) : 모바일 기기를 보호, 관리, 감시, 지원하여 완전히 제어하는 방법
  • 컨테이너화 : 컨테이너라는 암호화된 별도 공간에 업무용 데이터와 개인용 데이터를 분리하고 관리
  • 모바일 가상화 : 하나의 모바일 기기에 개인용과 업무용 OS를 동시에 담아 분리
  • MAM(Mobile Application Management) : 기기에 설치된 업무 관련 앱에만 보안 및 관리 기능을 적용

25. 네트워크 관리 (출제빈도 0.3%)

SNMP (Simple Network Management Protocol)

  • 관리자와 에이전트 간의 간단한 상호작용으로 관리 작업을 수행하는 응용계층의 프로토콜
  • 관리 정보 교환 방식
    • 폴링(Polling) : 에이전트의 정보를 주기적으로 수집하는 것. 에이전트가 161/UDP 포트 사용
    • 트랩(Trap), Event Reporting 방식 : 에이전트에서 이벤트가 발생하는 경우 관리자에게 인터럽트. 관리자가 162/UDP 포트 사용
  • 구성요소
    • SMI(Structure of Management Information) : 객체에 이름을 붙이고 객체 유형을 정의하며, 객체와 값을 부호화 하는 방법을 나타내기 위해 규칙을 정의
    • MIB(Management Information Base) : 관리될 각 개체를 위해 객체의 수를 결정, SMI에 의해 정의된 규칙에 따라 이름을 붙이 며, 이름이 지어진 각 객체에 유형을 연결한다. 모든 객체들의 구조적인 모임이다.
  • 커뮤니티 스트링(Community String) : 관리자가 에이전트로부터 데이터를 요청하기 위해 사용하는 패스워드
  • SNMPv3는 암호화, 메시지 무결성, 인증 보안을 지원한다.

원격 접속 서비스

  • Telnet : 가상 터미널 서비스에 대한 표준 TCP/IP 프로토콜
  • Rlogin : BSD 계열 시스템 간의 원격접속을 위해 설계된 원격지 접속을 지원하는 프로토콜
  • SSH
    • 네트워크상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 프로토콜
    • 기존의 Rlogin, Telnet 등을 대체하기 위해 설계되었으며 강력한 인증 방법, 안전한 통신 기능을 제공
    • 포트 전달(Port Forwarding)을 제공
    • 공개키 암호화 기법을 사용하여 암호화 통신을 제공한다. (RSA)

네트워크 기반 프로그램 활용 (출제빈도 0.9%)

최근 6회 1-2문제 출제

PING

  • ICMP를 사용하여 Echo Request 패킷을 보내 Echo Reply 패킷을 수신함으로써 원격 호스트가 정상적으로 운영되고 있는지를 확인하는 진단 목적으로 사용
  • 네트워크 속도를 측정하거나 도메인명을 이용하여 대상 시스템의 IP 주소를 알아낼 때도 사용
  • 문법(Linux) ping [-option] [ip_address | host_name]
    • [-c] : count. 지정한 수만큼 ICMP 패킷을 송수신한다.
    • [-i] : ICMP 패킷 송신 간의 대기시간
    • [-s] : ICMP 송신 패킷의 데이터 크기

경로추적 (Traceroute)

  • 목적지까지의 데이터 도달여부를 확인하는 도구
  • 패킷의 TTL을 하나씩 증가시켜 보낸다.
    • TTL(Time To Live) : 라우팅 정보가 잘못되어 패킷이 네트워크를 무한대로 떠돌지 않도록 최초 라우터를 제외한 라우터 하나를 지날 때마다 값이 1씩 줄어든다.
  • Unreachable Port라는 ICMP 메시지를 받으면 목적지에 도달했음을 알 수 있게 된다.
  • traceroute는 우연히 도달하는 것을 방지하기 위해 정확히 3개의 UDP 패킷을 보낸다.
  • traceroute 결과에서 응답시간이 * 로 표시되는 경우 traceroute의 UDP 패킷이 차단된 것이다.
  • 문법(Linux) traceroute [-option] [ip_address | host_name] [packet_len]
    • [-m] : max_hop. 최대 TTL 지정 (default : 30)
    • [-p] : port. UDP 포트를 지정. (default : 33434)
    • 5초 동안 응답 결과가 없으면 * 로 표시된다.

네트워크 인터페이스 진단(netstat)

  • UNIX 시스템의 TCP/IP 프로토콜 진단 시 사용.
  • 네트워크 인터페이스(LAN 카드)에 대한 성능 정보, 시스템의 라우팅 정보, 소켓 사용 정보 등을 출력
  • 문법 netstat [-option]
    • [-s] : 각 네트워크 프로토콜에 대한 통계 정보를 출력
    • [-r] : 라우팅 테이블 목록을 출력
    • [-a] : 모든 소켓 정보를 출력
    • [-n] : 네트워크 주소를 숫자로 출력
    • [-P] : 특정 프로토콜을 지정
  • 프로토콜 통계 정보 (-s 옵션)
    • notion image
    • UNIX 시스템에서 실행중인 TCP/IP 프로토콜의 세부 프로토콜에 대한 통계정보를 출력(시스템이 부팅된 이후부터 누적된 수치)

네트워크 인터페이스 설정(ifconfig)

  • 네트워크 인터페이스의 설정정보를 알아보거나 IP주소 및 서브넷마스크 등의 설정을 변경할 때 사용
  • 문법(Linux) ifconfig [device] [ip_address] [netmask IP] [broadcast IP] [up | down]
    • device : IP 주소를 부여할 장치 (ex : eth0)
    • up | down : 장치를 활성화시키거나 비활성화 시킨다.

네트워크 패킷/로그 분석(tcpdump)

  • 네트워크 인터페이스를 거치는 패킷의 내용을 출력해 주는 프로그램이다.
  • 스니핑 도구의 일종. 패킷 분석 시에 활용할 수 있는 도구
  • 문법(Linux) tcpdump [-option]
    • [-A] : 패킷의 내용을 화면에 ASCII 형식으로 출력
    • [-c] : 주어진 수의 패킷을 받은 후 종료
    • [-i] : 인터페이스 지정 (default : 가장 낮은 숫자의 인터페이스)
  • 예제
    • 출발지나 목적지가 16.64.10.65이고, 포트가 80인 트래픽을 모니터링
      tcpdump host 16.64.10.65 and port 80

27. 네트워크 기반 공격의 이해 (출제빈도 6.9%)

매회 5~7문제 출제

서비스 거부공격(DoS) (⭐️)

  • 시스템에 과도한 부하를 일으켜 시스템의 사용을 방해하는 공격 방식(가용성 침해)
  • TCP SYN Flooding Attack
    • TCP 연결 과정 중에 3-way handshaking 과정에서 Half-Open 연결 시도가 가능하다는 취약점을 이용한 공격 기법
    • 공격자가 시작 주소가 조작된 다수의 SYN 신호를 공격대상자에게 전송하면 공격대상자는 SYN/ACK 신호를 공격자에게 보내는데, 이때 공격자가 ACK 신호를 반송하지 않으면 공격대상자의 시스템은 일정시간동안 기다리게 된다.
    • 공격방법
        1. 공격자는 시작 주소가 조작된 상당히 많은 양의 SYN 메시지를 목적지에 보냄.
        1. 서버는 이 패킷 각각에 대해 서버에 정보를 저장하고 SYN/ACK 패킷을 조작된 주소에 보냄
        1. 이 주소에 시스템이 존재하면 RST(Reset) 패킷이 전송되어 요청된 연결이 끊어지고 정보도 삭제되지만 이 주소에 시스템이 존재하지 않거나 너무 바쁘면 해당 주소에서 응답이 오지 않게 된다.
        1. 서버는 연결요청이 실패했다고 생각할 때까지 SYN/ACK 패킷을 계속 보내어 연결 설정 시도를 반복
        1. 이 기다리는 시간과 정보가 TCP 연결테이블에 저장되어 이후의 정상적인 연결 요청이 거부됨.
    • 보안대책 : 보안 패치, IDS/IPS 설치, Syn_Cookie 설정, 접속 타임아웃 시간 단축 등
  • SMURF Attack
    • IP 위장과 ICMP의 특징을 이용한 광범위한 DoS 공격
    • 공격방법
        1. 공격자는 IP를 공격대상 서버의 IP주소로 위장, ICMP를 broadcast로 다수의 시스템에 전송
        1. ICMP broadcast를 수신한 다수의 시스템은 ICMP Echo 패킷을 공격대상 서버로 전송하게 됨
        1. 다수의 ICMP Echo를 수신한 공격대상 서버는 시스템 성능에 문제가 생기게 됨.
    • 이 다수의 시스템을 증폭 네트워크라고 부른다.
    • 보안대책 : 라우터에서 다른 네트워크에서 자신의 네트워크로 들어오는 IP directed broadcast 패킷을 막도록 설정한다.
  • Land Attack
    • 패킷 전송 시 출발지 IP 주소와 목적지 IP 주소 값을 똑같이 만들어서 공격 대상에 보내는 기법
    • 보안대책
        1. 출발지 주소가 내부 IP인 패킷을 차단한다.
        1. 자신의 시스템 주소와 동일한 출발지 주소를 가진 외부 패킷을 필터링한다.
  • Ping of Death
    • ping을 이용하여 ICMP 패킷을 정상 크기(65,535bytes)보다 아주 크게 만들어 전송하는 기법
    • 큰 ICMP 패킷은 네트워크를 통해 라우팅되어 공격 대상 네트워크에 도달하는 동안 아주 작은 조각(fragment)으로 쪼개진다. 공격 대상은 조각화된 패킷을 모두 처리해야 하므로 부하가 발생한다.
    • 보안대책 : OS 패치, 방화벽에서 ICMP 차단
  • Teardrop Attack
    • IP가 정상적으로 패킷을 전송할 때 IP 단편화(fragmentation)가 발생하게 되고, 수신자는 재조립을 통해 단편화된 데이터를 복구한다. 재조립시 정확한 조립을 위해 Offset 값을 더한다.
    • Teardrop 기법은 이 오프셋 값을 단편화 간에 중복되도록 고의적으로 수정하거나, 더 큰 값을 더해 오버플로우(Overflow)를 일으킨다.
    • 보안대책 : OS 패치(현재 대부분의 시스템에서 패치로 해결됨)
  • Inconsistent Fragmentation Attack
    • Bonk : 패킷을 fragment(조각화)하여 전송할 때 순서번호를 모두 1번으로 조작하여 전송하는 공격
    • Boink : Bonk를 수정한 공격기법. 패킷 순서번호를 비정상적인 상태로 보내는 공격 (1→101→200)
    • IP 단편화 취약점을 이용한 방화벽 우회 공격 (DoS 공격이 아님)
    • Tiny Fragment : IP헤더보다 작은 fragment를 만들어서 방화벽을 우회하여 내부 시스템에 침입하는 공격 기법
    • Fragment Overlap : IP fragment의 offset 값을 조작해 서비스 포트 필드를 중첩시켜서 재조합이 되면 방화벽에서 허용하지 않는 서비스에 접근 가능하게 만드는 공격 기법

DDOS 공격 (⭐️)

  • 여러 대의 컴퓨터로 엄청난 분량의 패킷을 동시에 범람시킴으로써 네트워크 성능 저하나 시스템 마비를 유발하는 공격 기법.
  • 공격 순서 : 공격자(봇 마스터) → 마스터(C&C 서버) → 에이전트(좀비) → 공격 대상
  • 대응 절차
    • 공격 이전(공격 예방 및 선취) : 공격 대상이 정당한 클라이언트에 대한 서비스를 거부하지 않으면서 이겨낼 수 있게 한다.
    • 공격 중(공격 탐지 및 필터링) : 공격이 시작되면 탐지를 시도하고 즉시 대처한다.
    • 공격 이후(공격 근원지 역추적 및 확인) : 근원지를 찾아내어 추후 공격에 대비한다.
  • 대응 방안
    • 라우터 정책 : ACL을 이용한 필터링, Ingress/Egress 필터링
    • 라우터의 약속된 접근 비율(CAR) 기능 : 단위시간 동안 일정량 이상의 패킷이 라우터로 들어올 경우 이후 패킷은 버림
    • 침입탐지시스템(IDS) 이용
  • DDoS 공격 사례
      1. 트리누(Trinoo) 공격
          • 1999.06~07 / 미네소타 대학 / 솔라리스 2.x 시스템에서 발견
          • UDP Flood 서비스 공격을 유발.
      1. TFN(Tribed Flood Network) 공격
          • Trinoo의 약간 발전한 형태
          • UDP Flood Attack, TCP SYN Flood Attack, ICMP echo request Attack, ICMP broadcast Attack
      1. Stacheldraht 공격
          • 트리누와 TFN을 참고하여 제작된 도구
          • 마스터 시스템 및 에이전트 데몬과의 사이에 통신을 할 때 암호화하는 기능 추가
      1. TFN2K 공격
          • TFN의 발전된 형태. 조금 더 다양한 OS에서 사용이 가능해짐.
          • 통신에 특정 포트가 사용되지 않고 암호화되어있고, 프로그램에 의해 UDP, TCP, ICMP가 복합적으로 사용되며 포트도 임의로 결정됨.
  • 최신 DDoS 공격 유형
      1. UDP/ICMP Flooding : 출발지 IP가 변조된 다량의 UDP/ICMP 패킷을 서버로 전송하여 서버가 보유한 네트워크 대역폭을 가득 채워 다른 Client의 접속을 방해하는 공격.
      1. HTTP Traffic Flooding 공격
    • GET Flooding : TCP 3-way handshaking 과정을 통해 정상 접속을 한 뒤, 특정 페이지를 HTTP의 GET Method를 통해 무한 대로 실행하는 것.
    • Cache Control Attack (CC Attack) : HTTP 메시지의 캐시 옵션을 조작하여 캐싱서버가 아닌 웹서버가 메시지를 처리하도록 하여 웹서버의 자원을 소진시킨다.
    • 동적 HTTP Request Flooding 공격 : 웹 방화벽 차단 기법을 우회하기 위해 지속적으로 요청 페이지를 변경하여 웹페이지를 요청하는 기법
      1. HULK(Http Unbearable Load King) DoS
    • 웹서버의 가용량(최대 접속 가능 클라이언트 수)을 모두 사용하도록 하여 정상적인 서비스가 불가능하도록 유도
    • 공격대상 웹사이트 주소를 지속적으로 변경하여 DDoS 차단정책을 우회한
    • 4. SIP(Session Initiation Protocol) Flood
    • SIP : VoIP 전화 연결에 많이 사용하는 프로토콜
    • 하나의 INVITE request 메시지가 상당한 양의 자원을 소모하게 한다는 것을 악용하여 SIP 프록시에 수많은 INVITE request를 위조된 시작주소에 넣어 전송하는 공격 기법

DRDos (⭐️) - 분산 반사 서비스 거부 공격

  • 분산 반사 서비스 거부 공격(DRDoS)은 별도의 에이전트 설치 없이 프로토콜 구조의 취약점을 이용해 정상적인 서비스를 운영하는 시스템을 에이전트로 활용하여 공격한다.
  • TCP 연결설정과정(3-way handshaking)의 취약점을 이용하여 위조된 IP 주소의 SYN 요청을 반사서버로 전달하여 SYN/ACK 응답이 공격대상에게 향하도록 하는 방법이 있다.
  • UDP 서비스를 이용한 DRDoS 공격 유형
    • DNS 증폭 DRDoS 공격 : DNS 서버(반사 서버)에 많은 양의 레코드 정보를 요구하는 DNS 질의 타입을 요청하여 공격 대상에게 대량의 트래픽을 유발시키는 기법
    • NTP 증폭 DRDoS 공격 : NTP 서버(반사 서버)에 최근 접속한 클라이언트 목록(monlist 명령)을 요청하여 대량의 트래픽 유발
    • SNMP 증폭 DRDoS 공격 : SNMP 에이전트에 MIB와 같은 정보를 대량 요청하여 대량의 트래픽 유발
    • CHARGEN 증폭 DRDoS 공격 : CHARGEN 서버에 접속 시 대량의 문자열을 전송하여 공격 대상자에게 대량의 트래픽 유발
  • 일반 DDoS 공격에 비해 DRDoS 공격이 위협적인 이유
    • 패킷이 전송되는 경로가 무수히 많다.
    • 반사 서버의 단계적 사용 및 확산 : 다수의 반사 서버 목록을 보유하고 있다면 공격 경로를 끊임없이 변경할 수 있다.
    • 위조된 SYN 패킷 출발지 IP를 랜덤으로 생성하는 DDoS 공격과 다르게 공격대상 IP를 출발지 IP로 위조하여 전송하기 때문에 추적이 힘들다.
  • 대응 방안
    • 출발지 IP 주소가 위조된 패킷이 인터넷망으로 들어오지 않도록 ISP가 직접 차단(Ingress Filtering)
    • ICMP 프로토콜을 이용한 DRDoS에 대응하기 위해 ICMP 프로토콜이 필요 없는 시스템인 경우 해당 프로토콜을 차단
    • 내부 사용자용 DNS 서버인 경우 서버 설정을 통해 내부 사용자 주소만 Recursive Query가 가능하도록 제한

네트워크 스캐닝

  • Sweep : 특정 네트워크에 대하여 해당 네트워크에 속해 있는 시스템의 유무를 판단할 수 있고, 목표 네트워크에서 사용하거나 소유하고 있는 IP 주소와 네트워크 범위를 알아내는 기법
  • Open Scan : 시스템 활성화 여부, 스캔하는 포트에 해당되는 서비스의 활성화 여부를 조사할 수 있는 방법.
      1. TCP Full Open Scan [ = TCP SYN/ACK Scan ]
          • 완전한 TCP 연결을 맺어서 신뢰성 있는 결과를 얻을 수 있지만, 속도가 느리고 로그가 남는다.
      1. TCP Half Open Scan [ = TCP SYN Scan ]
          • 세션을 완전히 연결하지 않고 포트의 활성화 여부를 판단
          • 포트가 열려있는 경우 : 공격자가 SYN 패킷을 보내고 공격 대상으로부터 SYN/ACK 패킷을 받으면 그 즉시 RST 패킷을 보내 연결을 끊음으로써 로그를 남기지 않는다. (스텔스 스캔)
            • notion image
          • 포트가 닫혀 있는 경우 : 공격자가 SYN 패킷을 보내면 공격 대상으로부터 RST/ACK 패킷을 받음.
      1. UDP Scan
    • 아무런 응답이 없으면 해당 포트의 활성화를 의미하고, ICMP Unreachable 패킷을 받으면 해당 포트의 비활성화를 의미한다.
    • 이 포트 스캔 방법은 신뢰하기 어렵다. UDP 패킷이 네트워크상에서 손실될 수 있기 때문이다.
    • TCP 스캔보다 속도가 느리다.
  • Stealth Scan
    • TCP 헤더를 조작하여 특수한 패킷을 만들어 보낸 후 그 응답으로 포트 활성화 여부를 파악
    • 세션을 완전히 연결하지 않기 때문에 로그가 남지 않는다.
    • TCP FIN, NULL, XMAS Scan : 포트가 열려있는 경우에는 응답이 없고, 포트가 닫혀 있는 경우에는 RST 패킷이 돌아온다.
      • notion image
        1. TCP FIN Scan : TCP 헤더 내에 FIN 플래그를 설정하여 전송.
        1. TCP NULL Scan : TCP 헤더 내에 플래그 값을 설정하지 않고 전송.
        1. TCP XMAS Scan : TCP 헤더 내에 ACK, FIN, RST, SYN, URG 플래그를 모두 설정하여 전송.

대표적인 스캔 도구

  • NMap(Network Mapper)
    • 모든 OS에서 사용 가능. OS의 종류 및 사용 서비스에 대한 정보, FTP 서버의 취약점을 이용한 bounce 공격을 수행할 수 있는 스캔 도구.
    • 오픈소스이어서 사용자들이 기능을 추가할 수 있는 확장성을 지니고 있다.
    • 문법 nmap [scan type] [port option] [target]
      • [-sS] : TCP SYN(Half-open) Scan
      • [-sF] : TCP FIN Scan
      • [-v] : 자세하게 출력
      • [-O] : 대상 호스트의 OS 정보를 출력
      • [-T] : NMap 속도 지정 (0 : 느림 ~ 5 : 빠름)
      • [-f] : 스캔 시 F/W을 통과할 수 있도록 패킷을 분할
    • 예제
      • nmap 211.241.90.100-150
      • 211.241.90.100부터 150까지의 호스트들을 스캔
      • nmap -p 1-30,110 58.184.141.21
      • 58.184.141.21 호스트의 1~30번 포트와 110번 포트를 스캔
      • 211.241.xx.xxx 호스트에게 UDP Scan을 수행
  • 그 외에도 LANguard, Spoofscan.c, Fragrouter, IDES.c, Firewalk 등의 도구들이 있다.

운영체제 탐지

  • 배너 그래빙(banner grabbing)
    • 상대 시스템의 OS를 확인하는 가장 기본적인 방법
    • banner는 원격지 시스템에 로그인하면 뜨는 안내문과 비슷한 것이다.
  • TCP/IP
    • OS마다 TCP/IP에 대한 반응이 다르기 때문에 반응에 따라 OS를 추측할 수 있다.
    • FIN Scan은 모든 OS에 적용되지 않기 때문에 FIN Scan을 이용해 OS를 추측할 수 있다.
    • 세션 연결 후 TCP 패킷의 Sequence Number(순서 번호) 생성을 관찰한다. 윈도우 계열은 시간에 따른 순서 번호를 생성하며, 리눅스 계열은 Random으로 생성한다.

공격을 위한 준비

  • 공격을 위한 정보 수집은 풋 프린팅 - 스캐닝 - 목록화의 3단계 과정을 거친다.
  • 풋 프린팅에는 일반적으로 사회공학기법이 사용되며, 공격 대상이 스스로 공개한 여러 가지 정보를 수집한다.
  • 스캐닝에는 네트워크 구조 스캔, 포트 스캔, OS 스캔 등이 있다.
  • 목록화(Enumeration)는 수집한 정보를 바탕으로 실제 공격에 사용할 수 있도록 목록화 하는 것을 뜻한다.

스니핑 (Sniffing) (⭐️)

  • 네트워크 트래픽을 도청하는 기법
  • 허브 환경에서의 스니핑
    • 허브(Hub)는 기본적으로 들어온 패킷에 대해 패킷이 들어온 포트를 제외한 모든 포트에 패킷을 보내는 장비이다. 따라서 허브를 사용하고 있다면 다른 사람의 패킷을 받고 있는 것이 된다.
    • 하지만 필터링에 의해 자신의 것이 아닌 패킷은 버려지기 때문에 시스템의 NIC를 promiscuous 모드로 동작하게 해야 다른사람의 패킷을 받아 볼 수 있다.
  • 스위치 환경에서의 스니핑
    • 스위치 재밍(Switch Jamming, MACOF) : 스위치의 MAC 주소 테이블 버퍼를 오버플로우 시켜서 스위치가 허브처럼 동작하게 강제적으로 만드는 기법.
    • ARP 리다이렉트(Redirect) : 공격자가 자신이 라우터인 것처럼 MAC 주소를 위조하여 ARP Reply 패킷을 해당 네트워크에 broadcast 하여 해당 로컬 네트워크의 모든 호스트와 라우터 사이의 트래픽을 스니핑하는 기법.
    • ICMP 리다이렉트 : 3계층에서 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격
    • 스위치의 SPAN(Switch Port Analyzer) / Port Mirroring 기능 이용 : 관리적인 목적으로 스위치 특정 포트에 분석 장비를 접속하여 다른 포트의 트래픽을 분석하는 기술
  • 보안대책
      1. 능동적인 대응 방법 (스니퍼 탐지)
          • 네트워크 스니퍼 : 패킷 또는 LAN 세그먼트 상을 지나는 트래픽을 분석할 수 있는 S/W, H/W
          • 스니퍼는 기본적으로 유입 패킷에 대한 IP 주소와 MAC 주소 필터링을 하지 않는 promiscuous 모드에서 작동한다.
          • ping을 이용한 방법 : 네트워크에 존재하지 않는 MAC 주소로 위장하여 ping을 보낸다. 만약 ICMP Echo Reply를 받으면 해당 호스트가 스니핑을 하고 있다는 것을 알 수 있다. 스니퍼가 아닌 호스트는 이 Request 패킷을 볼 수 없다. ARP를 이용한 방법도 비슷한 원리이다.
          • ARP watch : 초기의 MAC 주소와 IP 주소의 매칭 값을 저장하고 ARP 트래픽을 모니터링하여 이를 변경하는 패킷이 있으면 관리자에게 알려주는 툴
      1. 수동적인 대응 방법 (암호화) : 스니핑 되더라도 해당 내용이 노출되지 않도록 통신내용을 암호화하는 방법 (SSL, PGP 등)

스푸핑 (Spoofing) (⭐️)

  • IP 주소, MAC 주소 등을 속여 정보를 가로채거나 속이는 기법
  • ARP 스푸핑
    • 공격자는 공격 대상 A, B에게 상대 IP에 해당하는 MAC 주소를 자신의 MAC 주소라고 속여 ARP 패킷을 보내 A, B간에 통신할 때 공격자를 거치도록 하는 공격
    • ARP Cache는 자주 폐기되므로 공격자는 캐시를 갱신해주어야 한다. (ARP Cache Poisoning)
    • 보안대책 : ARP -s 명령어를 통해 정적으로 ARP 테이블을 설정해주어야 한다.
  • IP 스푸핑
    • 공격자가 자신의 IP 주소가 아닌 신뢰관계를 가진 시스템의 주소로 위장하여 공격대상 서버로부터 정보를 가로채는 공격
    • 신뢰관계에 있는 IP로 위장한 후 rlogin 등을 이용하여 공격대상 서버에 접속
    • Server A와 Client B가 신뢰관계에서 통신하고 있을 때 A에게 DoS 공격 후 공격자는 B로 위장하여 통신을 하게 된다.
    • 보안대책 : 외부에서 들어오는 패킷 중에 출발지 IP가 내부망 IP주소인 패킷을 차단하거나 시스템에 TCP wrapper, ssh 설치해서 운영, rlogin 등과 같은 서비스를 비활성화하는 방법이 있다.

세션 하이재킹 (Session Hijacking)

  • 서버와 클라이언트가 TCP를 이용해서 통신하고 있을 때, RST 패킷을 보내 일시적으로 세션을 끊고 시퀀스 넘버를 새로 생성하여 세션을 빼앗아 인증을 회피하는 기법
  • 세션 하이재킹은 인증 작업이 완료된 세션을 공격하기 때문에 패스워드 공격을 방지하기 위해 도입된 OTP, 시도/응답 기법 등의 사용자 인증을 무력화시킬 수 있다.
  • 스니핑 기반의 TCP 연결 하이재킹
    • 공격자가 공격 대상과 서버 간에 교환된 패킷을 스니핑할 수 있고, 패킷 가공 공격을 수행할 수 있다면 완전한 양방향 통신 세션 하이재킹 공격을 수행할 수 있다.
  • 공격 절차
      1. 공격자는 스니핑을 하여 세션을 확인하고, 적절한 시퀀스 넘버를 획득한다.
      1. RST 패킷을 보내 서버 쪽 연결만 끊는다. (서버 : Closed / 클라이언트 : Established)
      1. 공격자는 새로운 시퀀스넘버를 생성하여 서버로 보낸다.
      1. 서버는 새로운 시퀀스넘버를 받아들이며, 다시 세션을 연다.
      1. 공격자는 정상적인 연결처럼 서버와 시퀀스넘버를 교환하고, 공격자와 서버 모두 Established 상태가 된다.
  • 보안대책
    • 암호화된 연결을 사용
    • 비동기화 상태 탐지 (서버와 클라이언트의 시퀀스 넘버가 일치하지 않을 때)
    • ACK Storm 탐지 : 전송 중 윈도우 크기와 시퀀스 넘버가 맞지 않은 상태가 되면 무한 루프에 걸리게 되어 ACK 패킷의 비율이 급격하게 늘어나게 된다.

Trojan, Exploit

  • Trojan
    • 악성 프로그램을 정상적인 프로그램으로 포장시켜 일반 사용자들이 의심 없이 실행시키게 한다.
    • 실행 시 특정 포트를 열어 공격자의 침입을 도와 정보를 유출하는 프로그램이다.
  • Exploit
    • OS에서 버그를 이용하여 루트권한 획득 또는 특정 기능을 수행하기 위한 공격 코드/프로그램
    • 공격 대상 컴퓨터의 제어 권한 획득이나 DoS 등을 목적으로 한다.

28. IDS/IPS (출제빈도 2.9% / 매회 출제)

침입탐지시스템 (IDS) (⭐️)

  • IDS(Intrusion Detection System) 개념 : 네트워크에서 사용되는 자원의 무결성, 비밀성, 가용성을 저해하는 비정상적인 사용과 오용, 남용 등의 행위를 가능한 한 실시간으로 탐지하여 관리자에게 경고 메시지를 보내주고(통보) 대응하는 시스템
  • 실행단계 : 데이터 수집 → 데이터 가공 및 축약 → 침입분석 및 탐지 → 보고 및 대응
  • 탐지방법에 따른 분류
    • notion image
  • 데이터 수집원에 따른 분류
    • notion image

허니팟 (Honeypot) (⭐️)

  • 실제 자료를 가진 호스트인 것처럼 네트워크상에 존재하면서 공격자를 속여 침해당함으로써 그들의 행동, 공격기법, 목적 등을 분석하는데 사용된다.
  • 설계 목적
      1. 중요한 시스템에 접근하는 공격자를 허니팟으로 돌린다.
      1. 공격자의 동작에 관한 정보를 수집
      1. 관리자가 반응할 수 있도록 공격자가 시스템에 충분히 오랜 시간 동안 머무르기를 유도
  • 제로데이 공격을 사전에 탐지할 수 있는 예방통제 기술
  • 자신에게 오는 패킷만 수집하므로 네트워크 전반에 대한 침입정보를 분석할 수 없다.

Snort (⭐️)

  • 일종의 IDS로 실시간 트래픽 분석, 프로토콜 분석, 내용검색/매칭, 침입탐지 Rule에 의거하여 오버플로우, 포트스캔, CGI 공격, OS 확인 시도 등의 다양한 공격과 스캔을 탐지할 수 있다.
  • 룰 헤더 형식
    • notion image
      - 모든 출발지/포트에서 IP가 16.64.0.0/16이고 TCP/80 포트로 들어오는 패킷을 탐지
  • 룰 바디 주요 옵션
    • msg : alert나 로그 출력 시 이벤트명으로 사용
    • contents : 패킷의 payload 내부를 검색하는 문자열
    • offset : content로 지정한 문제열의 검색 시작 오프셋을 의미
    • depth : offset부터 검사할 바이트수를 지정
    • nocase : 대/소문자 구분하지 않음
    • sid : 룰 식별자 (100미만은 예약 / 100~1,000,000 : snort 홈페이지에서 배포 / 1,000,000~ : 사용자 정의)

침입방지시스템 (IPS)

  • 침입이 일어나기 전에 실시간으로 침입을 막는 능동형 보안 솔루션
  • 침입을 탐지했을 경우에 대처까지 수행한다.
    • IPS 예방 ∙ 사전조치
    • IDS 탐지 ∙ 사후조치
  • 취약점을 능동적으로 사전에 보완하고, 알려지지 않은 공격까지 차단
  • 방화벽, IDS에 대한 대안으로 제시됨

29. 침입차단시스템(Firewall) (출제빈도 1.5%)

  • 내/외부 네트워크 사이에서 접근제어 정책을 구현하는 시스템
  • 장점 : 취약한 서비스 보호, 로그와 통계자료 유지, 내부 네트워크에 대한 일괄적인 보안 정책 적용 가능
  • 단점 : 제한된 서비스, 우회 트래픽/내부 사용자의 공격 방어 제한, 제로데이 공격에 취약

유형에 따른 분류

  1. 패킷 필터링 시스템
      • 패킷의 IP 주소와 서비스 종류에 대한 정보를 이용하여 설정된 필터링 규칙에 의해 내부 네트워크를 보호하는 방법이다.
      • 일반적인 라우터에 패킷 필터링 기능을 구현한 것을 스크리닝 라우터(또는 패킷 필터링 라우터)라고 부른다
      • 장점
        • 단순하면서도 효율성이 높다
        • 응용프로그램에 독립적이다.
      • 단점
        • 패킷에서 헤더정보 외에는 조사하지 않는다.
        • 상대적으로 낮은 보안을 제공
        • 연결 상태를 추적하지 않는다.
      • NAT(Network Address Translation)
        • 사설 주소와 범용 주소의 매핑을 제공하며 동시에 가상 사설 네트워크를 지원하는 기술
        • 적은 숫자의 공인 IP 주소만으로 많은 시스템(사설 IP 이용)이 인터넷에 접속할 수 있게 하는 기술
        • 패킷 필터링과 상태 유지 방화벽은 NAT를 제공한다.
        • Static NAT : 내부 IP 주소와 외부 IP 주소의 1:1 매칭
        • Dynamic NAT : 여러 개의 내부 IP 주소와 여러 개의 외부 IP 주소의 동적 매핑
        • PAT(Port Address Translation) : 변환 테이블에 송/수신 포트번호와 프로토콜을 포함
  1. 스테이트풀 패킷 검사 F/W (Stateful packet inspection F/W)
      • 패킷 필터링 F/W와 같이 동일한 패킷 정보를 조사하지만 TCP 연결에 관한 정보를 기록한다. (보안성 향상)
      • TCP 시퀀스넘버를 추적해서 시퀀스넘버를 이용한 세션하이재킹 같은 공격을 방어
      • 통신 채널을 추적하는 상태 테이블을 관리한다.
      • 작동 원리
        • 데이터 링크 계층에서 SYN 패킷을 전송받으면 접근제어 정책에 의해 상태 테이블에 남겨 접근 허용여부를 결정
        • 접근이 금지된 패킷일 경우 로그를 저장하고 전송을 수행하지 않고, 접근이 허용된 패킷은 네트워크 계층으로 전송시킨다.
        • SYN 패킷이 아닐 경우 상태 테이블의 패킷 정보 여부를 검사하고 존재하면 전송, 존재하지 않으면 접근제어 정책에 따라 전송여부를 결정
  1. 프록시(Proxy) 방화벽
      • 침입차단 시스템 호스트에서 실행되는 전문화된 application이나 서버 프로그램으로서 침입차단 시스템에서 사용되는 배스천 호스트에 설치되어 운영됨.
      • 배스천 호스트(Bastion Host) : 침입차단 S/W가 설치되어 내∙외부 네트워크 사이에서 게이트웨이 역할을 수행하며 철저한 보안 방어 기능이 구축되어 있는 시스템
      • 배스천 호스트 설계 / 구축 원리
        • 가능한 한 단순하게 구성하여 호스트 보안 정책을 쉽게 구성할 수 있도록 한다.
        • 배스천 호스트의 손상에 대비한 대비책을 강구해야 한다.
        • 시스템 로그에 대한 백업 방법을 강구해야 한다.
      • 배스천 호스트 장∙단점
        • 장점
          • 스크리닝 라우터 방식보다 안전
          • 각종 기록(logging) 정보 생성 및 관리가 쉽다.
        • 단점
          • 배스천 호스트가 손상되면 내부 네트워크를 보호할 수 없다.
          • 로그인 정보가 유출되면 내부 네트워크를 보호할 수 없다.
  1. 응용계층 게이트웨이 (Application Level Proxy, 응용프로그램 수준 프록시 방화벽)
      • 사용자 응용계층에서 침입차단 시스템 기능을 제공
      • 응용 서비스마다 각각 다른 응용 게이트웨이를 구현
      • 응용 서비스 사용에 따른 기록 및 감사 추적이 가능하고, 강력한 인증 서비스 제공을 제공하며 융통성이 좋다. 하지만 응용 서비스마다 각각 다른 응용 게이트웨이가 필요하고 구축비용 부담이 크다.
  1. 회선 레벨 게이트웨이(circuit-level gateway)
      • 응용계층 게이트웨이는 내부 서버 보호가 목적이지만 서킷 레벨(회선 레벨) 게이트웨이는 내부 네트워크의 호스트 보호를 목적으로 한다.
      • 내부 호스트가 외부 접속을 요청할 때 IP 주소를 서킷 레벨 게이트웨이 IP 주소로 변환하여 보내기 때문에 내부 호스트의 정보를 노출시키지 않는다.

구축형태에 따른 종류

  • 스크리닝 라우터 구조 (Screening Router Architecture)
    • notion image
  • 이중 네트워크 호스트 구조 (Dual-Homed Host Architecture)
    • notion image
    • 두 개의 NIC를 가지는 장비 (하나는 내부 네트워크/하나는 외부 네트워크로 연결됨)
    • 네트워크의 모든 패킷을 검사 및 필터링해야 하기 때문에 높은 성능의 시스템이 요구되며 소규모 네트워크에 적합
  • 스크린드 호스트 게이트웨이 구조 (Screened Host Gateway)
    • notion image
    • 듀얼 홈드 호스트 구조 + 스크리닝 라우터
    • 내부 네트워크에 놓여 있는 배스천호스트와 외부 네트워크 사이에 스크리닝 라우터로 구성
  • 스크린드 서브넷 구조 (Screened Subnet Architecture)
    • notion image
    • 스크리닝 라우터 + 듀얼 홈드 호스트 구조 + 스크리닝 라우터
    • 인터넷과 내부 네트워크 사이에 DMZ(Demilitarized Zone)라는 서브넷을 운영하는 방식
    • 외부에서 접속할 수 있어야 하며 보호되어야 할 시스템은 주로 DMZ 네트워크에 배치

iptables

  • 리눅스 커널에 내장된 rule 기반의 패킷 필터링 기능
  • 상태 추적, NAT, 패킷 레벨에서의 로깅 기능을 지원하고 확장 모듈을 통한 다양한 기능을 제공
  • 구문 형식 iptables [table] [chain] [rule] [target]
      1. 테이블 지정
          • [-t] 옵션으로 지정
          • 테이블에는 filter, nat 등이 있으며, default 값은 filter 이다.
      1. 룰을 설정할 체인 지정
          • [-A] : append 모드. 해당 체인의 제일 마지막에 룰을 추가
          • [-I] : insert 모드. 해당 체인의 첫 행에 룰을 추가. 행 번호 지정 시 특정 행에 룰을 추가
          • [-D] : delete 모드. 행 번호를 지정하여 특정 위치의 룰을 삭제
          • [-F] : flush 모드. 해당 체인의 모든 룰을 삭제
          • [-P] : 해당 체인의 default 정책 설정
          • filter 테이블의 체인에는 INPUT, OUTPUT, FORWARD 체인이 있다.
      1. 룰 설정
          • [-p] : 프로토콜 지정
          • [-s] : 출발지 IP 지정
          • [-d] : 목적지 IP 지정
          • [--sport] : 출발지 Port 지정
          • [--dport] : 목적지 Port 지정
          • [-i] : 패킷이 들어오는 인터페이스 지정
          • [-o] : 패킷이 나가는 인터페이스 지정
      1. 타겟 지정
          • [-j] : 룰에 매칭될 때 적용할 정책 또는 타겟 체인을 지정
          • 정책에는 ACCEPT(허용), DROP(차단, 응답 없음), REJECT(차단, 응답), LOG(로깅)
  • 사용 예제
    • iptables -A INPUT -s 192.168.33.3 -j DROP
    • 출발지 주소가 192.168.33.3 인 호스트가 들어오는 패킷을 차단
    • iptables -A input -p icmp -s 192.168.33.3 -j REJECT
    • 출발지 주소가 192.168.33.3 인 호스트의 ICMP 프로토콜이 들어오는 패킷을 차단
    • iptables -A OUTPUT -p tcp –dport :1023 -j ACCEPT
    • 목적지 포트가 TCP/1~1023 인 포트가 나가는 패킷을 허용

30. VPN (출제빈도 1.8%)

VPN 정의

  • VPN(Virtual Private Network) : 공중 네트워크를 이용하여 사설 네트워크가 요구하는 서비스를 제공할 수 있도록 네트워크를 구성한 것
  • 구현 기술 (기밀성, 무결성, 인증, 접근통제)
    • 터널링 : 송신자와 수신자 사이의 전송로에 외부로부터의 침입을 막기 위해 일종의 파이프를 구성하는 것
    • 암호화 : 정보의 기밀성을 제공하기 위해 대칭키 암호를 사용하고 키 교환을 위해 공개키 암호방식을 사용
    • 메시지 인증 : MAC 또는 해시함수를 이용하여 인증
    • 사용자 인증 : VPN 접속 요구 시 보안서버로부터 인증을 받아야 접속이 허가(공유키, 공개키, 인증서, 전자서명 등)
    • 접근제어 : 인증된 사용자에게만 접근을 허용. 암호화된 패킷에는 적용 불가
  • VPN 프로토콜 종류
    • notion image
    • MPLS VPN : MPLS 통신 네트워크를 이용하여 VPN을 제공하는 서비스. 다른 VPN 구조에 비해 서비스 도입과 운영관리가 간단하고 편리하며 저가의 VPN 서비스 제공이 가능. 2계층과 3계층 모두 지원
    • SSL VPN : 일반 사용자가 쉽게 사용할 수 있고, IPsec에 비해 설치/관리가 편리하고 비용 절감도 가능. 5계층에서 지원

IPsec (IP Security Protocol)

  • IPsec은 IP 계층(3계층)의 보안 프로토콜로, 네트워크 계층의 보안을 위해 AH 프로토콜과 ESP 프로토콜을 사용하여 보안 연관 서비스를 제공.
  • IPsec은 IPv4와 IPv6를 모두 지원한다. IPv6에서 AH와 ESP는 확장 헤더의 한 부분이다.
  • IPsec의 헤더
    • AH : 데이터와 순서번호 보유. 인증을 제공하지만 암호화 기능은 없음
    • ESP : IP 페이로드를 암호화하여 데이터 기밀성을 제공
    • AH와 ESP에서 공통적으로 제공하는 기능은 접근제어, 비연결 무결성, 데이터 송신처 인증, 재전송 방지이고, ESP에서만 제공하는 기능은 기밀성, 제한된 트래픽 흐름의 기밀성이 있다.
  • 제공 서비스
    • 접근제어 : 보안 정책(SP, Security Policy)과 보안 연관을 통해 송수신 IP 패킷에 대한 시스템 접근을 제어
    • 비연결 무결성 : MAC을 통해 각 IP 패킷 별로 무결성을 보장
    • 데이터 송신처 인증 : MAC을 통해 제공
    • 재전송 공격 방지 : 보안연관(SA, Security Association, 보안연계)에 순서번호를 유지하여 방지
    • 기밀성 : 대칭 암호화를 통해 지원 (ESP 프로토콜에서만 지원)
    • 제한된 트래픽 흐름의 기밀성 : ESP/터널모드 적용 시 새로운 IP 헤더를 통해 보안/터널 게이트웨이 구간 정보는 노출이 되지만 기존 IP 헤더에 있는 최초 출발지/목적지 정보는 암호화되어 노출되지 않음
  • 동작 모드 종류
    • 전송 모드(Transfer Mode) : 호스트와 호스트간의 메시지(Payload) 무결성을 제공
      • notion image
    • 터널 모드(Tunnel Mode) : IP 패킷 전체를 보호하는 모드
      • notion image
  • ESP(Encapsulating Security Payload) 프로토콜
    • 기본적으로 기밀성, 재전송 공격 방지, 제한된 트래픽 흐름 기밀성을 지원하고, 인증 서비스 사용 시 무결성, 인증 기능을 제공
    • 전송 모드
      • notion image
    • 터널 모드
      • notion image
  • 보안 연관(Security Association, 보안 연계)
    • 두 장비 사이에 논리적인 연결 상태를 유지하는 동안 적용할 보안 정보
    • 단방향이기 때문에 두 개의 장비가 송/수신을 하려면 두 개의 SA 필요
    • SAD : 각각의 보안 연관과 관련된 매개 변수 값을 저장하는 데이터베이스
  • 인터넷 키 교환(Internet Key Exchange, IKE)
    • 보안 관련 설정(정책)들을 생성하고 협상, 관리하고 ESP, AH에서 사용하게 될 키를 관리하기 위한 프로토콜
    • 내부적 및 외부적 보안 연관을 생성하기 위해 설계된 프로토콜이다. (UDP/500)

31. 최신 네트워크 보안 동향 (출제빈도 2.7% / 최근 6회 2문제 이상 출제)

 
Share article

개발로그