oleksandrblazhko / ai-191-nikitin

0 stars 0 forks source link

CW8 #23

Closed NikitunPVLK closed 8 months ago

NikitunPVLK commented 9 months ago

Завдання №1

Відомо, що Національний інститут стандартів і технологій США (National Institute of Standards and Technology, NIST) використовує дані системи оцінки поширених уразливостей (Common Vulnerability Scoring System, CVSS), які є у відкритому доступі за посиланням - https://nvd.nist.gov/vuln-metrics/cvss

В таблиці 1 наведено приклади URL-посилань з описами вразливостей програмного забезпечення (ПЗ) або програмних бібліотек, які використовують протокол SSL/TLS. Таблиця 1 – Приклади описів вразливостей ПЗ або програмних бібліотек, які використовують протокол SSL/TLS. Приклади URL-посилань з описами вразливостей
9 https://nvd.nist.gov/vuln/detail/CVE-2022-42905

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

Запитання №1.1 (1 бал)

Опишіть ПЗ або програму бібліотеку, в яких знайдено вразливість:

Запитання №1.2 (1 бал)

Опишіть знайдену вразливість , переклавшу на українську мову розділ Description.

Запитання №1.3 (1 бал)

Наведіть фрагменти прикладів уразливого програмного коду, розглянувши розділ References to Advisories, Solutions, and Tools.

Завдання № 2

В таблиці 2 наведено приклади назв криптографічних алгоритмів, які реалізовано в програмній бібліотеці OpenSSL.

Таблиця 2 – Приклад назв криптографічних алгоритмів

Назва криптографічного алгоритму
9 bf-cfb

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

Запитання № 2.1 (1 бал)

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

Запитання № 2.2 (1 бал)

Опишіть переваги та недоліки криптографічного алгоритму та режиму шифрування.

NikitunPVLK commented 9 months ago

Завдання №1

Запитання №1.1

У wolfSSL до версії 5.5.2, якщо увімкнено функції зворотного виклику (через прапорець WOLFSSL_CALLBACKS), зловмисний клієнт TLS 1.3 або мережевий зловмисник може спровокувати перечитання буфера на ділянці 5 байт. (Прапорець WOLFSSL_CALLBACKS призначений лише для налагодження).

Завдання №2

Запитання №2.1

bf-cfb позначає режим шифрування Cipher Feedback Mode (CFB) для блочного шифру Blowfish (BF). Blowfish - це симетричний блоковий шифр, який розробив Брюс Шнайєр 1993 року.

Запитання №2.2

Переваги:

CFB:

BF:

Недоліки:

CFB:

BF:

NikitunPVLK commented 8 months ago

Запитання № 1.3

#if defined(WOLFSSL_CALLBACKS)
/* add name later, add on record and handshake header part back on */
if (ssl->toInfoOn) {
int add = RECORD_HEADER_SZ + HANDSHAKE_HEADER_SZ;
AddPacketInfo(ssl, 0, handshake, input + *inOutIdx - add,
size + add, READ_PROTO, ssl->heap);
AddLateRecordHeader(&ssl->curRL, &ssl->timeoutInfo);
}
#endif
We have that `RECORD_HEADER_SZ = 5` and `HANDSHAKE_HEADER_SZ = 4` so `add = 9`
while `*inOutIdx` is still set to `4`. Therefore, the pointer indicating the
beginning of the alleged input that is given to the `AddPacketInfo` function
(argument `data`) is `data = input + *inOutIdx - add = input - 5`. This buffer
starts 5 bytes before the actual input buffer. The argument `sz = size + add` is
the total length of the input, which is too long here `16529` instead of `16524`
bytes.
oleksandrblazhko commented 8 months ago

5 балів