학회지 논문 정리 : TCP/IP 네트워크 프로토콜의 DoS 공격 취약점 및 DoS 공격사례 분석 STEP 2

7 분 소요

이해하기에 너무 많은 정보들이라 차근 차근 업데이트 할 것

TCP/IP 네트워크 프로토콜의 DoS 공격 취약점 및 DoS 공격사례 분석

TCP/IP 네트워크 프로토콜의 DoS 공격 취약점 및 DoS 공격사례 분석

조성현, 이택규, 이선우. (2014). TCP/IP 네트워크 프로토콜의 DoS 공격 취약점 및 DoS 공격사례 분석. 정보보호학회지, 24(1), 45-52.

TCP/IP 네트워크 프로토콜의 DoS 공격 취약점 및 DoS 공격사례 분석 STEP 1

TCP/IP 네트워크 프로토콜의 DoS 공격 취약점 및 DoS 공격사례 분석 STEP 2

목차

  1. 서론
  2. DoS 공격 유형 분석
  3. 프로토콜 보안 취약점 분석
  4. 대표적인 DoS 공격 사례
  5. 결론

프로토콜 보안 취약점 분석

TCP/IP 기반 네트워크 프로토콜들을 계층별로 나누어서 분석한다.

응용계층 프로토콜 보안 취약점 분석

프로토콜 DoS 공격
HTTP ① HTTP GET 플러딩 (HTTP Get Flooding),
② HTTP CC 공격 (HTTP Cache-Control Attack)
DNS DNS 증폭 DDoS 공격
SMTP 메일 폭탄 (Mail Bomb)공격
SIP SIP 플러딩 (SIP Flooding)
SNMP SNMP DDoS 공격

HTTP 보안 취약점

  • HTTP GET 플러딩 (HTTP Get Flooding)
이름 HTTP GET 플러딩 (HTTP Get Flooding)
정의 TCP 3-way hand shaking 과정 이후 HTTP GET 요청을 주기적으로 수행하여 서버가 TCP 세션처리 뿐만 아니라 HTTP 요청작업까지 수행하도록 유도함으로써 서버의 리소스를 고갈시키는 공격의 한 종류
특징 변조되지 않은 IP로 정상적인 TCP 세션을 유지하고 HTTP GET 을 요청하여 특징을 찾아 필터링 하기 어렵다.
1차 방어 공격 트래픽과 요청 주기 등을 분석해 IP를 차단하는 필터링 정책을 사용하기
공격 방법 진화 필터링 정책보다도 낮은 트래픽과 주기를 갖고 수많은 좀비PC로 공격
2차 방어 HTTP GET 요청에 포함된 URL이 응답한 뒤에도 중복된 파일을 언급 시 필터링 하는 정책을 사용하기
  • HTTP CC 공격 (HTTP Cache-Control Attack)
이름 HTTP CC 공격 (HTTP Cache-Control Attack)
정의 HTTP GET 플러딩 공격 시 HTTP의 헤더 값인 Cache-Control 값을 No-Cache로 설정하여 동일한 웹 페이지를 매번 새로운 페이지로 로드하는 방식의 공격법
특징 HTTP GET 플러딩의 위력을 증폭시킬 수 있는 부가적인 공격방법
방어 헤더의 Cache-Control 옵션 값을 체크하고 요청횟수에 대한 필터링을 적용하기

DNS Query 취약점

DNS 서버는 사용자의 PC의 요청에 따라 해당 도메인을 갖고 있는 IP 를 반환해 줌으로써 손쉽게 기억할 수 있는 도메인으로 서버에 접속할 수 있도록 도와주는 서버를 의미한다.

DNS 서버의 원리를 더 자세히 알고 싶다면 ‘AWS DNS란 무엇입니까?’를 통해 이해하자.

공격자는 DNS Query 순서를 이용하여 공격하고자 하는 서버의 IP로 출발지를 변조한 뒤 DNS 서버에 다량의 좀비 PC 집단 (ZombiePC Network:Bot-Net)을 가지고 Query를 전송하여 그 응답이 모두 대상 서버에 집중되도록 한다.

이 공격법을 더 효율적으로 진화시켜 DRDoS 공격 방식이 만들어졌다.

이름 DRDoS
정의 RR (Resource Records)를 비정상적으로 큰 값으로 설정하여 기본 Query에 대한 응답 값이 훨씬 더 커지도록 유도하는 종류의 공격법
특징 ① IP Spoofing 의 적극적인 사용
② Reflector 의 사용
원인 ① 서비스 팩이 적용되지 않은 windows XP를 사용하는 사용자들이 많이 있고 해당 운영체제를 포함한 다수의 이전 버전 운영체제들은 Row Socket을 사용하기 때문에 IP Spoofing에 사용된다.
② 중간에서 재귀적으로 Query를 전송하는 DNS 서버들이 리플렉터 역할을 하게 된다.

SMTP 자원 고갈 취약점

이름 SMTP Mail Bomb 공격
정의 메일서버에 동일하거나 유사한 메일을 자동적으로 생성하여 동시에 수백만 통을 보내 서버의 용량을 초과하게 만드는 공격
특징 정상적인 메일 송⋅수신을 방해
방어 공격자가 보낸 TCP 패킷을 분석하여 SMTP (25Port)를 확인한 후 데이터(571,550,501,554)를 확인하여 동일한 데이터를 보내는 메일의 횟수를 카운트해 필터링 하여 IP 주소를 차단하고 공격자에게 Reset 패킷을 보내어 방어하는 방법이 존재
  • 데이터 숫자 의미
    • 571 (Unsolicited email refused)
    • 550 (Requested action not taken: mailbox unavailable)
    • 501 (Syntax error in parameters or argument)
    • 554 (Transaction failed)

SIP 자원 고갈 취약점

이름 SIP 플러딩 공격
정의 공격자가 SIP 서버 및 사용자 에이전트에 SIP메시지를 대량으로 생성하여 전송하는 공격법
특징 SIP 프로토콜은 TCP와 UDP 모두에 사용 될 수 있기 때문에 공격대상에게 리소스 고갈이나 대역폭 고갈을 모두 야기시킬 수 있다.
방어 메시지 분석을 통해 중복되는 요청을 필터링 하고 해당 IP 주소를 차단하는 방법이 존재한다.

SNMP 인증 (certification) 취약점

이름 SNMP DDoS 공격
정의 SNMP의 인증 취약점을 이용해 IP Spoofing 및 데이터 수정을 통해 DDoS 공격을 대상 시스템에 시도하는 공격법
특징 SNMP 프로토콜은 인터넷을 이용하는 기기들이라면 거의 다 지원하고 있어 더욱 더 거대한 Bot-Net을 구성해 공격할 수 있는 가능성을 내포하고 있기에 위험성이 크다.
방어 SNMP 서비스를 사용하지 않는다면 해당 프로토콜을 차단함으로써 예방이 가능하다.

전송계층 프로토콜 보안 취약점 분석

프로토콜 DoS 공격
TCP ① TCP SYN, NULL, FIN, ACK, PUSH, RESET,URG 플러딩
② XMAS 플러딩
③ TCP DRDoS
UDP ① UDP 플러딩
② UDP Checksum 에러
③ Snork 공격
④ UDP Loop-back

TCP 3-way handshaking 취약점

TCP를 이용한 DoS 공격이다.

  • TCP 플래그 플러딩 공격
이름 TCP 플래그 플러딩 공격
정의 클라이언트가 서버에 TCP 헤더 속 플래그를 임의로 한개를 설정하여 대량의 패킷을 보내 서버의 자원을 고갈시켜 정상적인 서비스를 처리하지 못하게 하는 공격 방법
특징 SYN, NULL, FIN, ACK, PUSH, RESET, URG 등 다양한 종류의 플래그로 공격이 가능하다.
방어 잘 알려져 있는 공격이기 때문에 기본적으로 방화벽에서 필터링이 가능하다.
  • XMAS 플러딩 공격
이름 XMAS 플러딩 공격
정의 TCP 헤더 속 플래그를 FIN, URG, PUSH, RST 등의 조합을 이용하여 대량의 패킷을 보내는 형식의 공격 방법
특징 TCP 플래그 플러딩 공격이 너무 일반화되어 쉽게 방어되기 때문에, 여러 가지의 조합을 가지고 공격하는 것이다.
방어 서버에서 대상 플러그들에 대한 다양한 조합으로 만든 필터링 테이블을 토대로 일정량의 공격 인정 횟수 이상의 공격이 단위시간당 들어오게 되면 해당 연결을 RESET으로 끊고 IP 주소를 차단하는 방식으로 방어한다.

TCP Reflection 취약점

TCP를 이용한 DRDoS공격이다.

이름 TCP DRDoS 공격
정의 IP Spoofing을 통해 좀비 PC의 IP를 공격대상 IP로 위조하여 TCP 연결을 임의의 서버로 시도함으로써 해당 TCP 연결에 대한 응답이 모두 공격대상으로 집중되는 공격
특징 공격 대상이 응답하지 못하는 상황을 이용하여 임의의 서버가 응답하지 못한 공격 대상에게 3회 정도 패킷을 재전송하게 되어 공격이 더욱 증폭된다.
방어 ① 경유지 서버에서 완료되지 않은 TCP 연결을 찾아 해당 IP를 차단하는 방법
② IP Spoofing을 ISP(Internet Service Provider) 자체에서 출입이 불가능 하도록 필터링 하는 방법

UDP 트래픽 고갈 취약점

  • UDP 플러딩
이름 UDP 플러딩
정의 IP Spoofing을 통해 좀비 PC의 IP를 공격대상 IP로 위조하여 TCP 연결을 임의의 서버로 시도함으로써 해당 TCP 연결에 대한 응답이 모두 공격대상으로 집중되는 공격
특징 특정 포트로 패킷이 주기적으로 날아온다는 특징이 있는데 이러한 특징을 이용해 방어할 수 있다.
방어 특정 포트로 패킷이 주기적으로 날아오게 되면 패킷의 수를 카운트하여 필터링할 수 있다.
  • UDP Checksum 에러 공격
이름 UDP Checksum 에러 공격
정의 비정상적인 UDP 패킷을 보내어 공격 대상 시스템의 서비스를 방해하는 공격 방법
특징 UDP 플러딩과 마찬가지로 특정 포트로 패킷이 주기적으로 날아온다는 특징이 있다.
방어 특정 포트로 패킷이 주기적으로 날아오게 되면 패킷의 수를 카운트하여 필터링할 수 있다.
  • UDP Snork 공격
이름 UDP Snork 공격
정의 공격자가 목적지를 135 포트로 정하고 소스를 7 (Echo), 19 (Chargen), 135 로 정해서 패킷을 보내 서로가 끊임없이 통신을 하도록 유도하는 공격 방법이다.
특징 UDP의 보안상 취약점을 이용한 공격 방식이다.
방어 불필요한 UDP 서비스를 차단하고 공격자의 IP주소를 차단하여 방어할 수 있다.
  • UDP Loop-back 공격
이름 UDP Snork 공격
정의 공격자가 소스와 목적지 포트를 7 (Echo), 17 (Quote of the day), 19 (Chargen) 으로 동일하게 정해서 패킷을 보내 서로가 끊임없이 통신을 하도록 유도하는 공격 방법이다.
특징 UDP의 보안상 취약점을 이용한 공격 방식이다.
방어 UDP Snork 공격과 마찬가지로 불필요한 UDP 서비스를 차단하고 공격자의 IP주소를 차단하여 방어할 수 있다.

네트워크계층 프로토콜 보안 취약점 분석

프로토콜 DoS 공격
ICMP ICMP Unreachable Storm, ICMP Ping of Death, ICMP Checksum error, ICMP Smurf, Ping Sweep

ICMP 자원 고갈 취약점

  • ICMP Unreachable Storm 공격
이름 ICMP Unreachable Storm 공격
정의 공격자가 연속적으로 ICMP의 Port Unreachable 프레임을 보내서 시스템의 성능을 저하시키거나 마비시키는 공격
특징 패킷에서 ICMP를 분석한 뒤 소스 및 목적지 IP 주소가 도달할 수 없는 IP 주소이면 공격으로 간주할 수 있다.
방어 패킷 횟수를 카운트하여 공격 인정 시간 내에 임계값 이상의 공격이 이뤄지면 필터링이 감지하도록 한 후 ICMP (ECHO) 서비스를 Close함으로써 방어 가능하다.
  • ICMP Ping of Death 공격
이름 ICMP Ping of Death 공격
정의 Ping 패킷을 IPv4에서 허용하는 65,535 bytes 크기로 만든 후 이를 56 bytes 크기로 fragmentation 하여 전송하여 공격
특징 공격 대상 시스템은 해당 패킷을 reassemble하는데 자원을 소모하여 버퍼 오버플로 등으로 인해 시스템의 정상작동이 불가능해진다.
방어 패킷을 분석하여ICMP 타입이 ECHO이고 ECMP (Equal Cost Multi-Path routing) 메시지 데이터의 크기가 1024 byte 이상인지 확인한 후 ICMP 서비스를 Close함으로써 방어할 수 있다.
  • ICMP Checksum Error공격
이름 ICMP Checksum Error공격
정의 비정상적인 패킷을 대상 서버에 보냄으로써 과부하를 일으키는 공격
특징 ICMP Ping of Death 공격과 같이 서버에 과부하를 일으켜 비정상적으로 작동하도록 만든다.
방어 ICMP를 분석하여 Checksum에 오류가 발생했을 시 ICMP Checksum Error 로 scan한 후 공격자가 보낸 패킷 횟수를 카운트하여 필터링하여 공격으로 간주한 후 ICMP 서비스를 Close함으로써 해결이 가능하다.

ICMP 트래픽 고갈 취약점

  • ICMP 스머프 공격
이름 ICMP 스머프 공격
정의 공격자가 대상 서버 및 네트워크에 오버로드를 발생시켜 정상적인 서비스를 하지 못하게 하는 공격
특징 공격자가 ICMP 패킷의 소스 IP주소에 공격대상 서버의 IP 주소를 설정하고 임의의 Broadcast 주소로 ICMP ECHO 패킷을 발송한다.
이를 수신한 경유지 서버는 동시에 대상서버에 응답을 하게 되며 대상 네트워크 트래픽은 기하급수적으로 증가 하고 서버에 과부하가 발생하게 된다.
방어 공격자가 보낸 패킷에서 ICMP를 분석하여 ICMP 타입이 REPLY인지 확인한 뒤 소스 IP의 변조여부를 확인한다.
또한 공격자가 보내는 패킷의 횟수를 카운트하여 공격인정 시간 내에 기준치 이상이면 필터링을 통해 감지한다.
이후 ICMP (ECHO) 서비스를 Close 함으로써 방어가 가능하다.
  • Ping 스윕 공격
이름 Ping 스윕 공격
정의 ICMP 프로토콜을 이용하여 해당 네트워크가 정상적으로 작동하는지 여부를 확인하는 Ping 테스트와 ICMP 브로드 캐스팅을 통한 공격이다.
특징 네트워크 오버로드 발생이 주목적인 공격이다.
방어 패킷 분석 시 ICMP의 타입이 ECHO일 경우 필터링을 통하여 차단이 가능하며, ICMP (ECHO) 서비스를 Close 함으로써 방어가 가능하다.

비고

양이 너무 많아서 차근 차근 업데이트 할 것이다.

2021-01-22 : 솔직히 SNMP DDoS 공격에 대한 방어로 적힌 내용이 빈약?하다는 생각이 든다. 나중에 한번 방어법이 있는지 검색해보자.

2021-02-13 : 토익도 끝나서 차근 차근 업데이트 중! 곧 리눅스 시험이지만 심심할 때 읽기 좋다.
UDP Loop-back 에 대한 설명을 여기에서 찾았다.

2021-02-16 : 네트워크계층 프로토콜 보안 취약점 분석 업데이트 완료

댓글남기기