0Pricing
Cloud & IT Cert Prep · 강의

일반적인 네트워크 공격: DoS, 스푸핑, MITM

서비스 거부, IP/ARP 스푸핑, 중간자 공격을 식별하고, 각각을 탐지하거나 방지하는 네트워크 제어 수단을 이해합니다.

일반적인 네트워크 공격: DoS, 스푸핑, MITM은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

서비스 거부 공격의 기본

서비스 거부(DoS) 공격은 트래픽으로 시스템, 서비스 또는 네트워크를 과부하시키거나 충돌을 일으키는 취약점을 악용하여 정당한 사용자가 이용할 수 없게 만드는 것을 목표로 합니다. DoS 공격은 CIA 3요소 중 가용성을 공격합니다. 단일 출처에서 발생하는 DoS는 출처 IP에 속도 제한을 적용하여 비교적 쉽게 차단할 수 있습니다. 그러나 많은 현대 공격은 동시에 여러 출처를 사용하므로 완화가 훨씬 어렵습니다.

분산 서비스 거부(DDoS)

DDoS 공격은 침해된 수천 또는 수백만 개의 장치(봇넷)를 사용하여 서로 다른 여러 출처 주소에서 동시에 대상에 트래픽을 퍼붓습니다. 따라서 출처 IP를 기준으로 차단하기가 현실적으로 어렵습니다. DDoS 공격은 대역폭을 가득 채우는 볼류메트릭 공격(예: UDP 플러드), 상태 기반 리소스를 고갈시키는 프로토콜 공격(예: SYN 플러드), 정상적으로 보이는 HTTP 요청으로 서버 용량을 고갈시키는 애플리케이션 계층 공격(예: Slowloris)으로 분류됩니다. Cloudflare, Akamai, AWS Shield와 같은 완화 서비스는 원본 서버에 도달하기 전에 볼류메트릭 공격을 흡수합니다.

# Types of DDoS attacks:
# Volumetric:  UDP flood, ICMP flood, DNS amplification
# Protocol:    SYN flood, Ping of Death, Smurf attack
# Application: HTTP flood, Slowloris, R.U.D.Y

# SYN flood defense: SYN cookies
# sysctl -w net.ipv4.tcp_syncookies=1

증폭 및 반사 공격

증폭 공격은 초기 요청보다 훨씬 큰 응답을 생성하는 프로토콜을 악용합니다. DNS 증폭은 작은 UDP 쿼리로 최대 70배 큰 응답을 생성하여 모두 피해자에게 보내는 방식입니다. NTP monlist 증폭은 4,000배의 증폭 계수에 이를 수 있습니다. 공격자는 피해자의 IP를 출처 주소로 스푸핑하여 수천 개의 반사기가 큰 응답을 피해자에게 보내도록 합니다. 이 때문에 이를 반사 공격이라고도 합니다. 완화 방법으로는 BCP38(ISP 수준의 출처 주소 검증) 적용과 증폭 서비스를 비활성화하는 방법이 있습니다.

# DNS amplification example:
# Attacker sends 40-byte query for 'ANY example.com'
# Spoofed source: victim's IP (1.2.3.4)
# Open DNS resolver replies with 3000-byte response to victim
# With 1000 reflectors: 40KB request -> 3GB response to victim

# Disable NTP monlist (amplification mitigation):
# ntpdc -c 'disable monitor'

IP 스푸핑

IP 스푸핑은 위조된 출처 IP 주소를 포함하도록 패킷을 제작하는 행위입니다. 스푸핑은 DoS/DDoS 반사 공격, IP 기반 액세스 제어 목록 우회, 공격자의 실제 위치 은폐에 사용됩니다. 스푸핑된 패킷을 보내려면 원시 소켓 권한이 필요합니다. 방어 방법으로는 수신 필터링(BCP38)이 있습니다. 이는 ISP와 라우터가 해당 네트워크에서 정상적으로 출발할 수 없는 출처 IP를 가진 패킷이 인터페이스로 들어오면 삭제하도록 합니다. 상태 기반 방화벽도 기존 세션과 일치하지 않는 비요청 인바운드 패킷을 거부하여 도움을 줍니다.

# BCP38 ingress filtering on a router:
# If a packet arrives on the Internet-facing interface
# with a source IP from the internal RFC1918 range,
# it is clearly spoofed and should be dropped.

ip access-list extended ANTI-SPOOF
  deny ip 10.0.0.0 0.255.255.255 any
  deny ip 172.16.0.0 0.15.255.255 any
  deny ip 192.168.0.0 0.0.255.255 any
  permit ip any any

ARP 스푸핑(ARP 포이즈닝)

