IP_fragmentation_attacks

IP fragmentace je proces rozbití jednotného internetového protokolu (IP) datagramu na několik menších paketů velikosti. Každá síť má vlastnost odkaz velikost zpráv, které mohou být předávány, tzv.maximální přenosové jednotky (MTU).

Součástí TCP / IP souprava je internetový protokol (IP), která bydlí v Internet Layer tohoto modelu. IP je zodpovědný za přenos paketů mezi koncovými body sítě. IP obsahuje některé funkce, které poskytují základní opatření zavinění-tolerance (čas žít, kontrolní součet), upřednostnění provozu (typ služby) a podpora pro fragmentaci větší pakety do více menších paketů (ID podala, fragment offset).Podpora pro fragmentaci větších paketů zajišťuje protokol umožňující směrovačům fragmentu paketu na menší pakety, pokud původního paketu je příliš velký pro podporu datalink rámů. IP fragmentace exploity (útoky) používají roztříštění protokolu v IP útoku.

fragmentace procesu

IP datagramy jsou zapouzdřeny v datalink rámy, a proto odkaz MTU ovlivňuje větší IP datagramů , a nutí je být rozdělena na kousky stejné nebo menší než velikost MTU.

To lze provést několika způsoby:

Tři pole v záhlaví IP se používají k provedení fragmentaci a nové sestavení. "Identifikace", "Vlajky" a "Fragment Offset" pole.

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+ | Verze | IHL | Differentiative Služby | Celková délka | +-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifikace | Vlajky | Fragment Offset | <- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protokol | Záhlaví Kontrolní součet | +-+-+-+-+-+-+-+-+ -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Zdroj Adresa | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+-+-+-+ | Cílová adresa | +-+-+-+-+-+-+-+-+-+-+-+-+ -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Možnosti | Výplň | + - + -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+-+-+-+-+-+-+

Vlajky:

3 bit pole, které říká, že pokud datagram je součástí roztříštěné datový rámec , nebo ne.

Bit 0: vyhrazeno, musí být nulový

Bit 1: (AF) 0 = května Fragment, 1 = Nefragmentovat.

Bit 2: (AF) 0 = poslední fragment, 1 = více fragmentů.

         0 1 2 13 bitů +---+---+---+ +-----------------------------+ | | D | M | | Fragment Offset | | 0 | F | F | +-----------------------------+ + - -+---+---+

Fragment Offset fragmentu udává pozici v rámci původní Datagram, měřeno v 8-byte jednotek.

V důsledku toho fragment kromě posledního, musí obsahovat každý násobek 8 bytů dat. Je zřejmé, že Fragment Offset může pojmout 8192 (2 ^ 13) jednotek, ale datagram nemůže mít 8192 * 8 = 65536 bajtů dat, protože "Celková délka" oblasti IP hlavičky záznamů celkovou velikost včetně záhlaví a data. IP záhlaví je minimálně 20 bajtů dlouhé, takže maximální hodnota pro "Fragment Offset" je omezen na 8189, což ponechává prostor pro 3 bytů v poslední fragment.

Vzhledem k tomu, internetové IP může být nespojované, z jednoho datagramu může být fragmenty prokládané s těmi z jiné na místo určení. "Identifikace pole" jednoznačně identifikuje fragmenty konkrétní datagram .

Zdrojového systému souborů "Identifikace" v každém datagram na jedinečnou hodnotu. Pro všechny datagramy pomocí stejné zdrojové IP adresa, cílová IP adresa, a "Protokol" hodnoty po celou dobu životnosti datagramu na internetu. Tento způsob určení dokáže rozlišit, které příchozí fragmenty patří k unikátním datagramu a buffer všichni do poslední fragment obdržel. Poslední fragment nastaví "Další Fragment" bit na hodnotu 0, a to řekne přijímací stanice začít reassembling údaje, pokud všechny fragmenty byly přijaty.

Pokračování je skutečný-život fragmentace příklad:

Následující bylo získáno pomocí Ethereal analyzátoru protokolu zachytit ICMP echo request pakety. Chcete-li simulovat otevřít terminál a zadejte příkaz ping-n ip_dest 1-l 65000.

Výsledky jsou následující:

     Ne Čas zdroj cíl Protokolu Info 1 0.000000 87.247.163.96 66.94.234.13 ICMP Echo (ping) požádat o 2 0,000000 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 1480) 3 0,002929 87.247.163.96 66,94. 234,13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 2960) 4 6,111328 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 4440) 5 6,123046 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol ( proto = ICMP 0x01, off = 5920) 6 6,130859 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 7400) 7 6,170898 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 8880) 8 6,214843 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 10360) 9 6,239257 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 11840) 10 6,287109 87.247 .163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 13320) 11 6,302734 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 14800) 12 6,327148 87.247.163.96 66.94.234.13 IP roztříštěné IP protokol (ICMP proto = 0x01, off = 16280) 13 6,371093 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 17760) 14 6,395507 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (proto = ICMP 0x01, off = 19240) 15 6,434570 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 20720) 16 6,455078 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 22200 ) 17 6.531250 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 23680) 18 6,550781 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 25160) 19 6,575195 87.247.163.96 Nejednotné 66.94.234.13 IP protokolu IP (ICMP proto = 0x01, off = 26640) 20 6,615234 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 28120) 21 6,634765 87.247.163.96 66.94.234.13 IP fragmentovaných IP protokol (ICMP proto = 0x01, off = 29600) 22 6,659179 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 31080) 23 6,682617 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01 , off = 32560) 24 6,699218 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 34040) 25 6,743164 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 35520) 26 6.766601 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 37000) 27 6,783203 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 38480) 28 6,806640 87.247.163.96 66,94. 234,13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 39960) 29 6,831054 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 41440) 30 6,850586 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol ( proto = ICMP 0x01, off = 42920) 31 6,899414 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 44400) 32 6,915039 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 45880) 33 6,939453 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 47360) 34 6,958984 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 48840) 35 6,983398 87.247 .163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 50320) 36 7,023437 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 51800) 37 7,046875 87.247.163.96 66.94.234.13 IP roztříštěné IP protokol (ICMP proto = 0x01, off = 53280) 38 7,067382 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 54760) 39 7,090820 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (proto = ICMP 0x01, off = 56240) 40 7,130859 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 57720) 41 7,151367 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 59200 ) 42 7.174804 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 60680) 43 7,199218 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 62160) 44 7,214843 87.247.163.96 Nejednotné 66.94.234.13 IP protokolu IP (ICMP proto = 0x01, off = 63640) 45 7,258789 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 65120)

První paket podrobnosti:

     No.Time zdroj cíl Protokolu Info 1 0.000000 87.247.163.96 66.94.234.13 ICMP Echo (ping) žádost

Snímek 1 (1514 bajtů na drátě, 1514 bytů zachytil) Ethernet II, Src: OmronTat_00: 00:00 (00:00:00: 00:00:00), DST: 40:0 f: 20:00:0 c: 00 ( 40:0 f: 20:00:0 c: 00) Internet Protocol, Src: 87.247.163.96 (87.247.163.96), DST: 66.94.234.13 (66.94.234.13) Internet Control Message Protocol

   Typ: 8 (Echo (ping) dotaz) Kód: 0 Kontrolní součet: 0x6b7d identifikátor: 0x0600 Pořadové číslo: Data kód 0x0200 (1472 bytes)

Druhá paket podrobnosti:

    Ne Čas zdroj cíl Protokolu Info 2 0.000000 87.247.163.96 66.94.234.13 IP Nejednotné IP protokol (ICMP proto = 0x01, off = 1480)

Rám 2 (1514 bajtů na drátě, 1514 bytů zachytil) Ethernet II, Src: OmronTat_00: 00:00 (00:00:00: 00:00:00), DST: 40:0 f: 20:00:0 c: 00 ( 40:0 f: 20:00:0 c: 00) Internet Protocol, Src: 87.247.163.96 (87.247.163.96), DST: 66.94.234.13 (66.94.234.13) Data (1480 bytes)

Všimněte si, že pouze první fragment obsahuje hlavičku protokolu ICMP a všechny zbývající fragmenty generované bez hlavičky ICMP.

Dva důležité body zde:

IP fragmentace využívá

IP fragment překrývaly

Fragment IP překrývaly zneužít nastane, když dva fragmenty uvnitř stejné IP datagramu se kompenzuje, které naznačují, že se vzájemně překrývají v umístění v rámci datagram. To by mohlo znamenat, že buď fragment je kompletně přepsán fragment B, nebo že fragment je částečně jsou přepsány fragment B. Některé operační systémy nezvládají fragmenty, které se překrývají tímto způsobem a může se hodit výjimky nebo chovat jiným nežádoucím způsobem po obdržení překrývajících fragmentů. To je základ pro slza odmítnutí služby útoků.

IP fragmentace buffer plný

Fragmentace IP buffer plné využití nastane, když tam je nadměrné množství neúplných roztříštěných provozu zjištěné na chráněné síti. To by mohlo být kvůli nadměrnému počtu neúplných roztříštěný datagramů, velké množství fragmentů jednotlivých datagramů nebo kombinaci množství neúplných datagramů a velikost / počet fragmentů v každém datagramu. Tento druh dopravy je s největší pravděpodobností pokus obejít bezpečnostní opatření nebo Intrusion Detection systémů úmyslným fragmentace útoku činnosti.

IP překročení fragment

IP Fragment přetečení zneužít je, když přeskupeno roztříštěné datagram překračují deklarované IP délku dat nebo na maximální délku datagramu. Podle definice by neměla IP datagramu být větší než 65.535 bytů. Systémy, které se snaží zpracovat tyto velké datagramy může shodit, a může být svědčící o odmítnutí služby pokusu.

IP fragment přepsat

Překrývající se fragmenty mohou být použity v pokusu obejít Intrusion Detection Systems. V tomto využití, je součástí útoku poslal ve fragmentech spolu s dalšími náhodnými daty, budoucí fragmentů může přepsat náhodnými daty se zbytkem útoku. Je-li dokončen datagram není správně reassembled u IDS, bude útok zůstat nepovšimnuto.

IP fragment příliš mnoho datagramy

Příliš mnoho Datagrams využití je identifikována nadměrný počet neúplných roztříštěných datagramů zjištěny v síti. To je obvykle jeden popření servisního útoku nebo pokus obejít bezpečnostní opatření. Příklad "Příliš mnoho Datagrams", "Nekompletní Datagram" a "Fragment příliš malý" je Rose Attack.

IP fragment neúplné datagram

Toto využití nastane, když může datagram nemůže být plně smontován z důvodu chybějících údajů. To může znamenat popření servisního útoku nebo pokus porazit paketového filtru bezpečnostní politiky.

IP fragment příliš malé

IP Fragment Příliš malé využití, je-li každý fragment jiné než poslední fragment je menší než 400 bajtů, což znamená, že fragment je pravděpodobně záměrně vytvořený. Malé fragmenty mohou být použity v popření servisních útoků, nebo ve snaze obejít bezpečnostní opatření nebo detekce.