Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Атака Land




Атака, що дістала назву Land, — це окремий випадок атаки IP spoofing. Ця атака, незважаючи на її простоту, була здатна призводити у багатьох операційних системах до відмови в обслуговуванні: спостерігалося значне навантаження процесора, аж до 100 %, а в деяких випадках — збої або зависання системи (UNIX-системи демонстрували «kernel panic», a Windows — «синій екран») [15].

Сутність атаки полягала в тому, що IP-адресу жертви було вказано в ІР-пакеті і як адресу призначення, і як адресу джерела. Крім того, як транспортний протокол використовувався TCP (це спонукало систему до спроби відповісти на отриманий пакет з метою встановлення з’єднання), причому в заголовках ТСР-портів джерела і пункту призначення вказувався один і той самий порт — будь-який із відкритих портів у системі. У результаті система намагалася відповісти собі самій. Хоча така атака

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

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

Позаяк атака Land відома вже давно, в сучасних системах під впливом цієї атаки не повинно виникати нештатних ситуацій.

16.3.3. Атаки, що ґрунтуються на помилках оброблення фрагментованих пакетів

Алгоритм збирання фрагментованих пакетів не мав на меті виявляти зловживання, і тому в деяких реалізаціях некоректно відпрацьовував спеціальним чином підготовлені порушником фрагменти. Результатом було перезавантаження системи або «зависання» комп’ютерів («kernel panic» в UNIX і Linux, «синій екран» у Windows).

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

Перевищення максимально припустимого розміру ІР-пакета (атака Ping Death)

Максимальний розмір IP-пакета разом із заголовком становить 65 535 байт. Пакет більшого розміру не може бути доставлений через мережу. Тому не викликає подиву, що програмні засоби, які реалізовували стек TCP/IP на кінцевому вузлі, виявилися неспроможними коректно обробляти ситуацію, коли надходив пакет більшого розміру. У цьому випадку відбувалося переповнення буфера з усіма можливими наслідками.

Яким чином такий пакет міг опинитися в буфері? Завдяки фрагментації пакета. Як уже йшлося, майже всі сучасні мережні технології мають значно жорсткіші обмеження на розмір пакетів, ніж у 65 535 байт. Отже, пакет доставляється у вигляді окремих фрагментів і збирається вже на кінцевому вузлі. Саме помилки, що виникають під час збирання такого пакета, і призводили до збоїв систем.

Найвідомішою була атака Ping Death, в якій застосовувався протокол ІСМР, тобто ехо-запити ICMP (Ping). У першому варіанті атаки було запропоновано просту маніпуляцію з параметром довжини ping-пакета. Якщо вказати довжину 65 527 байт (команда ping -1 65527 victim, де victim — IP-адреса чи доменне ім’я комп’ютера-жертви), загальна довжина ІР-пакета становитиме 65 555 байт (до заданої довжини додається 8 байт заголовка ІСМР і 20 байт заголовка IP). На сайті CERT [174] було опубліковано дуже великий список операційних систем, уразливих до цієї атаки. До речі, вже в самому заголовку IPv4 закладено можливість перевищення довжини пакета.

Атаки Teardrop і Bonk

Спочатку розглянемо, які потенційні можливості для атак приховано в запропонованому в RFC 791 алгоритмі складання дейтаграм із фрагментів.

Перше, що впадає в око в запропонованій у RFC процедурі, — відсутність можливості перевірити, чи всі фрагменти дейтаграми вже надійшли. Єдине, що можна робити, — це контролювати заповнення «вікон» від початку поля буфера збирання до кінця фрагмента, позначеного як останній. За наявності незаповнених вікон процедура впродовж встановленого тайм-аута очікуватиме на наступні фрагменти.

Якщо у заголовку фрагмента було встановлено TTL=255 (значення зменшилося на кілька одиниць після проходження пакета через маршрутизатори), то для тайм-аута буде задано саме це значення (у секундах). Тобто протягом майже

чотирьох хвилин ресурси комп’ютера, зокрема й зарезервований буфер, будуть зайнятими. Тут є очевидна можливість для DoS-атаки. Достатньо створити два фрагменти: перший, який може мати довільний розмір, і другий, позначений як останній, з великим значенням зміщення і TTL=255. Якщо надіслати велику кількість таких пар фрагментів (здійснити міні-шторм), то можна досягти переповнення черги і заблокувати атаковану машину.

Атака була поширеною у 1997 році та дістала назву Teardrop. Вона вражала як системи Linux з ядрами до версії 2.0.32 включно, так і Windows 9х та NT. Пізніше з’явилися різновиди цієї атаки, такі як Newtear, а також Bonk і Boink. Останні дві атаки використовували не перекриття фрагментів, а навпаки, «вікна», що залишалися між ними.

Дотепер помилка програмістів, що зробила можливими ці атаки, через руйнівність спричинених нею наслідків вважається однією з найзначніших програмних помилок.

Фрагментація IP як засіб проникнення через брандмауер

Свого часу було запропоновано спосіб проникнення через брандмауер, який засновувався на використанні фрагментації IP-пакетів. Аналізуючи заголовки IP та TCP (UDP), брандмауер спочатку визначає, чи не є досліджуваний пакет фрагментом. Якщо ні, то відразу за заголовком IP, з

якого визначають як мінімум адреси джерела та призначення і тип протоколу, має бути розташований заголовок відповідного транспортного протоколу, наприклад TCP. З нього брандмауер визначає порти джерела і призначення (а також, за потреби, іншу інформацію). Усі зазначені дані використовують для здійснення фільтрації пакетів, тобто приймається рішення: пропускати цей пакет чи ні.

Ідея використання фрагментації полягала у тому, що перший пакет мав містити в заголовку TCP дозволені значення портів, а наступний пакет (або будь- який з наступних пакетів), позначений як фрагмент, — мінімальне зміщення і нові, недозволені параметри (головною метою, звісно, була підміна порту призначення). Здавалося, що це досить серйозна загроза, адже брандмауер не очікує заголовка транспортного протоколу у фрагменті та не здійснює відповідних перевірок. Уперше на цю вразливість у 1995 році вказав Фред Коен (Fred Cohen) у своєму онлайн-журналі «Internet Holes» [179].

Однак, як з’ясувалося, в такому вигляді загроза є міфічною. І кінцеві вузли, і брандмауери визначають перший фрагмент пакета (той, що обов’язково містить заголовок вищого рівня) за нульовим зміщенням (і це не примха розробників, а дотримання RFC 791). Тобто, якщо вказати зміщення «0», то пакет буде сприйнятий, як перший фрагмент. Брандмауер проаналізує номери портів, зазначені в його заголовках. Проте слід визнати, що хост-одержувач, коли до нього потрапляє такий пакет, згідно з RFC вставляє його в належне місце, незважаючи на те, чи є там фрагмент, і перевизначає номери портів. Помилку при цьому він не фіксує.

16.3.4. Можливості, закладені у протокол IPv6

Активна робота із створення нової версії протоколу IP розпочалася в 1992 році. Головне, що спонукало суттєво переглянути наявний протокол IPv4, — це вади адресації: недостатній адресний простір і відсутність (точніше сказати, катастрофічна нестача) структурування адреси (яку поділяли лише за номером мережі та номером вузла у мережі) та будь-якої системи в географії адрес.

Стандарти, які визначають специфікації IPv6, було прийнято в 1998 році.

Визначено такі заголовки IPv6:

 Routing (Маршрутизація) — заголовок для задавання повного маршруту в разі маршрутизації від джерела;

 Fragmentation (Фрагментація) — заголовок, що містить інформацію про фрагментацію пакета;

 Authentication (Автентифікація) — заголовок, що містить інформацію для автентифікації кінцевих вузлів і забезпечення цілісності повідомлення;

 Encapsulation (Інкапсуляція) — заголовок, який містить інформацію, необхідну для забезпечення конфіденційності повідомлення шляхом шифрування;

 Hop-by-Hop Options — опції оброблення пакета в режимі Нор-Ьу-Нор;

 Destination Options — додаткова інформація для вузла призначення.

 

Дуже важливою інновацією IPv6 є вбудовані засоби безпеки, що передбачають інкапсуляцію та автентифікацію. Вони реалізовані у протоколі, який дістав назву IPSec, і хоча останній є складовою IPv6, він у своєму впровадженні значно випереджає IPv6. Якщо протокол IPv6 ще дуже мало

 


Поделиться:

Дата добавления: 2014-12-23; просмотров: 155; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты