ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol) on virheilmoitusprotokolla, jota verkkolaitteet kuten reitittimet käyttävät tuottamaan virheilmoituksia lähde-IP-osoitteeseen, kun verkko-ongelmat estävät IP-pakettien toimittamisen. ICMP luo ja lähettää lähteen IP-osoitteeseen viestejä, jotka osoittavat, että Internet-yhdyskäytävää, kuten reititintä, palvelua tai isäntää, ei voi tavoittaa pakettien toimittamista varten. Mikä tahansa IP – verkkolaite pystyy lähettämään, vastaanottamaan tai käsittelemään ICMP-viestejä.

ICMP ei ole kuljetusprotokolla, joka lähettää tietoja järjestelmien välillä.

vaikka ICMP: tä ei käytetä säännöllisesti loppukäyttäjäsovelluksissa, verkon ylläpitäjät käyttävät sitä internet-yhteyksien vianmääritykseen diagnostisissa apuohjelmissa, kuten ping ja traceroute.

mihin ICMP: tä käytetään?

ICMP on reitittimien, välittäjälaitteiden ja isäntien käyttämä verkkokerroksen protokolla virhetietojen tai päivitysten välittämiseen muille reitittimille, välittäjälaitteille ja isännille.

ICMP-viestejä lähetetään useissa skenaarioissa. Jos esimerkiksi yksi laite lähettää viestin, joka on liian suuri vastaanottajan käsiteltäväksi, vastaanottaja pudottaa viestin ja lähettää ICMP-viestin takaisin lähteelle. Toinen esimerkki on, kun verkon yhdyskäytävä löytää lyhyemmän reitin, jolla viesti kulkee. Kun näin tapahtuu, lähetetään ICMP-viesti, ja paketti ohjataan lyhyemmälle reitille.

ICMP: tä käytetään myös verkkodiagnostiikassa, erityisesti ping-ja traceroute-päätelaitteiden apuohjelmissa.

kaikuviestikaavio
kun isäntä lähettää tyypin 8 kaikuviestin, palvelin vastaa tyypin 0 echo-vastausviestillä, koska se on tavoitettavissa.
  • Traceroute. Traceroute-apuohjelmaa käytetään näyttämään fyysinen reitityspolku kahden keskenään kommunikoivan internetlaitteen välillä. Se kartoittaa matkan reitittimestä toiseen, jota joskus kutsutaan hopiksi. Tracerouten käyttäminen verkko-ongelmien diagnosointiin voi auttaa järjestelmänvalvojia löytämään verkkoviiveen lähteen.
  • Ping. Ping-apuohjelma on yksinkertaisempi traceroute. Se lähettää ping-viestejä-joita kutsutaan myös echo request-viesteiksi-ja mittaa sen jälkeen, kuinka kauan viestin saapuminen perille ja paluu lähteelle kestää. Näitä vastauksia kutsutaan echo-vastausviesteiksi. Ping ovat hyödyllisiä kerätä latenssitietoa tietyn laitteen. Toisin kuin traceroute, ping ei kuitenkaan tarjoa kuvakarttoja reitityksen asettelusta. Ping-apuohjelmaa käytetään usein hyväksi myös tietyissä palvelunestohyökkäyksissä (denial of service, DoS).

yleisesti käytetty Internet-protokollan versio 4 eli IPv4-osoiteluokka ja uudempi IPv6 käyttävät samanlaisia versioita ICMP-protokollasta — ICMPv4 ja ICMPv6.

kohde saavuttamaton kaavio
isäntä A yrittää lähettää IP-paketin isäntään B. isäntä B on saavuttamaton, joten reititin vastaa tyypin 3 ICMP viestillä.

miten ICMP vaikuttaa?

ICMP on yksi IP-sarjan pääprotokollista. ICMP ei kuitenkaan liity mihinkään kuljetuskerroksen protokollaan, kuten Transmission Control Protocol (TCP) tai User Datagram Protocol (UDP). Se on yhteydetön protokolla, eli laitteen ei tarvitse avata yhteyttä kohdelaitteeseen ennen viestin lähettämistä. Tämä eroaa esimerkiksi TCP: stä, jossa yhteys on luotava ennen kuin viesti voidaan lähettää, jolloin todetaan, että molemmat laitteet ovat valmiita TCP-kädenpuristuksen kautta.

ICMP-viestit lähetetään datagrammeina ja ne koostuvat IP-otsakkeesta, joka kiteyttää ICMP-tiedot. Datagrammi, joka muistuttaa paljon pakettia, on itsenäinen datan kokonaisuus. Ajattele sitä pakettina, joka kuljettaa isomman viestin verkon yli. ICMP-paketit ovat IP-paketteja, joissa ICMP on IP-data-osassa. ICMP-viestit sisältävät myös koko IP-otsikon alkuperäisestä viestistä, joten end-järjestelmä tietää, mikä paketti epäonnistui.

ICMP-otsikko esiintyy IPv4 – tai IPv6-paketin otsikon jälkeen ja se on IP-protokollan numero 1. Protokolla sisältää kolme parametria, jotka on selitetty alla. Seuraavat kolme parametria ovat ICMP-tiedot ja alkuperäinen IP-otsikko, joka tunnistaa, mikä paketti epäonnistui.

ICMP-parametrit

