Материал: Розробка підсистеми взаємодії адміністратора безпеки з системою виявлення вторгнень Prelude

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рис.2.5. Фізична модель бази даних

Наступним етапом є генерація самої бази даних. Результатом генерації бази даних є скрипт, приведений у додатку Б.

Отже, використовуючи утиліту SybasePowerDesigner 15.3. спроектовано концептуальну модель бази даних, згенерувано фізичну модель та відповідний скрипт бази даних.

Висновки

Таким чином, в даному розділі проаналізовано та сформовано вимоги до програмного модулю що розробляється. Обґрунтовано вибір програмного середовища та мови програмування для розробки підсистеми, побудована концептуальна та фізична схема бази даних. Обґрунтовано вибір СКБД MySQL як досить потужного інструменту для розробки додатків, різних за структурою і призначенням.

. ПРОГРАМНА РЕАЛІЗАЦІЯ ПІДСИСТЕМИ (ПРОГРАМНОГО МОДУЛЮ)

.1 Проектування та розробка узгодженого інтерфейсу взаємодії користувача з підсистемою

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

інтерфейс - сама важлива частина СВВ з точки зору її реклами з метою продажу і з точки зору безпосереднього адміністратора безпеки інформаційної мережі, який може працювати з нею по декілька годин поспіль;

інтерфейс впливає на характер рішень, які приймає ОПР, він може прискорювати час прийняття рішення та покращувати або погіршувати їх якість;

який саме конкретний тип інтерфейсу можна створити за допомогою вибраних інструментальних засобів і які принципові можливості може надати інструментальна система.

Основними властивостями, яким повинні задовольняти інтерфейси, є:

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

дружність інтерфейсу: це максимальна простота його використання і готовність в повній мірі задовольнити запити адміністратора безпеки при розв’язанні визначеного класу задач;

гнучкість інтерфейсу: гнучкість інтерфейсу - це можливість його адаптування до розв’язання конкретної задачі. Якщо розв’язувана задача дуже складна, то інтерфейс повинен полегшувати формулювання запитів і видавати результати у формі, яка легко і швидко сприймається користувачем. Тобто інтерфейс повинен буди максимально простим навіть у випадку, коли розв’язується дуже складна задача.

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

Вміле поєднання вказаних атрибутів дозволяє суттєво підвищити швидкість сприйняття та глибину розуміння результатів роботи СППР, прискорити процеси вводу/виводу даних.

.2 Розробка компоненти ведення БД підсистеми

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

Для того, щоб система виявлення вторгнень здійснювала внесення повідомлень до бази даних, у разі спрацювання відповідностей сигнатури атак до потоку інформації в комп’ютерній мережі, необхідно перш за все завантажити схему бази даних та налаштувати Prelude. Завантаження здійснюється за командою $ mysql -u prelude prelude -p < /usr/share/libpreludedb/classic /mysql.sql. Всі налаштування зберігаються в конфігураційному файлі prelude-manager.conf. Для цього необхідно прописати наступні рядки:

[db]= mysql= localhost= 3306= prelude= prelude= prelude

Після цього система виявлення атак Prelude буде заносити інформацію стосовно виявлених атак до бази даних, що у відповідності буде мати вигляд, зображений на рис.3.1.

Рис.3.1. Таблиця Prelude_User в базі даних Prelude

Для того, щоб розроблювана СППР здійснювала внесення даних до бази даних, необхідно створити в MySQL базу данних Prewikka и надати права користувачу prewikka наступними командами:

# mysql -u root -p:> CREATE DATABASE prewikka;> GRANT ALL PRIVILEGES ON prewikka.* TO prewikka@localhost

> IDENTIFIED BY 'prewikka';

Далі завантажити раніше згенерований, використовуючи утиліту SybasePowerDesigner 15.3. скрипт для створення таблиць, індексів в БД - командою #mysql -u prewikka prewikka -p < /usr/share/prewikka/database /mysql.sql

Налаштувати конфігураційний файл prewikka.conf. Для цього необхідно прописати наступні рядки:

[database]: mysql: localhost: prewikka: prewikka: prewikka

Після цього маємо створену БД з відповідними таблицями, що вказано на рисунку 3.2:

Рис.3.2. База даних Prewikka

Розроблювана СППР буде заносити інформацію, наприклад версії розробки, до бази даних, що у відповідності буде мати вигляд, зображений на рис. 3.3:

Рис.3.3. Таблиця Prewikka_Version в базі даних Prewikka

Для взаємодії СППР з створеною БД Prewikka використовується мова запитів SQL. Приклад запиту:

def createUser(self, login, email=None):.query("INSERT INTO Prewikka_User (login, email) VALUES (%s,%s)" % \ (self.escape(login), self.escape(email)))

3.3 Розробка компоненти аналізу даних моніторингу об’єктів мережі

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

Для доступу до розробленої системи необхідно запустити сервер, на якому вона розташовується, та в адресній строчці web-оглядача вписати наступну адресу: <#"785196.files/image013.jpg">

Рис.3.4. Підказка «Переглянути деталі попередження», що з’являється при натисканні на подію

В розробленому додатковому вікні деталізується інформація про сигнал тривоги, аналізатор, що виявив дану подію, ціль та додаткову інформацію, як вказано на рис. 3.5.

Рис.3.5. Додаткове вікно деталізації інформації про сигнал тривоги

Для прикладу адреса вузла, тобто цілі вторгнення визначається наступним чином:

def buildNode(self, node):not node:.newTableEntry(_("Node location"), node["location"])_list = None_name = Noneaddr in node["address"]:= addr["address"]not address:_name = resolve.AddressResolve(address)addr["category"] in ("ipv4-addr", "ipv6-addr", "ipv4-net", "ipv6-net") and self.env.enable_details:_list += self.getUrlLink(address, "%s?host=%s" %(self.env.host_details_url, address)):_list += addressnode["name"]:.newTableEntry(_("Node name"), node["name"])

….newTableEntry(_("Node address"), addr_list)

.4 Розробка компоненти візуалізації даних аналізу

Система оповіщення, в залежності від потоку інформації в комп’ютерній мережі, а саме від інтенсивності спрацювань системою виявлення вторгнень на деструктивні дії, що відбуваються на систему, відображає інтенсивність цих дій за допомогою графіків та кругових діаграм, які будуються за допомогою бібліотеки cairoplot, що побудована на мові програмування python, та служить для конструювання графіків та діаграм різного вигляду та різних завдань. Вона досить легко вбудовується до розроблюваних додатків. Вкладка «Статистика», де реалізовані графіки та кругові діаграми, розроблена для полегшення роботи адміністратора безпеки інформаційної мережі шляхом візуалізації отриманих даних про події від системи виявлення вторгнень Prelude. Для побудови графіку використовується мова програмування python, загальний опис має наступний вигляд:

class CairoTimelineChart(TimelineChartCommon):render(self, name, expire=None, suffix=".png", uid=None, gid=None):= self._getFilename(name, expire, uid, gid);= []= utils.OrderedDict()name in self._values.keys():= name[0:min(len(name), 25)]not values.has_key(nname):[nname] = []item in self._values[name]:[nname].append(item[0]).append(self.hex2rgb(self.getItemColor(name))).dot_line_plot(fname, values, self._width, self._height, border=0, axis=True, grid=True,_labels=self._labels, series_legen=True, series_colors=colors)

Після чого створюється графік часу роботи системи, встановлюються налаштування, та вказується джерело даних для відображення:

def _generateTimeline(self, user, width, height):, end, step, format, zoom_view, timeline_type, timeline_time = self._getStep(self.parameters["timeline_type"])= self._newTimeline(user, width, height)timeline_type != "custom":_parameters = { "timeline_unit": "min" }:_parameters = { "timeline_type": timeline_type }.dataset["timeline_user_type"] = self.parameters.get("timeline_type")start < end:= self._getTimeCrit(start, step) + self._criteriatimeline_type != "custom":_parameters["timeline_start"] = long(time.mktime(start.timetuple())) #long(start):._setTimelineZoom(base_parameters, start, start + step)= utils.create_link(zoom_view, base_parameters)= self._getAlertCount(c, link, zoom_view)= start.strftime(format)+= step.addLabelValuePair(label, count, link)

return timeline

Графік відображення вторгнень за останні 24 години зображено на рис.3.6.

Рис.3.6. Графік відображення атак за останні 24 години

У відповідності, аналогічно до попереднього, відображення вторгнень за останній місяць має вигляд, що зображений на рис.3.7.

Рис.3.7. Графік відображення вторгнень за останній місяць

Тип сенсора та відсоток виявлених ним вторгнень зображено на панелі «Аналізатори» представлено на рис.3.8.

Рис.3.8. Діаграма, що відображає тип сенсорів

Система має змогу поряд з відображенням активності оповіщень, відображати суб’єкти, які стали ціллю дії вторгнення. Зокрема, останні суб’єкти зображено на рисунку 3.9.

Рис.3.9. Діаграма, що відображає суб’єкти, які стали ціллю дії вторгнення

.5 Інструкція користувачу по роботі з підсистемою (програмним модулем)

Для доступу до розробленої системи необхідно запустити сервер, на якому вона розташовується, та в адресній строчці web-оглядача вписати наступну адресу: <#"785196.files/image019.jpg">

Рис.3.10. Вікно для налаштувань нового облікового запису

Значення прав, які надаються користувачам:_VIEW - доступ до вкладок «Сигнали тривоги» та «Агенти»;_ALTER - можливість видалення записів про події та активацію агентів;_MANAGER - можливість створення, зміни, видалення облікових записів користувачів на вкладці «Налаштування»;, INTRUSIVE_COMMAND - дозвіл на введення команд, доступний тільки в комерційній версії Prewikka.

Аналогічно видалення користувачів можливе тільки для адміністратора безпеки або для користувачів, які мають відповідні права. Необхідно перейти на вкладку «Налаштування» - «Список користувачів» встановити галочку навпроти відповідного запису та натиснути кнопку «Видалити користувача».

Налаштування облікового запису користувача можливе при переході на вкладку «Налаштування» - «Мій обліковий запис», або при натисканні на посилання в полі «логін», після чого відкриються налаштування відповідного користувача на вкладці «Налаштування» - «Список користувачів.

Зміна налаштувань необхідної мови здійснюється на вкладці «Налаштування» - «Мій обліковий запис» де в полі «Мова» потрібно обрати необхідну мову : англійська, німецька, українська, російська, італійська, польська, португальська(Бразилія), французька та натиснути на кнопку «Прийняти зміни».

Для зміни паролю на вкладці «Налаштування» - «Мій обліковий запис» в полі «Змінити пароль» необхідно ввести поточний пароль, новий та підтвердити пароль, а далі натиснути на кнопку «Прийняти зміни».

Створення нових, видалення та завантаження існуючих фільтрів здійснюється на вкладці «Налаштування» - «Фільтр». В полі «Доступні фільтри» потрібно обирати з випадаючого списку наявні в системі фільтри та натиснути кнопку «Завантажити» для завантаження фільтрів, що були створені раніше. Для додавання нового фільтру необхідно в полі А ввести шлях, оператор та значення фільтру, при необхідності додати нові чи видалити існуючі аргументи можливо при натисканні на знак «+» або «-», навпроти поточного поля, в полі «Формула» за прикладом ввести формулу нового фільтру, як це вказано на рисунку 3.11, в полі «Ім’я» - назву нового фільтру та в полі «Коментар» - коментарі до створюваного фільтрую й натиснути кнопку «Зберегти» для збереження нового фільтру в БД.

Рис.3.11. Додавання нового чи зміна поточного фільтру подій в ІМ

Для детального розбору подій в мережі, які зафіксувала СВВ потрібно перейти до додаткового вікна натисканням по запису події на вкладці «Сигнали тривоги», після чого з’являється підказка «Переглянути деталі попередження». В даному вікні здійснюється детальний розбір події. Також для детального розбору активності сенсорів потрібно натиснути на посилання назви сенсора на вкладці «Агенти», після чого з’явиться підказка з трьома пунктами для аналізу: «Аналіз пульсу», «Список пульсу», «Список подій». Натиснувши на відповідне посилання відкриється додаткова вкладка з докладною інформацією про відповідні властивості.

Щоб вийти з системи необхідно натиснути на посилання «Вихід» в правому верхньому куті сторінки.

Висновки

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

4. ОЦІНКА ЕФЕКТИВНОСТІ ФУНКЦІОНУВАННЯ СИСТЕМИ ТА ЗАПРОПОНОВАНИХ РІШЕНЬ

.1 Обґрунтування підходу до оцінки ефективності функціонування системи та вибір показників ефективності для оцінки отриманих результатів

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