ICMP 공격: 알아야 할 모든 것

게시 됨: 2023-09-19

해커들이 단순한 소프트웨어부터 우리가 알고 있는 인터넷 구조를 뒷받침하는 가장 기본적인 프로토콜에 이르기까지 모든 것에서 약점을 찾으려고 노력하는 것은 놀라운 일이 아닙니다. 인터넷 프로토콜 스택의 필수 구성 요소 중 하나인 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol)은 글로벌 메시지 전달자 역할을 하여 월드와이드 웹을 구성하는 네트워크 장치 및 전체 네트워크의 상태에 대한 중요한 정보를 전달합니다.

ICMP는 매우 귀중한 통신 도구이기는 하지만 공격자가 설계에 내재된 약점을 활용할 수 있는 잠재적 수단이 됩니다. 악의적인 행위자는 ICMP 메시지에 있는 신뢰 네트워크 장치를 악용하여 피해자의 호스트가 배포한 보안 시스템을 우회하려고 시도하여 네트워크 운영을 중단시키고 궁극적으로 서비스 거부를 초래할 수 있습니다.

서비스 거부 공격의 고유한 그룹인 ICMP 공격은 더 이상 공격자의 도구 상자에 있는 기본 도구가 아닙니다. 그러나 그들은 계속해서 온라인 비즈니스에 큰 타격을 주고 있습니다. Ping 플러드 공격, 스머프 공격, 소위 Ping of Death 등 모두 전 세계 네트워크 운영에 여전히 위협이 될 수 있는 ICMP 공격의 다양한 변형입니다.

ICMP 공격에 대한 이 가이드에서는 ICMP가 무엇인지, 해커가 이를 사용하여 서버와 전체 네트워크에 대한 서비스 거부를 유발하는 방법에 대해 알아봅니다. 우리는 ICMP 공격의 기본 메커니즘을 조사하여 공격이 초래하는 피해로부터 비즈니스를 보호하는 데 필요한 지식과 도구를 제공할 것입니다.

ICMP 공격

ICMP란 무엇입니까?

ICMP(Internet Control Message Protocol)는 네트워크 장치가 서로 작동 정보를 전달하는 데 사용하는 네트워크 프로토콜입니다. ICMP는 메시지가 IP 페이로드로 전달되므로 IP 프로토콜의 일부로 간주되는 경우가 많지만, 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol)은 바로 위에 있으며 IP 데이터그램에서 상위 계층 프로토콜로 지정됩니다. 그러나 그 활동은 여전히 ​​네트워크 계층으로 알려진 인터넷 프로토콜 제품군의 세 번째 계층으로 제한됩니다.

각 ICMP 메시지에는 메시지가 생성된 원래 요청의 일부뿐만 아니라 전달하는 정보의 유형과 목적을 지정하는 유형과 코드 필드가 있습니다. 예를 들어, 대상 호스트에 연결할 수 없는 경우 원래 요청을 전달하지 못한 라우터는 사용자가 지정한 서버에 대한 경로를 찾을 수 없음을 알리는 ICMP 유형 3 코드 1 메시지를 생성합니다.

ICMP는 무엇에 사용되나요?

대부분의 경우 ICMP는 대상 네트워크나 최종 시스템에 도달하지 못한 상황에서 오류 보고를 처리하는 데 사용됩니다. "대상 네트워크에 연결할 수 없음"과 같은 오류 메시지는 모두 ICMP에서 시작되며 요청이 의도한 여정을 완료하지 못한 경우 표시됩니다. ICMP 메시지에는 원래 요청의 일부가 포함되어 있으므로 시스템은 이를 올바른 대상에 쉽게 매핑합니다.

오류 보고는 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol)의 주요 응용 프로그램 중 하나이지만 ICMP는 두 가지 기본 네트워크 진단 도구인 ping과 경로 추적의 기능을 뒷받침합니다. 두 유틸리티 모두 네트워크 연결을 테스트하고 네트워크 및 최종 시스템을 제거하는 경로를 추적하는 데 널리 사용됩니다. ping과 Traceroute는 종종 같은 의미로 사용되지만 작동 방법은 크게 다릅니다.

