You are on page 1of 5

Міністерство освіти і науки України

Національний технічний університет України


“Київський політехнічний інститут імені Ігоря Сікорського”
Фізико-технічний інститут

Комплексні системи захисту інформації


Лабораторна робота №1

Виконав:
Студент групи ФБ-02
Хандрос Артем

Київ – 2023
1. Напишіть програму, яка буде генерувати матрицю розмірністю 4х5х7 та
заповнювати її по випадковому принципу значеннями q ijk «експертних»
оцінок:

Згенеруємо матрицю А

import numpy as np
matrix_A = np.random.rand(4,5,7)
matrix_A = matrix_A.round(3)
print(matrix_A)
[[[0.857 0.776 0.333 0.681 0.655 0.442 0.487]
[0.386 0.617 0.417 0.715 0.323 0.174 0.182]
[0.966 0.174 0.329 0.233 0.936 0.765 0.343]
[0.56 0.878 0.419 0.747 0.846 0.297 0.685]
[0.657 0.982 0.141 0.339 0.678 0.429 0.37 ]]

[[0.857 0.847 0.111 0.998 0.595 0.897 0.696]


[0.481 0.966 0.016 0.435 0.731 0.75 0.593]
[0.905 0.042 0.881 0.902 0.914 0.076 0.126]
[0.008 0.526 0.23 0.566 0.812 0.768 0.737]
[0.358 0.992 0.142 0.787 0.688 0.676 0.14 ]]

[[0.907 0.019 0.31 0.632 0.842 0.504 0.951]


[0.253 0.406 0.927 0.089 0.225 0.784 0.487]
[0.23 0.622 0.098 0.544 0.274 0.616 0.555]
[0.033 0.953 0.259 0.707 0.09 0.644 0.45 ]
[0.088 0.068 0.831 0.524 0.077 0.609 0.179]]

[[0.49 0.712 0.133 0.952 0.986 0.933 0.477]


[0.055 0.559 0.737 0.293 0.438 0.715 0.484]
[0.245 0.868 0.145 0.823 0.489 0.98 0.407]
[0.507 0.943 0.417 0.699 0.791 0.902 0.208]
[0.393 0.423 0.336 0.86 0.75 0.814 0.224]]]

Перетворюємо матрицю А в бінарну (матриця В)


matrix_B = np.where(matrix_A >= 0.5, 1, 0)
print(matrix_B)
[[[1 1 0 1 1 0 0]
[0 1 0 1 0 0 0]
[1 0 0 0 1 1 0]
[1 1 0 1 1 0 1]
[1 1 0 0 1 0 0]]

[[1 1 0 1 1 1 1]
[0 1 0 0 1 1 1]
[1 0 1 1 1 0 0]
[0 1 0 1 1 1 1]
[0 1 0 1 1 1 0]]

[[1 0 0 1 1 1 1]
[0 0 1 0 0 1 0]
[0 1 0 1 0 1 1]
[0 1 0 1 0 1 0]
[0 0 1 1 0 1 0]]

[[0 1 0 1 1 1 0]
[0 1 1 0 0 1 0]
[0 1 0 1 0 1 0]
[1 1 0 1 1 1 0]
[0 0 0 1 1 1 0]]]
Перетворюємо матрицю А в межі 1-5
matrix_C = np.where(matrix_A >= 0.9, 5, np.where(matrix_A >= 0.7, 4,
np.where(matrix_A >= 0.5, 3, np.where(matrix_A >= 0.3, 2, 1))))
print(matrix_C)
[[[4 4 2 3 3 2 2]
[2 3 2 4 2 1 1]
[5 1 2 1 5 4 2]
[3 4 2 4 4 1 3]
[3 5 1 2 3 2 2]]

[[4 4 1 5 3 4 3]
[2 5 1 2 4 4 3]
[5 1 4 5 5 1 1]
[1 3 1 3 4 4 4]
[2 5 1 4 3 3 1]]

[[5 1 2 3 4 3 5]
[1 2 5 1 1 4 2]
[1 3 1 3 1 3 3]
[1 5 1 4 1 3 2]
[1 1 4 3 1 3 1]]

[[2 4 1 5 5 5 2]
[1 3 4 1 2 4 2]
[1 4 1 4 2 5 2]
[3 5 2 3 4 5 1]
[2 2 2 4 4 4 1]]]
2. Для випадків А),В),С) обчисліть оцінку якості системи захисту інформації,
яка описується відповідною матрицею. Використовуйте ваги для кожного зі
стовпців матриці.

Обчислюємо оцінку значення захищеності системи встановивши ваги для


кожного значення
wj = (0.1, 0.2, 0.1, 0.3, 0.2)
wi = (0.2, 0.2, 0.2, 0.4)
wk = (0.2, 0.1, 0.2, 0.1, 0.1, 0.1, 0.2)
sum = 0
for i in range(3):
for j in range(4):
for k in range(6):
sum += matrix_C[i, j, k] * wi[i] * wj[j] * wk[k]
print(sum)

0.8720000000000006
Аналогічно для матриці В: 0.1620000000000001
Аналогічно для матриці А: 0.16492000000000007

3. Cформулюйте запитання по оцінці якості КСЗІ згідно елементів:


Варіант 6
Елемент 111 – Якою мірою нормативно-правова та наукова база відображає
вимоги до захисту об'єктів корпоративних систем та виявлення інформації,
що підлягає захисту, з огляду на сучасні виклики в сфері інформаційної
безпеки?
Елемент 333 – Як наявні політики безпеки сприяють захисту каналів зв'язку
та проведенню оцінки вразливостей та ризиків у контексті виявлених загроз
інформаційній безпеці?
Елемент 452 – Як програмно-технічні засоби забезпечують ефективність
керування системою захисту інформації при виявленні множини загроз та
каналів витоку інформації?
Елемент 117 – Чи достатня наявна нормативно-праврва база для захисту
об’єктів корпоративних систем та контролю їх цілісності?
Елемент 321 – Чи достатньою мірою політики безпеки охоплюють процедури
обробки інформації, що підлягає захисту?

Чи можна прийняти КСЗІ, яка характеризується Вашою матрицею оцінок,


до використання, якщо еталонний (прийнятний) рівень якості КСЗІ в цілому
має бути не менше ніж 0,75.

Можна. Отриманий коефіцієнт 0,87.


5. Обчисліть, які блоки вимог дають найгірший внесок у загальну якість
КСЗІ?
Знайдемо координати п’яти найменших значень.

flattened_matrix = matrix_A.flatten()
five_lowest_numbers = np.sort(flattened_matrix)[:5]
indices = np.argwhere(np.isin(matrix_A, five_lowest_numbers))
filtered_indices = [tuple(index) for index in indices if
matrix_A[tuple(index)] in five_lowest_numbers]
unique_coordinates = []
for coord in filtered_indices:
if coord not in unique_coordinates:
unique_coordinates.append(coord)
if len(unique_coordinates) == 5:
break

print(unique_coordinates)

[(1, 1, 2), (1, 2, 1), (1, 3, 0), (2, 0, 1), (2, 3, 0)]

You might also like