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

Поточна версія CVSS (CVSSv3.1) була випущена в червні 2019 року.

Історія Дослідження (NIAC) у 2003/2004 рр. призвело до запуску CVSS версії 1 (CVSSv1) у лютому 2005 р. з метою бути «призначеним для надання відкритих і універсальних стандартних рейтингів серйозності вразливості програмного забезпечення». Цей початковий проект не був предметом експертної оцінки чи розгляду іншими організаціями. У квітні 2005 року NIAC вибрав Форум команд реагування на інциденти та безпеки (FIRST), щоб стати зберігачем CVSS для майбутнього розвитку.

Відгуки постачальників, які використовують CVSSv1 у виробництві, показали, що були «значні проблеми з початковим проектом CVSS». Робота над версією CVSS 2 (CVSSv2) почалася в квітні 2005 року, а остаточна специфікація була представлена ​​в червні 2007 року.

Подальші відгуки привели до початку роботи над CVSS версії 3 у 2012 році, що закінчилось випуском CVSSv3.0 у червні 2015 року.

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

Для кожної з цих груп показників створюється числова оцінка. Векторний рядок (або просто «вектор» у CVSSv2) представляє значення всіх показників у вигляді блоку тексту.

Версія 2 Повну документацію для CVSSv2 можна отримати на сайті FIRST. Нижче наведено резюме.

Базові показники Вектор доступу Вектор доступу (AV) показує, як може бути використана вразливість.

Значення Опис Балли Локальна (L) Зловмисник повинен мати фізичний доступ до вразливої ​​системи (наприклад, атаки на FireWire) або локальний обліковий запис (наприклад, атака з підвищенням привілеїв).0.395 Сусідня мережа (A) Зловмисник повинен мати доступ до широкомовного домену або домену колізій уразливої ​​системи (наприклад, підробка ARP, атаки Bluetooth).0.646 Мережа (N) Уразливий інтерфейс працює на рівні 3 або вище мережевого стека OSI. Ці типи вразливостей часто описують як віддалено експлуатовані (наприклад, віддалене переповнення буфера в мережевій службі).1.0

Складність доступу Показник складності доступу (AC) описує, наскільки легко або важко використовувати виявлену вразливість.

Значення Опис Балли Висока (H) Існують спеціальні умови, наприклад, стан гонитви з вузьким вікном або потреба у методах соціальної інженерії, які легко помітять обізнані люди.0.35 Помірна (M) Існують додаткові вимоги до атаки, наприклад обмеження джерела атаки або вимога, щоб уразлива система працювала з незвичайною конфігурацією, яка не є конфігурацією за замовчуванням.0.61 Низька (L) Немає особливих умов для використання уразливості, наприклад, коли система доступна для великої кількості користувачів або вразлива конфігурація розповсюджена.0.71

Автентифікація Показник автентифікації (Au) описує кількість разів, коли зловмисник повинен автентифікуватися на цілі, щоб скористатися вразливістю. Він не включає (наприклад) автентифікацію в мережі для отримання доступу. Для вразливостей, які можна використовувати локально, це значення має бути встановлене на Одиночна або Множинна, лише якщо після початкового доступу потрібна подальша автентифікація.

Значення Опис Балли Множинна (M) Використання вразливості вимагає від зловмисника автентифікації двічі або більше разів, навіть якщо кожен раз використовуються одні й ті ж облікові дані.0.45 Одиночна (S) Зловмисник повинен пройти автентифікацію один раз, щоб використати вразливість.0.56 Відсутня (N) Зловмисник не потребує автентифікації.0.704

Метрики впливу Конфіденційність Показник конфіденційності (C) описує вплив на конфіденційність даних, що обробляються системою.

Значення Опис Балли Відсутній (N) Відсутній вплив на конфіденційність системи.0.0 Частковий (P) Відбувається значне розкриття інформації, але масштаби втрати обмежені таким чином, що доступні не всі дані.0.275 Повний (C) Відбувається повне розкриття інформації, надання доступу до будь-яких/всіх даних в системі. Крім того застосовується, якщо можна отримати доступ лише до певної інформації з обмеженим доступом, але розкрита інформація має прямий серйозний вплив.0.660

Цілісність Показник Цілісність (I) описує вплив на цілісність експлуатованої системи.

Значення Опис Балли Відсутній (N) Відсутній вплив на цілісність системи.0.0 Частковий (P) Можлива зміна деяких даних або системних файлів, але обсяг модифікації обмежений.0.275 Повний (C) Відбувається повна втрата цілісності; зловмисник може змінити будь-які файли або інформацію в цільовій системі.0.660

Доступність Показник доступності (A) описує вплив на доступність цільової системи. Атаки, які споживають пропускну здатність мережі, цикли процесора, пам'ять або будь-які інші ресурси, впливають на доступність системи.

Значення Опис Балли Відсутній (N) Відсутній вплив на доступність системи.0.0 Частковий (P) Знижена продуктивність або втрата деяких функцій.0.275 Повний (C) Відбувається повна втрата доступності атакованого ресурсу.0.660

Розрахунки Ці шість метрик використовуються для розрахунку можливості експлуатації (Exploitability) та впливу (Impact) вразливості. Ці часткові оцінки використовуються для обчислення загальної базової оцінки.