핑과 경로 추적

Ping은 대상 호스트로부터의 에코 응답을 기대하면서 에코 요청 유형의 일련의 ICMP 메시지를 보냅니다. 각 요청이 응답을 받으면 Ping은 원본 시스템과 대상 시스템 사이에 패킷 손실이 없다고 보고합니다. 마찬가지로, 네트워크 정체로 인해 일부 메시지가 목적지에 도달하지 못하는 경우 유틸리티는 해당 패킷을 손실된 것으로 보고합니다.

Traceroute는 더 복잡한 메커니즘을 가지고 있으며 다른 목적으로 만들어졌습니다. 의도한 호스트에 에코 요청을 보내는 대신, 의도한 대상에 도달하면 만료되어야 하는 IP 패킷 버스트를 보냅니다. 이런 방식으로 수신 라우터나 호스트는 소스로 다시 전송될 TTL(Time to Live) 만료 ICMP 메시지를 생성해야 합니다. 각 원본 패킷에 대한 ICMP 응답 메시지를 수신한 Traceroute는 원본 패킷이 각 패킷에 도달하는 데 걸린 시간과 함께 대상 호스트에 대한 경로를 형성하는 패킷 스위치의 이름을 갖게 됩니다.

ICMP를 악용하기 쉬운 이유는 무엇입니까?

ICMP는 OSI(개방형 시스템 상호 연결) ​​모델의 네트워크 계층으로 제한되므로 해당 요청은 전송되기 전에 연결을 설정할 필요가 없습니다. 이는 TCP에 의해 도입되고 TLS에 의해 증폭되는 3방향 핸드셰이크의 경우입니다. SSL/TLS 인증서 사용. 이를 통해 모든 시스템에 ping 요청을 보낼 수 있으므로 악용이 쉬워집니다.

보시다시피 ICMP는 글로벌 네트워크의 귀중한 구성 요소임이 입증되었지만 이를 악의적인 목적으로 사용하려는 사이버 범죄자들의 관심도 끌었습니다. 악의적인 행위자는 ICMP 구현에 존재하는 약점을 이용하여 네트워크와 개별 호스트를 중단시킵니다. ICMP 공격을 수행하는 해커는 ICMP를 중요한 네트워크 진단 도구에서 네트워크 중단의 근본 원인으로 전환합니다.

덜 위험한 서비스 거부(DoS) 유형인 ICMP 공격

ICMP 공격은 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol)의 기능을 이용하여 요청으로 대상 네트워크 및 장치를 압도함으로써 피해자의 수신 트래픽 처리 능력을 고갈시키는 것을 목표로 하는 서비스 거부(DoS)의 한 형태인 소위 대역폭 플러딩을 유발합니다. ICMP 공격은 ICMP 메시지를 기본 도구로 사용하여 네트워크 작업을 방해하는 서비스 거부 공격으로 정의할 수 있습니다.

ICMP 공격은 대부분의 다른 유형의 서비스 거부 공격보다 덜 위험하고 방어하기 쉬운 것으로 간주되는 경우가 많습니다. ICMP 공격은 여전히 ​​심각한 피해를 초래할 수 있지만 일반적으로 다음과 같은 몇 가지 이유로 탐지하고 완화하는 것이 더 간단합니다.

  • ICMP 공격은 네트워크 계층에 중점을 둡니다. ICMP는 인터넷 프로토콜 스택의 낮은 수준에서 작동하며 ICMP 메시지는 다른 서비스 거부 공격에 사용되는 데이터가 많은 페이로드에 비해 더 작은 페이로드를 전달합니다. 이렇게 하면 악성 ICMP 트래픽을 더 쉽게 식별할 수 있습니다.
  • ICMP 공격은 독특한 패턴을 나타냅니다. 악의적인 ICMP 메시지는 동일한 보낸 사람으로부터 에코 요청이 폭주하거나 특정 오류 메시지가 나타나는 등 독특한 패턴을 나타내는 경우가 많습니다.
  • ICMP 트래픽은 제한하기가 더 쉽습니다. 네트워크 관리자는 들어오고 나가는 ICMP 트래픽을 제한하거나 완전히 비활성화할 수 있으며, 이로 인해 정상적인 작업이 눈에 띄게 중단되지 않습니다.

ICMP 공격의 3가지 주요 유형

ICMP 공격의 세 가지 주요 유형에는 핑 플러드, 스머프 공격, 핑 오브 데스 공격이 있습니다. 각각은 고유한 메커니즘을 사용하지만 주요 차이점은 사이버 범죄자가 사용하는 ICMP 메시지 유형입니다.

앞서 설명한 대로 에코 요청을 생성하여 대상으로 전달하는 Ping 유틸리티를 제외하고 ICMP 메시지는 일반적으로 특정 문제의 소스에 경고하기 위해 대상 시스템에서 생성됩니다. 이러한 방식으로 공격자는 ICMP 패킷의 폭발을 피해자의 시스템으로 보내는 대신 공격 피해자를 다른 피해자의 눈에는 공격자로 만드는 등 보다 정교한 기술을 활용할 수 있습니다.

가장 널리 퍼진 세 가지 유형의 ICMP 공격을 각각 자세히 살펴보고 주요 방어 메커니즘이 널리 도입되기 전에 이러한 공격이 어떻게 인터넷에 막대한 혼란을 초래했는지 살펴보겠습니다.

핑 플러드

핑 플러드는 악의적인 행위자가 피해자 시스템이나 네트워크에 과도한 양의 에코 요청을 보내는 ICMP 공격의 가장 간단하고 가장 널리 퍼진 변형입니다. 사이버 범죄자는 Ping 유틸리티의 정상적인 활동을 시뮬레이션하여 대상 호스트의 대역폭을 표적으로 삼습니다.

동일한 방향으로 전송되는 ICMP 요청이 폭주하면 대상의 액세스 링크가 막혀 합법적인 트래픽이 대상을 통과하는 것을 성공적으로 차단합니다. 그리고 각 에코 요청마다 ICMP 에코 응답 메시지가 예상되므로 ping 플러드 공격으로 인해 CPU 사용량이 크게 증가하여 최종 시스템 속도가 느려지고 서비스가 완전히 거부될 수 있습니다.

다른 유형의 DoS와 마찬가지로 악의적인 행위자는 여러 호스트를 사용하여 핑 플러드 공격을 수행하고 이를 DDoS(분산 서비스 거부) 공격으로 전환할 수 있습니다. 여러 공격 소스를 사용하면 공격의 효과가 증폭될 뿐만 아니라 공격자가 발견을 피하고 신원을 숨기는 데도 도움이 됩니다.

분산 서비스 거부 공격은 일반적으로 봇넷(공격자가 제어하는 ​​손상된 엔드포인트 네트워크 및 네트워크 장치)을 활용합니다. 봇넷은 봇넷 소유자가 손상된 시스템을 원격으로 제어할 수 있는 특별한 유형의 악성코드로 피해자의 장치를 감염시킴으로써 생성되고 확장됩니다. 일단 지시를 받으면 감염된 장치는 정당한 소유자의 인지나 동의 없이 ICMP 에코 요청 메시지로 핑 플러드 공격의 대상을 압도하기 시작합니다.

가장 유명한 대규모 ping 플러드 공격 중 하나는 2002년에 발생했습니다. 사이버 범죄자는 봇넷을 활용하여 트럭 분량의 ICMP 에코 요청 메시지를 13개의 DNS 루트 이름 서버 각각에 전달했습니다. 다행스럽게도 이름 서버 뒤에 있는 패킷 스위치는 이미 들어오는 모든 핑 메시지를 삭제하도록 구성되어 있었기 때문에 공격은 글로벌 인터넷 경험에 거의 또는 전혀 영향을 미치지 않았습니다.

스머프 공격

스머프 공격은 ICMP 에코 요청이 다른 소스에서 온 것처럼 보이게 하여 피해자를 공격자로 인식하게 만듭니다. 보낸 사람 주소를 스푸핑하여 공격자는 에코 응답이 실제 피해자의 호스트(원본 핑 요청에서 소스로 지정된 시스템)를 압도하도록 하기 위해 다수의 ICMP 메시지를 네트워크 또는 장치 네트워크로 보냅니다.

스머프 공격은 엄청난 파괴 가능성으로 인해 한때 컴퓨터 네트워크에 대한 주요 위협으로 간주되었습니다. 그러나 현재로서는 이 공격 벡터는 거의 사용되지 않으며 일반적으로 해결된 취약점으로 간주됩니다. 이는 대부분의 패킷 필터가 브로드캐스트 주소로 가는 ICMP 메시지를 자동으로 삭제하기 때문입니다. 즉, 메시지가 대상 네트워크의 모든 장치로 전달된다는 의미입니다. 이러한 규칙을 지정하면 네트워크가 스머프 서비스 거부 공격에 사용되는 것을 방지하여 효과적으로 종료할 수 있습니다.

죽음의 핑

핑 플러드 및 스머프 공격은 볼륨 기반 서비스 거부 공격으로 간주되는 반면, 핑 오브 데스(Ping of Death)는 잘 제작된 ICMP 메시지를 대상으로 전송하여 피해자 시스템을 작동 불가능하게 만드는 것을 목표로 하는 취약성 공격입니다. 이 ICMP 공격은 이전에 논의한 다른 두 가지 DoS 공격보다 덜 널리 퍼진 것으로 간주됩니다. 그럼에도 불구하고 파괴 가능성이 가장 높습니다.

ICMP 메시지는 제한된 크기를 가질 수 있는 IP 데이터그램으로 전달됩니다. 형식이 잘못되었거나 크기가 너무 큰 메시지를 호스트에 보내면 메모리 오버플로가 발생하고 잠재적으로 전체 시스템 충돌이 발생할 수 있습니다. 위험해 보이지만 대부분의 최신 시스템에는 이러한 이상 현상을 감지하여 잘못된 형식의 ICMP 메시지가 대상에 도달하는 것을 방지할 수 있는 충분한 수단이 장착되어 있습니다.

ICMP 공격을 탐지하고 완화하는 방법은 무엇입니까?

해커는 특히 대규모 DDoS 공격의 경우 표적으로 삼을 웹사이트와 서버를 선택하지 않습니다. "해커가 내 웹사이트를 공격하는 이유는 무엇입니까?"라고 궁금하신 경우, 이유에 관계없이 ICMP 공격을 완화할 수 있는 지식을 갖추는 것이 온라인 보안을 유지하는 데 필수적이라는 점을 기억하는 것이 중요합니다.

특히 ping 플러드의 경우 ICMP 공격 완화는 다른 유형의 서비스 거부 공격 완화와 다르지 않습니다. 핵심은 악성 트래픽을 식별하고 그 소스를 차단하여 공격자의 서버 액세스를 효과적으로 거부하는 것입니다.

그러나 기존 상태 비저장 패킷 필터부터 고급 침입 탐지 시스템(IDS)에 이르기까지 대부분의 보안 솔루션은 ICMP 트래픽의 속도를 제한하고 ICMP 공격을 효과적으로 완화하기 위해 즉시 구성되므로 네트워크 트래픽을 수동으로 관찰하고 분석할 필요가 거의 없습니다. 최신 보안 솔루션의 발전으로 인해 핑 플러드 및 기타 유형의 ICMP 공격은 더 이상 서버와 웹 사이트에 큰 위협이 되지 않습니다.

ICMP 공격을 방어하는 방법은 무엇입니까?

ICMP 공격에 대한 효과적인 방어 전략은 속도 제한을 포함하거나 들어오고 나가는 ICMP 트래픽을 완전히 비활성화하는 강력한 패킷 필터링 규칙을 구현하는 것부터 시작됩니다. 모든 ICMP 메시지가 서버에 들어가고 나가는 것을 차단하면 서버에 대한 경로를 추적할 수 없고 ping 요청이 서버에 도달하는 것이 불가능해지지만 서버 및 웹 사이트 운영에는 거의 또는 전혀 영향을 미치지 않습니다.

대개 아웃바운드 ICMP 트래픽은 기본적으로 소프트웨어 방화벽에 의해 제한되므로 호스팅 공급자가 이미 이를 수행했을 가능성이 높습니다. LiquidWeb 및 Nexcess에서 제공하는 모든 완전 관리형 호스팅 솔루션에는 ICMP 공격을 방어하기 위해 조정이 거의 또는 전혀 필요하지 않은 강력한 방화벽 규칙이 함께 제공됩니다.

일반적으로 Ping 및 Traceroute 유틸리티를 통해 글로벌 네트워크에서 서버를 검색할 수 있도록 하려면 들어오고 나가는 Ping 요청의 속도를 제한하도록 선택할 수 있습니다. 대부분의 소프트웨어 방화벽의 기본 구성은 들어오는 ICMP 에코 요청 수를 각 IP 주소에 대해 초당 하나로 제한하는 것입니다. 이는 좋은 출발점이 됩니다.

핑 플러드 및 기타 ICMP 공격으로부터 서버를 보호하는 가장 좋은 방법은 콘텐츠 전달 네트워크(CDN)를 사용하는 것입니다. 최신 CND는 강력한 방화벽 규칙을 구현하고 심층적인 패킷 검사를 수행하여 서버에 도달하는 악의적인 요청 수를 크게 줄입니다. ICMP 공격의 경우 CDN에서 배포한 기본 방화벽 규칙 세트도 ICMP 공격을 효과적으로 방어하는 데 도움이 됩니다.

iThemes Security Pro로 WordPress 웹사이트를 보호하세요

사이버 범죄자는 프로토콜 스택의 인터넷 제어 메시지 구현을 악용하여 인터넷의 기본 구성 요소를 기업과 개인 모두에게 피해를 입히는 데 사용되는 위험한 무기로 전환할 수 있습니다. 핑 플러드나 스머프 공격과 같은 ICMP 공격은 대량 공격이나 악의적인 ICMP 메시지로 대상 호스트나 네트워크 장치를 압도하여 서비스 거부를 유발하는 것을 목표로 합니다. 봇넷을 활용하고 소스 주소를 스푸핑하면 해커가 ICMP 공격을 더욱 효과적으로 만들고 파괴 가능성을 크게 높일 수 있습니다.

다행스럽게도 최신 보안 솔루션이 핑 플러드를 성공적으로 예방하고 완화하는 데 도움이 되는 뛰어난 방어 메커니즘을 제공하므로 ICMP 공격은 더 이상 웹사이트와 서버에 큰 위협이 되지 않습니다. ICMP 공격은 프로토콜 스택의 애플리케이션 계층을 대상으로 하는 다른 서비스 거부(DoS) 공격보다 덜 위험한 것으로 간주될 수 있습니다.

iThemes Security Pro 및 BackupBuddy는 WordPress를 항상 보호하여 사이버 보안 위협보다 한 발 앞서 나갈 수 있도록 보장합니다. 유연한 백업 일정과 원클릭 복원을 통해 WordPress 웹사이트의 깨끗한 작업 복사본이 해커가 접근할 수 없는 원격 위치에 안전하게 저장된다는 것을 확신할 수 있습니다. 고급 무차별 대입 보호, 다단계 인증, 파일 무결성 모니터링 및 취약성 검색은 공격 표면을 크게 줄이고 모든 위협을 쉽게 완화하는 데 도움이 됩니다.