ARP 스푸핑(ARP 포이즈닝이라고도 함)은 공격자의 MAC 주소를 정당한 IP 주소와 연결하는 비요청 ARP 응답을 보내는 공격입니다. 가짜 ARP 업데이트를 받은 호스트는 ARP 캐시를 갱신하고, 해당 IP로 향하는 트래픽을 대신 공격자의 MAC 주소로 보냅니다. 이를 통해 로컬 세그먼트에서 중간자 공격을 수행할 수 있습니다. Arpspoof, Ettercap, Bettercap과 같은 도구는 이 공격을 자동화합니다. 방어 방법으로는 관리형 스위치에서 Dynamic ARP Inspection(DAI)을 사용하는 것이 있으며, 이는 신뢰할 수 있는 DHCP 스누핑 바인딩 테이블과 대조하여 ARP 패킷을 검증합니다.

# Attack: ARP spoof (attacker poisons victim and gateway)
# arpspoof -i eth0 -t 192.168.1.10 192.168.1.1

# Defense: Dynamic ARP Inspection on a Cisco switch
ip arp inspection vlan 10
ip dhcp snooping vlan 10

# Verify DAI:
show ip arp inspection vlan 10

중간자(MitM) 공격

중간자(MitM) 공격은 각자 직접 통신하고 있다고 믿는 두 당사자 사이에서 공격자가 통신을 몰래 중계하고 필요에 따라 변경할 때 발생합니다. MitM은 ARP 스푸핑, DNS 스푸핑, 악성 Wi-Fi 액세스 포인트 또는 BGP 경로 하이재킹을 통해 수행할 수 있습니다. 중간에 자리 잡은 공격자는 도청, 콘텐츠 삽입, 암호화 제거(SSL 스트리핑), 자격 증명 재전송을 할 수 있습니다. 핵심 방어 방법은 상호 인증과 암호화입니다. 유효한 인증서를 사용하는 TLS는 클라이언트가 서버의 신원을 검증할 수 있게 하므로 대부분의 MitM 공격을 방지합니다.

# SSL stripping attack flow:
# 1. Victim requests http://bank.com
# 2. Attacker intercepts, upgrades to HTTPS with bank.com
# 3. Attacker maintains HTTP connection with victim
# 4. Victim sees HTTP; attacker sees plaintext credentials

# Defense: HTTP Strict Transport Security (HSTS)
# Strict-Transport-Security: max-age=31536000; includeSubDomains

DNS 스푸핑 및 캐시 포이즈닝

DNS 캐시 포이즈닝은 악성 DNS 레코드를 확인자의 캐시에 삽입하여 정당한 도메인 이름이 공격자가 제어하는 IP 주소로 확인되도록 합니다. 고전적인 Kaminsky 공격(2008)은 예측 가능한 트랜잭션 ID를 악용하여 대규모로 확인자를 오염시켰습니다. 사용자의 확인자가 오염되면 사용자는 자격 증명을 훔치거나 악성 코드를 제공할 수 있는 가짜 사이트로 리디렉션됩니다. DNSSEC(DNS Security Extensions)는 DNS 레코드에 디지털 서명을 추가하여 확인자가 진위를 검증할 수 있게 하며, DNS over HTTPS(DoH)는 경로상 쿼리 가로채기를 방지합니다.

# Check if a domain has DNSSEC enabled:
dig +dnssec example.com

# Valid DNSSEC response includes RRSIG records
# If DNSSEC is enabled and signatures are invalid,
# a validating resolver will return SERVFAIL (rejects poisoned records)

경로상 공격자와 경로 외 공격자 비교

경로상 공격자(인패스 공격자)는 전송 중인 트래픽을 보고 수정할 수 있는 네트워크 위치를 차지합니다. 즉, 두 통신 엔드포인트 사이에 물리적 또는 논리적으로 위치합니다. ARP 스푸핑은 로컬 세그먼트에 경로상 위치를 만듭니다. 경로 외 공격자는 트래픽을 볼 수 없지만 추측한 시퀀스 번호를 사용하여 스푸핑된 TCP RST 패킷을 삽입하고 연결을 끊는 등의 블라인드 공격을 시도할 수 있습니다. TLS는 두 상황 모두를 완화합니다. 트래픽이 가로채이더라도 개인 키 없이는 복호화하거나 위조할 수 없기 때문입니다.

BGP 하이재킹

