IP parchalanish hujumi - IP fragmentation attack

IP parchalanish xurujlari bir xil kompyuter xavfsizligi hujumi qanday qilib Internet protokoli (IP) ma'lumotlarni uzatish va qayta ishlashni talab qiladi. Xususan, u chaqiradi IP parchalanishi, xabarlarni ajratish uchun ishlatiladigan jarayon ( xizmat ma'lumot birligi (SDU); odatda a paket ) tarmoqning bir qatlamidan bir nechta kichikroq foydali yuklar pastki qatlamga kirishi mumkin protokol ma'lumotlar birligi (PDU). Har bir tarmoq havolasining maksimal hajmi mavjud xabarlar uzatilishi mumkin, deb nomlangan maksimal uzatish birligi (MTU). Agar havola qatlamiga qo'shilgan SDU plyus metama'lumotlari MTU dan oshsa, SDU qismlarga bo'linishi kerak. IP-parchalanish hujumlari ushbu jarayondan foydalanadi hujum vektori.

Qismi TCP / IP to'plami da joylashgan Internet Protocol (IP) Internet qatlami ushbu model. IP tarmoqning so'nggi nuqtalari o'rtasida paketlarni uzatish uchun javobgardir. IP xatolarga bardoshlikning asosiy o'lchovlarini (yashash vaqti, chegara summasi), transportning ustuvorligini (xizmat turini) va kattaroq paketlarning bir nechta kichik paketlarga bo'linishini qo'llab-quvvatlaydigan ba'zi xususiyatlarni o'z ichiga oladi (ID maydoni, fragment ofset). Kattaroq paketlarni parchalashni qo'llab-quvvatlash, dastlabki paket qo'llab-quvvatlanadigan ma'lumotlar uzatish ramkalari uchun juda katta bo'lganida yo'riqchilarga paketni kichikroq paketlarga bo'laklashiga imkon beradigan protokolni taqdim etadi. IP-parchalanish ekspluatatsiyalari (hujumlar) IP-da parchalanish protokolidan hujum vektori sifatida foydalanadi.

[Kurose 2013] ma'lumotlariga ko'ra, IP-parchalanish hujumining bir turida "tajovuzkor maqsadli xostga kichik qismlar oqimini yuboradi, ularning hech biri nolga tenglashtirilmagan. Maqsad qulashi mumkin, chunki u ma'lumotlar bazalarini qayta tiklashga harakat qilmoqda. degeneratsiya paketlari. "[1] Boshqa bir hujum, mos kelmaydigan ofsetlar bilan bir-birining ustiga tushgan parchalarni yuborishni o'z ichiga oladi, bu esa zaif operatsion tizimlarni nima qilishni bilmasliklariga olib kelishi mumkin, ba'zilari esa ishdan chiqadi.[1]

Jarayon

IPv4 da parchalanish algoritmi.

IP-paketlar ma'lumotlar uzatish ramkalarida joylashgan bo'lib, shuning uchun MTU havolasi katta IP-ga ta'sir qiladi paketlar va ularni MTU o'lchamiga teng yoki undan kichik bo'laklarga bo'linishga majbur qiladi.

Bunga bir nechta yondashuvlar orqali erishish mumkin:

  • IP-ni o'rnatish uchun paket hajmi to'g'ridan-to'g'ri biriktirilgan vositadan teng yoki kichikroq va paketlarning barcha bo'linishini yo'riqchilarga topshiradi, ya'ni yo'riqchilar joriy paketni qayta parchalash kerakmi yoki yo'qligini hal qilishadi. Bu yo'riqchilarga juda ko'p ishlarni yuklaydi, shuningdek, bir nechta IP-routerlar tomonidan paketlarni birin-ketin segmentatsiyalashga olib kelishi mumkin, natijada juda o'ziga xos parchalanish yuzaga keladi.
  • Manba va manzil o'rtasidagi barcha havolalarni oldindan ko'rish va ushbu yo'nalishdagi eng kichik MTU ni tanlash uchun, noyob marshrut mavjud deb taxmin qilish. Shunday qilib, biz parchalanishni jo'natuvchi tomonidan tanlangan MTU dan kichikroq hajmdagi paket hajmidan foydalangan holda amalga oshiramiz va yo'lda boshqa parchalanish bo'lmaydi. Ushbu echim, deyiladi MTU kashfiyoti yo'li, jo'natuvchiga uzoq vaqt bo'laklash / ajratish imkoniyatini beradi Internet paket IP-darajadagi parchalanishni amalga oshirish uchun yo'riqchilarga ishonishdan ko'ra. Bu yanada samaraliroq va ölçeklenebilir. Shuning uchun bu hozirgi Internetda tavsiya etilgan usul. Ushbu yondashuvdagi muammo shundaki, har bir paket mustaqil ravishda yo'naltiriladi; ular odatda bir xil marshrutni bosib o'tishlari mumkin, ammo ular bo'lmasligi mumkin va shuning uchun parchalanishni aniqlash uchun proba to'plami keyingi paketlar bosib o'tgan yo'llardan farqli yo'lni bosib o'tishi mumkin.

Uchta maydon IP sarlavhasi parchalanish va qayta o'rnatishni amalga oshirish uchun ishlatiladi. "Identifikatsiya", "Bayroqlar" va "Fragment ofset" maydonlari.

IPv4 sarlavhasi formati
OfsetlarOktet0123
OktetBit012345678910111213141516171819202122232425262728293031
00VersiyaIHLDSCPECNUmumiy uzunlik
432IdentifikatsiyaBayroqlarParcha ofset
864Yashash vaqtiProtokolSarlavha summasi
1296Manba IP-manzili
16128Belgilangan IP-manzil
20160Tanlovlar (agar IHL> 5 bo'lsa)
24192
28224
32256

Bayroqlar:

Paket qismli qism bo'lsa, deydigan 3 bitli maydon ma'lumotlar doirasi yoki yo'qmi.
Bit 0: zaxiralangan, nolga teng bo'lishi kerak (agar paketga rioya qilinmasa RFC 3514 )
Bit 1: (AF) 0 = May parchasi, 1 = Parchalanmang.
2-bit: (AF) 0 = So'nggi parcha, 1 = Ko'proq qismlar.
Bit0123456789101112131415
Maydon0DFMFParcha ofset

Fragment ofset fragmentning 8 baytli birliklarda o'lchangan asl paketdagi o'rnini belgilaydi.

Shunga ko'ra, oxirgisidan tashqari har bir fragmentda 8 baytli ma'lumotlarning ko'pligi bo'lishi kerak. Fragment ofsetida 8192 (2 ^ 13) birlik bo'lishi mumkinligi aniq, ammo paket 8192 * 8 = 65,536 bayt ma'lumotlarga ega bo'lishi mumkin emas, chunki "Total Length" maydoni IP sarlavha sarlavha va ma'lumotlarni o'z ichiga olgan umumiy hajmni qayd etadi. IP sarlavhasi kamida 20 baytni tashkil qiladi, shuning uchun "Fragment ofset" uchun maksimal qiymat 8189 bilan cheklanadi, bu oxirgi qismda 3 baytga joy qoldiradi.

IP-Internet ulanishga ulanishi mumkinligi sababli, uning bo'laklari paket Belgilangan joyda boshqasi bilan suhbatlashishi mumkin. "Identifikatsiya maydoni" ma'lum bir narsaning fragmentlarini noyob tarzda aniqlaydi paket.

Manba tizimi har birida "Identifikatsiya" maydonini o'rnatadi paket hamma uchun noyob qiymatga paketlar umr bo'yi bir xil manba IP-manzili, manzil IP-manzili va "Protokol" qiymatlaridan foydalanadigan paket Internetda. Shunday qilib, manzil qaysi qismlar noyobga tegishli ekanligini ajrata oladi paket va ularning hammasini oxirgi parcha olinguncha bufer qiling. Oxirgi qism "Qo'shimcha fragment" bitini 0 ga o'rnatadi va bu qabul qiluvchi stantsiyani barcha qismlar olingan bo'lsa ma'lumotlarni qayta yig'ishni boshlashini aytadi.

Quyida hayotiy parchalanish misoli keltirilgan:

Quyidagilar yordamida olingan Eter ta'qib qilish uchun protokol analizatori ICMP echo so'rovi paketlar. Buni simulyatsiya qilish uchun terminal ochiladi va ping ip_dest -n 1 -l 65000 yoziladi.

Natijalar quyidagicha:

     Yo'q Vaqt manbasini belgilash protokoli ma'lumoti 1 0.000000 87.247.163.96 66.94.234.13 ICMP Echo (ping) so'rovi 2 0.000000 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, o'chirilgan = 1480) 3 0.002929 87.247.163.96. 234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 2960) 4 6.111328 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 4440) 5 6.123046 87.247.163.96 66.94.234.13 IP Fragment proto = ICMP 0x01, off = 5920) 6 6.130859 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 7400) 7 6.170898 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICM 0 = 8880) 8 6.214843 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 10360) 9 6.239257 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 11840) 10 6.287109 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01), o'chirilgan 11 6.302734 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 14800) 12 6.327148 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 16280) 13 66399 136.399 .234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 17760) 14 6.395507 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 19240) 15 6.434570 87.247.163.96 66.94.234.13 IP Fragment (proto = ICMP 0x01, off = 20720) 16 6.455078 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, o'chirilgan = 22200 ) 17 6.531250 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 23680) 18 6.550781 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 25160) 19 6.519 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 26640) 20 6.615234 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 28120) 21 6.634765 87.247.163.96 66.94.234 protokol (proto = ICMP 0x01, off = 29600) 22 6.659179 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 31080) 23 6.682617 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = IC0P , off = 32560) 24 6.699218 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 34040) 25 6.743164 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 35520) 26 6.766601 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 37000) 27 6.783203 87.247.163 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 38480) 28 6.806640 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 39960) 29 6.831054 87.247.163.96 66.94.234.13 IP protokoli (IP protokoli = ICMP 0x01, off = 41440) 30 6.850586 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 42920) 31 6.899414 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0 44400) 32 6.915039 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 45880) 33 6.939453 87.247.163.9 6 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 47360) 34 6.958984 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 48840) 35 6.983398 87.247.163.93 66.94 IP protokoli (proto = ICMP 0x01, off = 50320) 36 7.023437 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 51800) 37 7.046875 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = 0x01, off = 53280) 38 7.067382 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 54760) 39 7.090820 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, 40 7.130859 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 57720) 41 7.151367 87.247.163.96 66.94. 234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 59200) 42 7.174804 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 60680) 43 7.199218 87.247.163.96 66.94.234.13 IP Fragment proto = ICMP 0x01, off = 62160) 44 7.214843 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, off = 63640) 45 7.258789 87.247.163.96 66.94.234.13 IP Fragmented IP protokoli (0x0M = 65120)

Birinchi paket tafsilotlari:

     Yo'q Vaqt manbasini belgilash to'g'risidagi protokol ma'lumoti 1 0.000000 87.247.163.96 66.94.234.13 ICMP Echo (ping) so'rovi

1-ramka (1514 bayt simli, 1514 bayt olingan) Ethernet II, Src: OmronTat_00: 00: 00 (00: 00: 0a: 00: 00: 00), Dst: 40: 0f: 20: 00: 0c: 00 ( 40: 0f: 20: 00: 0c: 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

   Turi: 8 (Echo (ping) so'rovi) Kod: 0 Tekshirish summasi: 0x6b7d Identifikator: 0x0600 Tartib raqami: 0x0200 Ma'lumotlar (1472 bayt)

Ikkinchi paket tafsilotlari:

    Yo'q. Vaqt manbasini belgilash to'g'risidagi protokol ma'lumoti 2 0.000000 87.247.163.96 66.94.234.13 IP Parchalangan IP protokoli (proto = ICMP 0x01, o'chirish = 1480)

2-ramka (simda 1514 bayt, ushlangan 1514 bayt) Ethernet II, Src: OmronTat_00: 00: 00 (00: 00: 0a: 00: 00: 00), Dst: 40: 0f: 20: 00: 0c: 00 ( 40: 0f: 20: 00: 0c: 00) Internet Protocol, Src: 87.247.163.96 (87.247.163.96), Dst: 66.94.234.13 (66.94.234.13) Ma'lumotlar (1480 bayt)

Shuni esda tutingki, faqat birinchi fragment ICMP sarlavhasini o'z ichiga oladi va qolgan barcha qismlar ICMP sarlavhasiz yaratiladi.

Bu erda ikkita muhim nuqta:

  • Ethernet kabi ba'zi bir ma'lumot uzatish protokollarida faqat birinchi qism to'liq yuqori qavat sarlavhasini o'z ichiga oladi, ya'ni boshqa qismlar boshi kesilganga o'xshaydi paketlar.
  • Barcha fragmentlar o'zlarining IP sarlavhalarini o'z ichiga olganligi sababli tarmoq orqali qo'shimcha xarajatlar kelib chiqadi. Qo'shimcha xarajatlar = (fragmentlar soni - 1) * (ip_header_len);

Ekspluatatsiya

IP bo'lagi bir-birining ustiga chiqdi
IP bo'lagi bir-birining ustiga chiqdi ekspluatatsiya bir xil IP-da joylashgan ikkita bo'lak paydo bo'lganda paket ichida joylashishni aniqlashda bir-birining ustiga chiqishini ko'rsatadigan ofsetlarga ega paket. Bu shuni anglatadiki, A bo'lagi B bo'lagi bilan to'liq yoziladi yoki A bo'lagi qisman B qismi bilan yoziladi. Ba'zi operatsion tizimlar shu tarzda bir-birining ustiga chiqadigan qismlarni to'g'ri ishlamaydi va istisnolarni keltirib chiqarishi yoki boshqa nomaqbul usullarda harakat qilishi mumkin. bir-birining ustiga chiqadigan bo'laklarni olgandan keyin. Bu uchun asosdir ko'z yoshi bilan hujum. Hujumni aniqlash tizimlarini chetlab o'tishda bir-birining ustiga qo'yilgan parchalar ham ishlatilishi mumkin. Ushbu ekspluatatsiyada hujumning bir qismi qo'shimcha tasodifiy ma'lumotlar bilan birga qismlarga yuboriladi; kelajakdagi bo'laklar tasodifiy ma'lumotlarni hujumning qolgan qismi bilan yozishi mumkin. Agar tugallangan bo'lsa paket IDS-da to'g'ri o'rnatilmagan, hujum aniqlanmaydi.
IP parchalanish buferi to'la
IP-parchalanish buferining to'liq ekspluatatsiyasi himoyalangan tarmoqda ortiqcha miqdordagi to'liq bo'lmagan qismli trafik aniqlanganda yuzaga keladi. Bu juda ko'p sonli to'liq bo'lmagan qismlarga bog'liq bo'lishi mumkin paketlar, individual uchun juda ko'p sonli parchalar paketlar yoki to'liq bo'lmagan miqdorning kombinatsiyasi paketlar va har biridagi parchalar hajmi / soni paket. Ushbu turdagi trafik, ehtimol xavfsizlik choralarini chetlab o'tishga urinish yoki Kirishni aniqlash tizimlari hujum faoliyatini qasddan parchalash orqali.
IP fragmenti oshib ketdi
IP Fragmentni bosib olish ekspluatatsiyasi - bu qayta yig'ilgan qismli qism paket e'lon qilingan IP ma'lumot uzunligidan yoki maksimaldan oshib ketadi paket uzunlik. Ta'rifga ko'ra, hech qanday IP-paket 65,535 baytdan katta bo'lmasligi kerak. Ularni qayta ishlashga urinadigan tizimlar paketlar qulashi mumkin va xizmat ko'rsatishni rad etishni ko'rsatishi mumkin.
IP bo'lagi juda ko'p paketlar
"Juda ko'p paketlar" ekspluatatsiyasi juda ko'p sonli to'liq bo'lmagan qismlar bilan aniqlanadi paket tarmoqda aniqlangan. Bu odatda xizmat hujumini rad etish yoki xavfsizlik choralarini chetlab o'tishga urinishdir. "Juda ko'p paketlar", "Tugallanmagan paket" va "Parcha juda kichik" ning namunalari - bu atirgul hujumi.[2]
IP bo'lagi to'liq bo'lmagan paket
Ushbu ekspluatatsiya a paket etishmayotgan ma'lumotlar tufayli to'liq qayta yig'ib bo'lmaydi. Bu xizmat hujumini rad etishni yoki paketli filtr xavfsizligini buzishga urinishni ko'rsatishi mumkin.
IP fragmenti juda kichik
Agar IP fragmenti juda kichik bo'lsa, bu fragmentning ataylab tayyorlanganligini bildiradi. 400 baytdan kam bo'lgan oxirgi qismdan boshqa har qanday qism juda kichik deb hisoblanishi mumkin. Kichik qismlar xizmat hujumlarini rad etishda yoki xavfsizlik choralarini chetlab o'tishda yoki aniqlanishda ishlatilishi mumkin.

Qochish uchun parchalanish

Kabi tarmoq infratuzilmasi uskunalari routerlar, yuklarni muvozanatlashtiruvchi vositalar, xavfsizlik devorlari va ID bo'laklangan paketlarga mos kelmaydigan ko'rinishga ega. Masalan, qurilma dastlabki parchani qattiq tekshiruvdan o'tkazishi va tekshirishi mumkin, ammo barcha qo'shimcha qismlarning tekshiruvsiz o'tishiga imkon berishi mumkin. Ba'zi hujumlar ushbu faktdan foydalanib, jinoyatchilik uchun foydali yuklarni ma'lumotlarni qismlarga joylashtirish orqali aniqlanishdan qochadi. Ishlayotgan qurilmalar "to'liq" proksi-server rejimi odatda bu hiyla-nayrangga sezgir emas.

Adabiyotlar

  1. ^ a b Kurose, Jeyms F. (2013). Kompyuter tarmog'i: yuqoridan pastga yondashuv. Ross, Keyt V., 1956- (6-nashr). Boston: Pearson. p. 338. ISBN  9780132856201. OCLC  769141382.
  2. ^ Xollis, Ken. "Atirgul parchalanishiga qilingan hujum tushuntirildi". Arxivlandi asl nusxasi 2012-02-24. Olingan 2013-11-25.

Tashqi havolalar