Загальна система оцінки вразливостей (англ. Common Vulnerability Scoring System, CVSS) – це безкоштовний і відкритий галузевий стандарт для оцінки серйозності вразливостей безпеки комп’ютерної системи. CVSS намагається призначити оцінки серйозності вразливостям, дозволяючи особам, що реагують, розставляти пріоритети відповідей і ресурсів відповідно до загроз. Оцінки розраховуються на основі формули, яка залежить від кількох метрик, які приблизно описують легкість і вплив експлойту. Оцінки коливаються від 0 до 10, причому 10 є найважою. Хоча багато хто використовує лише базову оцінку CVSS для визначення серйозності, існують також темпоральні оцінки та оцінки середовища, щоб врахувати доступність пом’якшення ризиків та наскільки широко поширені вразливі системи в організації, відповідно.
Поточна версія CVSS (CVSSv3.1) була випущена в червні 2019 року.[1]
Дослідження Національної консультативної ради з питань інфраструктури[en] (NIAC) у 2003/2004 рр. призвело до запуску CVSS версії 1 (CVSSv1) у лютому 2005 р. з метою бути «призначеним для надання відкритих і універсальних стандартних рейтингів серйозності вразливості програмного забезпечення». Цей початковий проект не був предметом експертної оцінки чи розгляду іншими організаціями. У квітні 2005 року NIAC вибрав Форум команд реагування на інциденти та безпеки (FIRST), щоб стати зберігачем CVSS для майбутнього розвитку.[2]
Відгуки постачальників, які використовують CVSSv1 у виробництві, показали, що були «значні проблеми з початковим проектом CVSS». Робота над версією CVSS 2 (CVSSv2) почалася в квітні 2005 року, а остаточна специфікація була представлена в червні 2007 року.[3]
Подальші відгуки привели до початку роботи над CVSS версії 3 у 2012 році[4], що закінчилось випуском CVSSv3.0 у червні 2015 року.[5]
Оцінка CVSS визначає три проблемні питання:
Для кожної з цих груп показників створюється числова оцінка. Векторний рядок (або просто «вектор» у CVSSv2) представляє значення всіх показників у вигляді блоку тексту.
Повну документацію для CVSSv2 можна отримати на сайті FIRST.[6] Нижче наведено резюме.
Вектор доступу (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). Оскільки неможливо бути впевненим, що кожна уражена система була виправлена або виправлена, темпоральна оцінка не може знизитися нижче певного рівня на основі дій постачальника, і може збільшитися, якщо буде розроблено автоматизований експлойт для вразливості.
Метрики середовища використовують базову та поточну темпоральну оцінку для оцінки серйозності вразливості в контексті способу розгортання вразливого продукту або програмного забезпечення. Цей показник розраховується суб’єктивно, як правило, ураженими сторонами.
Потенціал побічної шкоди (CDP) вимірює потенційну втрату або вплив на такі фізичні активи, як обладнання (і життя), або фінансовий вплив на організацію, яка постраждала, якщо вразливість буде використана.
Значення | Опис | Балли |
---|---|---|
Відсутній (N) | Немає можливості втрати власності, доходу чи продуктивності | 0 |
Низький (L) | Невелике пошкодження активів або незначна втрата доходу чи продуктивності | 0.1 |
Нижче середнього (LM) | Помірні пошкодження або втрати | 0.3 |
Вище середнього (MH) | Значні пошкодження або втрати | 0.4 |
Високий (H) | Катастрофічний збиток або втрата | 0.5 |
Не визначено (ND) | Це сигнал ігнорувати цей показник | 0 |
Показник розповсюдженності цілей (TD) вимірює частку вразливих систем у середовищі.
Значення | Опис | Балли |
---|---|---|
Відсутній (N) | Цільових систем не існує, або вони існують лише в лабораторних умовах | 0 |
Низький (L) | 1–25% систем під загрозою | 0.25 |
Помірний (M) | 26–75% систем під загрозою | 0.75 |
Високий (H) | 76–100% систем під загрозою | 1.0 |
Не визначено (ND) | Це сигнал ігнорувати цей показник | 1.0 |
Ще три показники оцінюють конкретні вимоги безпеки до конфіденційності (CR), цілісності (IR) та доступності (AR), що дозволяє точно налаштувати оцінку середовища відповідно до середовища користувачів.
Значення | Опис | Балли |
---|---|---|
Низький (L) | Втрата (конфіденційності / цілісності / доступності) може мати лише обмежений вплив на організацію. | 0.5 |
Помірний (M) | Втрата (конфіденційності / цілісності / доступності) може мати серйозний вплив на організацію. | 1.0 |
Високий (H) | Втрата (конфіденційності / цілісності / доступності) може мати катастрофічний вплив на організацію. | 1.51 |
Не визначено (ND) | Це сигнал ігнорувати цей показник | 1.0 |
П’ять показників середовища використовуються разом із попередньо оціненими базовими та темпоральними показниками для обчислення оцінки середовища та створення пов’язаного вектора середовища.
де AdjustedImpact - скоригований вплив, AdjustedTemporal - скоригована темпоральна метрика, ConfReq - вимоги безпеки до конфіденційності, IntegReq - вимоги безпеки до цілісності, AvailReq - вимоги безпеки до доступності, CollateralDamagePotential - потенціал побічної шкоди, TargetDistribution - розповсюдженість цілей.
Якщо вищезгаданий вразливий вебсервер використовувався банком для надання послуг онлайн-банкінгу, а постачальник надав тимчасове виправлення, тоді оцінку середовища можна було б оцінити як:
Метрика | Значення | Опис |
---|---|---|
Потенціал побічної шкоди | Вище середнього | Це значення буде залежати від того, до якої інформації зловмисник може отримати доступ у разі використання вразливої системи. У цьому випадку я припускаю, що деяка особиста банківська інформація є доступною, тому це суттєво впливає на репутацію банку. |
Розповсюдженість цілей | Високий | Усі вебсервери банку працюють із вразливим програмним забезпеченням. |
Вимоги безпеки до конфіденційності | Високий | Клієнти очікують, що їхня банківська інформація буде конфіденційною. |
Вимоги безпеки до цілісності | Високий | Фінансову та особисту інформацію не можна змінювати без дозволу. |
Вимоги безпеки до доступності | Низький | Недоступність послуг онлайн-банкінгу, ймовірно, буде незручністю для клієнтів, але не катастрофічною. |
Це дасть оцінку середовища 8,2 і вектор середовища CDP:MH/TD:H/CR:H/IR:H/AR:L. Цей показник знаходиться в діапазоні 7,0-10,0, і тому є критичною вразливістю в контексті діяльності банку, який постраждав.
Декілька постачальників і організацій висловили невдоволення CVSSv2.
Risk Based Security, яка керує базою даних уразливостей з відкритим кодом, і Open Security Foundation спільно опублікували публічний лист до FIRST щодо недоліків і відмов CVSSv2.[7] Автори посилалися на відсутність деталізації в кількох показниках, що призводить до векторів CVSS та оцінок, які не розрізняють належним чином уразливості різного типу та профілів ризику. Також було відзначено, що система оцінки CVSS вимагає занадто багато знань про точний вплив уразливості.
Oracle представила нове значення показника «Частковий+» для конфіденційності, цілісності та доступності, щоб заповнити виявлені прогалини в описі між "частковий" і "повний" в офіційних специфікаціях CVSS.[8]
Щоб відповісти на деякі з цих застережень, у 2012 році було розпочато розробку CVSS версії 3. Остаточну специфікацію було названо CVSS v3.0 і випущено в червні 2015 року. На додаток до Специфікаційного документа, також було випущено посібник користувача та документ із прикладами.[9]
Деякі показники були змінені, додані та вилучені. Числові формули були оновлені, щоб включити нові показники зі збереженням існуючого діапазону оцінок 0-10. Текстові оцінки серйозності: Відсутній (0), Низький (0,1-3,9), Середній (4,0-6,9), Високий (7,0-8,9) і Критичний (9,0-10,0)[10] були визначені, подібно до категорій NVD, визначених для CVSS v2, які не були частиною цього стандарту.[11]
У базовому векторі були додані нові показники "Взаємодія з користувачем (UI)" та "Потрібні привілеї (PR)", щоб допомогти розрізнити вразливості, які потребують взаємодії з користувачем, або прав користувача чи адміністратора для використання. Раніше ці поняття були частиною метрики Вектор доступу у CVSSv2. У базовому векторі також була введена нова метрика Обсяг (S), яка була розроблена, щоб пояснити, які вразливості можна експлуатувати, а потім використовувати для атаки на інші частини системи або мережі. Ці нові показники дозволяють базовому вектору більш чітко виражати тип оцінюваної вразливості.
Показники конфіденційності, цілісності та доступності були оновлені, щоб отримати оцінки, що складаються з «Відсутній», «Низький» або «Високий», а не «Відсутній», «Частковий», «Повний» CVSSv2. Це забезпечує більшу гнучкість у визначенні впливу вразливості на показники конфіденційності, цілісності та доступності.
Складність доступу була перейменована в Складність атаки (AC), щоб пояснити, що потрібні привілеї були переміщені в окремий показник. Цей показник тепер описує, наскільки повторюваним може бути використання цієї вразливості; AC є високим, якщо зловмиснику потрібен ідеальний час або інші обставини (окрім взаємодії з користувачем, що також є окремою метрикою), які не можуть бути легко повторені під час майбутніх спроб.
У Векторі атаки (AV) було включено нове значення показника "Фізичний" (P) для опису вразливостей, які потребують фізичного доступу до пристрою або системи.
Темпоральні показники практично не змінилися порівняно з CVSSv2.
Показники середовища CVSSv2 були повністю вилучені та замінені, по суті, другою базовою оцінкою, відомою як модифікований вектор. База модифікації призначена для відображення відмінностей всередині організації чи компанії порівняно зі світом в цілому. Були додані нові показники для визначення важливості конфіденційності, цілісності та доступності для певного середовища.
У дописі в блозі у вересні 2015 року Координаційний центр CERT[en] обговорював обмеження CVSSv2 і CVSSv3.0 для використання для оцінки вразливостей у нових технологічних системах, таких як Інтернет речей.[12]
Невелике оновлення CVSS було випущено 17 червня 2019 року. Метою CVSS версії 3.1 було роз’яснення та покращення існуючого стандарту CVSS версії 3.0 без введення нових показників чи значень показників, що дозволить безперешкодно прийняти новий стандарт за допомогою як постачальників оцінок, так і споживачів оцінок. Зручність використання була першочерговою метою під час вдосконалення стандарту CVSS. Декілька змін, що вносяться в CVSS версії 3.1, мають покращити чіткість концепцій, запроваджених у CVSS версії 3.0, і таким чином покращити загальну простоту використання стандарту.
FIRST використовує внески експертів у галузі, щоб продовжувати покращувати та вдосконалювати CVSS, щоб бути все більш застосовним до вразливостей, продуктів і платформ, які розроблялися протягом останніх 15 років і далі. Основна мета CVSS полягає в тому, щоб забезпечити детермінований і повторюваний спосіб оцінки серйозності вразливості в багатьох різних групах, дозволяючи споживачам CVSS використовувати цю оцінку як вхідну інформацію для більшої матриці рішень щодо ризику, усунення та пом’якшення, специфічної для особливостей їхнього середовища та толерантності до ризику.
Оновлення специфікації CVSS версії 3.1 включають роз’яснення визначень і пояснення існуючих базових показників, таких як вектор атаки, необхідні привілеї, обсяг і вимоги безпеки. Також було визначено новий стандартний метод розширення CVSS, який називається CVSS Extensions Framework, що дозволяє постачальнику оцінок включати додаткові показники та групи показників, зберігаючи при цьому офіційні базові, темпоральні показники та показники середовища. Додаткові показники дозволяють галузевим секторам, таким як приватність, безпека, автомобілебудування, охорона здоров’я тощо, оцінювати фактори, які виходять за межі основного стандарту CVSS. Нарешті, глосарій термінів CVSS було розширено та вдосконалено, щоб охопити всі терміни, які використовуються в документації CVSS версії 3.1.
Версії CVSS були прийняті як основний метод кількісної оцінки серйозності вразливостей широким колом організацій і компаній, включаючи: