ТУ - София Дипломна работа Лист 3 Въведение. За да се разгледа въпроса относно безопасността необходимо е да се напомнят основните понятия от теорията на компютърната безопасност. Общо взето те са само три: това са заплаха, уязвимост и атака. Макар че смисъла на тези думи е ясен, нека да го поясним още веднъж неформално. Заплаха за безопасността на една компютърна система е потенциално възможно произшествие, което може да окаже нежелателно въздействие върху самата система, а също така върху информацията, която се съхранява в нея, и не е важно, дали това произшествие е преднамерено или не е. С други думи заплахата е нещо лошо което може да се случи някога. Уязвимостта на една компютърна система е неудачна характеристика, която прави възможно възникването на заплаха. С други думи, точно поради наличието на уязвимост в системата се случват нежелателни събития. И последно, атака на една компютърна система, това е действие, предприето от зломисленик, което се заключава в търсенето и използването на една или друга уязвимост. По този начин , атаката е реализация на заплаха. Да забележим, че такава дефиниция на атака (с участие на човек с лоши намерения), изключва елемента на случайност от определянето на заплаха, но
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ТУ - София Дипломна работа Лист 3
Въведение.
За да се разгледа въпроса относно безопасността необходимо е да се
напомнят основните понятия от теорията на компютърната безопасност.
Общо взето те са само три: това са заплаха, уязвимост и атака. Макар че
смисъла на тези думи е ясен, нека да го поясним още веднъж неформално.
Заплаха за безопасността на една компютърна система е
потенциално възможно произшествие, което може да окаже нежелателно
въздействие върху самата система, а също така върху информацията, която
се съхранява в нея, и не е важно, дали това произшествие е преднамерено
или не е. С други думи заплахата е нещо лошо което може да се случи
някога.
Уязвимостта на една компютърна система е неудачна
характеристика, която прави възможно възникването на заплаха. С други
думи, точно поради наличието на уязвимост в системата се случват
нежелателни събития.
И последно, атака на една компютърна система, това е действие,
предприето от зломисленик, което се заключава в търсенето и
използването на една или друга уязвимост. По този начин , атаката е
реализация на заплаха. Да забележим, че такава дефиниция на атака (с
участие на човек с лоши намерения), изключва елемента на случайност от
определянето на заплаха, но както показва опита, често е трудно да се
различат преднамерените и случайните действия, и добрата защитна
система трябва адекватно да реагира на всяко от тях.
Изследователите обикновено разделят три основни вида заплахи за
безопасността – това е заплаха за дискретността, целостността и отказ в
обслужването.
Заплаха за дискретността се заключава в това че информацията
става известна на този, който не трябва да знае. В определенията на
компютърната безопасност заплахата за дискретността има място всеки
ТУ - София Дипломна работа Лист 4
път, когато е получен достъпа към някоя конфиденциална информация,
която се съхранява в изчислителната система или се предава от една
система към друга. Понякога вместо думата "дискретност" се използва
думи като "кражба" или "загуба".
Заплаха за цялостността включва в себе си всякаква умишлена
промяна(модификация или дори премахване) на данни, които се
съхраняват в изчислителната система или се предават от една система към
друга. Обичайно се смята, че на заплахата за дискретност са подложени в
по-голяма степен държавните структури, а на заплаха за цялостност –
деловите и търговските структури.
Заплаха отказ в обслужване възниква всеки път, когато в резултат
на някакви действия блокира достъпа до някои ресурси на изчислителната
система. Реалното блокиране може да е постоянно, така че запитвания
ресурс никога да не бъде получен, или може да извика само забавяне на
запитвания ресурс, достатъчно дълго за да стане безполезен. В такива
случаи казват, че ресурса е изчерпан.
Основна особеност на всяка мрежова система се явява това, че
нейните компоненти разпределени в пространство и връзката между тях
физически се осъществява с помощта на мрежови съединения (коаксиален
кабел, усукана двойка, оптическо влакно и т. н.) и програмно с помощта на
механизъма за съобщения. При това всички управляващи съобщения и
данни, препращани между обекти в една разпределена изчислителна
система се предават по мрежови съединения във вид на пакети за обмен.
Мрежовите системи са характерни с това, че заедно с обикновени
(локални) атаки, който може да се осъществят в пределите на една
компютърна система, към тях също така са възможни специфични видове
атаки, обусловени с разпределеността на ресурси и информация в
пространството. Това са така наречените мрежови (или отдалечени) атаки.
Те са характерни, първо, с това че злоумишленика може да се намира на
разстояние хиляда километри от атакувания обект, и друго, с това че под
ТУ - София Дипломна работа Лист 5
атака може да бъде не конкретен компютър, а информацията, предавана по
мрежови съединения. С развитието на локални и глобални мрежи именно
отдалечените атаки стават лидиращи както по брой опити, така и по-
успешност в тяхното използване, съответствено, осигуряването на
безопасност на изчислителна мрежа от гледна точка на защита от
отдалечени атаки придобива първостепенно значение. Спецификата на
разпределени изчислителни системи се състои в това, че ако в локална
изчислителна система най-чести са били заплахите от разкривания и за
цялостност, то в мрежовите системи, както ще бъде показано по-нататък на
първото място излиза заплахата отказ за обслужване.
Под отдалечена атака ще имаме предвид информационно-
разрушаващо въздействие на разпределена изчислителна система,
програмно осъществимо по канали за свързване. Това определяне обхвата
и двете особености на мрежовите системи: разпределеност на компютри и
разпределеност на информация. Затова по-нататък ще разглеждаме два
вида на такива атаки: отдалечени атаки на инфраструктура и протоколи на
мрежа и отдалечени атаки на телекомуникационни служби. Първо се
използва уязвимост в мрежовите протоколи и в инфраструктурата на една
мрежа, а второ - уязвимост в телекомуникационните служби. При това под
инфраструктура на мрежа ние подразбираме системата на организация на
отношенията между обектите на една мрежа и използваните в тази мрежа
сервизни служби.
Информацията, като резултат на автоматизирано обработване всяка
година, предопределя ежедневните дейностите на все по-голямо
количество хора и все по-голям брой технически системи, създадени от
човек. От тук се разбира актуалността на задачата за защита на
информация в компютърни системи с цел недопускане на нейното
използване с цел ощетяване на хора и държавата. За ефективо решение на
дадена задача е необходим точен анализ на всички възможни начини за
несанкциониран достъп до информация в компютърни системи, което
ТУ - София Дипломна работа Лист 6
позволява своевремено приемане на мери за противодействие на възможни
заплахи.
Тук под несанкциониран достъп до информация се подразбира
такъв достъп, който нарушава правила за използване на информация и
ресурси в една компютърна система, установени за нейните потребители.
Несанкционирания достъп е реализация на преднамерена заплаха за
информационно-компютърната безопасност и често я наричат още атака на
компютърна система.
Глава 1Видове атаки и защити в компютърни мрежи
1.1.Класификация на атаки.
Всички възможни начини на несанкциониран достъп към
информация в защитени компютърни системи може да класифицира по
следващи признаци.
1. по принцип на несанкциониран достъп;
физически несанкциониран достъп;
логически несанкциониран достъп.
ТУ - София Дипломна работа Лист 7
Логически несанкционирания достъп предполага преодоляване на
системата за защита в активна компютърна мрежа. Най-резултативния
начин за атака е логическия достъп.
2. по характер на въздействие;
пасивно;
активно;
Пасивно въздействие върху една разпределена изчислителна система
се нарича това, което не оказва непосредствено влияние на работа в
системата, но може да наруши нейната политика за безопасност.
Отсъствието на непосредствено влияние на работата в разпределена ИС
води до това, че пасивното отдалечено въздействие практически е
невъзможно за определяне. Например прослушване на канал за свързване.
Под активно въздействие на разпределена ИС се подразбира
въздействие, оказващо непосредствено влияние на работата в системата
(промяна на конфигурация в РИС, нарушаване на работоспособност и т. н.)
и нарушаване на приетата в нея политика за безопасност. Практически
всички типове отдалечени атаки се отнасят към активните въздействия.
3. по цел на въздействие.
Нарушаване на конфиденциалност на информация или на ресурси
на системата;
Нарушаване на цялостност на информация;
Нарушаване на работоспособност (достъпност) на системата.
Основната цел на практически всяка атака е получаване на
несанкциониран достъп до информация. Съществуват две възможности за
достъп до информация: прехващане и промяна. Възможността за
прехващане на информация означава получаване на достъп до нея, но
ТУ - София Дипломна работа Лист 8
невъзможност за модификацията й. Следователно, прехващането на
информация води до нарушаване на нейната конфиденциалност. Например
прослушване. Вижда се, че нарушаването на конфиденциалност на
информация се отнася към пасивните въздействия.
Възможността за промяна на информация означава или пълен
контрол над информационния поток между обекти в системата, или
възможност за предаване на съобщения от името на друг обект. Затова
промяната на информация води до нарушаване на нейната цялостност. И
се отнася към активни атаки.
4. в зависимост от мястото където се намира източника на
несанкциониран достъп.
Несанкциониран достъп, чийто източник се намира в локална
мрежа;
Несанкциониран достъп, чийто източник се намира извън локална
мрежа;
В първия случай атака се провежда от всяка точка на локална мрежа.
Инициатора на такава атака най-често е санкциониран потребител. Затова
тези видове атаки могат да идват от самия персонал.
При включване на всяка компютърна мрежа към отворени мрежи,
например към мрежа Интернет, има висока актуалност възможността за
несанкционирано влизане в затворена мрежа от отворена. Същия вид на
атаки характерен също за ситуации, когато се обединяват отделни мрежи,
ориентирани за обработване на конфиденциална информация от различно
ниво на секретност и категории. При ограничаване на достъпа на тези
мрежи, една към друга, се появява възможност за нарушаване на тези
ограничения. Такива видове атаки са характерни за хакери.
5. по режим на изпълнение на несанкциониран достъп:
ТУ - София Дипломна работа Лист 9
Атаки се изпълняват при постоянно участие на човек;
Атаки които се изпълняват със специално разработени програми без
непосредствено участие на човек.
В първия случай за въздействие на компютърна система може да се
използва и стандартно програмно обезпечение. В другия случай винаги се
използва специално разработени програми, в основата на функциониране
на които е сложена вирусна технология. Обаче и в двата случая логически
може да се предположи, че има високо ниво на компютърно подготвяне на
атакуващия и наличие на някакъв физически достъп до компютърната
мрежа.
6. по тип на използвани слабости на системи за
информационно-компютърна безопасност.
Атаки, основани на недостатъка на установена политика за
безопасност;
Атаки, основани на грешки при администриране на компютърна
мрежа;
Атаки, основани на недостатъци в алгоритми за защита,
реализирани и в средствата на информационно-компютърната безопасност;
Атаки основани на грешки при реализация на проект за защита.
Недостатъците на политика за безопасност означават, че
разработваната за конкретната компютърна мрежа политика за
безопасност, не отразява реалните аспекти за обработване на информация
и се появява възможност за използване на това несъответствие, за
несанкциониран достъп. Под грешки на административно управление се
подразбира некоректно организирана реализация или недостатъчна
административна поддръжка на приетата в компютърната мрежа политика
за безопасност.
ТУ - София Дипломна работа Лист 10
Класификация на отдалечен
достъп
По-характер на
въздействие
По цели на въздействие
По принцип на
въздействие
По тип на използваеми
слабости
По място на намиране
По режим на изпълнение
Пасивни
Активни
Конфиденциалност
Цялостност
Работоспособност
Физическо
Логически
Основно човек
Основно програми
В локална мрежа
Извън локална мрежа
В политика на безопасност
В администриране
В алгоритми за защита
При реализация
ТУ - София Дипломна работа Лист 11
1.2. Политика на безопасност и процедури на
административно управление.
Всяка работа трябва да се започне с фино планиране, също така и
преди ефективна защита на компютърната мрежа трябва да има разработка
на политика на безопасност. Тази политика се разработва от хора
отговарящи за поддържане на информационно-компютърна безопасност, и
се утвърждава от ръководство на организация.
Политика на безопасност трябва да включва следващите
аспекти:
Стратегически цели за осигуряване на информационно
компютърна безопасност и изисквания от защитна информация;
Глобална концепция за защита на информация в компютърна
мрежа;
Организационни мероприятия по създаване на условия за
безопасно обработване на информация;
Величина на отговорност и задължения на сътрудници за защита
на информация.
ТУ - София Дипломна работа Лист 12
При недостатъчно разглеждане на изброените раздели политиката на
безопасност може да има съществени недостатъци, които могат да се
използват за атака на компютърната мрежа. Недостатъците могат да се
определят както в концепциите за предупреждаване и своевременно
намиране на въздействия на компютърни ресурси, така и в концепцията за
възстановяване на безопасност след появяващите се въздействия.
1.2.1. Атаки на политика за безопасност и процес на
административно управление.
фиг.1.2.1 Основни видове атаки на политика по безопасност.
Освен недостатъци в политиката на безопасност за разработване на
атаки могат да се използват и недостатъци на административно управление
на мрежа. С грешките могат да бъдат реализирани следващите функции на
управление:
ТУ - София Дипломна работа Лист 13
Управлението на конфигурация е предназначена да получи
изчерпваща информация за конфигуриране на апаратно и програмно
осигуряване на мрежа и също така автоматизирано конфигуриране на
нейните елементи;
Управлението на производителност, позволява да се получат
данни за използваните мрежови ресурси и да настрои компонентите на
мрежата за увеличаване на нейната производителност;
Управление на достъп до общи мрежови ресурси за защита от
всякакви несанкционирани действия от страна на потребител;
Управление на функционално дублиране на компоненти в мрежа с
цел да се постигне висока сигурност на тяхно функциониране.;
Управление за подготвяне към възстановяване, предполагащо
своевременно планиране на възстановяване и правилно резервиране на
информация;
Управлението за възстановяване е ориентирано към своевременно
намиране на загуби на информация и отказ на компоненти от мрежата, а
също така и оперативно възстановяване на данни и работоспособност на
компютърна система;
Проверка и съблюдаване на всички норми по осигуряване на
информационно компютърна безопасност и контрол за правилното
функциониране на система за защита.
Последната функция е най-актуална. Недобросъвестен
администратор може да игнорира следващите функции, който трябва да се
изпълняват понякога.
Проверяване на система за защита на съответствие на
управляващи и нормативни документи в областта на информационно
компютърната безопасност;
Тестване на компоненти за защита на правилно реагиране с
помощта на моделиране на процеси реализиращи възможни заплахи.
ТУ - София Дипломна работа Лист 14
Комплексен контрол върху работоспособността на системите
за безопасност чрез моделиране на нарушения на работоспособността при
отделни елементи от компютърните системи;
Анализ на политика за формиране и използване на еталонна
информация (ключове, пароли и т.н.).
Затова важно условие за нормално функциониране на механизми за
защита на информация в локално изчислителна мрежа се явява постоянно
и систематично наблюдаване от сътрудници, отговарящи за безопасност на
информацията.
1.3. Съществуващи видови атаки и защити в
Интернет.
1.3.1 Boink (Bonk, Teardrop, new Tear/Tear2).
При предаване на пакета с данни от протокол IP по мрежа може да се
осъществи разделяне на този пакет на фрагменти. След пристигане до
получателя пакета се възстановява от фрагменти. Хакера може да
инициира изпращане на голям брой пакети, който води до препълване на
програмния буфер от друга страна и понякога до аварийно завършване на
системата. Броя реализации на тази атака е много голям. На компютъра се
предават няколко фрагментирани IP пакети, които при събиране образуват
един пакет по-голям от 64kb (максимален размер на IP пакета е равен 64kb
минус дължината на header (заглавието). Такава атака е ефективна срещу
компютри с ОС Windows. При получаване на такъв пакет, Windows NT без
специален patch icmp-fix, “забива” или аварийно завършва. Други варианти
на подобни атаки е използването на неправилно изместване в IP
фрагменти, което води до некоректно отделяне на памет, препълване на
буфер и на края спиране на работата на системата.
ТУ - София Дипломна работа Лист 15
1.3.2. Brute Force.
"Груба сила", атака използвана от хакери в такива случаи, когато
достъпът към система или към информация е затворен със парола и няма
слабо защитени места. Осъществява се с просто подбиране на всички
възможни или най-често срещани пароли. В друг случай brute force
достатъчно често се нарича "атака по речник".
1.3.3. Back Orifice (Net Bus, Masters of Paradise и др.).
Програмно осигуряване използвано за отдалечено администриране
на система. Подобни програми след установяване обикновено заемат
някакъв порт, например 31337, и се намира в състояние на очакване на
съединение. Хакери сканират Интернет търсейки инфектиран хост.
Ако се определи такъв те могат да получат достатъчно пълен
контрол над системата, а по-точно: могат да получават документи, пароли,
информация за притежател; да четат това което се набира на клавиатурата,
могат да изтриват и да създават файлове, могат да управляват CD-ROM
устройството, да използват система за атакуване на други системи за да
обвиняват други потребители. Back Orifice може да влиза в други програми
и приложения при стартиране на които се инфектира системата.
1.3.4. Denial of service (DOS).
Клас на атаки водещи до отказ в обслужване. По време на такива
атаки става висок разхода на ресурси на процесора и намаляване на
пропускателната възможност на канал за свързване, което може да доведе
до силно забавяне на работата на цялата компютърна система, на отделни
задачи или изобщо към пълно спиране. Към DOS атаки се отнасят: Floods,
ICMP Flooding, Identification Flooding и др.
1.3.5. DNS Flooding DNS Scan.
ТУ - София Дипломна работа Лист 16
Тази атака е насочена на сървърите за имена в Internet. Тя се
основава на предаване на голям брой DNS запитвания и води до това, че
потребители нямат възможност да се обръщат към именен сървър и
следователно се осигурява невъзможност за работа на обикновени
потребители. DNS scan. Познато е, че преди да започнат атака хакерите
осъществяват определяне на целта, т.е. намиране на компютри, които ще
бъдат жертви на атаки, също така компютри, който осъществяват
информационен обмен с жертви. Един от начините за намиране на цели е
запитване на именен сървър и получаване на цялата информация за домен
от него
1.3.6. Dummy DNS.
Внедряване в мрежа Internet на несъществуващ DNS-сървър
прехващайки DNS-запитване. За реализация на атака е необходимо да се
прехване DNS-запитване, да се извлече от него номер на UDP-порт при
изпращач на запитване, двубайтово значение на ID идентификатор на
DNS-запитване, търсещо име и след това грешен DNS-отговор на извлечен
от DNS-запитване на UDP-порт, в който трябва да се покаже търсещ IP-
адрес и настоящ IP-адрес на несъществуващ DNS-сървър. Това ще позволи
нататък напълно да се прехване и да се въздейства на информация
циркулираща между “излъгания” хост и сървъра. Необходимото условие за
осъществяване на този вариант атака е прехващане на DNS-запитване.
Това е възможно само в случай, че атакуващия се намира или на пътя за
основен трафик или в сегмент на настоящ DNS-сървър. Изпълнението на
едно от тези условия прави тази отдалечената атака трудно осъществима
на практика (да попадне в сегмент на DNS-сървър или между сегментен
канал за свързване на атакуващ, сигурно няма да бъде възможно). Обаче в
случай на изпълнение на тези условия е възможно да се осъществи атака
на Internet мрежа.
ТУ - София Дипломна работа Лист 17
1.3.7. Dummy DNS For Host.
Внедряване на фалшив сървър в Internet мрежа чрез създаване на
насочен “порой” от фалшиви DNS-отговори към атакувания хост. В този
случай хакера осъществява постоянно предаване към атакувания хост
предварително подготвен фалшив DNS-отговор от името на DNS-сървъра
без приемане на DNS-запитване. С други думи, атакуващия създава в
Internet мрежата насочен “порой” на фалшиви DNS-отговори. Това е
възможно, тъй като обичайно за предаване на DNS-запитване се използва
протокола UDP, в който отсъстват средства за идентификация на пакети.
Единствения критерий предявен от мрежовата операционна система на
хоста към получения от DNS-сървър отговор е: първо, съвпадение на IP-
адресите, този на изпращащия отговор с този на DNS-сървъра, второ, в
DNS-отговора трябва да е посочено същото име както и в DNS-
запитването, трето, DNS-отговора трябва да бъде посочен на същия UDP-
порт, от който бе изпратено DNS-запитването ( в даден случай това е
първия проблем за атакуващия), и четвърто, в DNS-отговора полето на
идентификатора на запитване в заглавието DNS (ID) трябва да съдържа
същото значение както и в даденото DNS-запитване (това е втория
проблем). Да предположим, че атакуващия няма възможност да прехваща
DNS-запитване, тогава основния проблем за него ще бъде номера на UDP-
порта, от който бе изпратено запитването. Но номера на порта на
изпращащия приема ограничен набор от значения, затова е достатъчно
атакуващия да действа с обикновено подбиране, посочвайки фалшиви
отговори на съответния списък от портове. На пръв поглед втория проблем
може да бъде двубайтовия идентификатор на DNS-запитване, но в даден
случай той или е равен на единица или има значение близко до 0 (едно
запитване – ID се увеличава с 1). Затова за осъществяване на дадена
отдалечена атака е необходимо атакуващия да избере за интересуващия го
хост (А) маршрут, който трябва да се промени така, че да минава през
ТУ - София Дипломна работа Лист 18
фалшивия сървър – хоста на атакуващ. Това се достига със постоянно
предаване (посочен “порой”) от атакуващ на фалшиви DNS-отговори на
атакуващ хост от името на настоящ DNS-сървър на съответстващ UDP-
порт. В тези фалшиви DNS-отговори вместо IP-адрес на хоста А е IP-
адреса на атакуващия. Нататък атаката се развива по следната схема.
Когато целта на атака ще се обърне към името на хост А, тогава от дадения
хост в мрежата ще бъде предан DNS-запитване, което атакуващия никога
няма да получи, но това не му трябва тъй като на хоста веднага ще
постъпят постоянно предавани фалшиви DNS-отговори, които
операционната система на атакувания хост ще възприема като настоящ
отговор на DNS-отговор. Атаката е осъществена. Сега атакувания хост ще
придава всички пакети предназначени за А, на IP-адрес на атакуващ, който
ще ги препраща на А, с възможност да въздейства (да променя , да
анализира и друго) на прихващaне информация. От тук се получава че
реализация на отдалечена атака, използваща дупки в безопасността на
служба DNS, позволява от различна точка в мрежа Internet да наруши
маршрутизиране между два зададени обекта. Тоест дадена отдалечена
атака се осъществява между сегментно по отношение към целта на атака и
заплашва безопасността на различен хост Internet, използващ обикновена
служба DNS.
1.3.8. Dummy DNS For Server.
Внедряване в мрежа Internet на фалшив сървър създавайки посочен
“порой” на фалшиви DNS-отговори на атакувани DNS-сървър. От схема на
отдалечено DNS-търсене следва, че в такъв случай, ако е посочено име в
запитването на име, DNS-сървър не намерил в своята база имена, тогава
запитване се изпраща към един от горестоящи DNS-сървъри, адрес на
който се съдържа във файл за настройване на сървър root.cache. Тогава в
такъв случай, ако DNS-сървъра няма информация за запитвания хост, то
той препраща запитване по-нататък, което значи че самият DNS-сървър се
ТУ - София Дипломна работа Лист 19
явява инициатор на отдалечено DNS-търсене. Затова нищо не пречи на
атакуващия, действайки по метод Dummy DNS For Host, да посочи своята
атака на DNS-сървър. Тоест атакувания ще бъде не хост, а DNS-сървър и
фалшиви DNS-отговори ще посочват от атакуващия от името на по-
главния DNS-сървър от атакувания DNS-сървър. При това важно да има
предвид следваща особеност на работа на DNS-сървъра. За ускоряване на
работа всеки DNS-сървър хешира в областта си на памет своя таблица на
съответствие на имената и IP-адресите на хостовете. Също така в кеша се
занася динамическа информация за имената и IP-адресите на хостовете,
намерени в процеса на функциониране на DNS-сървър. Тоест, ако DNS-
сървъра, получавайки запитване, няма да намери при своята кеш таблица
съответната запис, той препраща отговор на следващия сървър и след като
получи отговор занася намерената информация в кеш-таблица в паметта.
Така при получаване на следващо запитване DNS-сървъра вече няма нужда
да води отдалечено търсене, тъй като необходимите сведения вече се
намират в неговата в кеш-таблица. От анализ на описаната схема за
отдалечен достъп DNS-търсенето става ясно, че в случая ако в отговора на
запитване от DNS-сървър атакуващия ще направи фалшив DNS-отговор
(или в случай на постоянен “порой” на фалшиви отговори ), тогава в кеш-
таблицата на сървъра ще се появи съответната запис с фалшиви данни и
после всички хостове обръщащи се към даден DNS-сървър ще бъдат
дезинформирани и при обръщане към хост, маршрута, към който
атакуващия реши да промени, ще минава чрез атакуващия. След някое
време тази фалшива информация ще се разпространи на съседните DNS-
сървъри от по-високо ниво и следователно все повече хостове в Internet ще
бъдат дезинформирани. Разбира се че в случай когато атакуващия не може
да прехване DNS-запитване от DNS-сървър, тогава за реализация на атака
му е необходим “порой “ на фалшиви DNS-отговори, посочени към DNS-
сървър. При това възниква следваща основна проблем, отличаваща от
проблема на подбиране на портове в случай на атака посочена към хост.
ТУ - София Дипломна работа Лист 20
Както беше казано по-рано DNS-сървър изпращайки запитвания на друг
DNS-сървър, идентифицира това запитване със двубайтово значение (ID).
Това значение се увеличава на един със всяко предаване на запитване.
Атакуващ няма възможност да разбере текущо значение на идентификатор
на DNS-запитване. Затова нищо друго освен подбиране на 216 възможни
значения не може да бъде приложено. Обаче изчезва проблема за
подбиране на портовете, тъй като всички DNS-запитвания се предават от
DNS-сървър на 53 порт.
Следваща проблема при атака на DNS-сървър при посочен “порой”
на фалшиви DNS-отговори се състой във това, че атаката ще има успех
само ако DNS-сървър ще изпрати запитване на търсене на определено име
(което се съдържа в фалшив DNS-отговор). DNS-сървър изпраща това
запитване само в случай, ако към него ще дойде DNS-запитване от някакъв
хост за търсене на дадено име и това име няма да го има в кеш-таблица на
DNS-сървър. Атакуващия сам може да изпрати към атакувания DNS-
сървър DNS-запитване на името. Тогава такава атака със сигурност ще има
успех веднага след нейното осъществяване.
1.3.9. Dummy ARP Server.
В мрежата Internet всеки хост има уникален IP-адрес, на който
постъпват всички съобщения от глобална мрежа. Обаче протокол IP не е
толкова мрежов, колкото по-скоро междумрежов протокол на обмен,
предназначен за свързване между обекти в глобална мрежа. На канално
ниво пакетите се адресират по апаратни адреси на мрежови устройства. В
мрежа Internet за взаимно еднозначно съответствие на IP и Ethernet адреси
се използва протокола ARP (Address Resolution Protocol). Първоначално
хоста може да няма информация за Ethernet-адреси на други хостове,
намиращи се със него в един сегмент, също така и Ethernet-адрес на
маршрутризатор. Съответствено при първо обръщане към мрежови
ресурси хост изпраща широко вещателно ARP-запитване, което получават
ТУ - София Дипломна работа Лист 21
всички станции в даден сегмент на мрежа. Получавайки дадено запитване
маршрутизатора изпраща ARP-отговор за запитвания хост, в който
съобщава своят Ethernet-адрес. Дадена схема на работа позволява на хакера
да изпраща фалшив ARP-отговор, в който се обявява на търсения хост,
(например, маршрутизатор), и нататък активно контролира целия мрежов
трафик на “излъган” хост.
1.3.10. Floods.
Превод от английския на български – “потапяне”. По времето на
floods атаки става изпращане на голямо количество ICMP или UDP пакети
към атакувана система, които не носят полезна информация. В резултат се
намаля пропускателната способност на линия на канала и натоварване на
компютърна система заради анализ на идващи безполезни пакети и
генериране на отговори за тях.
1.3.11.Fuzzy.
Пакет IP съдържа поле определящо кой протокол на следващото
ниво (TCP, UDP, ICMP) използва данните от интернет. Хакери могат да
ползват нестандартни значения на даденото поле за предаването на данни,
които няма да се фиксират със стандартни средства за контрол на
информационни протоци.
1.3.12. Hack.
Клас от атаките, използвани за изследване на операционните
системи, приложения или протоколи с целта последващия анализ на
получена информация за присъствие на слабите места, например, Port
Scan, който може също да отнесем към низко ефективна DoS-атака.
Установяване на слабите места може да бъде използвано от хакер за
ТУ - София Дипломна работа Лист 22
несанкциониран достъп към системата или за намиране на най-
ефективната DoS-атака.
1.3.13. Host Spoofing
Атака, основана върху протокол ICMP, една от функции на която е
информиране на хостовете за смяна на текущ маршрутизатор. Дадено
управляващо съобщение носи название redirect. Съществува възможност за
изпращането от всеки друг хост във мрежовия сегмент на фалшивото
redirect съобщение от името на маршрутизатора от атакувания хост. В
резултат в хоста се променя текуща таблица за маршрутизация и по-
нататък целия мрежов трафик в даден хост ще преминава чрез хост, който
изпращал фалшивото redirect-съобщение. По такъв начин е възможно да се
осъществи активно налягане на фалшив маршрут вътре във един от
мрежови сегменти Internet.
1.3.14. ICMP Flooding (Flood Ping).
Поток на пингове. По времето на тази атака става изпращането в
адрес на компютърна система жертва на голямо количество запитвания на
ехо ICMP(пинг на системата). В резултат се намаля на пропускателната
способност на линия в канала и натоварване на компютърна система с
анализиране на приети пакети и генериране на техните отговори.
Забележка: В добри намерения пинг се използва от администратора и
потребители за проверка на работоспособност на основните части от
транспортната система на изчислителна мрежа или за оценка на работа в
мрежа при максимално натоварване. Програма изпраща ICMP-пакети от
тип ECHO REQUEST, поставяйки в него времето и неговия
идентификатор. Ядро на машината получател отговаря на такова запитване
със пакет ICMP ECHO REPLY. Получавайки него, ping показва скорост за
преминаване на пакет. При стандартния режим за работа пакетите се
ТУ - София Дипломна работа Лист 23
изпращат през няколко времеви интервали, практически не натоварвайки
мрежата.
1.3.14. Identification flooding (identd).
Запитване на системна идентификация. Тази атака много прилича на
ICMP flooding. Тя се отличава само със това, че става запитване на
информация за компютърна система (TCP порт 113). Атака е най-
ефективна тъй като анализ на тези запитвания и генериране на техните
отговори заемат повече от процесорно време от колкото при пингове.
1.3.15. IP Spoofing.
Хакер изпраща във мрежата пакети със фалшивия обратния адрес. С
помощта на тази атака хакер може да превключи на своя компютър
съединение установено между други компютри. При този ситуация
правата за достъп на хакера се изравняват със тези на потребителите, чието
съединение със сървър е било превключено на хакерски компютър.
Установяване на TCP-съединение става във три стадии: клиент избира и
предава за сървър sequence number(S-SYN) в отговор на това сървър
изпраща на клиент пакет от данните, съдържащи потвърждение (C-ACK) и
собствения sequence number(S-SYN). Сега вече клиент трябва да изпрати
потвърждение (S-ACK). След това съединение се смята за установено и се
започва обмен на данните. При това всеки пакет има в заглавието си поле
за sequence number и acknowledge number. Данни числа се увеличават при
обмен на данните и позволяват контролиране на коректно предаване. Да
кажем, че хакер може да предскаже, какъв sequence number(S-SYN по
схема) ще бъде изпратен от сървър. Това е възможно да се направи въз
основа на знания за конкретна реализация на TCP/IP. По този начин
изпращайки един пакет на сървър, хакер получава отговор и от няколко
опита може да предскажи sequence number за следващо съединение. Ако
ТУ - София Дипломна работа Лист 24
реализация TCP/IP използва специален алгоритъм за определяне на
sequence number, то той може да бъде изяснен с помощта на изпращане на
няколко десятка пакети към сървър и анализа на неговите отговори. Да
предположим че системата А доверява на системата B така, че потребител
на система В може да направи “rlogin A” и да се окаже на А не въвеждайки
парола. Да кажем че хакер се намира във система С. Система А е във роля
на сървър. Системи В и С са клиенти. Първа задача на хакера – да докара
системата В до състоянието, когато тя няма да може да отговаря на
мрежовите запитвания. Това може да бъде направено по няколко начина, в
най-простия случай трябва само да се изчака презареждането на система В.
Няколко минути, по време на които тя ще бъде не работоспособна, трябва
да е достатъчно . След това хакер може да опита да се престори като
система В, за да получи достъп към система А(поне краткотраен). Хакера
изпраща няколко IP-пакети иницииращи съединение за система А за
изясняване за текущо състояние sequence number на сървъра. Хакера
изпраща IP-пакет, в който в качество на обратния адрес вече е посочен
адрес на система В. Системата А отговаря със пакет с sequence number,
който се насочва към система В. Обаче система В никога няма да го
получи както и хакера. Но въз основа на предишния анализ хакера се
досеща какъв sequence number е бил изпратен за система В. Той
подтвърждава получаването на пакет от А изпращайки от името В пакет с
предполагаем S-ACK ( ако системите се разполагат в един сегмент, хакера
трябва само да прехване пакет изпратен от системата А за изясняване за
sequence number). След това, ако хакера е имал късмет и sequence number
на сървъра е бил познат вярно, съединение се води за установено. Сега
хакер може да изпрати поредния фалшив IP пакет, който вече ще съдържа
данните. Например, ако атака е била насочена на rsh, той може да съдържа
команди за създаване на файл или изпращане /etc/password на хакер по e-
mail.
ТУ - София Дипломна работа Лист 25
1.3.16. IP Hijacking.
Необходими условия: атакуващия трябва да има достъп до
компютъра, който се намира на път на мрежовия поток и да има
достатъчни права за нея за генериране и за прехващане на IP-пакети. Да
напомня, че при предаване на данни постоянно се използва sequence и
acknowledge number (и двата са намират в IP-заглавието). Изхождайки от
тяхното значение, сървъра и клиента проверяват коректността на
предаване на пакети. Съществува възможност да направя съединението
като “десинхронно състояние”, когато изпращани от сървър sequence
number и acknowledge number няма да съвпадат с очакваните значения на
клиент и обратно. В такъв случай хакера, “прослушвайки” линията, може
да вземе на себе си функция на посредник, генерирайки коректни пакети за
клиент и за сървър и да прехваща техните отговори. Метода позволява
напълно да обиколи такива системи на защита както например пароли само
с една проверка тъй като хакера започва работа вече след авторизиране на
потребител.
1.3.17. Land.
Тази атака използва уязвимостта при реализиране на стек TCP/IP в
някой операционни системи. Тя се заключава във предаване на отворен
порт при компютър-жертва на TCP-пакет с установен флаг SYN, при това
изходен адрес и порт на такъв пакет съответствено е равен на адрес и порт
на атакувания компютър. Това води до това, че компютър-жертва се
опитва да установи съединение сам със себе си, в резултат на което силно
се увеличава натоварване на процесор и може да стане забиване или
презареждане. Дадена атака много е ефективна на някой модели
маршрутизатори от Cisco system, при това успешно използване на атака
към маршрутизатор може да спре работата на цялата мрежа-организация.
ТУ - София Дипломна работа Лист 26
1.3.18. Pong.
Floods атаки, но на мястото на обратния действителен IP-адрес на
изпращач (хакер) се използва измислен. И това затруднява намирането на
атакуващия.
1.3.19. Puke.
Осъществява се изпращане на пакет ICPM unreachable error
(непозната грешка на отдалечена система) от хакер към атакувания хост,
което извиква отключване на хост от сървър (обикновено IRC).
1.3.20. Port Scan.
Сканиране на компютърна система за намиране на портове през
опити за тяхното отваряне. Тази атака разходва ресурси на системата.
Обикновено тя се използва за търсене на слаби места (дупки) в
компютърна система и предшества на по добра атака; ресурсите на система
се разходват по-малко от атаки floods.
1.3.21.PingOfDeath (Ssping, IceNuke, Jolt).
Същността на атаката е следната: на компютър-жертва се изпраща
фрагментиран ICMP пакет от голям размер (64 kb). Реакцията на Windows-
системи при получаване на такъв пакет е несъмнено забиване,
включително и на мишката и на клавиатурата. Програма за атака е широко
достъпна в мрежата във вид на C и във вид на файлове за някой Unix
системи. Интересно, че за разлика от WinNuke жертва на такава атака
може да стане не само Windows операционни системи но и MacOS и някой
версии на Unix. Предимства на такъв способ атака е, че обикновено firеwall
пропуска ICMP пакети, а ако firеwall е настроен на филтриране на адреси
които изпращат, тогава използвайки несложно приемане на spoofing, може
да излъже и такъв firеwall. Недостатък на PingOfDeatch е в това, че за една
ТУ - София Дипломна работа Лист 27
атака трябва да се изпратят повече от 64 кb по мрежа, което го прави
малкоприемливо за широкомащабни диверсии.
1.3.22. SYN Flooding.
Задръстването със SYN-пакети е най-известния способ да се напълни
информационния канал. ТCP/IP в случай на входящи съединения работи по
следният начин. Система отговаря на получен C-SYN-пакет със S-
SYN/CACK-пакет, превключва сесията в състояние SYN-RECEIVED и я
слага в опашка. Ако в течение на зададеното време от клиент няма да
дойде S-ACK, съединение се маха от опашка, в противен случай
съединение се превключва в състояние ESTABLISHED. По RFC когато
опашка на входящи съединения вече е препълнена, а системата получава
SYN-пакет, канещ към установяване на съединение, който ще бъде
игнориран. Задръстване със SYN-пакети е основано на препълване на
опашката за сървър, след което сървъра спира да отговаря на запитвания от
потребител. В различни системи работа с опашка е реализирана по
различен начин. След изтичане на времето система премахва запитвания от
опашката. Обаче нищо не пречи на хакер да изпрати нова порция на
запитвания. Затова намирайки се в съединение 2400 bps, хакера може да
изпраща на всяка минута и половина по 20-30 пакети на сървър,
поддържайки го в неработещо състояние. Атаката обикновено е насочена
на определена конкретна служба, например telnet или ftp. При получаване
на запитване системата споделя ресурси за ново съединение, след което се
опитва да отговори на запитване по недостъпен адрес. По подразбиране NT
версии 3.5-4.0 ще се опитва да повтори потвърждаване 5 пъти всеки
3,6,12,24,48 секунди. След 96 секунди система може да очаква отговор и
само след това да освободи ресурсите, споделени за бъдещо съединение.
Общо време на заетостта на ресурси -189 секунди.
ТУ - София Дипломна работа Лист 28
1.3.23. Smurf.
Атаката се заключва в предаване в мрежа на широколентови ICMP
запитвания от името на компютър-жертва. В резултат компютри,
получаващи такова съобщение отговарят на компютър-жертва, което води
до съществено намаляване на канал за свързване и в някои случаи към
пълно изолиране на атакувания от системата. Изпращане на голямо
количество broadcast-запитвания от името на жертва на broadcast-адреси на
едри мрежи може да извика рязко запълване на канал на жертва – ефекта е
“много за един”. Атака smurf е много ефективна и широко разпространена
1.3.24. Syslog Spoofing.
Атака, която се състои в предаване към атакувания компютър на
съобщение от името на друг компютър във вътрешна мрежа. Тъй като
протокола syslog се използва за водене на системни журнали, предавайки
фалшиви съобщения на атакувания компютър може да сложи друга
информация или да скрие несанкциониран достъп.
1.3.25. Spam.
Изпращане по електронна поща на съобщения от различен вид без
съгласие на получател. Периодически повтарящия се спаминг може да
наруши работа на потребители поради голямо натоварване на сървъра за
електронна поща; извиквайки препълване на пощенски кутии, което води
до невъзможност за получаване и изпращане на обикновени съобщения;
увеличава времето за намиране на получател “на линията”, а това са
допълнителни разходи
1.3.26. Traffic Analysis (Sniffing).
Прослушване на канал. Практически всички мрежови карти
поддържат възможност за прехващане на пакети, предавани по общ канал
ТУ - София Дипломна работа Лист 29
на локална мрежа. При това работещата станция може да приема пакети,
адресирани на други компютри от същия сегмент. Затова целия
информационен обмен в сегмента става достъпен за хакер, което може
после да му помогне да се подбере или да измисли други типове на атаки
срещу нормални потребители. За успешна реализация на тази атака
компютъра на хакер трябва да се намира в същия сегмент на мрежа както и
атакувани компютър.
1.3.27.Trojan Horse.
Троянски кон се нарича всяка функционална възможност в програма
специално сложена за да обиколи системен контрол на секретност. Тази
възможност може да бъде само премахната, което я прави невъзможна за
намиране или може постоянно да се реализира, но да си съществува
скрито. Хакера пиши програма за изпълнение на някои интересни или
полезни функции: зареждане на игри, оптимизиране на работа на
операционна система и или за увеличаване на скоростта на достъп към
интернет. В програмата са скрити инструкции за прочитане на файлове,
пароли и тяхно изпращане на електрона кутия на хакер, или изпълняване
на друга скрити операции. След това хакера изпраща на вас тази програма
по поща или дава я за сваляне на общодостъпен www-сървър и чака докато
потребителя ще я пусне. За да стане това хакера разказва в описание за
програма много ярко за нейната необходимост и по-добри качества от
друго програмно осигуряване. Също така може да бъде сложен във вирус,
който при попадане на ЕИМ ще пусне троянския кон.
1.3.28. Unreachable (dest_unreach, ICMP type 3).
Тази атака състои във това, че на компютърна система се изпраща
съобщение ICMP type 3, което съобщава, че порт на получател е
недостъпен. И поради това, че системата си “мисли”, че пакетите не
ТУ - София Дипломна работа Лист 30
пристигат, тя ще прекъсни съединение. ICMP type 3 може да изпраща се на
потребителския компютър, който в последствие ще се отключи или към
сървър и инициатор за отключване ще бъде той. Изпращане на ICMP type 3
осъществява хакер.
1.3.29. UDP Storm.
Обикновено по подразбиране системите поддържат работа на такива
UDP-портове както 7 (“ехо”, получения пакет се изпраща назад), 19
(“знакогенератора”, в отговор на получения пакет изпращач ред със
знакогенериране) и други (date). В даден случай хакер може да изпрати
единствен UDP-пакет, където в качество на изходен порт ще бъде
отбелязан 7-ми, а в качество на получател ще бъде 19-ти, а в качество на
адрес на получател и на изпращач ще се посочват, например, два
компютъра от вашата мрежа (може и 127.0.0.1). След получаване на пакет
19-ти порт отговаря със ред, който попада на порт 7. Седмия порт го
дублира и пак изпраща на 19-ти и така до безкрайност. Безкрайния цикъл
намалява ресурсите на компютъра и добавя на канала безсмислено
натоварване. Разбира се че при първа загуба на UDP пакет пороя ще спре.
1.3.30. Virus.
Програма, която поне един път стартирана, способна самостоятелно
да създава своите копия, които могат да правят същото. Ако сте
подключени към интернет, вирус може да се “хване” сваляйки някаква
инфектирана програма с пускането й на своя компютър. Той може да
влезне при проглеждане на WWW-страница, или при стартиране на
прикрепен към електронно писмо, файл, или някой сложи ръчно вируса на
вашия твърд диск.
1.3.31. WinNuke.
ТУ - София Дипломна работа Лист 31
Заедно със обикновени данни препращани по TCP съединение,
стандарта предвижда също предаване на неотложни данни(Out Of Band).
На нивото на формата на TCP пакети това се изразява в ненулев urgent
pointer. При голямо количество на компютри със сложен Windows
присъства мрежов протокол NetBIOS, който използва за свои нужди 3 IP
порта: 137,138,139. Както стана ясно, ако се съедини с Windows компютър
през 139 порт и се изпрати на него няколко байтове данни от тип Out of
Band, тогава реализацията на NetBIOS която не знае какво да прави с тези
данни, просто забива или презарежда системата. За Windows 95 това
обикновено изглежда както син текстов екран, съобщаващ за грешка в
драйвера TCP/IP и невъзможност за работа с мрежа докато няма да се
презареди OC. NT 4.0. без сервиз пакети се презарежда, NT 4.0 със втори
сервиз пакет преминава към син екран.
1.4. Какво представлява защитната стена?
Защитната стена е сигурна и надеждна машина, която се намира
между частната и обществената мрежа. Машината - защитна стена е
конфигурирана с набор от правила, които определят кой мрежов трафик
ще бъде допуснат да премине и кой ще бъде блокиран или отхвърлен. При
някои големи организации можете да срещнете дори защитна стена,
разположена вътре в корпоративната мрежа, за да изолира поверителните
зони на организацията от други нейни служители. В много случаи
компютърните престъпления се извършват вътре в организацията, а не
само отвън.
Защитните стени могат да бъдат конструирани по най-различни на-
чини. Най-усъвършенстваната схема включва множество самостоятелни
машини и е известна като гранична мрежа (perimeter network). Две от
машините работят като "филтри", наречени клапи (chokes), които
позволяват преминаването само на конкретни типове мрежов трафик, а
ТУ - София Дипломна работа Лист 32
между тези клапи се намират мрежовите сървъри, например пощенския
портал или WWW proxy сървър. Тази конфигурация може да бъде много
сигурна и позволява лесно осъществяване на широк контрол над това кой
може да се свързва както отвътре навън, така и отвън навътре.
Конфигурации от тази категория би трябвало да се използват в големите
организации.
Обикновено, обаче, защитните стени са самостоятелни машини, кои-
то изпълняват всичките тези функции. Те са малко по-несигурни, защото
ако има някаква слабост в самата защитна машина, позволяваща на някого
да получи достъп до нея, сигурността на цялата мрежа ще бъде разбита.
Все пак, този тип защитни стени са по-евтини и по-лесни за управление в
сравнение с усъвършенстваната схема, описана по-горе. На фигура 1.4.1. са
показани двете най-често срещани конфигурации на защитни стени.
Фигура.1.4.1. Двата основни класа архитектури за защитни стени.
ТУ - София Дипломна работа Лист 33
1.5. Какво представлява IP филтрирането?
IР филтрирането е просто механизъм, който решава кои типове IР
дейтаграми ще бъдат обработени нормално и кои ще бъдат пренебрегнати.
Под пренебрегната дейтаграма ще разбираме, че тя e изтрита и напълно
игнорирана, все едно, че никога не е получавана. Можете да приложите
множество различни видове критерии, за да определите кои дейтаграми
искате да филтрирате; някои примери за това са:
Тип на протокола: ТСР, UDР, IСMР и т.н.
Номер на гнездото (за ТСР/UDР)
Тип на дейтаграмата: SYN/АСК, данни, IСМР Есhо Request т.н.
Адрес на изпращача на дейтаграмата: от къде идва
Адрес на получателя на дейтаграмата: къде отива.
На този етап е важно да разберете, че IР филтрирането е възможност
на мрежовия слой. Това означава, че то не разбира нищо от приложението,
използващо мрежовите връзки, а само от самите връзки. Например, можете
да забраните на потребителите достъп до нашата вътрешна мрежа през
подразбиращия се порт за telnet, но ако разчитате само на IР филтриране,
не можете да им попречите да използват програмата telnet с порт, който сте
разрешили да преминава през вашата защитна стена. Можете да избегнете
подобен род проблеми чрез използване на рrоху сървъри (сървъри -
представители) за всяка услуга, която допускате през вашата защитна
стена. Рrоху сървьрите разбират протокола па приложението, което са
проектирани да представят, и поради това могат да предотвратят
злоупотреби като използването на програмата telnet за преминаване през
защитна стена, из ползвайки WWW порт. Ако вашата защитна стена
поддържа WWW рrоху, тяхната telnet връзка винаги ще получава отговор
ТУ - София Дипломна работа Лист 34
от рrоху-сървъра, който ще позволи преминаването само на НТТР заявки.
Съществуват голям брой програми - ргоху сървъри. Някои от тях са
свободен софтуер, а много други са комерсиални продукти. В документа
firewall-НОWТО са разгледани най-популярните от тях, но те са извън
обхвата на тази книга.
Наборът от правила за IР филтриране се формира от множество
комбинации на критериите, изброени по-горе. Например, нека си
представим, че искате да позволите на WWW потребителите от някоя
мрежата да нямат достъп до Интернет, освен до web-сървърите на други
сайтове. Можете да конфигурирате вашата защитна стена да позволява
препредаване на:
дейтаграми с адрес на изпращача от тая мрежа, произволен адрес на
получателя и порт за получаване 80 (WWW)
дейтаграми с адрес на получателя от тая мрежа и порт на изпращача
80 (WWW) от произволен адрес.
Обърнете внимание, че тук използвахме две правила. Ние
позволяваме на нашите данни да излизат навън, но също и на съответните
отговори да се връщат обратно. На практика, както ще видим след малко,
Linux опростява това и ни позволява да го зададем с една-единствена
команда.
ТУ - София Дипломна работа Лист 35
Глава 2
Средства на ОС Linux за защита в
компютърни мрежи.
Ядрото на Linux предоставя множество вградени средства, които му
позволяват да работи доста добре като защитна стена за IР. Мрежовата
реализация включва код за извършване на IР филтриране по множество
различни начини и предоставя механизъм за много прецизно задаване на
правилата, които бихте искали да използвате. Защитната стена за Linux е
достатъчно гъвкава, за да може да бъде много полезна и при двете
конфигурации, показани на Фигура 1. Софтуерът - защитна стена за Linux
предоставя две други полезни възможности, като IP счетоводство и IP
маскиране.
ТУ - София Дипломна работа Лист 36
2.1. Конфигуриране на Linux като защитна стена.
За да построим защитна стена за IР под Linux, е необходимо да
разполагаме с ядро, компилирано с поддръжка на IР защитна стена и
съответните конфигурационни инструменти. За всички стабилни ядра,
разработени преди серията 2.2, трябва да използвате инструмента ipfwadm.
С ядрата 2.2.x се отбелязва началото на трето поколение IР защитни стени
за Linux, наречени IР Сhains (IР вериги). При IР веригите се използва
подобна на ipfwadm програма, нарeчена ipchains, Ядрата на Linux с версия
2.3.15 или по-нова поддържат четвърто поколение IР защитни стени,
наречени netfilter. Кодът на netfilter е резултат от мащабно преработване на
управлението на потока пакети в Linux. netfilter е създание с много лица,
осигуряващо директна обратна съвместимост за ipfwadmin и ipchains, както
и новата алтернативна команда, наречена iptables. В следващите няколко
раздела ще по говорим за разликата между тези три команди.
2.2. Ядро, конфигурирано за IP защитна стена.
Ядрото на Linux трябва да бъде конфигурирано така, че да поддържа
IР защитна стена. За целта e достатъчно да изберете съответните опции,
Сега, след като знаем, че iptables изпълни зададените от нас правила,
разбираме, че всичко работи както трябва и вече можем да започнем
ТУ - София Дипломна работа Лист 53
въвеждането на правила за защита от несанкциониран достъп за нашата
мрежа.
3.6. Описание на мрежата
Предварително ще указва каква топология използва мрежата която
защищаваме и по какъв начин е съединена с интернет. Ще използвам
примерни IP, за по-ясно разбиране на работа на firewall. На фигура
показвам как са разположени компютрите в мрежата.
Фигура 3.6.1. Мрежа която защищаваме от несанкциониран достъп.
Топология на мрежата е шина-звезда. Технология, която използва
мрежата е Fast Ethernet. Bridge разделя мрежата на виртуални подмрежи, за
ТУ - София Дипломна работа Лист 54
да се намали трафика между сегментите. Всеки компютър има статично IP
в диапазон 192.168.0.2-192.168.0.253. Bridge е съединен със сървър, на
който са разположени WWW-сървър, FTP-сървър, Router (Getway), и
Firewall.
Сървъра е свързан с интернет посредством оптичен кабел. Статично
външно IP 10.0.0.217. и вътрешно IP 192.168.0.254.
Набор от правила, които ще използваме за защита на нашата мрежа е
написан долу. Самите правилата се задават чрез команден ред в SHELL, и
после се запазват с командата iptables-save.
3.7. Сценарии на защита.
# 1. Configuration options.## 1.1 Internet Configuration.#INET_IP="10.0.0.217"INET_IFACE="eth0"INET_BROADCAST="10.0.0.255"# 1.2 Local Area Network configuration.## your LAN's IP range and localhost IP. /24 means to only use the first 24# bits of the 32 bit IP address. the same as netmask 255.255.255.0#LAN_IP="192.168.0.254"LAN_IP_RANGE="192.168.0.0/24"LAN_IFACE="eth1"## 1.3 Localhost Configuration.#LO_IFACE="lo"LO_IP="127.0.0.1"## 1.4 IPTables Configuration.#IPTABLES="/usr/sbin/iptables"
############################################################################ 3. rules set up.######### 3.1 Filter table## 3.1.1 Set policies#$IPTABLES -P INPUT DROP$IPTABLES -P OUTPUT DROP$IPTABLES -P FORWARD DROP## 3.1.2 Create userspecified chains## Create chain for bad tcp packets#$IPTABLES -N bad_tcp_packets## Create separate chains for ICMP, TCP and UDP to traverse#$IPTABLES -N allowed$IPTABLES -N tcp_packets$IPTABLES -N udp_packets$IPTABLES -N icmp_packets
# 3.1.3 Create content in userspecified chains## bad_tcp_packets chain#$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \-m state --state NEW -j REJECT --reject-with tcp-reset $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \--log-prefix "New not syn:"$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP## allowed chain#$IPTABLES -A allowed -p TCP --syn -j ACCEPT$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT$IPTABLES -A allowed -p TCP -j DROP## TCP rules#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed$IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/24 --dport 23 -j allowed
## UDP ports
ТУ - София Дипломна работа Лист 56
#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 123 -j ACCEPT$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 2074 -j ACCEPT$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 4000 -j ACCEPT## In Microsoft Networks you will be swamped by broadcasts. These lines # will prevent them from showing up in the logs.#$IPTABLES -A udp_packets -p UDP -i eth0 -d 10.0.0.255 \--destination-port 135:139 -j DROP## ICMP rules#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT## 3.1.4 INPUT chain## Bad TCP packets we don't want.#$IPTABLES -A INPUT -p tcp -j bad_tcp_packets## Rules for special networks not part of the Internet#$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
# Special rule for DHCP requests from LAN, which are not caught properly# otherwise.#$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT## Rules for incoming packets from the internet.#$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED \-j ACCEPT$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets## Log weird packets that don't match the above.#$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \--log-level DEBUG --log-prefix "IPT INPUT packet died: "## 3.1.5 FORWARD chain## Bad TCP packets we don't want#$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
ТУ - София Дипломна работа Лист 57
## Accept the packets we actually want to forward#$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT## Log weird packets that don't match the above.#$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \--log-level DEBUG --log-prefix "IPT FORWARD packet died: "## 3.1.6 OUTPUT chain## Bad TCP packets we don't want.#$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets## Special OUTPUT rules to decide which IP's to allow.#$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT## Log weird packets that don't match the above.#$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \--log-level DEBUG --log-prefix "IPT OUTPUT packet died: "
####### 3.2 nat table## Enable simple IP Forwarding and Network Address Translation#$IPTABLES -t nat -A POSTROUTING -o $eth0 -j SNAT --to-source $10.0.0.217#
ТУ - София Дипломна работа Лист 58
Глава 4
Описание на реализацията. Резултати и
изводи.
4.1. Описание на сценарий.
4.1.1. Конфигурация
1.1. Първата част на сценария е конфигурационен раздел. Тук се
задават основните настройки на брандмауер
Променлива $INET_IP съдържа реален IP адрес - 10.0.0.217.
$INET_IFACE указва устройство, чрез което се осъществява
връзката с Интернет. Това е eth0
1.2. Раздел Local Area Network съдържа настройки, съответстващи на
конфигурацията на нашата локална мрежа. Тук указваме локален IP адрес
– 192.168.0.254 на firewall, интерфейс, който включен към локална мрежа –
eth1, маска – 255.255.255.0 и широко вещателен адрес – 194.168.0.255.
1.3.След това следва секция Localhost Configuration, в която се указва
локалния интерфейс lo и локалния IP адрес 127.0.0.1.
ТУ - София Дипломна работа Лист 59
1.4.Секция Iptables Configuration. Тук създаваме променлива
$IPTABLES, съдържаща път към файл iptables (обикновено
/usr/local/sbin/iptables). В моят случай той е /usr/sbin/iptables.
4.1.2. Настройване на /proc.
Тук стартираме IP forwarding (препращане на пакети), като ще
запиша във файл /proc/sys/net/ipv4/ip_forward с такъв способ:
echo "1" > /proc/sys/net/ipv4/ip_forward
По-принцип препращане се включва след задаване на всички
правила. Тъй като в такъв случай има малък период на време в който още
няма зададени правилата, злоумишленика може да премине през firewall.
В реални условия препращането на пакети се стартира след
създаването на целия набор от правила, тук обаче го слагам за по удобно
четене.
4.1.3. Задаване на правила.
4.1.3.1. Установка на политика по-подразбиране
Преди да започнем създаване на набора от правила трябва да укажем
политика по-подразбиране. Т.е. действие на пакет който не попаднал под
действие нито от едно правило във верига.
4.1.3.2. Създаваме потребителски вериги в таблица filter.
В сценария ние създаваме вериги icmp_packets, tcp_packets,
udp_packets и верига allowed, която се извиква от верига tcp_packets.
Входящи пакети от интерфейс eth0(т.е. от интернет) по протокол ICMP се
пренасочват в верига icmp_packets, пакети от протокол TCP се пренасочват
ТУ - София Дипломна работа Лист 60
в верига tcp_packets и входящи пакети UDP от интерфейс eth0 отиват в
верига udp_packets.
4.1.3.3. Описваме потребителски вериги.
Верига bad_tcp_packets
Тази верига предназначена за филтриране на пакети с невярно
заглавие и за решаване на други проблеми. Тук филтрираме всички пакети,
които се разпознават като NEW, но не се явяват SYN пакети. Също така се
обработва SYN/ACK-пакети със статус NEW. Тази верига използваме за
защита от несанкционирано влизане и от сканиране на портове. Също така
е добавено филтриране на пакети със статус INVALID. Разбира се че не
винаги е правилно да отхвърляме пакети с признак NEW и пакети със
отхвърлен бит SYN, обаче 99% случаи това е правилно. Затова ние първо
записваме информация за такива пакети в log а после ги отхвърляме.
Причина, по която за SYN/ACK-пакети със статус NEW използва се
действие REJECT е много проста. Общоприето е, че има необходимост в
изпращане на пакет RST в такива случаи (RST като отговор но не са
запитвания от тип SYN/ACK). По този начин ние предотвратяваме
възможност на атака “Познаване на номер ТСР-последователност"
(Sequence Number Prediction) на други възли в мрежа.
Верига allowed
TCP пакет, излизайки от интерфейс eth0, попада в верига tcp_packets,
ако пакета идва на разрешен порт, то след това се провежда допълнителна
проверка в верига allowed.
ТУ - София Дипломна работа Лист 61
Първо правило проверява, дали пакета е запитване на съединение,
SYN пакет. Такъв пакет смятаме за допустим и пропускаме. Следващо
правило пропуска всички пакети с признак ESTABLISHED или RELATED.
Когато съединение установява със SYN пакет, и на това запитване е
изпратен положителен отговор, тогава той получава статус ESTABLISHED.
Последно правило в тази верига отхвърля всички останали TCP пакети.
Под това правило попадат пакети от несъществуващи съединения, пакети
със отхвърлен бит SYN, които се опитват да установят съединение. Не SYN
пакети практически не се използват за установяване на съединение, за
изключение когато има сканиране на портове. Още няма такава реализация
на TCP/IP, която щеше да поддържа установяване на съединение не чрез
SYN пакет, затова можем да бъдем сигурни на 99%, че отхвърляме пакети
който беше изпратен от програма за сканиране на портове.
Верига за TCP
Тук указваме какви портове могат да бъдат достъпни от интернет.
Независимо от това дори, че пакета минава тук проверка, ние го пращаме
във верига allowed за допълнителна проверка.
Аз отворих TCP порт с номер 21, който се явява порт за управление
на FTP съединение и после, разрешавам всички RELATED съединения,
разрешавайки с това PASSIVE FTP, при условие, че беше зареден модул
ip_conntrack_ftp.
Порт 80 е порт HTTP, с други думи web сървър.
Други портове няма нужда да се отварят, но ако се наложи винаги
можем да добавим още едно правило.
Верига за UDP
ТУ - София Дипломна работа Лист 62
Пакети UDP от верига INPUT следват в верига udp_packets. Както и в
случай с TCP пакети, тук те се проверяват на допустимост по номер на
порт на назначение. Обърнете внимание, че не проверявам изходящия порт
на пакета, защото за това отговаря механизъма за определяне на състояние.
Отварят се само тези портове, които се обслужват от сървъри или демони
на нашият брандмауер. Пакети, които постъпват на брандмауер по вече
установено съединение (установено от локалната мрежа) се пропускат от
брандмауер автоматически, тъй като имат състояние ESTABLISHED или
RELATED.
Аз разрешавам порт 123, на който работи NTP (network time
protocol).
Порт 2074 се използва от мултимедийни приложения.
Порту 4000 –ICQ.
Също има правило, което блокира широко вещателни пакети,
постъпващи нa порт 135-139. Тези портове се използват от протоколи SMB
и NetBIOS от Microsoft. По този начин намаляваме шанса за препълване на
таблица за транслиране в мрежите Microsoft Network.
Верига за ICMP
Тук се приема решението за пропускане на ICMP пакети. Ако пакет
минава от eth0 в верига INPUT, то по-нататък той се пренасочва в верига
icmp_packets. В тази верига проверява се типа на ICMP съобщение.
Пропуска се само ICMP Echo Request, TTL equals 0 during transit и TTL
equals 0 during reassembly. Всички останали типове ICMP съобщения
трябва да минават брандмауер без препятствия, тъй като ще има състояние
RELATED.
При вземане на решението се взема в предвид следното: ICMP Echo
Request пакети се изпращат за проверка на достъпност на хост. Ако махнем
ТУ - София Дипломна работа Лист 63
това правило, тогава брандмауер няма да отговаря на ICMP Echo Request,
което ще направи използване на ping към брандмауер, безполезно.
Time Exceeded (т.е., TTL equals 0 during transit и TTL equals 0 during
reassembly). По време на движение на пакета по мрежа на всеки
маршрутизатор поле TTL, в заглавието на пакета, се намалява с 1. Когато
полето TTL стане равно на нула, маршрутизатора ще изпрати съобщение
Time Exceeded. Например, когато изпълняваме трасиране (traceroute) на
някакъв възел полето TTL се устанавява в1, на първият маршрутизатор то
става равно на нула и при нас пристига съобщение Time Exceeded, по-
нататък установяваме TTL = 2 и втори маршрутизатор ни предава Time
Exceeded, и така докато няма да стигнем отговор от самия възел.
4.1.3.4. Верига INPUT
Веригата INPUT, за изпълнение на основна работа използва други
вериги, за да намали натоварване на мрежовия филтър. Това се постига
чрез разбиване на набора от правила по някой признак и отделянето им в
отделни вериги
Първото правило е отхвърляне на лоши пакети. В някой ситуации
такива пакети могат да бъдат допустими, но в 99% случаи по-добре да ги
спираме. Затова такива пакети се занасят в системния журнал.
После следва набор от правила, който пропуска целия трафик идващ
от нашата мрежа, която включва в себе си мрежовия адаптер, свързан с
локалната мрежа и с локален мрежов интерфейс и имащ изходен адрес на
нашата локална мрежа. Тая група от правила стои първата защото
локалната мрежа генерира по голям трафик от колкото трафика от
интернет.
Първо в група, анализираща трафик идващ с $INET_IFACE –
10.0.0.217, стои правило, пропускащо всички пакети със статус
ESTABLISHED или RELATED.
ТУ - София Дипломна работа Лист 64
След това идва анализ на трафик идващ от Интернет. Всички пакети
входящи от интерфейс eth0 се разпределят по вложени вериги в
зависимост от типа на протокола.
Много е важно да отчитаме обема на трафик, минаващия чрез набор
от правила. При невярно изчисление дори много мощната машина може да
не успява да обработва информацията .
Последно правило, преди да бъде бъде използвана политика по-
подразбиране към всички неприети пакети в верига INPUT, трафика се
записва, на случай необходимост от търсене на причини за възникващите
проблеми. При това установяваме правило, ограничение на количество
пакети които ще бъдат записани - не повече от три пакета в минута, за да
не се получи препълване на журнал.
Всичко останало ще бъде под действие DROP, тъй като точно това
действие е назначена в качество на политика по-подразбиране.
4.1.3.5. Верига FORWARD.
Веригата FORWARD съдържа много малко количество на правила.
Първо правило посочва всички TCP пакети на проверка в верига
bad_tcp_packets, която се използва също и в веригата INPUT. Веригата
bad_tcp_packets е построена така, че може да се извиква от други вериги,
без значение на посоката на пакета. След проверка на TCP пакетите,
разрешаваме движението на пакети от локална мрежа без ограничения.
После се пропуска целия трафик от локалната мрежа без ограничения.
Разбира се трябва да пропуснем пакети-отговори в локалната мрежа,
затова в следващото правило пропускаме всичко, което има признак
ESTABLISHED или RELATED, т.е. пропускаме пакети по съединение
установено от локална мрежа.
ТУ - София Дипломна работа Лист 65
И на края занасяме в системния журнал информация за отхвърлени
пакети с префикс "IPT FORWARD packet died: ", за да не се объркат с
пакети отхвърляни от верига INPUT при търсене.
4.1.3.6 Верига OUTPUT.
Тъй като моят компютър работи не само като firewall, но и като
WWW-сървър FTP-сървър, аз позволявам излизането на всичко което има
изходен адрес 127.0.0.1 или 192.168.0.254. Към всички пакети, не
минаващи нито едно от правилата е приемлива политика по-подразбиране
-- DROP.
4.1.3.7. Пускане на SNAT и верига POSTROUTING.
Последен раздел е настройка SNAT. Преди всичко ние добавяме
правило в таблицата nat, във верига POSTROUTING, което прави
преобразуване на изходни адреса за всички пакети, изходящи от
интерфейс, подключен към интернет. По такъв начин, всички пакети,
подходящи под този критерий ще бъдат "маскирани", т.е ще изглеждат
също като че ли излизат от нашия възел.
След като сме установили всички правила, можем да въведем
команда iptables-save за съхраняване на правилата. След това firewall е
готов за работа.
Резултат.
Виждаме, че работа на защитна стена работи както трябва, без
никакви проблеми. Можем да видим, как нито един компютър (от външна
и вътрешна мрежа) не може да влезе през нашата защитна стена чрез
отдалечен достъп. Можем да проверим дали има съединение със сървъра,
ТУ - София Дипломна работа Лист 66
като за целта ще използваме ICMP. Сценария за защита е структуриран
много добре, като най-важното му предимство е наличието на възможност
за добавяне на вериги в iptables, което го прави гъвкав и адаптируем.
4.2. Извод.
ОС Linux е идеална за работа с мрежата, за построяване на защитни
стени, мрежови сървъри и за администриране на мрежовите ресурси.
ОС Linux е подходяща да работи като софтуерна защитна стена, т.к.
прилаганите правила за защита не натоварват излишно системата.
Друго предимство при използване на ОС Linux е че за нея има по-
малко вируси и програми които се възползват от дупки в защита на ОС.
За нормална работа на компютър не трябва много добри хардуерни
характеристики, тъй като правилата са направени така, че при проверка
няма да натоварват системата и показва, че използване на FTP ,WWW и
firewall заедно на един компютър няма да го направи лесно пренатоварващ
се компютър.
Много малки финансови разходи за построяване на такава защитна
стена, т. к. използваме OС Linux, която се разпространява с лиценз GNU
безплатно. Също така вградени в тях модули за работа с iptables не се
нуждае от допълнителни финансови разходи.
ТУ - София Дипломна работа Лист 67
Съдържание
1. Видове атаки и защити в компютърни мрежи
1.1. Класификация на атаки 6 стр.
1.2. Политика на безопасност. 9 стр.
1.3. Съществуващи видове атаки в Интернет. 12 стр.
1.4. Какво представлява защитната стена? 24 стр.
1.5. Какво представлява IP филтрирането? 26 стр.
2. Средства на ОС Linux за защита в компютърни мрежи. 27стр.
2.1. Конфигуриране на Linux като защитна стена. 27 стр.
2.2. Ядро, конфигурирано за IP защитна стена. 28 стр.
2.3. Инструментът ipfwadm. 28 стр.
2.4. Инструментът ipchains. 28 стр.
2.5. Инструментът Iptables. 28 стр.
2.6. Три начина, по които извършваме филтриране. 29 стр.
2.7. Поддържане на правила за защитна стена с iptables. 30 стр.
3. Проектиране на защита на компютърна мрежа. 33 стр.
3.1. Техническа характеристика на компютъра 33 стр.
3.2. Операционна система и програмно обезпечение. 34 стр.
3.3. Зареждаме сервиз iptables. 35 стр.
3.4. Тестов сценарии. 37 стр.
3.5. Съдържание на Log файл 37 стр.
3.6. Описание на мрежата 38 стр.
3.7. Сценарии на защита. 41 стр.
ТУ - София Дипломна работа Лист 68
4. Описание на реализацията. Резултати и изводи. 44 стр.
4.1. Описание на сценарий. 44 стр.
4.2. Извод. 49 стр.
Използвана литература 50 стр.
ТУ - София Дипломна работа Лист 69
Използвана литература
1. Кирх, Олаф; Доусън,Тери; Linux ръководство на
мрежовия администратор; Софтпрес 2001.
2. Хънт, Крейг; Linux Мрежови сървъри, Софтпрес 2003.