Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Атаки на мережі TCP/IP
1. Вразливості мереж TCP/IP
Стек протоколів TCP/IP має низку недоліків, що робить мережі, збудовані на його основі, вразливими до віддалених атак. Це, зокрема:
2 Класифікація атак
Розрізняють наступні атаки, спрямовані проти вузла або цілої мережі TCP/IP:
Далі розглянемо деякі з них.
3. Підслуховування
За наявності доступу до каналів звязку виникає можливість відстежувати рух даних в мережі (трафік). Атаки, що експлуатують цю вразливість називають підслуховуванням (англ. sniffing).
Для підслуховування використовують спеціальні прикладні програми, які називають сніферами. Ці програми мають здатність перехоплювати мережеві пакети. Їх використовую для діагностики несправностей і аналізу трафіку. Оскільки дані в мережах TCP/IP часто передають у відкритому (незашифрованному) вигляді, застосовуючи сніфер можна отримати доступ до конфіденційної інформації. Наприклад, можна встановити імена користувачів, їх паролі, адреси комп'ютерів у мережі, у тому числі адреси серверів і запущені на них прикладні програми, адресу маршрутизатора, інші конфіденційні дані.
Перехоплення пароля, який передається в незашифрованому вигляді, шляхом прослуховування трафіку в каналі є різновидом атаки підслуховування парольним сніфінгом (англ. password sniffing).
Для осуществления подслушивания крэкеру необходимо иметь доступ к машине, расположенной на пути сетевого потока, который необходимо анализировать; например, к маршрутизатору или PPP-серверу на базе UNIX. Если крэкеру удастся получить достаточные права на этой машине, то с помощью специального программного обеспечения сможет просматривать весь трафик, проходящий через заданные интерфейс.
Схема осуществления анализа сетевого трафика
Второй вариант крэкер получает доступ к машине, которая расположена в одном сегменте сети с системой, которой имеет доступ к сетевому потоку.
Сегмент мережі це обєднання хостів на фізичному рівні. Наприклад, сегмент утворює сукупність хостів, підєднаних до сервера за схемою загальгальна шина. За такого підєднання кожен хост має можливість аналізувати пакети даних усіх хостів у своєму сегменті.
Например, в сети "тонкий ethernet" сетевая карта может быть переведена в режим, в котором она будет получать все пакеты, циркулирующие по сети, а не только адресованной ей конкретно.
4. Підміна MAC та IP адрес (Фальшивий ARP-сервер в мережі Internet)
Це вид атаки, яка експлуатує слабкість протоколу ARP, що діє на міжмережевому рівні. Інша назва цієї атаки фальшивий ARP-сервер.
Як зазначалося, маршрутизація в глобальних мережах здійснюється за IP-адресами, а в локальних за MAC-адресами. Тому виникає необхідність встановлювати відповідність між IP- та MAC- адресами вузлів в мережі. Їх можна встановлювати двояко статично (за допомогою прямого відображення) і динамічно, використовуючи ARP. Функціонально протокол ARP складається з двох частин. Одна частина визначає фізичні адреси при відправленні, інша відповідає на запити від мережевих пристроїв. Він працює наступним чином. За першого звертання до мережевого ресурсу хост надсилає широкомовний ARP-запип, в якому вказує IP-адресу потрібного йому ресурсу (маршрутизатора чи хосту) і просить повідомити його Ethernet-адресу. Цей запит отримують усі станції в сегменті, у тому числі й та, адресу якої він шукає. Отримавши цей запит, хост вносить запис про станцію, яка його запросила, у свою ARP-таблицю, а відтак надсилає їх ARP-відповідь зі своєю Ethernet-адресою. Ініціатор запиту заносить цю адресу в свою ARP-таблицю.
Для перехоплення трафіку між вузлами А и В, розташованими в одній мережі (див. рис. ), зловмисник розсилає сфальсифіковані ARP повідомлення так, що вузли обєкти атаки вважають MAC адресу зловмисника адресою свого співрозмовника.
Рис. Схема атаки "підміна MAC та IP адрес"
Атаку реалізують наступним чином.
Спочатку зловмисник, за допомогою ARP-запитів визначає МАС адреси вузлів А та В. Далі конфігурує на своєму компютері X два логічні IP інтерфейси і присвоює їм IP-адреси вузлів А та В, а відтак вимикає протокол ARP для цих інтерфейсів, щоб їх не було "чутно" в мережі. Наступним кроком він встановлює статичну ARP таблицю і дозволяє ретрансляцію IP пакетов. Це переводить комп'ютер зловмисника у режим маршрутизатора.
Переходячи до активних дії, зловмисник відправляє на MAC адресу вузла А кадр зі сфабрикованою ARP відповіддю, у якій повідомляє що IP адресі його абонента вузла B відповідає MAC адреса компютера Х. Вузлу В він теж повідомляє, що IP адресі вузла А відповідає MAC адреса компютера Х. Оскільки ARP не передбачає збереження стану, вузли А и В прийматимуть ARP-відповіді, незважаючи на те, що вони не посилали запитів. Ці дії зловмисник періодично повторює, перешкоджаючи кожному з вузлів А і В встановити істинну відповідністі IP- і MAC-адрес свого абонента, шляхом відсилання ARP запитів.
Уведені в такий спосіб в оману вузли А та В пересилають свій трафік через компютер Х, вважаючи, що спілкуються безпосередньо. Користуючись своїм становищем зловмисник може прослуховувати трафік, модифікувати його або ж зовсім не передавати кадри вузла А вузлові В і, видаючи себе за вузол В, фабрикувати відповіді від його імені, відсилаючи їх вузлу А.
Описана атака дія на вузли, розташовані в межах одного сегмента. Проте її можна застосовувати і для випадку коли хост, який перебуває в одному сегменті із зловмисником омінюється даними із хостом з-поза меж сегменту. Для цього зловмисник видає себе за маршрутизатор
Фази атаки
Из анализа механизмов адресации, описанных выше, становится ясно: так как поисковый ARP-запрос кроме атакующего получит и маршрутизатор, то в его таблице окажется соответствующая запись об IP- и Ethernet-адресе атакуемого хоста. Следовательно, когда на маршрутизатор придет пакет, направленный на IP-адрес атакуемого хоста, он будет передан не на ложный ARP-сервер, а непосредственно на хост. При этом схема передачи пакетов в этом случае будет следующая:
В этом случае последняя фаза, связанная с приемом, анализом, воздействием на пакеты обмена и передачей их между атакованным хостом и, например, маршрутизатором (или любым другим хостом в том же сегменте) будет проходить уже не в режиме полного перехвата пакетов ложным сервером (мостовая схема), а в режиме "полуперехвата" (петлевая схема).
Петлевая схема перехвата информации ложным ARP-сервером
Способ, позволяющий ложному ARP-серверу функционировать по мостовой схеме перехвата (полный перехват), - послать ARP-запрос, указав в качестве своего IP-адреса любой свободный в данном сегменте IP-адрес, и в дальнейшем вести работу с данного IP-адреса как с маршрутизатором, так и с "обманутыми" хостами (кстати, это типичная proxy-схема).
В заключение отметим, что, во-первых, причина успеха данной удаленной атаки кроется не столько в Internet, сколько в широковещательной среде Ethernet, а во-вторых, эта атака является внутрисегментной и представляет для вас угрозу только в том случае, если атакующий находится внутри вашего сегмента сети. Однако не стоит полагать, что из-за этого атака не представляет опасности, так как по статистике нарушений информационной безопасности вычислительных сетей известно, что большинство состоявшихся взломов производилось именно собственными сотрудникам компаний. Причины понятны: осуществить внутрисегментную удаленную атаку значительно легче, чем межсегментную. Кроме того, практически все организации имеют локальные сети (в том числе и IP-сети), хотя далеко не у всех они подключены к сети Internet. Это объясняется как соображениями безопасности, так и отсутствием у организации необходимости такого подключения. И наконец, сотрудникам, знающим тонкости своей внутренней вычислительной сети, гораздо легче осуществить взлом, чем кому бы то ни было. Поэтому администраторам безопасности нельзя недооценивать данную удаленную атаку, даже если ее источник находится внутри их локальной IP-сети.
Найпростіший спосіб нейтралізації цієї атаки використання статичної ARP-таблиці у вигляді файлу, в який заноситься інформація про адреси, і встановлення цього файлу на кожному хості в сегменті.
5. Впровадження фальшивого маршрутизатора
На відміну від атаки, яку щойно розглянули, атака навязування фальшивого маршруту (впровадження фальшивого маршрутизатора) може бути спрямована на дані, що передаються між мережами. Вона експлуатує слабкість протоколу протоколу керування міжмережевими повідомленнями ICMP.
Для забезпечення маршрутизації в памяті ОС кожного вузла створюються таблиці маршрутизації, які мість дані про можливі маршрути. Кажен сегмент мережі підєднаний до глобальної мережі Internet щонайменш через один маршрутизатор. Всі повідомлення, адресовані в інші сегменти мережі, скеровуються на рашрутизатор, який, у свою чергу, перенаправляє їх дальше за IP-адресою, вказаною в пакеті, выбираючи оптимальнийй маршрут. Як Протокол ICMP, що діє на міжмережевому рівні, дозволяє динамічно змінювати таблиці маршрутизації шляхом передавання на хост керуючого ICMP-повідомлення Redirect Message.
Для перехоплення трафіка, спрямованого від деякого вузла А вузлу B, що може перебувати в іншій мережі, зловмисник нав'язує хосту А адресу свого компютера X, як адресу найближчого маршрутизатора на шляху до вузла В. Нав'язування виконується за допомогою повідомлення Redirect ICMP, яке зловмисник надсилає хосту А, перебуваючи з ним у одному сегменті мережі (див. рис. ).
Рис. Схема атаки "навязування фальшивого маршрутизатора" в межах одного сегменту
Отримавши повідомлення Redirect, хост А сприймає його як реакцію на свою датаграму хосту В, відправлену раніше через справжній маршрутизатор Y. Заголовок отриманого від X повідомленння Redirect містить адресу маршрутизатора, тож хост А визначає новий маршрут для датаграм, спрямованих до В, і вносить у свою таблицю маршрутів приватний маршрут до хосту В через X.
Таким чином, для створення фальшивого повідомлення Redirect з метою перехоплення трафіка між хостами А и В зловмисник повинен перебувати в одній мережі з А и знати адресу маршрутизатора Y, через яку А відправляє датаграми у В. Якщо в мережі є єдиний шлюз, то він і є шуканим маршрутизатором.
Далі зловмисник формує IP датаграму, в якій адресою відправника вказано IP-адресу шлюзу, а одержувачем є хост А. Датаграма містить повідомлення Redirect, поле якого "адреса нового маршрутизатора" містить IP-адресу компютера зловмисника X. Датаграма містить також заголовок будь-якої датаграми, раніше надісланої з А в B. Оскільки протокол IP не зберігає інформацію про дата грами, відправлені раніше, необов'язково вказувати заголовок реальної датаграми.
Отримавши таке повідомлення адресат А вважає, що воно надійшло від справжнього маршрутизатора, який змінив свою MAC-адресу, змінює свою таблицю маршрутів. Новий маршрут до хосту В буде дійсний протягом декількох хвилин, тому, щоб підтримувати сфальшований маршрут впродовж деякого часу, зловмиснику слід періодично надсилати зфальшовані повідомлення.
Оскільки маршрутизатор Y і хост А перебувають в одній мережі, трафік з B в А, як і раніше, проходитиме через маршрутизатор Y, оминаючи зловмисника.
Атака такого типу дозволяє зловмиснику переглядати й модифікувати дані, що пересилаються з вузла А в B, і спостерігати за відповідями вузла В. Більше того, зловмисник може зовсім не пересилати датаграми у вузол В, а відповідати на них сам, фабрикуючи датаграми від імені вузла А.
Для створення фальшивого маршрутизатора можна використати й легальний компютер, зареєстрований у одному сегменті з вузлом А. Для цього слід сконфігурувати на цьому компютері вузол-фантом X, присвоївши йому вільні IP- і MAC- адреси. Фабрикуючи ARP-відповіді від імені вузла В, зловмисник забезпечує доставлення кадрів, призначених цьому вузлу, у свій сегмент, звідки він може їх отримати, налаштувавши свою мережеву карту на вигадану MAC-адресу Х, або отримати доступ до них за допомогою прослуховування.
Щоб захиститися від цієї атаки можна застосувати фільтрацію ICMP-повідомлень за допомогою міжмережевих екранів Firewall. Інший спосіб полягає в забороні мережевому ядру операційної системи реагувати на ICMP-повідомлення Redirect.
Нав'язування фальшивого маршруту для віддаленої атаки можна здійснювати різними способами, зокрема, використовуючи повідомлення Router Advertisement протоколу ICMP, яке вузли можуть використовувати для встановлення маршруту за замовчуванням. Якщо вузол А обробляє ці повідомлення, то сформувавши підроблене повідомлення Router Advertisement, зловмисник може перенаправляти на себе весь трафік хоста А, адресований за межі мережі A, а не тільки адресований вузлу В. Дані у зворотному напрямку від В до А, як і в попередньому випадку, доставлятимуться на хост А безпосередньо, оминаючи зловмисника.
Використання такої схеми не приховує Redirect атаки, проте виявлення зловмисника є доволі складне.
Слід зазначити, що повідомлення Router Advertisement рідко використовують, зазвичай хости використовують динамічне конфігурування стека TCP/IP, використовуючи протокол протокол динамічної конфігурації вузла DHCP (англ. Dynamic Host Configuration Protocol).
2.2.5. Фальсифікація повідомлень протоколу DHCP
Атака "фальсифікація повідомлень протоколу DHCP" буде успішна, якщо хост конфігурує себе через цей протокол. У відповідь на запит DHCPDISCOVER зловмисник оперативно повертає хосту підроблене повідомлення DHCPOFFER. В ньому, серед іншої інформації, він вказує себе як маршрутизатор за замовчуванням. Щоб випередити пропозицію від легітимного сервера, зловмисник може розсилати DHCPOFFER безупинно, щоб запит, що зробив, хост одержав пропозицію негайно. Якщо хост ухвалює пропозиції тільки від певних серверів, то зловмисник може легко видати себе за один з таких серверів, установивши відповідні зворотні адреси в датаграмах з DHCP- повідомленнями.
Маршрутизатори не реагують на повідомлення ICMP Redirect. Тому, якщо зловмисник, не перебуваючи в жодній з цих мереж, прагне перехопити трафік між будь-якими вузлами AP1 та BQ1 мереж Р та Q (рис. ), для успішної атаки слід використати протокол маршрутизації RIP, що діє на між мережевому рівні, щоб ввести в оману маршрутизатори.
Рис. Схема міжсегментної атаки "навязування фальшивого маршрутизатора"
Це можливо, якщо компютер зловмисника є на шляху між мережами Р та Q. Тоді зловмисник може сформувати підроблені повідомлення протоколу RIP з метою перемикання маршруту на себе.
Вузол Х, прийнявши широкомовні RIP-повідомлення, що розсилаються вузлами А (вектор P=3) і В (вектор Q=2), відправляє повідомлення з вектором Q=1 на індивідуальну адресу маршрутизатора А, а повідомлення P=2 на індивідуальну адресу В. Пропонуєчи їм "кращий" маршрут дя обміну повідомленнями між собою.
Якщо параметр Q, визначений маршрутизатором В, має одиничне значення: QB=1, то вузол Х не здатен запропонувати кращого маршруту. У цьому випадку можна застосувати наступне рішення.
Спочатку, дочекавшись паузи в розсиланні RIP повідомлень маршрутизатором В, Х від імені B надсилає на маршрутизатор А повідомлення, в якому визначає QB=16. Це змушує маршрутизатор А вилучити його зі своєї таблиці маршруту у мережу Q, тому що до цього А відправляв датаграми в Q через В. Одразу за цим вузол Х надсилає маршрутизатору А повідомлення, в якому визначає QX=1. Це змушує маршрутизатор А встановити маршрут у мережу Q через Х. Отримані по цьому RIP-повідомлення від B, в яких QB=1, ігноруватимуться, оскільки маршруту, який вони пропонують, є не кращий за поточний.
2.2.6. Несанкціоноване підключення до мережі
Ще один тип віддалених атак на протоколи TCP/IP несанкціоноване підключення до мережі.
Атаки цього типу можливі в разі, якщо зловмисник має фізичну можливість такого підключення. У великих корпоративих й особливо університетських мережах така можливість часто є.
Наступним кроком зловмисника є конфігурування параметрів стека TCP/IP його вузла. Прослуховування мережі (чи її сегмента) дає зловмисникові багато корисної інформації. Зокрема, він може визначити, які IP адреси мають вузли мережі, і за допомогою запиту Echo протоколу ICMP визначити, які адреси не використовуються. Після цього зловмисник може призначити собі IP-адресу, що не використовується в мережі.
Встановити IP адресу маршрутизатора за замовчуванням можна, підслухавши кадри з датаграмами, спрямованими на IP адреси, що не належать мережі. Ці кадри містять MAC адресу маршрутизатора. Очевидно, що вузли мережі час від часу генерують ARP запити про MAC адресі маршрутизатора. Відповіді на ці запити, що посилають маршрутизатором, містять як його MAC адресу, так і IP адресу. Знаючи MACадресу маршрутизатора й підслухавши такі відповіді, зловмисник визначить шукану IP адресу. Для виявлення маршрутизатора зловмисник може використовувати також повідомлення ICMP Router Advertisement/Solicitation. Для визначення маски мережі зловмисник може послати на адресу маршрутизатора повідомлення ICMP Address Mask Request. У відповідь він повинен вислати маску мережі в повідомленні Address Mask Reply.
Якщо маршрутизатор не підтримує повідомлення Address Mask Request/Reply, зловмисник може застосувати методо арифметичних обчислень. Він визначає мінімальну мережу, що включає його власна адреса й знайдена адреса маршрутизатора, і призначає собі маску цієї мережі. Усі датаграми, спрямовані за межі цієї мінімальної мережі, будуть передані маршрутизатору. Якщо маска визначена неправильно, і насправді зловмисник перебуває в другій мережі і посилає датаграму вузлу, маршрутизатор прийме цю датаграму від зловмисника й просто передасть її вузлу призначення в цій же самій мережі.
2.2.7. Фальшивий DNS сервер
Атака типу «фальшивий DNS сервер» використовує особливості прийнятої в Інтернеті системи перетворення доменного імені вузла в його IP-адресу.
Служба DNS (англ. Domain Name System) складається із системи DNS-серверів, які на запити хостів втановлюють відповідності між доменними іменами вузлів та їх IP-адресами. Хост звертається до найближчого DNS-сервера, передаючи в своєму запиті доменне імя потрібного йому вузлв. Якщо сервер не знаходить відповіді на запит у своїй базі даних, то переадресовує його на DNS-сервер і т.д.
Служба DNS функціонує за замовчуванням на базі протоколу UDP, в якому, як зазначалося, на відміну від TCP, не передбачені засоби ідентифікації повідомлень, що робить її вразливою до атак такого типу.
Перехоплюючи DNS-запити і відповіді, якими обмінюються обєкт атаки і справжній DNS-сервер, фальшивий DNS-сервер модифікує їх, вказуючи в іх заголовках свою IP-адресу як адресу відправника. В такий спосіб зловмисник може контролювати інформаційний обмін між обєктом і DNS-сервером.
Відомі два варіанти реалізації цієї атаки. Перший реалізують шляхом перехоплення DNS-ззапиту. Для цього необхідно, щоб нападник був на в одному сегменті з обтом атаки, або на шляху основного трафику. У другому способі зловмисник скеровує на обєкт шторм фальшивих заздалегідь підготовлених DNS-відповідей.
2.2.8. DoS-атаки
Метою атак типу "відмова в обслуговуванні" є приведення вузла або мережі, що атакується, в такий стан, коли передача даних іншому вузлу або передача даних взагалі стає неможлива чи вкрай ускладнена. Внаслідок цього користувачі мережевих програм, що працюють на вузлі обєкті атаки DoS, не отримують необхідних сервісів.
DoS атаки умовно поділяють на три групи:
2.2.9. Затоплення SYN-пакетами
Як приклад DoS атаки розглянемо атаку «затоплення SYN-пакетами» (англ. SYN-flooding) найбільш відома атака. Про неї згадував ще в 1986 році Роберт Т. Моррис.
Як зазначалося для забезпечення надійної доставки даних на транспортному рівні використовується протокол TCP, який перевіряє факт доствки даних в мережі в потрібному порядку. Для цього протокол здійснює логічне зднання. Надійність TCP забезпечує механізм підтвередження прийому з повторною передачею PAR (Positive Acknowledgment with Retransmission). Система, в якій застосовна PAR, повторно відсилає дані аж до отримання від адресата підтвердження, про успішну доствку даних.
Для встановлення зєднання TCP використовує спеціальну процедуру так зване потрійне рукопотискання. Її реалізують шляхом обміну між вузлами трьома TCPсегментами. Нехай вузол А відкриває зєднання. Тоді він надсилає вузлу В TCP-сегмент з встановленим бітом (прапорцем) SYN (англ. Synchronize sequence numbers) синхронізації порядкових номерів сегментів. Цим він дає знати вузлу В, що бажає встановити зднання і повідомляє номер початкового сегмента своїх повідомлень. Вузол В відповідає А сегментом, в якому встановленими прапорцями «підтверждения» АСК (англ Acknowledgment) и «синхронізації» SYN (англ. Synchronization). Цим сегмент В підтверджує отримання від А запиту на зєднання і повідомляє свій початковий номер сегменту. І, нарешті вузол А ініціатор зєднання передає TCP-сегмент зі встановленим прапорцем АСК, чим підтверджує отримання ним від В підтвердження.
Отже, вузол В, отримавши від А SYN-повідомлення і відславши йому у відповідь АСК- повідомлення, очікуватиме від A підтвередження. Цю особливість експлуатує атака «затоплення SYN-пакетами». Надсилаючи SYN-запити на обєкт атаки, зловмисник змушує його виділяти під кожен такий запит певні системні ресурси. Звичайно, через деякий проміжок часу модуль TCP обєкта ліквідує так і не відкрите з'єднання, проте, якщо зловмисник згенерує велику кількість SYN-запитів, то на них будуть задіяні усі ресурси, передбачені операційною системою для обслуговування з'єднань, і модуль TCP не зможе обробляти SYN-сегменти від добропорядних користувачів, аж до звільнення від запитів зловмисника. Неперевно посилаючи нові SYN-запити, зловмисник може доволі довго втримувати жертву в заблокованому стані. Щоб припинити атаку, зловмисник посилає серію сегментів зі встановленим прапорцем RST, що призведе до ліквідації з'єднань, які очікують на підтвердження.
2.2.10. Затоплення ICMP-пакетами
Атака "затоплення ICMP-пакетами" (англ. Ping flooding) використовує програму ping, призначену для оцінки якості лінії. Програма надсилає ICMP-пакет типу ECHO REQUEST, зазначаючи в ньому час відпрвлення і ідентифікатор пакету. Операційне ядро машини-отримувача відповідає на цей запит пакетом ICMP ECHO REPLY. Отримавши цей пакет програма ping обчислює час проходження пакету. За стандартного режиму работи програми пакети выслаются через достатньо великі проміжки часу, що практично не навантажує мережу. Проте програма може здійснювати тестування в прискореному режимі, у якому запити відсилаються з максимально можливою швидкістю. Це дозволяє оцінити працездатність мережі за максимального навантаження. У цьому режиме потік ICMP echo request/reply-пакетів может створити перевантаження лінії і позбавити її в такий спосіб здатності передавати корисну інформацію.
Зловмисник може скеровати сфальсифіковані ICMP ECHO-запити від імені жертви на широкомовні адреси мереж, прагнучи використати їх як підсилювачі атаки. Що більша кількість вузлів у мережах-підсилювачах підтримуючих обробку широкомовних ICMP-запитів, то більша кількість відповідей буде одночасно скерована на обєкт атаки. У результаті мережа, у якій перебуває обєкт нападу, сам вузол, що атакується, а також і мережі-підсилювачі можуть бути тимчасово заблоковані шквалом ICMP-запитів.
Відстежити нападника, який здійснює цю атаку, практично нереально. Ознаками здійснення є різке зростання навантаження на канал і збільшення кількості ICMP-пакетів. Щоб захиститися від цих атак можна використати налаштування маршрутизаторів, щоб вони фільтрували ICMP-трафік, якщо він перевищує деяку наперед задану величину.