11 математичних задач, пов'язаних з кібербезпекою: їх математичні розв'язки та скрипти

Про матеріал
На нашу думку, розв’язування подібних задач надасть можливість учням 11-х класів застосувати математичні концепції до вирішення практичних ситуацій у кібербезпеці, а також для перевірки правильності проведення обчислень застосувати програмне середовище https://editor.p5js.org/ або писати код JavaScript у браузері
Перегляд файлу

11 математичних задач, пов'язаних з кібербезпекою: їх математичні розв'язки та скрипти

image

На нашу думку, розв’язування подібних задач надасть можливість учням 11-х класів застосувати математичні концепції до вирішення практичних ситуацій у кібербезпеці, а також для перевірки правильності проведення обчислень застосувати програмне середовище https://editor.p5js.org/ (або писати код JavaScript у браузері)

Колекція скриптів https://editor.p5js.org/zhanna.potapova/collections/csKvlJQXM

image

1.  **Викуп і втрати**

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

Компанія втрачає 10% своєї базової вартості даних через такі атаки, а базова вартість даних складає $100 000.

Скільки грошей компанія втратила через кібератаки?

**Математичний розв'язок:**

Втрата даних: 10% від $100 000 = $10 000.

// Код на P5JS let baseValue = 100000; // базова вартість даних let lossPercentage = 0.1; // втрата у відсотках

let dataLoss = baseValue * lossPercentage;

console.log("Втрата даних через кібератаки: $" + dataLoss);

image

2.  **Комбінації паролів**

Хакери намагалися зламати пароль, який складається з 8 символів.

Кожен символ може бути цифрою (0-9), маленькою літерою (a-z) або великою літерою (A-Z). Скільки можливих комбінацій паролю існує?

**Математичний розв'язок:**

Існує 10 цифр (0-9), 26 малих літер (a-z) та 26 великих літер (A-Z), отже, загальна кількість можливих комбінацій = 10 + 26 + 26 = 62. Оскільки пароль складається з 8 символів, загальна кількість можливих комбінацій паролю = 62^8.

// Код на P5JS let symbols = 62; // загальна кількість символів let passwordLength = 8; // довжина пароля

let combinations = Math.pow(symbols, passwordLength); console.log("Загальна кількість можливих комбінацій паролю: " + combinations);

3.  **Брутфорс**

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

Кожна його спроба зламу займає 1 секунду.

Скільки часу знадобиться злочинцю, щоб зламати пароль довжиною у 8 символів?

**Математичний розв'язок:**

За попереднім розрахунком, загальна кількість можливих комбінацій паролю = 62^8.

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

// Код на P5JS let symbols = 62; // загальна кількість символів let passwordLength = 8; // довжина пароля let timePerTry = 1; // час на одну спробу в секундах

let combinations = Math.pow(symbols, passwordLength); let totalTime = combinations * timePerTry;

console.log("Час на злам пароля: " + totalTime + " секунд");

image

4.  **Кількість систем захисту**

Компанія встановлює захист від DDoS-атак за допомогою розподілених систем захисту.

Кожна система може обробляти 100 запитів на секунду, а об'єм атаки становить 100 000 запитів на секунду.

Скільки розподілених систем захисту потрібно встановити, щоб захистити компанію?

**Математичний розв'язок:**

Захист від DDoS-атак вимагає обробки всіх запитів. Щоб обробити 100 000 запитів на секунду, потрібно 100 000 / 100 = 1000 систем захисту.

// Код на P5JS let requestsPerSecond = 100000; // об'єм атаки запитів на секунду let processingCapacity = 100; // кількість запитів, які може обробити одна система за секунду

let requiredSystems = requestsPerSecond / processingCapacity; console.log("Необхідна кількість систем захисту: " + requiredSystems);

image

5.  **Час шифрування даних**

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

Відомо, що обсяг даних для шифрування становить 1 TB, а швидкість шифрування - 100 MB/с. Скільки часу знадобиться для шифрування всіх даних?

**Математичний розв'язок:**

Обсяг даних = 1 TB = 1024 GB = 1024 * 1024 MB. Час шифрування = Обсяг даних / Швидкість шифрування.

// Код на P5JS let dataVolumeTB = 1; // обсяг даних у TB let dataVolumeMB = dataVolumeTB * 1024 * 1024; // обсяг даних у MB let encryptionSpeed = 100; // швидкість шифрування у MB/с

let encryptionTime = dataVolumeMB / encryptionSpeed;

console.log("Час шифрування даних: " + encryptionTime + " секунд");

image

6.  **Кількість робочих груп**

У штаті компанії працюють 10 програмістів.

Скільки різних робочих груп із 5 програмістів для роботи над проєктами можуть створити керівники?

**Математичний розв'язок:**

Кількість можливих груп можна обчислити за допомогою формули комбінаторики:

image

де n - кількість програмістів (10), k - кількість членів в групі (5).

// Код на P5JS

function factorial(n) {

if (n === 0 || n === 1) { return 1;

} else { return n * factorial(n - 1);

} }

let n = 10; // кількість програмістів let k = 5; // склад групи

let combinations = factorial(n) / (factorial(k) * factorial(n - k)); console.log("Кількість різних груп: " + combinations);

image

7.  **Кількість комбінацій паролів-4**

Компанія використовує 4-цифрові паролі для доступу до своєї мережі.

Скільки можливих паролів існує?

**Математичний розв'язок:**

Оскільки кожна цифра може бути від 0 до 9, для кожної з чотирьох позицій існує 10 можливих варіантів. Отже, загальна кількість можливих паролів = 10^4.

// Код на P5JS let digits = 10; // кількість можливих цифр let passwordLength = 4; // довжина пароля

let passwords = Math.pow(digits, passwordLength);

console.log("Загальна кількість можливих паролів: " + passwords);

image

8.  **Кількість комплектів ПЗБ**

Компанія має 8 різних програмних засобів безпеки, і вони хочуть обрати комплект із 3 програмних засобів для впровадження на своїх серверах.

Скільки можливих способів вибору комплектів?

**Математичний розв'язок:**

Вибір комплекту з 3 програмних засобів можна обчислити за допомогою формули з комбінаторики, де n - кількість програмних засобів (8), k - кількість ПЗБ в комплекті (3).

// Код на P5JS

function factorial(n) {

if (n === 0 || n === 1) { return 1;

} else { return n * factorial(n - 1);

} }

let n = 8; // кількість програмних засобів let k = 3; // розмір комплекту

let combinations = factorial(n) / (factorial(k) * factorial(n - k)); console.log("Кількість можливих способів вибору комплектів ПЗБ: " + combinations);

image

9.  **Ідентифікатори доступу**

Компанія видає ідентифікатори доступу своїм співробітникам, які складаються з 6 символів.

Кожен символ може бути літерою латинського алфавіту (A-Z, a-z) або цифрою (0-9). Визначити, скільки різних ідентифікаторів доступу можливо створити?

**Математичний розв'язок:**

Оскільки кожен символ може бути літерою латинського алфавіту (26 великих літер + 26 малих літер) або цифрою (10 цифр), загальна кількість можливих символів = 26 (великих літер) + 26 (малих літер) + 10 (цифр) = 62.

Отже, загальна кількість різних ідентифікаторів доступу = 62^6.

// Код на P5JS let symbols = 62; // загальна кількість символів let passwordLength = 6; // довжина ідентифікатора доступу

let combinations = Math.pow(symbols, passwordLength);

console.log("Кількість різних ідентифікаторів доступу: " + combinations);

image

10.  **Кількість комбінацій паролю-8**

Компанія використовує програмне забезпечення для реєстрації користувачів.

Пароль користувача має довжину 8 символів і складається лише з цифр (0-9) і літер латинського алфавіту (A-Z, a-z).

Визначити, скільки можливих комбінацій паролю існує.

**Математичний розв'язок:**

Оскільки кожен символ паролю може бути цифрою (10 можливих варіантів) або літерою латинського алфавіту (52 можливих варіанти), то загальна кількість можливих комбінацій = 10 + 52 = 62. Отже, загальна кількість можливих комбінацій паролю = 62^8.

// Код на P5JS let symbols = 62; // загальна кількість символів let passwordLength = 8; // довжина пароля

let combinations = Math.pow(symbols, passwordLength);

console.log("Кількість можливих комбінацій паролю: " + combinations);

image

11.  **Блокування облікового запису**

Компанія використовує систему безпеки, яка блокує обліковий запис після 3 невдалих спроб введення пароля.

Яка ймовірність того, що зловмисник, який намагається вгадати пароль, буде заблокований після 6 спроб?

**Математичний розв'язок:**

Ймовірність невдалого введення пароля на одну спробу - 1/10 (для цифр 0-9). Ймовірність блокування облікового запису після 6 спроб - (1/10)^6.

function setup() {

createCanvas(400, 200); textSize(20); let probability = pow(1/10, 6); // Ймовірність блокування облікового запису text("Ймовірність блокування: " + probability, 20, 50);

}

image

pdf
До підручника
Інформатика (рівень стандарту) 11 клас (Морзе Н.В., Вембер В.П., Кузмінська О.Г.)
Додано
12 березня
Переглядів
116
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку