Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Менеджмент
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Інструкція до лабораторної роботи
Предмет:
Захист інформації в комп’ютерних системах

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»  СИСТЕМИ ВИЯВЛЕННЯ АТАК. РОБОТА З SNORT ІНСТРУКЦІЯ до лабораторної роботи № 5 з курсу “Захист інформації в комп’ютерних мережах” для студентів спеціальності 7.160102 - "Захист інформації з обмеженим доступом та автоматизація її обробки" 7.160103 - "Системи захисту від несанкціонованого доступу" 7.160104 - "Адміністративний менеджмент у сфері захисту інформації з обмеженим доступом" 7.160105 - "Захист інформації в комп'ютерних системах і мережах" Затверджено на засiданнi кафедри "Захист інформації" протокол № 14 вiд 15.06.2008 p. Львів 2008 Системи виявлення атак. Робота з Snort: Інструкція до лабораторної роботи № 5 з курсу ”Захист інформації в комп’ютерних мережах” для студентів спеціальності "" / Укл. А. З. Піскозуб, Я. Р. Совин - Львів: Національний університет "Львівська політехніка", 2008. - с. Укладачі: А. З. Піскозуб, канд. техн. наук, доцент Я. Р. Совин, асистент Відповідальний за випуск: Рецензент: Мета роботи – вивчити основні принципи побудови та функціонування систем виявлення атак. Вивчити основні функції та принципи роботи з безкоштовною системою виявлення атак Snort. 1. ТЕОРЕТИЧНІ ВІДОМОСТІ 1.1. Загальні положення Система виявлення атак (СВА, англ. IDS – Intrusion detection system) – це програмний або програмно-апаратний комплекс, призначений для виявлення і по можливості попередження дій, які загрожують безпеці комп’ютерної системи. Перші прототипи СВА з’явилися на початку 1980-х років і були орієнтовані в першу чергу на захист автономних комп’ютерів, не об’єднаних в мережу. Виявлення атак проводилося шляхом аналізу реєстрації подій постфактум. Сучасні системи в основному орієнтовані на захист від загроз, направлених з мережі, тому їх архітектура суттєвим чином помінялася. Разом з тим основні підходи до виявлення атак залишилися колишніми. Розглянемо класифікацію і принципи роботи СВА більш детально. 1.2. Сигнатурний аналіз і виявлення аномалій Концептуально виявлення атак базується або на методах сигнатурного аналізу, або на методах виявлення аномалій. Можливе також сумісне використання обох методів. Сигнатурний аналіз оснований на припущені, що сценарій атаки відомий і спроба її реалізації може бути виявлена в журналах реєстрації подій або шляхом аналізу мережевого трафіку. В ідеальному випадку адміністратор комп’ютерної системи повинен усунути всі відомі йому вразливості. На практиці, проте, дана вимога може виявитися нездійсненою, так як в результаті може суттєвим чином постраждати функціональність системи. Можливо також, що людські і матеріальні витрати, необхідні для усунення цих вразливостей, можуть перевищити вартість інформації циркулюючої в системі. СВА, які використовують методи сигнатурного аналізу, призначені для вирішення описаної проблеми, так як в більшості випадків дають змогу не тільки виявити, але і попередити реалізацію атаки на початковій стадії її виконання. Процес виявлення атак в даних системах зводиться до пошуку наперед відомої послідовності подій або рядка символів у впорядкованому в часі потоці інформації. Механізм пошуку визначається способом опису атаки. Найпростішим є опис атаки з допомогою набору правил (умов). Стосовно аналізу мережевих пакетів ці правила можуть включати певні значення окремих полів заголовку пакету (ІР-адреса і порт відправника та одержувача, встановлені прапорці, розмір пакету і т.д.). При аналізі журналів реєстрації подій правила можуть обмежувати час реєстрації користувача в системі, кількість спроб неправильного пароля на протязі короткого проміжку часу, а також наявність змін в критичних файлах системи. Таким чином, опис атаки відображає, по-перше, характер інформації що передається і, по-друге, сукупність реакцій системи на реалізацію атаки. Якщо описати поточний стан комп’ютерної системи сукупністю пар атрибут-значення, а події представити як дії, пов’язані зі зміною цих атрибутів, то для опису атаки можна використати теорію кінцевих автоматів. В цьому випадку реалізації кожної атаки відповідає послідовність переходів з вихідного стану системи в її кінцевий стан, яке характеризує реалізацію даної атаки. Умови і напрямок переходу визначаються набором правил. Такий підхід до опису сценарію атаки є більш точним, ніж опис з допомогою набору правил, так як дозволяє враховувати динаміку розвитку атаки і виявляти спроби реалізації атак, прихованих в інтенсивному потоці подій, згенерованих зловмисником для приховування своїх намірів. Застосування методів сигнатурного аналізу вимагає від розробника СВА вибору або створення спеціальної мови, яка дозволяє описувати реєстровані системою події, а також встановлювати відповідності між ними. Універсальність і повнота цієї мови є визначальними факторами ефективної роботи системи виявлення, так як в на цій мові будуть сформульовані правила, по яким виявляється атака. Реагування на спробу реалізації атаки може включати як просте оповіщення адміністратора інформаційної системи, так і більш активні міри: розрив встановленого з’єднання, відключення вразливої служби, перепрограмування міжмережевого екрану на відхилення пакетів,отриманих від виявленого системою зловмисника та ін. Всі СВА, які використовують метод виявлення атак за сигнатурою, мають в своєму складі базу даних відомих атак (їх сигнатур). Очевидно, що принциповим недоліком даного класу СВА є неможливість виявлення атак, сигнатури яких відсутні в базі даних. Тому, щоб забезпечити ефективну роботу системи виявлення, ця база повинна регулярно обновлятися. Перевагами систем, які використовують сигнатурний аналіз, є низька ймовірність хибної тривоги (помилкового виявлення атаки при її фактичній відсутності), а також відносна простота налаштування. Підхід до виявлення атак, оснований на спробі виявлення аномальної поведінки системи, також був вперше запропонований в 1980-х роках. Основною передумовою застосування даного підходу є те, що в процесі штатного функціонування комп’ютерна система знаходиться в певному рівноважному стані. Спроба реалізації атаки веде до виходу системи з цього стану, причому факт виходу може бути зафіксований. При створенні СВА, працюючих за принципом виявлення аномалій, повинні бути вирішені три задачі. По-перше, необхідно розробити спосіб опису стану комп’ютерної системи. Це нетривіальна задача, так як повинні бути враховані як статична так і динамічна складові. Наприклад, повинні бути описані типові для системи потоки даних, які передаються по мережі. По-друге, необхідно розробити алгоритми, з допомогою яких буде автоматично (або з втручанням адміністратора) складатися опис реальної працюючої системи – її профіль. Це потрібно для того, щоб навчити СВА розрізняти штатний режим роботи системи. По-третє, необхідно вибрати математичні методи, які будуть використовуватися для виявлення аномалій в процесі функціонування системи. Інакше кажучи, повинні бути визначені механізми прийняття рішення про спробу атаки системи. Розглянемо простий приклад. Нехай одним з параметрів комп’ютерної системи є кількість відхилених вхідних ТСР-з’єднань, а точніше – середнє значення і дисперсія даного параметру. У випадку штатної роботи системи кількість відхилених з’єднань повинне бути незначним. Якщо зловмисник почне досліджувати вразливість системи з допомогою сканування портів, кількість відхилених ТСР-з’єднань різко зросте. Такий стрибок може бути виявлений різними способами. По-перше, може бути застосований статистичний критерій рівності середніх значень двох випадкових величин. Для його використання необхідно зробити два досить неоднозначних припущення: про нормальність розподілу випадкових величин і про рівність їх дисперсій. По-друге, можуть застосовуватися математичні методи розпізнавання образів. Відомі також розробки, які використовують методи нейронних мереж. Основною перевагою використання підходу, основаного на виявленні аномальної поведінки системи, є теоретична можливість виявлення нових, не описаних раніше, атак. Дана можливість основана на припущенні, що атака за визначенням представляє собою набір дій, нехарактерних для штатного режиму роботи системи. Наскільки ефективно будуть виявлятися нові атаки, визначається способом опису стану системи і кількістю аналізованих параметрів. Більшість математичних методів виявлення, які використовуються в даному класі СВА, не є детермінованими. Це означає, що всі рішення приймаються на основі статистичного аналізу і, отже, можуть містити помилки. Можливі два класи помилок: "пропуск атаки" та "фіктивна тривога". Імовірність пропуску визначається характером атаки й ступенем адекватності опису поточного стану системи. "Фіктивна тривога" може мати місце в тому випадку, якщо в комп’ютерній системі спостерігається нетипова активність, що є наслідком дій законних користувачів (або процесів). Наприклад, якщо на всіх комп’ютерах локальної мережі, що має підключення до Інтернет, буде встановлена антивірусна програма, запрограмована на обновлення антивірусних баз в один і той самий час кожні два дні, то одночасна спроба всіх комп’ютерів підключитися до одного сервера Інтернет буде інтерпретуватися СВА як вірусна атака. Тому саме високу ймовірність "фіктивної тривоги" звичайно називають головним недоліком систем виявлення атак, заснованих на виявленні аномальної активності. Ще одним недоліком прийнято вважати складність настроювання ("навчання") системи, тому що цей процес вимагає від адміністратора глибоких знань базових принципів взаємодії елементів інформаційної системи. У зв'язку із цим повноцінних комерційних продуктів, що використають принципи виявлення аномальної активності, на ринку практично немає, хоча розробки цих систем безупинно ведуться через їхню перспективність. 1.3. Виявлення в реальному часі й відкладений аналіз По типу оброблюваних даних системи виявлення атак поділяються на "системи реального часу" й "системи відкладеної обробки". Системи відкладеної обробки аналізують вміст журналів реєстрації подій або масив попередньо записаного трафіку, а системи реального часу - вхідний потік подій від програмних датчиків. Очевидно, що адекватне реагування на спробу реалізації атаки, включаючи її запобігання, можливо тільки при використанні систем реального часу. У той же час це не означає, що СВА реального часу кращі, ніж системи відкладеної обробки. Так, СВА реального часу, що не має функцій по запобіганню атак, менш ефективна, ніж аналогічна система з відкладеною обробкою, оскільки в системі реального часу одним з основних критеріїв ефективності є простота використовуваних алгоритмів, а не їхня оптимальність із позицій надійності виявлення атак. Тому вибір того або іншого типу СВА повинен робитися виходячи з аналізу завдань, які ставляться перед системою виявлення. Апостеріорний аналіз може використатися з наступною метою: розслідування інформаційних злочинів та інцидентів; виявлення атак, що не є інформаційним злочином (збір інформації про інфраструктуру мережі, сканування портів та ін.); збір інформації про вразливості інформаційної системи з метою їхнього усунення; аналіз активності окремих користувачів; мінімізація системних вимог до СВА. Основною метою використання систем виявлення атак реального часу є швидке реагування на спроби реалізації атак, у тому числі припинення цих спроб. У зв’язку із цим типовими процедурами для даних систем є аналіз і фільтрація трафіку на мережному й транспортному рівнях моделі OSI. Щоб скоротити продуктивні витрати, часто розглядаються лише заголовки пакетів, а їхній вміст "відкидається". Це, очевидно, значно скорочує перелік атак, що виявляють. 1.4. Локальні й мережеві системи виявлення атак СВА, що використовують інформацію, одержувану від персонального комп’ютера, на який вони встановлені, називають локальними (host-based). На противагу їм системи виявлення, орієнтовані на аналіз усього доступного мережевого трафіку, називають мережевими (network-based). Розглянемо, яка інформація може використатися локальними СВА для виявлення спроб атаки. Відстеження спроб вхідних і вихідних TCP- і UDP-з’єднань. У результаті можуть виявлятися й припинятися спроби несанкціонованих підключень до окремих портів, а також спроби сканування портів. Аналіз вхідного й вихідного мережевого трафіку на предмет наявності "підозрілих" пакетів. Огляду можуть підлягати як поля заголовків пакетів, так і їхній вміст. Відстеження спроб реєстрації на локальній ЕОМ. У випадку інтерактивної реєстрації може накладатися обмеження на час реєстрації, а у випадку реєстрації по мережі можна обмежити перелік мережевих адрес, з яких дозволяється вхід у систему. Окрема увага приділяється множинним невдалим спробам реєстрації, які можуть мати місце у випадку атаки "підбор пароля методом перебору". Відстеження активності користувачів, наділених підвищеними повноваженнями в системі (суперкористувач root в UNIX-системах, користувачі групи Адміністратори в ОС Windows). Тому що в широкому класі випадків атака спрямована на одержання повноважень суперкористувача, можуть відслідковуватися спроби реєстрації цього користувача в системі в недозволений час, спроби мережевої реєстрації суперкористувача і т.д. Перевірка цілісності окремих файлів або ключів реєстру (для Windows-систем). Несанкціоновані дії зловмисника можуть полягати в спробах внесення змін у базу даних користувачів або в модифікації окремих налаштувань системи. Контроль цілісності критичних областей даних дозволить СВА виявити спробу реалізації атаки. Мережеві СВА збирають й аналізують всі доступні їм мережеві пакети на предмет наявності "підозрілого" вмісту або несанкціонованих потоків інформації від одного вузла мережі до іншого. У зв’язку із цим точка підключення СВА повинна забезпечувати максимальне охоплення трафіка, що циркулює в сегменті мережі. Переважно такі системи підключаються до спеціального порта комутатора або встановлюються безпосередньо на маршрутизаторі мережі. СВА даного класу набагато ефективніше, ніж локальні, здатні виявляти факт сканування портів, а також виявляти спроби атак на "відмову в обслуговуванні". Крім того, якщо система виявлення встановлена на шлюзі, що забезпечує доступ з локальної мережі в Інтернет, то шляхом фільтрації небажаних пакетів може забезпечуватися захист цієї локальної мережі від зовнішніх атак. Виходить, що СВА виконує в цьому випадку функції міжмережевого екрана (або управляє ним). Таким чином, мережеві системи виявлення атак знаходять своє застосування в інформаційних системах, де встановлення спеціалізованого програмного забезпечення на комп’ютери користувачів проблематичне, і там, де потрібно ізолювати мережевий сегмент від зовнішньої загрози. Необхідно відзначити, що аналіз інтенсивного потоку даних вимагає істотних обчислювальних витрат, тому апаратні вимоги до вузла, на якому встановлюється така СВА, можуть бути дуже високими. Найбільш критична ця проблема стає при спробі захисту мережі, що містить кілька сотень комп’ютерів і має вихід в Інтернет. До цього класу відносяться більшість мереж великих підприємств та організацій. 1.5. Розподілені системи виявлення атак Окремим класом систем виявлення атак є розподілені системи. Їхньою основною відмінністю є перерозподіл функцій збору даних між декількома "агентами" - програмними датчиками, встановленими на вузлах комп’ютерної системи. Агенти можуть збирати інформацію безпосередньо з комп’ютера, на який вони встановлені, або аналізувати дані, передані по мережі. Найбільш принциповим моментом при впровадженні розподілених СВА є організація інформаційного обміну між окремими агентами системи. Кінцевою метою цього обміну є ухвалення рішення про факт атаки. Перевагою використання розподілених систем є можливість збирати й аналізувати значно більший обсяг інформації, що дозволяє виявляти широкий спектр атак. Щодо цього найбільш ефективним є рішення, що поєднує методологію локальних і мережевих СВА в єдине ціле. З іншого боку, розподілені системи володіють рядом недоліків, найбільш істотним з яких є менша захищеність їхніх компонентів. По-перше, збір даних з декількох вузлів створює додаткове навантаження на мережу, що, у випадку повномасштабної атаки, може перевищити її пропускну здатність. По-друге, обмін інформацією по мережі передбачає наявність відкритих портів, потенційно доступних для атаки на відмову в обслуговуванні (переповнення черги вхідних TCP-з’єднань). По-третє, на вузлах комп’ютерної системи можливе впровадження шкідливого програмного забезпечення, що буде блокувати роботу агента або намагатися підробляти інформацію, ними передану. Окремим завданням, що виникає при проектуванні розподілених СВА, є вибір ідеології процедури ухвалення рішення. Можливі кілька варіантів процедури, що відрізняються ступенем централізації. Найбільш простим є варіант процедури із граничним ступенем централізації, коли агенти займаються лише збором даних і передачею їхньому центральному вузлу СВА - модулю ухвалення рішення. Цей модуль аналізує вхідну інформацію й ухвалює рішення про факт атаки. Даний варіант характеризується більшим обсягом переданих по мережі даних, що підвищує ймовірність виявлення факту роботи СВА зловмисником і робить систему вразливою до атак на відмову в обслуговуванні. Найбільш очевидним рішенням по використанню такого типу СВА є їхня установка в рамках підмереж невеликого розміру, що дозволить обійти проблему перевантаження мережі пакетами, згенерованими системою. Збільшення масштабів мережі вимагає багатоступінчастого підходу до ухвалення рішення. Він полягає в тому, що виділяються проміжні модулі ухвалення рішення, які збирають дані тільки з обмеженого числа "своїх" агентів і передають на верхній рівень набагато менший обсяг інформації, доповнений проміжним рішенням. При будь-якому варіанті реалізації процедури ухвалення рішення очевидно, що першочерговим стає завдання забезпечення захищеності самої СВА. 2. Система виявлення атак Snort 2.1. Загальні відомості Snort — це безкоштовна система виявлення атак з відкритим вихідним кодом. Доступні версії програми, що працюють під керуванням операційних систем Windows, Linux, BSD, Mac OS X, а також деяких інших. Відповідно до запропонованої вище класифікації, Snort є мережевою СВА, заснованою на сигнатурному аналізі. Сигнатури атак описуються за допомогою правил – спеціальних синтаксичних конструкцій, що дозволяють виявляти інформацію, що цікавить адміністратора, у полях заголовків і вмісті переданих по мережі пакетів. Крім того, в Snort реалізовано кілька препроцесорів, що виконують більш складні операції з аналізу трафіка, такі, наприклад, як дефрагментація IP-пакетів, відстеження TCP-з’єднань і виявлення спроб сканування портів. 2.2. Встановлення та запуск програми Для забезпечення можливості перехоплення мережевих пакетів програмою Snort необхідні попереднє встановлення й запуск служби WinPcap (WinPcap_3_1.exe).  Рис. 1. Служба WinPcap у переліку служб Для встановлення СВА Snort версії 2.4.3 необхідно запустити файл «Snort_243_Installer.exe» і відповісти на питання програми-інсталятора. За замовчуванням Snort встановлюється в каталог «С:\snort», а виконавчий ехе-файл розташовується в каталозі «С:\snort\bin». Запуск СВА Snort здійснюється з командного рядка, у табл.1 наведений неповний список параметрів, з якими може проводитися запуск. Щоб вивести цей список на екран під час роботи, необхідно виконати команду snort -? Таблиця 1 Список параметрів СВА Snort Параметр Опис  -c <rules> Використати файл правил <rules>.  -E Додавати попередження (alerts) у журнал реєстрації подій Windows NT (не створюючи log-файлу).  -h <hn> Задати домашню мережу (home network) <hn>.  -i <if> Підключитися до мережевого інтерфейсу номер <if> (список інтерфейсів можна одержати за допомогою команди snort -W).  -I Додавати до попередження найменування інтерфейсу.  -K <mode> Режим реєстрації попереджень: pcap (за замовчуванням) — у двійковому форматі, ascii — у текстовому форматі, none — без реєстрації.  -l <ld> Зберігати результати реєстрації в каталог <ld>.  -L <file> Зберігати результати реєстрації в зазначений файл формату tcpdump (буде розташовуватися в каталозі, попередньо зазначеному параметром -l).  -n <cnt> Завершити роботу програми після одержання <cnt> пакетів.  -N Не зберігати у файлах реєстрації вміст пакетів (зберігається лише текст попереджень).  -p Аналізувати тільки пакети, відправлені на локальну адресу, і широкомовні пакети.  -r <tf> Прочитати й обробити файл <tf>, записаний у форматі tcpdump.  -S <n=v> Встановити значення змінної n файлу правил, рівної v.  -U Записувати часові мітки в універсальному скоординованому часі (UTC).  -v Відображати на екрані заголовки всіх перехоплених пакетів.  -V Показати версію Snort.  -W Показати доступні мережеві інтерфейси.  -X Зберігати у файлі журналу реєстрації подій вміст перехоплених пакетів в «сирому» виді, починаючи з рівня link моделі OSI.  -y Додати місяць, день та рік в часові мітки.  -? Показати допомогу по параметрам командного рядку.   Опис мови правил Розглянемо короткий опис мови правил, на якому задаються сигнатури атак, що виявляють СВА Snort. Повний опис мови правил знаходиться у файлі документації «С:\snort\doc\snort_manual.pdf». Правила записуються в один рядок, якщо виникає необхідність перенести текст правила на наступний рядок, необхідно додати наприкінці рядка символ зворотної косої риски «\». Правила складаються із двох частин: заголовка й набору атрибутів. Заголовок, у свою чергу, складається з: 1. Вказівки дії, яку необхідно виконати (alert, log, pass та ін.). 2. Протоколу (tcp, udp, icmp, ip). 3. IP-адреси й маски підмережі джерела й приймача інформації, а також інформації про порти джерела й приймача. Дія alert полягає в генерації попереджуючої події й збереженні вмісту пакета для подальшого аналізу. Дія log припускає збереження пакета без генерації попередження. Дія pass означає пропуск пакета (його ігнорування). Існує також ряд більш складних дій, які тут не розглядаються. Текст атрибутів розташовується в дужках, кожна пара атрибут – значення має вигляд <атрибут>: <значення>;. Значення строкових атрибутів записуються в лапках. Розглянемо приклад простого правила (один рядок): alert <протокол> <адреса_підмережі1>[/маска_ підмережі1] <порт1> <напрямок> <адреса_підмережі2>[/маска_ підмережі2] <порт2> ([msg:"Текст повідомлення";] [інші_атрибути]) де alert - дія, яку необхідно виконати при виявленні пакета, що задовольняє даному правилу, і яке полягає в генерації «попередження» - запису в журналі реєстрації. <протокол> - найменування протоколу (tcp, udp, icmp, ip). <адреса_підмережі>[/маска_підмережі] - IP-адреса й маска підмережі, або IP-адреса вузла учасника обміну у форматі: 192.168.247.0/24, або 192.168.247.1. <порт> - номер порту або діапазон портів у форматі 1:1024 для позначення діапазону портів від 1 до 1024, 1024: - з номерами більше або рівними 1024, або :1024 - менше або рівними 1024 відповідно. <напрямок> - позначення напрямку у вигляді ->, <- або <>. Замість IP-адрес і номерів портів можуть використатися псевдоніми any, що є замінником будь-якого значення. Атрибути є найбільш значимою частиною правил, тому що дозволяють шукати інформацію, що цікавить, у полях заголовків і вмісті пакетів. Існує чотири категорії атрибутів: meta-data - надають інформацію про правило, але не впливають на процес виявлення; payload - атрибути даного типу призначені для пошуку інформації в «корисному навантаженні» (вмісті) пакета; non-payload - призначені для пошуку інформації в заголовках пакетів; post-detection - визначають поводження системи після виявлення пакета, що задовольняє правилу. У табл. 2 наведений неповний список атрибутів, які можуть бути використані при написанні правил. Якщо відомо місцезнаходження інформації, що цікавить, у пакеті, то доцільно обмежити область пошуку за допомогою модифікаторів offset й depth, тому що це істотно скоротить час, затрачуваний на аналіз пакета. Таблиця 2 Список атрибутів СВА Snort Атрибут Опис  meta-data  msg: "<текст>"; Повідомлення, що додається в журнал реєстрації при активації правила.  sid: <ідентифікатор>; Унікальний номер, використовуваний для ідентифікації правил. Ідентифікатори від 100 до 1 000 000 використовуються для правил, включених у дистрибутив Snort. Для локальних правил варто використати значення більше 1 000 000.  rev: <номер_редакції>; Ціле число, що служить для позначення номера редакції правила.  classtype: <ім'я_класу>; Використається для позначення класу атаки. Повний список класів наведений у документації по Snort.  priority: <пріоритет>; Ціле число, використовуване для перевизначення пріоритету, заданого зазначеним раніше класом атаки, або для призначення пріоритету новому правилу. Найвищий пріоритет – 1, типове значення атрибута становить від 1 до 4.  payload  content: [!]"<рядок>"; Дозволяє шукати заданий підрядок у вмісті корисного навантаження пакета. Знак оклику означає відсутність зазначеної інформації в пакеті. За замовчуванням даний атрибут є чутливим до регістра. Для позначення двійкових даних варто використати шістнадцяткові значення, відділені вертикальними рисками: |00 5С|. Атрибут content має декілька модифікаторів, які можуть розташовуватися слідом за ним.  nocase; Модифікує вжитий раніше атрибут content, роблячи його нечутливим до регістра.  depth: <число_байт>; Значення атрибута (у байтах) визначає, як далеко в корисному навантаженні пакета повинен проводитися пошук.  offset: <число_байт>; Значення атрибута визначає, скільки байтів корисного навантаження варто пропустити. Пошук буде вестися, починаючи із число_байт+1-го байта.  distance: <число_байт>; Атрибут схожий на depth, але вказує, скільки байт необхідно пропустити після попереднього співпавшого підрядка перед продовженням пошуку.  within: <число_байт>; Атрибут вказує системі шукати збіги лише в перших число_байт, починаючи з кінця попереднього співпавшого підрядка.  non-payload  dsize: <розмір>; Порівняти розмір корисного навантаження із заданим. Можливе вказання діапазонів значень із використанням знаків >, < й <>. Наприклад: >128, 300<>500 (від 300 до 500).  flags: [!|*|+]<прапорці> Перевірити, чи встановлені зазначені прапорці в прийнятому TCP-пакеті. Прапорці записуються підряд без пробілів і позначаються в такий спосіб: F - FIN (LSB у байті прапорців) S - SYN R - RST P - PSH A - ACK U - URG 1 - Резерв 1 (MSB у байті прапорців) 2 - Резерв 2 0 - прапорці не встановлені Можуть бути додатково використані наступні модифікатори: ! - зазначені прапорці не встановлені; * - встановлений хоча б один із зазначених; + - встановлені зазначені й будь-які інші.  itype: <тип>; Порівняти тип ICMP повідомлення із зазначеним. Можлива вказівка діапазонів значень із використанням знаків >, < й <> (див. вище).  icode: <код>; Порівняти код ICMP повідомлення із зазначеним.  Замість IP-адрес можуть використатися змінні, задані вище по тексту в такий спосіб: var <ім'я_змінної> <значення_змінної> Щоб послатися на змінну далі в тексті, перед її ім'ям слід поставити знак $. У текст файлу правил можна включати коментарі, які відділяються знаком #. Вся інформація праворуч від цього знака й до кінця рядка вважається коментарем і не інтерпретується системою: #<коментар> Розглянемо приклад задання двох змінних і наступного їх використання в правилі, що фільтрує вхідні ICMP-пакети ECHO (тип 8): # Глобальні змінні var HOME_NET 192.168.247.1 var EXTERNAL_NET !$HOME_NET # Виявлення ехо-запитів (ping'ів) alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"Incoming ECHO REQUEST"; itype: 8;) Використання СВА Snort СВА Snort можна використати як аналізатор трафіка, що володіє значними можливостями по фільтрації пакетів. Наприклад, можна створити файл із правилами, що використовують винятково дії типу log. У результаті із вхідного потоку даних будуть відібрані й збережені пакети, що задовольняють зазначеним правилам. Оскільки за замовчуванням журнал ведеться у двійковому форматі tcpdump, він може бути імпортований майже всіма спеціалізованими програмами аналізу трафіка. Переважно ці програми дозволяють наочно відображати вміст пакетів, але не мають таких можливостей по їхній фільтрації, як Snort. Для запуску Snort у режимі аналізатора трафіка, як і для запуску його в режимі системи виявлення атак, необхідно виконати наступну команду в командному рядку Windows: snort -i <інтерфейс> -c <файл_конфігурації> -l <шлях_до_журналу> де <інтерфейс> – номер інтерфейсу, отриманий у результаті виконання команди snort –W; <файл_конфігурації> – шлях до файлу, у якому зберігаються налаштування програми й правила виявлення; <шлях_до_журналу> – шлях до каталогу, у якому необхідно зберегти файл журналу; Приклад: snort -i 3 -c ../etc/my.conf -l ../log Для завершення роботи СВА Snort, необхідно натиснути клавіші <Ctrl+C>. Розглянемо кілька правил (табл. 3), які дозволять виявляти типові атаки. Текст правил повинен записуватися в один рядок. Таблиця 3 Приклади правил СВА Snort № Опис Правило  1 Виявлення вхідних ECHO-запитів (ping’ів). alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg: "Incoming ECHO REQUEST"; itype: 8;)  2 Виявлення вихідних ECHO-відповідей. alert icmp $HOME_NET any -> $EXTERNAL_NET any (msg: "Outgoing ECHO REPLY"; itype: 0;)  3 Виявлення великих ICMP-пакетів (атака «Ping of Death»). alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg: "Incoming large ICMP packet"; dsize: >800;)  4 DoS-атака Winnuke. alert tcp $EXTERNAL_NET any -> $HOME_NET 135:139 (msg: "Do Winnuke attack"; flags: U+;)  5 Запит на підключення до 139 порту (служба SMB) із зовнішньої мережі (два варіанти). alert tcp $EXTERNAL_NET any -> $HOME_NET 139 (msg: "NETBIOS SMB IPC$ share access"; flags: A+; content: "|00|"; offset: 0; depth: 1; content: "|FF|SMB|75|"; offset: 4; depth: 5; content: "\\IPC$|00|"; nocase;) alert tcp $EXTERNAL_NET any -> $HOME_NET 139 (msg:"NETBIOS SMB IPC$ share access (unicode)"; flags: A+; content: "|00|"; offset: 0; depth: 1; content: "|FF|SMB|75|"; offset: 4; depth: 5; content: "|5c00|I|00|P|00|C|00|$| 00|"; nocase;)  6 Запит на підключення до 445 порту (служба SMB) із зовнішньої мережі (два варіанти). alert tcp $EXTERNAL_NET any -> $HOME_NET 445 (msg: "NETBIOS SMB IPC$ share access"; flags: A+; content: "|00|"; offset: 0; depth: 1; content: "|FF|SMB|75|"; offset: 4; depth: 5; content: "\\IPC$|00|"; nocase;) alert tcp $EXTERNAL_NET any -> $HOME_NET 445 (msg:"NETBIOS SMB IPC$ share access (unicode)"; flags: A+; content: "|00|"; offset: 0; depth: 1; content: "|FF|SMB|75|"; offset: 4; depth: 5; content: "|5c00|I|00|P|00|C|00|$|00|"; nocase;)  6 Виявлення сканування портів методом NULL. alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"NULL port scanning"; flags:!FSRPAU;)  7 Виявлення сканування портів методом XMAS. alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"XMAS port scanning"; flags:FPU+;)   Виявлення факту сканування портів У СВА Snort убудований програмний модуль, що дозволяє виявляти сканування портів системи що захищається. Алгоритм, що виявляє сканування, заснований на тому, що при скануванні портів істотно збільшується кількість вихідних TCP-пакетів із встановленим прапорцем RST. Встановлення цього прапорця в пакеті, що відправляється у відповідь, означає, що порт, до якого відбувалося звертання, закритий. Таким чином, аналізуючи кількість пакетів із встановленим прапорцем RST, можна виявити факт сканування портів системи. Програмний модуль, або препроцесор, ініціалізується з файлу конфігурації в такий спосіб. У конфігураційний файл варто додати наступні рядки: preprocessor flow: stats_interval 0 hash 2 preprocessor sfportscan: proto { <протокол> } scan_type { <тип_сканування> } sense_level { <чутливість> } logfile { <файл_з_звітом> } Перший рядок призначений для ініціалізації препроцесора Flow, без якого модуль виявлення сканування не працює. Другий рядок , ініціалізує препроцесор sfPortscan, при цьому задаються наступні параметри (жирним шрифтом показані рекомендовані значення): <протокол> – аналізований протокол (tcp, udp, icmp, ip_proto, all); <тип_сканування> – типи сканування, що виявляються (portscan, portsweep, decoy_portscan, distributed_portscan, all); <чутливість> – чутливість (low, medium, high); <файл_з_звітом> – ім’я файлу, у який буде поміщений звіт про виявлені спроби сканування портів. Файл зі звітом буде розташовуватися в каталозі, зазначеному параметром -c при запуску Snort. Чутливість визначає перелік аналізованої інформації й у підсумку позначається на ймовірності "фіктивної тривоги" (для high вона найбільша). За більше докладною інформацією про параметри модуля sfPortscan варто звертатися до документації на Snort. Наведемо приклад настроювання модуля sfPortscan: preprocessor flow: stats_interval 0 hash 2 preprocessor sfportscan: proto { all } scan_type { all } sense_level { medium } logfile { portscan.log } 93 При даному настроюванні Snort буде виявляти всі методи сканування портів. Необхідно відзначити, що дві й більше процедури сканування портів, виконані під час одного сеансу роботи Snort, будуть відображені у файлі реєстрації подій тільки один раз. Це залишається справедливим навіть у тому випадку, коли використовуються різні методи сканування. Таким чином, для перевірки можливості виявлення сканування, виконуваного різними методами, Snort необхідно закривати й запускати знову. 4. ЗАВДАННЯ 4.1. Домашня підготовка до роботи Вивчити теоретичний матеріал. Вивчити порядок роботи, конфігурування та формування правил програми Snort. 4.2. Виконати в лабораторії 1. Встановити СВА Snort. Для перевірки працездатності СВА Snort рекомендується виконати наступні дії. 2. Вивести на екран список доступних мережевих інтерфейсів командою snort -W 3. Запустити Snort на обраному інтерфейсі в режимі аналізатора пакетів з виводом інформації на екран,
Антиботан аватар за замовчуванням

23.05.2013 19:05-

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!