맨위로가기

죽음의 핑

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

죽음의 핑(Ping of Death)은 IP 패킷 분할 및 재조립 과정의 취약점을 악용한 공격 기법이다. IPv4 환경에서, 최대 오프셋 값을 가진 IP 조각에 허용 범위를 초과하는 데이터를 담아 전송하여 수신 측에서 65,535 바이트보다 큰 패킷을 생성, 메모리 버퍼 오버플로우를 일으킬 수 있다. 이는 TCP, UDP, IGMP 등 모든 프로토콜에서 발생할 수 있으며, 방화벽에서 조각 오프셋과 총 길이의 합을 검사하여 대응할 수 있다. IPv6 환경에서도 윈도우 운영체제에서 유사한 취약점이 발견되었으며, ICMPv6 관련 버그를 통해 원격 코드 실행까지 가능해질 수 있다.

더 읽어볼만한 페이지

  • 서비스 거부 공격 - 2011년 재보궐선거 사이버테러 사건
    2011년 재보궐선거 사이버테러 사건은 2011년 10월 26일 재보궐선거 당일 중앙선거관리위원회와 박원순 서울시장 후보 웹사이트에 발생한 분산 서비스 거부 공격 사건으로, 한나라당 최구식 의원의 비서 공현민이 공격을 주도하여 관련자들이 처벌받았으며, 정치적 파장을 일으켜 최구식 의원의 사퇴와 한나라당의 쇄신으로 이어졌다.
  • 서비스 거부 공격 - 슬래시닷 효과
    슬래시닷 효과는 인기 웹사이트의 언급으로 인해 특정 웹사이트에 갑자기 많은 사용자가 몰려 접속 불능 상태가 되는 현상을 의미하며, 이는 대역폭 초과나 서버 과부하로 발생하고, 콘텐츠 미러링 등의 방법으로 완화한다.
죽음의 핑
공격 정보
이름죽음의 핑
유형DoS
공격 방식큰 크기의 ICMP 패킷 전송
대상 시스템의 버퍼 오버플로 유발
기술 정보
설명죽음의 핑 공격은 공격자가 대상 컴퓨터에 너무 큰 ICMP (핑) 패킷을 보내는 서비스 거부 공격의 한 유형이다.
작동 방식IP 프로토콜은 최대 패킷 크기를 65,535 바이트로 제한한다.
그러나 데이터 링크 계층에서는 일반적으로 더 작은 패킷 크기(최대 전송 단위, MTU)로 제한한다.
따라서 큰 IP 패킷은 여러 개의 작은 패킷(IP 단편화)으로 나뉜다.
대상 컴퓨터는 이러한 단편들을 다시 조립한다.
죽음의 핑 공격은 공격자가 의도적으로 매우 큰 IP 패킷을 전송하여 대상이 재조립할 때 버퍼 오버플로를 일으키도록 한다.
취약점오래된 운영체제나 네트워크 장비에서 IP 패킷 재조립 과정의 취약점을 이용한다.
현재 대부분의 시스템은 이러한 공격에 대한 보호 기능을 갖추고 있다.
방어
설명최신 운영체제 및 네트워크 장비는 큰 ICMP 패킷을 차단하거나 재조립 과정에서 오류를 처리하여 죽음의 핑 공격을 방어한다.
방화벽 설정으로 ICMP 메시지를 필터링하여 공격을 완화할 수 있다.

2. 상세 설명

IPv4 패킷의 최대 크기는 IP 헤더를 포함하여 65,535 바이트이다. 이는 IP 헤더의 16비트 길이 필드 때문이다. 데이터 링크 계층(예: 이더넷)은 최대 전송 단위(MTU)에 제한을 두며, 이더넷의 경우 일반적으로 1500바이트이다. 큰 IP 패킷은 여러 개의 작은 IP 패킷(IP 조각)으로 분할되어 전송되며, 수신 측에서 이를 다시 재조립한다.

죽음의 핑은 이러한 IP 패킷의 분할 및 재조립 과정에서 발생하는 취약점을 이용한 공격이다. 악의적인 사용자는 조작된 IP 조각을 전송하여 수신 측에서 메모리 버퍼 오버플로우를 일으킬 수 있다.

2. 1. IP 패킷 분할 및 재조립

IPv4에서 IP 헤더를 포함한 최대 패킷 길이는 65,535 (216 - 1) 바이트이다. 이는 총 패킷 길이를 설명하는 16비트 IP 헤더 필드를 사용하기 때문이다.

데이터 링크 계층은 대부분 최대 프레임 크기(MTU)에 제한을 둔다. 이더넷의 경우 일반적으로 1500 바이트이다. 큰 IP 패킷은 여러 IP 패킷(IP 조각)으로 분할되어 각 IP 조각이 이 제한에 맞도록 한다. IP 조각의 수신자는 이를 완전한 IP 패킷으로 재조립하고 평소대로 처리를 계속한다.

분할이 수행되면, 각 IP 조각은 원래 IP 패킷의 어떤 부분을 포함하는지에 대한 정보를 전달해야 한다. 이 정보는 IP 헤더의 조각 오프셋 필드에 보관된다. 이 필드는 13비트 길이이며, 원래 IP 패킷에서 현재 IP 조각의 데이터 오프셋을 8바이트 단위로 포함한다. 최대 오프셋은 65,528 ((213 - 1) * 8)이 가능하다. 20바이트의 IP 헤더를 추가하면 최대 65,548 바이트가 되며, 이는 최대 프레임 크기를 초과한다. 즉, 최대 오프셋을 가진 IP 조각은 7바이트 이하의 데이터를 가져야 하며, 그렇지 않으면 최대 패킷 길이 제한을 초과하게 된다. 악의적인 사용자는 최대 오프셋을 가진 IP 조각을 전송할 때 물리 계층이 허용하는 만큼 많은 데이터를 전송할 수 있다.

수신자가 모든 IP 조각을 조립하면 65,535 바이트보다 큰 IP 패킷을 얻게 된다. 이렇게 되면 수신자가 패킷에 할당한 메모리 버퍼가 오버플로될 수 있으며, 다양한 문제가 발생할 수 있다.

이는 IP 조각 재조립 과정의 문제이며, ICMP뿐만 아니라 TCP, UDP, IGMP 등 모든 유형의 프로토콜에서 발생할 수 있다.

문제 해결 방법은 재조립 과정에 검사를 추가하는 것이다. 각 들어오는 IP 조각의 IP 헤더에서 "조각 오프셋" 및 "총 길이" 필드의 합이 65,535보다 작거나 같은지 확인한다. 합이 더 크면 패킷이 유효하지 않으며 IP 조각은 무시된다. 이 검사는 버그가 수정되지 않은 호스트를 보호하기 위해 일부 방화벽에서 수행된다. 또 다른 해결 방법은 패킷 재조립을 위해 65,535바이트보다 큰 메모리 버퍼를 사용하는 것이지만, 이는 허용된 것보다 큰 패킷에 대한 지원을 추가하므로 본질적으로 사양을 위반하는 것이다.

2. 2. 취약점

악의적인 사용자는 최대 오프셋 값을 가진 IP 조각에 허용 범위를 초과하는 데이터를 담아 전송할 수 있다. 수신 측에서 이를 재조립하면 65,535 바이트보다 큰 패킷이 생성되어 메모리 버퍼 오버플로우를 일으킬 수 있다. 이는 인터넷 제어 메시지 프로토콜(ICMP) 뿐만 아니라 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP), 인터넷 그룹 관리 프로토콜(IGMP) 등 IP를 사용하는 모든 프로토콜에서 발생할 수 있는 IP 조각 재구성 과정의 문제이다.

문제 해결을 위해서는 재조립 과정에 검사를 추가하여 각 IP 조각의 IP 헤더에서 "조각 오프셋" 및 "총 길이" 필드의 합이 65,535보다 작거나 같은지 확인해야 한다. 합이 더 크면 패킷은 무시된다. 이 검사는 일부 방화벽에서 수행된다. 또 다른 해결 방법은 패킷 재조립을 위해 65,535바이트보다 큰 메모리 버퍼를 사용하는 것이지만, 이는 사양 위반이다.

2. 3. 프로토콜

이 문제는 ICMP뿐만 아니라 TCP, UDP, IGMP 등 IP를 사용하는 모든 프로토콜에서 발생할 수 있다. 이는 IP 조각 재구성 과정의 문제이며, 특정 프로토콜에 국한되지 않는다.

2. 4. 대응 방안

재조립 과정에서 각 IP 조각의 IP 헤더에 있는 "조각 오프셋"과 "총 길이" 필드의 합이 65,535보다 작거나 같은지 확인하여, 합이 더 크면 유효하지 않은 패킷으로 간주하고 해당 IP 조각을 무시한다. 이 검사는 버그가 수정되지 않은 호스트를 보호하기 위해 일부 방화벽에서 수행된다. 또 다른 해결 방법은 패킷 재조립을 위해 65,535바이트보다 큰 메모리 버퍼를 사용하는 것이지만, 이는 허용된 것보다 큰 패킷에 대한 지원을 추가하는 것이므로 본질적으로 사양을 위반하는 것이다.

3. IPv6에서의 Ping of Death

2013년, 마이크로소프트 윈도우에서 IPv6와 관련된 죽음의 핑 취약점(CVE-2013-3183)이 발견되었다. 이 취약점은 윈도우 TCP/IP 스택이 잘못된 형식의 ICMPv6 패킷을 처리할 때 메모리 할당을 올바르게 처리하지 못해 발생했으며, 원격 서비스 거부(DoS)를 유발할 수 있었다. 해당 취약점은 2013년 8월 MS13-065에서 수정되었다.[6][7][8][11][12][13]

3. 1. 추가적인 IPv6 취약점

2020년에는 라우터 공고와 관련된 ICMPv6에서 또 다른 버그(CVE-2020-16898)가 발견되었으며, 이는 원격 코드 실행까지 가능하게 할 수 있었다.[9]

참조

[1] 논문 An Intrusion Detection System on Ping of Death Attacks in IoT Networks http://link.springer[...] 2020-01-23
[2] 논문 Denial of Service Attack Techniques: Analysis, Implementation and Comparison https://digitalcommo[...] 2005-01-01
[3] 서적 HACKING the art of exploitation https://archive.org/[...] NoStarch Press
[4] 서적 New Age Cyber Threat Mitigation for Cloud Computing Networks BENTHAM SCIENCE PUBLISHERS 2023-06-12
[5] 웹사이트 Ping of death DDoS attack https://www.cloudfla[...]
[6] 웹사이트 Microsoft Security Bulletin MS13-065 - Important https://technet.micr[...] Microsoft 2013-08-13
[7] 웹사이트 Microsoft Patch Tuesday: The Ping of Death returns, IPv6-style http://www.computerw[...] 2013-08-13
[8] 웹사이트 CVE - CVE-2013-3183 https://cve.mitre.or[...] The MITRE Corporation
[9] 웹사이트 CVE-2020-16898 - Windows TCP/IP Remote Code Execution Vulnerability https://portal.msrc.[...] Microsoft 2020-10-13
[10] 서적 HACKING the art of exploitation NoStarch Press
[11] 웹사이트 Microsoft Security Bulletin MS13-065 - Important https://technet.micr[...] Microsoft 2013-08-13
[12] 웹사이트 Microsoft Patch Tuesday: The Ping of Death returns, IPv6-style http://www.computerw[...] 2013-08-13
[13] 웹사이트 CVE - CVE-2013-3183 https://cve.mitre.or[...] The MITRE Corporation



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com