де, AccessVector - значення метрики "вектор доступу", AccessComplexity - значення метрики "складність доступу", Authentication - значення метрики "автентифікація", ConfImpact - вплив на конфіденційність, IntegImpact - вплив на цілісність, AvailImpact - вплив на доступність, roundTo1Decimal - функція округлення до 1 десяткового знака після коми, BaseScore - базова оцінка.

Показники підлягають конкатенації, щоб створити вектор CVSS для вразливості.

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

Метрика Значення Опис Вектор доступу Мережа До вразливості можна отримати доступ з будь-якої мережі, яка може отримати доступ до цільової системи – як правило, з усього Інтернету Складність доступу Низька Особливих вимог до доступу немає Автентифікація Відсутня Для використання уразливості не вимагається автентифікація Конфіденційність Частковий Зловмисник може прочитати деякі файли та дані в системі Цілісність Частковий Зловмисник може змінити деякі файли та дані в системі Доступність Частковий Зловмисник може призвести до того, що система та вебслужба стануть недоступними або перестануть реагувати, вимкнувши систему

Це дасть 10 балів щодо можливості експлуатації та 8,5 бала впливу, що дасть загальний базовий бал 9,0. Вектор для базової оцінки в цьому випадку буде AV:N/AC:L/Au:N/C:P/I:P/A:C. Оцінка та вектор зазвичай представлені разом, щоб дозволити реципієнту повністю зрозуміти природу вразливості та розрахувати власну оцінку середовища, якщо необхідно.

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

Експлуатабельність Показник можливості експлуатабельності (E) описує поточний стан методів експлуатації або автоматизованого коду для експлуатації.

Значення Опис Балли Не доведено (U) Код експлойту відсутній, або експлойт є теоретичним 0.85 Доказ концепції (P) Код експлойту для підтвердження концепції або демонстраційні атаки доступні, але не практичні для широкого використання. Не працює проти всіх випадків уразливості. 0.9 Функціональний (F) Функціональний код експлойта доступний і працює в більшості ситуацій, де є уразливість. 0.95 Високий (H) Уразливість може бути використана за допомогою автоматизованого коду, включаючи мобільний код (наприклад, хробак або вірус). 1.0 Не визначено (ND) Це сигнал ігнорувати цей показник. 1.0

Рівень відновлення Рівень усунення (RL) уразливості дозволяє знизити темпоральну оцінку вразливості, оскільки будуть доступні засоби пом’якшення та офіційні виправлення.

Значення Опис Балли Офіційне виправлення (O) Доступне повне рішення постачальника - або виправлення, або оновлення. 0.87 Тимчасове виправлення (T) Від постачальника є офіційне, але тимчасове виправлення/пом’якшення. 0.90 Обхідний шлях (W) Існує неофіційне рішення, яке не є постачальником, або доступне пом’якшення – можливо, розроблене або запропоноване користувачами продукту чи іншою третьою стороною. 0.95 Недоступне (U) Немає доступного рішення або неможливо застосувати запропоноване рішення. Це звичайний початковий стан рівня виправлення, коли виявлено вразливість. 1.0 Не визначено (ND) Це сигнал ігнорувати цей показник. 1.0

Впевненість у звіті Впевненість у звіті (RC) про вразливість вимірює рівень впевненості в існуванні вразливості, а також достовірність технічних деталей уразливості.

Значення Опис Балли Не підтверджено (UC) Одне непідтверджене джерело або кілька конфліктуючих джерел. Уразливість за чутками. 0.9 Не впевнено (UR) Кілька джерел, які в цілому погоджуються – може залишатися певний рівень невизначеності щодо вразливості 0.95 Підтверджено (C) Визнано та підтверджено постачальником або виробником продукту, на який впливає. 1.0 Не визначено (ND) Це сигнал ігнорувати цей показник. 1.0

Розрахунки Ці три показники використовуються разом із базовою оцінкою, яка вже була розрахована для отримання темпоральної оцінки вразливості з пов’язаним із нею вектором.

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

де TemporalScore - темпоральна оцінка, BaseScore - базова оцінка, Exploitability - експлуатабельність, RemediationLevel - рівень відновлення, ReportConfidence - впевненість у звіті.

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

Метрика Значення Опис Експлуатабельність Доказ концепції Підтвердження концепції, неавтоматичний код надається для демонстрації основних функцій експлойту. Рівень відновлення Недоступне Постачальник ще не мав можливості надати пом’якшення чи виправлення. Впевненість у звіті Не підтверджено Було єдине повідомлення про вразливість

Це дало б темпоральну оцінку 7,3 з темпоральним вектором E:P/RL:U/RC:UC (або повним вектором AV:N/AC:L/Au:N/C:P/I:P/A:C/E:P/RL:U/RC:UC).

Якщо постачальник підтвердить уразливість, оцінка підвищується до 8,1 з темпоральним вектором E:P/RL:U/RC:C.

Тимчасове виправлення від постачальника зменшить оцінку до 7,3 (E:P/RL:T/RC:C), тоді як офіційне виправлення зменшить її ще до 7,0 (E:P/RL:O/RC:C). Оскільки неможливо бути впевненим, що кожна уражена система була виправлена ​​або виправлена, темпоральна оцінка не може знизитися нижче певного рівня на основі дій постачальника, і може збільшитися, якщо буде розроблено автоматизований експлойт для вразливості.

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

Потенціал побічної шкоди