Мережеві атаки - атаки, засновані на ip-фрагментації

Мережеві атаки базуються на вразливості прямо пов'язаних з протоколами або їх реалізаціями. Існує безліч варіантів атак, проте переважна їх більшість засноване на п'яти відомих типах.

Атаки, засновані на IP-фрагментації

Дана атака спрямована на устаткування, що знаходиться за захистом IP фільтруючого обладнання. Для її реалізації зловмисники використовують два різних методу: "мікрофрагменти" (Tiny Fragments) і "перекриття фрагментів" (Fragment Overlapping). Ці атаки стають надбанням історії, оскільки сучасні міжмережеві екрани давно успішно з ними справляються.

мікрофрагменти

Згідно з документом RFC (Request For Comment) 791 (IP), всі вузли (маршрутизатори) Internet повинні вміти передавати пакети, розміром 68 байт, без їх фрагментації. Мінімальний розмір заголовка IP-пакета, без опцій - 20 байт. При заданих опціях, максимальний розмір заголовка дорівнює 60 байтам. В поле IHL (Internet Header Length) міститься довжина заголовка в 32 бітових словах. Це поле використовує 4 біта, тому кількість можливих його значень дорівнює 2 ^ 4 - 1 = 15 (поле не може приймати значення 0000). Отже, максимальний розмір заголовка дійсно дорівнює 15 * 4 = 60 байтам. Нарешті, поле зміщення фрагмента (Fragment Offset). вказує зміщення першого байта фрагмента щодо всієї дейтаграми, займе 8 байт. Таким чином дані в фрагменті займають мінімум вісім байт. Звідки і отримуємо розмір пакета в 68 байт.

Атака складається з запиту TCP з'єднання, фрагментированного на два IP-пакета. Перший IP-пакет складається з 68 байт і містить лише перші вісім байт заголовка TCP (порти джерела, призначення, і порядковий номер). Дані другого IP-пакета містять запит на TCP з'єднання (Прапор SYN встановлений, ACK знятий).

Пакетні фільтри застосовують один і той же правило до всіх фрагментів пакета. По першому фрагменту (зміщення = 0) вибирається правило, відповідно до якого обробляються всі інші фрагменти пакета без жодного додаткового контролю. Таким чином, при складанні фрагментів на цільовій машині формується пакет із запитом на з'єднання. В результаті встановлюється з'єднання незважаючи на те, що пакетний фільтр повинен був запобігти такій ситуації

На малюнках 1 і 2 показані обидва фрагмента, а на третьому - дефрагментувати пакет на цільовій машині:

Рис.1: Фрагмент 1

Мережеві атаки - атаки, засновані на ip-фрагментації

Рис.2: Фрагмент 2
Мережеві атаки - атаки, засновані на ip-фрагментації

Рис.3: дефрагментірован пакет
Мережеві атаки - атаки, засновані на ip-фрагментації

перекриття фрагментів

Відповідно до того ж RFC 791 (IP), якщо два IP-фрагмента перекриваються, другий перезаписує собою перший. Даний тип атаки також полягає в розбитті IP-пакета на два фрагмента. Пакетний фільтр пропускає перший пакет з 68 байт (за тим же принципом, що і в атаці типу "мікрофрагменти") оскільки він не містить запиту на TCP з'єднання (прапор SYN = 0 і прапор ACK = 0). І знову, дане правило застосовується для всіх фрагментів пакета. Другий фрагмент (зі зміщенням = 1), що містить справжні дані про з'єднання, пропускається фільтром, так як він не бачить, що в цьому фрагменті міститься запит на встановлення з'єднання. При дефрагментації, дані другого фрагмента заміщають дані першого, починаючи з восьмого байта (так як зсув = 1). Результуючий пакет виходить коректним запитом на з'єднання для цільової машини. З'єднання встановлено, незважаючи на присутній пакетний фільтр.

На малюнках 1 і 2 показані обидва фрагмента, а на третьому - дефрагментувати пакет на цільовій машині:

Рис.4: Фрагмент 1

Мережеві атаки - атаки, засновані на ip-фрагментації

Рис.5: Фрагмент 2
Мережеві атаки - атаки, засновані на ip-фрагментації

Рис.6: дефрагментірован пакет
Мережеві атаки - атаки, засновані на ip-фрагментації

Якщо Ви не знайшли що шукали, то рекомендую скористатися пошуком по сайту: