You are on page 1of 4

Завдання 9.

Побудувати прогнозну модель у межах обраного прикладу з


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

Опис системи:
Для дослідження обрано програмну реалізацію алгоритму кодування
«BKR»(стара назва «Ceasar_B»). «BKR» - це алгоритм кодування інформації,
який був розроблений у 2022 році. Базою для розробки алгоритму став Шифр
Віженера.

Для початку введемо відому нам з дисципліни «Теорія прийняття


рішень» формулу, завдяки якій ми можемо оцінити ризики безпеки та
побачити їх чисельний результат.

R=P ∙ H ,

Де R – оцінки ризиків інформаційної безпеки,

P – вірогідність реалізації загрози,

H – наслідки реалізації загрози.

Для прикладу візьмемо результати роботи на тему «Оцінка ризиків


безпеки програмної реалізації алгоритму кодування «BKR» методом
«Матриця «Наслідки – вірогідність»» з дисципліни «Теорії прийняття
рішень».

Інформаційні Загрози Вірогідність Наслідки Оцінка ризиків


активи Реалізації реалізації інформаційної
загрози Загроз безпеки

Слабкий Видання 1 8 8
логін/пароль себе за
когось
іншого
За інформаційний актив виступає слабка система захисту облікового
запису користувача, який розділяється на два типи: розробник та користувач.
Дана проблема являється основною загрозою, тому що у разі отримання
зловмисником пароля та логіну розробника, він може отримати
несанкціонований доступ до конфігураційних файлів та до бази даних, де
зберігаються дані про користувачів, алгоритм кодування та про закодовану
інформацію. Така атака може покласти кінець всій праці розробника, тому
цього всіма силами треба уникнути та запобігти.

Оцінювання наслідків реалізації загрози: 0-10

Оцінювання вірогідності реалізації загрози: 0-1

Дане рівняння можна інтерпретувати до лінійного рівняння регресії, але з


новий елементом, тобто b.

Y = A ∙ X + B,

Де A*X – оцінка ризику інформаційної безпеки

B – кількість бюджету та часу, який виділено на покращення програмної


реалізації.

Шкала для визначення кількості бюджету та часу:

Максимально 5
Достатньо 3-4
Мала кількість 1-2
Відсутні 0

1) 0 – виділено нуль ресурсів


2) 1-2 – виділено малу кількість ресурсів
3) 3-4 – виділено достатню кількість ресурсів
4) 5 – виділено максимально можливу кількість ресурсів
У даній роботі ми будемо опрацьовувати вибірку, у якій зібрані дані за 20
днів протягом яких були здійснені атаки на систему. За допомогою методу
рухомого середнього буде здійснена перевірка, яка покаже, як змінюється
кількість атак кожні два дні.

Рухоме середнє (англ. moving average) — один із інструментів


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

Рухоме середнє може обчислюватись від довільних даних, однак,


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

Кількість атак за 20 днів:


x 7 1 4 6 7 2 3 0 3 2 1 5 6 7 4 4 4 8 8 7

Розмір вікна – 2 дні.

Numpy:
import numpy as np

arr = [7, 1, 4, 6, 7, 2, 3, 0, 3, 2, 1, 5, 6, 7, 4, 4, 4, 8, 8, 7]
window_size = 2

i = 0

moving_averages = []

while i < len(arr) - window_size + 1:


window_average = round(np.sum(arr[
i:i+window_size]) / window_size, 2)

moving_averages.append(window_average)

i += 1

print(moving_averages)

Результат:

Pandas:
import pandas as pd

arr = [7, 1, 4, 6, 7, 2, 3, 0, 3, 2, 1, 5, 6, 7, 4, 4, 4, 8, 8, 7]
window_size = 2

numbers_series = pd.Series(arr)

windows = numbers_series.rolling(window_size)

moving_averages = windows.mean()

moving_averages_list = moving_averages.tolist()

final_list = moving_averages_list[window_size - 1:]

print(final_list)

Результат:

Висновок:
Отже, аналізуючи дані, які ми отримали в результаті використання
методу рухомого середнього, можемо дійти висновку, що кількість атак на
систему протягом 2 днів, коливається хаотично, від 0 до 8. Тому
прогнозувати кількість атак на майбутнє майже неможливо.

You might also like