Смекни!
smekni.com

Комп’ютерні мережі. Аналіз роботи і оптимізація (стр. 9 из 10)

SYN - біт синхронізації;

FIN - біт завершення з'єднання.

Розглянемо порядок створення TCP-з’єднання.

1.Якщо хосту А необхідно створити TCP-з’єднання з хостом В, то хост А посилає хосту В наступне повідомлення: A -> B: SYN, ISSa

Це означає, що вповідомленні, яке передається хостом А встановлений біт SYN (Synchronize sequence number - номер послідовності синхронізації), а в полі порядкового номера встановлено початкове 32-бітне значення ISSa (Initial Sequence Number - початковий номер послідовності).

2. У відповідь на отриманий від хосту А запит хост В відповідає повідомленням, в якому встановлений біт SYN і встановлений біт АСК. У полі порядкового номера хост В встановлює своє початкове значення лічильника – ISSb. Поленомера підтвердження при цьому міститиме значенняISSa,отриманев першому пакеті від хосту А і збільшене на одиницю. Таким чином, хост В відповідає таким повідомленням: B-> A: SYN, ACK, ISSb, ACK(ISSa+1)

3. Нарешті, хост А посилає повідомлення хосту В, в якому: встановлений біт АСК; поле порядкового номера містить значення ISSa + 1; поле номера підтвердження містить значення ISSb + 1. Після цього ТСР-з’єднання між хостами А і В вважається встановленим:

A-> B: ACK, ISSa+1, ACK(ISSb+1)

4. Тепер хост А може посилати пакети з даними на хост В по тільки що створеному віртуальному TCP-каналу:

А -> В: АСК, ISSa+1, ACK(ISSb+1); DATA

Тут DATA позначає дані.

Із розглянутого вище алгоритму створення TCP-з’єднання видно, що єдиними ідентифікаторами TCP-абонентів і TCP-з’єднання є два 32-бітні параметри порядкового номера і номера підтвердження - ISSa і ISSb. Отже, якщо хакерові вдасться дізнатися поточні значення полів ISSa і ISSb, то йому ніщо не перешкодить сформувати сфальсифікований TCP-пакет. Це означає, що хакерові досить підібрати поточні значення параметрів ISSa і ISSb пакету TCP для даного TCP-з’єднання, послати пакет з будь-якого хосту Інтернету від імені клієнта даного TCP-підключення, і даний пакет буде сприйнятий як дійсний.

Таким чином, для здійснення описаної вище атаки необхідною і достатньою умовою є знання двох поточних 32-бітових параметрів і ISSb, що ідентифікують TCP-з’єднання. Розглянемо можливі способи їх отримання. У разі, коли хакреський хост підключений до мережевогосегменту, що атакується, завдання отримання значень ISSa і ISSb є тривіальним і вирішується шляхом аналізу мережевого трафіку. Отже, потрібно чітко розуміти, що протокол TCP дозволяє захистити з'єднання тільки у випадку-неможливості перехоплення хакером повідомлень, які передаються по даному з'єднанню, тобто тільки у разі, коли хакреський хост підключений до мережевого сегменту, відмінного від сегменту абонента TCP-з’єднання [4].

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

·Математичний прогноз початкового значення параметрів TCP-з'єднання за екстраполяцією попередніх значень ISSa і ISSb.

·Використання вразливостей ідентифікації абонентів TCP-з’єднання на rsh-серверах Unix.

Перше завдання вирішується шляхом поглиблених досліджень реалізації протоколу TCP в різних операційних системах і сьогодні має тільки теоретичне значення. Друга проблема вирішується з використанням вразливостей системиUnix ідентифікації довірених хостів. Довіреним по відношенню до даного хосту А називається мережевий хост В, користувач якого може підключитися до хосту А без аутентифікації за допомогою r-служби хосту А. Маніпулюючи параметрами TCP-пакетів, хакер може спробувати видати себе за довірений хост і перехопити TCP-з’єднання з хостом, що атакується[5].

Єдиним порятунком від перехоплення даних є їх шифрування, тобто криптографічні методи захисту. Посилаючи в мережі повідомлення, слід заздалегідь припускати, що кабельна система мережі абсолютно уразлива, і будь-який хакер, що підключився до мережі, зможе виловити з неї всі передані секретні повідомлення. Є дві технології вирішення цієї задачі - створення мережі VPN і шифрування самих повідомлень. Всі ці завдання можна вирішити за допомогою пакету програм PGP Desktop Security[12].

3.5 Комутований доступ до мереж

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

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

Ці звуки є не що інше, як сигнали, за допомогою яких модеми зв'язуються один з одним. Знаючи протокол взаємодії модемів, частоти, послідовності і тривалість сигналів - для фахівців секретів тут немає, можна написати програму, що автоматизує процес пошуку модемних ліній зв'язку, здатну перебирати набори телефонних номерів із заданогодіапазону, виявляти модемні лінії зв'язку і записувати отримувані повідомлення в спеціальний журнал [4].

На сьогоднішній день існує безліч програм-сканерів, найвідоміші з них – це утиліта LoginHacker, що дозволяє застосовувати для завдань сканування сценарії, утиліта THN-Scanі ToneLock компанії MinorThreat&MuchoMaas. Дві останні утиліти запускаються з команднихрядків і не мають графічного інтерфейсу.

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

Щоб приступити до злому ліній зв'язку, хакерові необхідно знати телефони організації, тому перше завдання хакера - визначити, хоч би приблизно, діапазон номерів організації, комп'ютерну систему якої хакер буде атакувати.

Перед виконання атаки кваліфікований хакер завжди виконує попередній збір даних про організацію, який полягає в пошуку всіх відомостей, які хакер може зібрати про комп'ютерну систему, що атакується. Мається на увазі інформація, що містить звіт про комп'ютерну мережу організації. На хакреських сайтах можна знайти файли з результатами сканування широкого діапазону телефонних номерів. У цих файлах можна знайти безліч відомостей про телефони різних організацій з вказівкою програми, що приймає дзвінки, і навіть відомостей пропаролі доступу[12].

3.5.1 Сканер PhoneSweep 4.4

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

Програма PhoneSweep позбавлена цих недоліків і пропонує всім користувачам могутні засоби тестування модемних ліній на предмет їх захищеності від несанкціонованого доступу. Програма PhoneSweep володіє такими можливостями.

·Працює на операційних системах Windows 95/98/NT/2000/XP.

·Забезпечена зручним графічним інтерфейсом.

·Дозволяє тестувати системи захисту на стійкість до атак «грубою

силою» з генерацією пар логін/пароль для злому з'єднань за протоколом РРР (Point-to-Point protocol - Протокол двоточкового з'єднання).

·Дозволяє створювати звіти, що налаштовуються.

·Дозволяє працювати з декількома модемами, від 1 до 4.

·Дозволяє зупиняти і перезапускати сканування з різними налаштуваннями, причому без всякої втрати отриманих даних.

3.5.2 Робота з програмоюPhoneSweep 4.4

Щоб почати сканування телефонних номерів за допомогою програми Phone-Sweep, слід зробити три операції.

·У робочому вікні програми PhoneSweep відкрити вкладку Setup (Параметри), представлену на рис. 3.22 і налаштувати поточний профіль програми.

·Відкрити вкладку Phone Numbers (Телефонні номери), представлену на Рис. 3.21 і, клацнувши на кнопці Add (Додати).В діалозі Add Phone Numbers (Додати номери телефону), представленому на рис. 3.23, ввести діапазон телефонних номерів для прозвону.

·У робочому вікні програми PhoneSweep клацнути на кнопці Start (Старт) і дочекатися результатів.

Основною процедурою є налаштування профілю програми, яка в термінах довідкової системи програми називається створенням правил прозвону (dialing riles).

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

Для ідентифікації і злому доступу до віддаленої системи слід відкрити вкладку Effort (Режим) (рис.3.24).

Як видно з рис. 3.24, тут є все необхідне, щоб злом віддаленої системи пройшов якомога ефективніше. У списку Set Level (Встановіті рівень), можна вибрати, чи слід просто під'єднатися до телефону (пункт Connect (З'єднатися)), або ж спробувати ідентифікувати віддалену систему (пункт Identity (Ідентифікація)), або ж спробувати зламати доступ до системи (пунктPenetrate (Проникнути)). При цьому список Scan For (Сканувати), дозволяє вибрати режим пошуку модемів факсимільних апаратів, що важливо для різних застосувань (безглуздо, намагатися зламати доступ до факсимільного апарату).