ICMP Pakety: Historie, použití, reálné využití a zneužití

03.03.2025

ICMP (Internet Control Message Protocol) je síťový protokol používaný k diagnostice a správě síťové komunikace. Jedná se o součást rodiny protokolů IP (Internet Protocol) a slouží primárně k přenosu chybových zpráv a informací o síťovém provozu. Přesto může být využít pro kybernetický útok

Tento článek v žádném případě neslouží jako návod k provedení kybernetického útoku. Jeho cílem je informovat čtenáře o aktuálních hrozbách v oblasti kybernetické bezpečnosti a pomoci jim lépe se chránit před možnými útoky. 

ICMP není transportní protokol jako TCP nebo UDP. Nepřenáší aplikační data, ale informuje o problémech v síťové komunikaci, jako jsou nedostupné servery, neexistující IP adresy nebo přetížené cesty v síti.

Historie ICMP

ICMP byl představen v roce 1981 jako součást protokolu IPv4 (RFC 792) a jeho hlavním cílem bylo poskytovat mechanismus pro zpětnou vazbu o síťových problémech.

Vývoj protokolu ICMP:

  • 1981 – Vznik ICMP jako součásti IPv4 (RFC 792).
  • 1995 – Rozšíření pro IPv6: ICMPv6 (RFC 1885, později nahrazeno RFC 4443).
  • 2000+ – Vznik IDS/IPS systémů, které začínají ICMP provoz více monitorovat a blokovat podezřelé zprávy.
  • Dnes – ICMP je stále používán pro diagnostiku sítí, ale zároveň i pro zneužití při kybernetických útocích.

Jak ICMP funguje?

ICMP pakety jsou obvykle vkládány do IP paketů a skládají se ze tří hlavních částí:

  • IP hlavička – Obsahuje informace o odesílateli a příjemci.
  • ICMP hlavička – Obsahuje typ zprávy, kód a kontrolní součet.
  • Datová část – Volitelná část obsahující další informace, jako jsou časové značky nebo části původního paketu.

Struktura ICMP paketu:

Path MTU Discovery – ICMP se používá k určení největší možné velikosti paketu v síti.
ICMP Tabulky
Pole Velikost (bajty) Popis
Typ 1 Určuje druh ICMP zprávy (např. Echo Request = 8, Echo Reply = 0)
Kód 1 Upřesňuje význam ICMP zprávy
Kontrolní součet 2 Slouží k ověření integrity dat
Další pole 4 Záleží na typu zprávy (např. identifikátor, sekvenční číslo)
Data Proměnlivé Volitelná užitečná data

Typy ICMP zpráv a jejich použití

ICMP zprávy se dělí do dvou hlavních kategorií:

  1. Chybové zprávy – Informují o problémech v síti.
  2. Informační zprávy – Používají se pro testování a diagnostiku.
ICMP Tabulky
Typ ICMP Kód Použití
0 0 Echo Reply (odpověď na ping)
3 0–15 Nedostupnost cíle (hostitel, síť, port)
4 0 Omezování rychlosti přenosu (Source Quench)
5 0–3 Přesměrování provozu (Redirect)
8 0 Echo Request (ping)
11 0–1 Čas vypršel (TTL Expired, např. pro traceroute)
12 0–1 Problémy s hlavičkou paketu

Diagnostické a síťové nástroje

Ping – Nejznámější využití ICMP, slouží k testování dostupnosti hostitelů v síti.

Traceroute – Pomocí ICMP TTL (Time-To-Live) se zjišťuje trasa paketů v síti.

Path MTU Discovery – ICMP se používá k určení největší možné velikosti paketu v síti 

Zneužití ICMP pro kybernetické útoky

ICMP může být zneužit útočníky několika způsoby:

ICMP tunneling (skrytý přenos dat)

  • Útočník může posílat data v datové části ICMP paketů, čímž vytvoří skrytý komunikační kanál přes firewall.
  • Nástroje jako Ptunnel umožňují přenášet TCP data přes ICMP.

ICMP exfiltrace dat

  • Malware může využít ICMP ke skrytému přenosu ukradených dat ze sítě oběti.
  • Každá ICMP odpověď obsahuje část souboru, který je pak na cílovém místě složen.

Ping Flood (ICMP DoS útoky)

  • Útočník zaplaví cíl obrovským množstvím ICMP Echo Request paketů, což může způsobit přetížení sítě.

Smurf útok (amplifikační útok)

  • Útočník pošle ICMP Echo Request na broadcast adresu, čímž vytvoří masivní odpovědi na jednu IP adresu.

ICMP Redirect útok

  • Útočník využije ICMP Redirect zprávy k manipulaci směrování paketů, což může vést k MITM útoku.

Jak se bránit zneužití ICMP?

Abychom zabránili zneužití ICMP, je důležité zavést bezpečnostní opatření:

  1. Blokování zbytečného ICMP provozu

    • Firewally by měly blokovat nepotřebné ICMP zprávy (např. Redirect, Source Quench).
    • Povolit jen nutné zprávy (Echo Request/Reply) pro diagnostiku.
  2. Monitorování síťového provozu

    • Implementace Intrusion Detection System (IDS), jako je Snort nebo Suricata, pomůže odhalit podezřelé ICMP přenosy.
  3. Omezení ICMP paketů na firewallu

    • Konfigurace pravidel, které zabrání tunelování nebo exfiltraci dat.
  4. Rate limiting pro ICMP provoz

    • Omezení počtu ICMP paketů za sekundu může zabránit DoS útokům.
  5. Důkladná kontrola síťových logů

    • Pravidelná analýza síťového provozu pomůže včas odhalit anomálie.

Závěr

ICMP je nepostradatelný síťový protokol, který je široce využíván pro diagnostiku a správu sítí. Zároveň však představuje potenciální bezpečnostní riziko, protože může být zneužit ke skrytému přenosu dat nebo DDoS útokům. Správná konfigurace firewallu, monitorování síťového provozu a zavedení bezpečnostních opatření jsou klíčové pro minimalizaci rizik spojených s ICMP provozem.