BGP(Border Gateway Protocol) 하이재킹은 악성 또는 잘못 구성된 자율 시스템이 더 구체적인 IP 프리픽스를 공지하여 다른 조직으로 향하는 트래픽을 유인할 때 발생합니다. 이로 인해 인터넷 전반의 트래픽이 공격자의 네트워크를 거치도록 우회될 수 있습니다. BGP 하이재킹은 암호화폐 거래 가로채기, 이메일 탈취, 은행 트래픽 리디렉션에 사용된 사례가 있습니다. 방어 방법으로는 경로 출처 권한을 암호학적으로 검증하는 RPKI(Resource Public Key Infrastructure)와 예기치 않은 변경이 있는지 BGP 공지를 모니터링하는 방법이 있습니다.

SYN 플러드 공격과 방어

SYN 플러드는 스푸핑된 출처 IP를 사용하여 다수의 SYN 패킷을 보내는 방식으로 TCP 3방향 핸드셰이크를 악용합니다. 이로 인해 서버는 반쯤 열린 연결에 대한 상태를 할당하고, 도착하지 않을 ACK를 기다리게 됩니다. 서버의 연결 테이블이 가득 차면 새로운 정상 연결을 수락할 수 없습니다. 방어 방법으로는 SYN 쿠키(서버가 SYN-ACK의 시퀀스 번호에 상태를 인코딩하고 ACK를 받은 후에만 리소스를 할당하는 방식), SYN 타임아웃 단축, 출처 주소별 SYN 패킷 속도 제한이 있습니다.

# Enable SYN cookies on Linux:
sysctl -w net.ipv4.tcp_syncookies=1

# Reduce SYN-RECEIVED timeout:
sysctl -w net.ipv4.tcp_synack_retries=2

# Rate-limit SYN packets with iptables:
iptables -A INPUT -p tcp --syn -m limit --limit 10/s -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

네트워크 attack 감지 및 대응

서비스 거부, 스푸핑 및 MitM attack을 감지하려면 여러 지점에서 상황을 확인할 수 있어야 합니다. NetFlow/IPFIX 데이터는 여러 출처에서 갑자기 발생하는 Traffic 급증을 보여 줍니다. SIEM 상관관계 규칙은 비정상적인 ARP 활동(하나의 MAC이 여러 IP를 주장하는 경우)이나 TTL이 의심스러울 정도로 짧은 DNS 응답에 대해 경고할 수 있습니다. IDS/IPS 시그니처는 SYN 플러드와 ARP 스푸핑 도구를 감지합니다. 대응 조치에는 경계 라우터에서 속도 제한 적용, DDoS 스크러빙 서비스 활성화, 영향을 받은 세그먼트 격리, 동적 ARP 검사 재활성화 또는 오염된 캐시 삭제가 포함됩니다.

# Detect ARP poisoning:
arp -n | awk '{print $3}' | sort | uniq -d
# Duplicate MACs for different IPs = possible ARP spoofing

# Monitor for SYN flood:
netstat -n | awk '/SYN_RECV/ {count++} END {print count}'

# Check NetFlow for DDoS:
# Look for high packet-per-second rates from diverse source IPs

빠른 확인

이 lesson에서 다룬 CompTIA Security+ (SY0-701) 개념을 얼마나 이해했는지 테스트해 보십시오.

lesson 요약

이 lesson에서는 다음을 배웠습니다. DDoS attacks은 봇넷을 사용해 여러 출처에서 대상을 압도하며, 용량 기반, Protocol 기반 또는 애플리케이션 계층으로 분류됩니다. ARP 스푸핑은 로컬 네트워크 캐시를 오염시켜 MitM attacks을 가능하게 하며 Dynamic ARP Inspection으로 완화할 수 있습니다. 또한 SYN 플러드는 서버의 연결 상태를 고갈시키며 SYN 쿠키와 속도 제한으로 방어합니다. 다음에는 WEP부터 WPA3까지의 Wi-Fi 보안 Protocol을 살펴봅니다.

자주 묻는 질문

“일반적인 네트워크 공격: DoS, 스푸핑, MITM” 강의는 무료인가요?

네 — “일반적인 네트워크 공격: DoS, 스푸핑, MITM” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

“일반적인 네트워크 공격: DoS, 스푸핑, MITM”에서 뭘 배우나요?

서비스 거부, IP/ARP 스푸핑, 중간자 공격을 식별하고, 각각을 탐지하거나 방지하는 네트워크 제어 수단을 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“일반적인 네트워크 공격: DoS, 스푸핑, MITM” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. TCP/IP 모델과 일반 포트
  2. 방화벽: 패킷 필터링과 차세대 방화벽
  3. 네트워크 세분화와 VLAN
  4. 일반적인 네트워크 공격: DoS, 스푸핑, MITM
← Cloud & IT Cert Prep(으)로 돌아가기