ICMP-parametrit ovat olemassa paketin otsikossa, ja ne auttavat tunnistamaan IP-paketin virheet, joihin ne liittyvät. Parametrit ovat kuin lähetysmerkintä paketissa. Ne antavat tunnistetiedot paketista ja sen sisältämistä tiedoista. Näin ICMP-viestin vastaanottavat protokollat ja verkkotyökalut osaavat käsitellä pakettia.

jokaisen ICMP-viestin paketin otsikon 32 ensimmäistä bittiä sisältävät kolme informaatiokenttää eli parametria. Nämä kolme muuttujaa ovat seuraavat:

  1. Kirjoita. Ensimmäiset 8 bittiä ovat viestityyppejä. Yleisiä viestityyppejä ovat muun muassa seuraavat:
      1. Type 0 — Echo reply
      2. Type 3 — Destination unreachable
      3. Type 8 — Echo
      4. Type 5 — Redirect

    Tyyppi antaa lyhyen selityksen siitä, mihin viesti on tarkoitettu, jotta vastaanottava verkkolaite tietää, miksi se saa viestin ja miten sitä käsitellään. Esimerkiksi tyypin 8 kaiku on kysely, jonka isäntä lähettää nähdäkseen, onko mahdollinen kohdejärjestelmä käytettävissä. Saatuaan Echo-viestin vastaanottava laite saattaa lähettää Echo-vastauksen (Tyyppi 0), joka osoittaa, että se on käytettävissä.

    Internet Assigned Numbers Authority (Iana) tarjoaa luettelon kaikista ICMP-pakettien viestityypeistä.

  2. koodi. Seuraavat 8 bittiä edustavat sanomatyypin koodia, joka antaa lisätietoja virhetyypistä.
  3. tarkistussumma. Viimeiset 16 bittiä tarjoavat viestin eheyden tarkistuksen. Tarkistussumma näyttää bittien määrän koko viestissä ja ICMP-työkalun avulla voidaan tarkistaa yhdenmukaisuus ICMP-viestin otsikon kanssa varmistaaksesi, että kaikki tiedot on toimitettu.

ICMP: n otsikon seuraava osa on osoitin. Se koostuu 32 bittisestä datasta, joka osoittaa ongelman alkuperäisessä IP-viestissä. Erityisesti osoitin tunnistaa alkuperäisen IP-viestin tavun sijainnin, joka aiheutti ongelmaviestin syntymisen. Vastaanottava laite katsoo otsikon tätä osaa selvittääkseen ongelman.

ICMP-paketin viimeinen osa on alkuperäinen datagrammi. Se koostuu jopa 576 tavusta IPv4: ssä ja 1 280 tavusta IPv6: ssa ja sisältää kopion alkuperäisestä virheitä sisältävästä IP-viestistä.

ICMP-paketin kaavio
ICMP-paketin otsikko tulee IPv4-tai IPv6-otsikon jälkeen. Se sisältää kolme osaa: tyyppi, koodi ja tarkistussumma. Otsikkoa seuraa osoitin, joka tunnistaa ongelman alkuperäisessä viestissä, ja sitten tulee alkuperäinen datagrammi.

ICMP DDoS-hyökkäyksissä

distributed DoS (DDoS) – hyökkäyksissä hyökkääjät hukuttavat kohteen ei-toivotulla liikenteellä, joten kohde ei voi tarjota palvelua käyttäjilleen. On olemassa useita tapoja, joilla hyökkääjä voi käyttää ICMP: tä näiden hyökkäysten suorittamiseen, mukaan lukien seuraavat:

  • Ping of death. Hyökkääjä lähettää IP-paketin, joka on suurempi kuin IP: n sallima tavumäärä. Matkalla aiottuun määränpäähänsä ylisuuri paketti pirstoutuu. Kuitenkin, kun vastaanottaja laite kokoaa sen uudelleen, koko ylittää rajan, aiheuttaen puskurin ylivuodon ja vastaanottavan koneen jäätymisen tai kaatumisen. Uudemmissa laitteissa on puolustuskyky tätä vanhemman tyyppistä hyökkäystä vastaan, mutta vanhat verkkolaitteet ovat edelleen alttiita sille.
  • ICMP flood attack. Joskus kutsutaan ping tulva hyökkäys, tämän hyökkäyksen tavoitteena on hukuttaa kohdelaitteen echo request paketteja. Kohteen on käsiteltävä jokainen echo-pyyntöpaketti ja vastattava siihen echo-vastausviesteillä. Tämä imee kaikki kohdetietokoneen resurssit, ja se aiheuttaa palvelunestohyökkäyksen muille kohdetietokoneen käyttäjille.
  • Smurffihyökkäys. Smurffihyökkäyksessä hyökkääjä lähettää ICMP-paketin, jossa on väärennetty lähde-IP-osoite, ja verkkokerroksen laitteet vastaavat pakettiin lähettäen huijatulle osoitteelle pakettien tulvan. Kuoleman pingin tavoin Smurffihyökkäykset toimivat todennäköisemmin suojaamattomilla legacy-laitteilla.

ICMP-pohjaisista DDoS-hyökkäyksistä on tullut yhä yleisempi kyberhyökkäys. Lue lisää DDoS-hyökkäyksistä yleensä ja siitä, miten ne ovat muuttuneet taktisesti monipuolisemmiksi viime vuosina.

Leave a Reply