MITRE CWE
CWE пояснює типи слабкостей програмного й апаратного забезпечення та допомагає знаходити спільні причини вразливостей. Глосарій дає поняття для читання каталогу й точного опису дефектів.
Огляд CWE
Common Weakness Enumeration (CWE) — відкритий каталог типів помилок у програмному та апаратному забезпеченні, які за певних умов можуть спричинити вразливості. Він дає командам спільні назви й ідентифікатори для пояснення причин дефектів та їх запобігання.
Обране джерело цієї сторінки — CWE Glossary: словник понять, потрібних для читання каталогу. Повні записи CWE містять додаткові приклади, наслідки та способи запобігання; словник не замінює ці записи.
Для кого призначено
Основні користувачі — розробники, архітектори, проєктувальники обладнання, тестувальники та фахівці з безпеки продуктів. Вони можуть пов’язати знайдену проблему з відомим типом слабкості й обговорити виправлення однією мовою.
Викладачам CWE допомагає пояснювати типові помилки, а замовникам — формулювати вимоги до перевірки продукту. Керівникам корисні узагальнення повторюваних причин; повсякденним користувачам достатньо розуміти зміст повідомлень про вразливості.
Для яких галузей
CWE застосовують у розробленні вебсервісів, корпоративного ПЗ, вбудованих систем і цифрового обладнання. Ті самі типи помилок можуть траплятися у фінансових сервісах, державних системах, медицині, транспорті та промисловості.
Для програмного продукту доречне подання Software Development, для обладнання — Hardware Design. Команда обирає слабкості за технологіями та функціями свого продукту; загальний список не визначає галузевих юридичних вимог.
CWE, CVE та CAPEC: різні завдання
CWE описує тип слабкості: що саме пішло не так у конструкції або реалізації. CVE ідентифікує конкретну оприлюднену вразливість продукту. CAPEC описує патерн атаки — повторюваний спосіб, яким зловмисник може використати слабкості.
Наприклад, CWE-89 описує помилку побудови SQL-команди з даними, що можуть змінити її зміст. Уразливі версії конкретного застосунку можуть бути описані в записі CVE, а спосіб атаки — у CAPEC. Ідентифікатор CWE сам по собі не означає, що ваш продукт уразливий.
Як організовано каталог
Weakness — запис про тип слабкості. Category об’єднує записи за спільною ознакою; View подає вибрану частину каталогу для певного завдання або аудиторії. Категорія й подання не є окремими помилками, які можна знайти в коді.
Зв’язки показують, який запис загальніший, який конкретніший і до якої групи він належить. Їх треба читати в контексті подання. Цей опис використовує термінологію випущеної версії CWE 4.20; анонсовані зміни майбутньої моделі наведено в історії.
Рівні деталізації слабкостей
Pillar — найзагальніша тема помилок; Class описує ширший тип без прив’язки до конкретної технології; Base додає достатньо деталей для вибору способів виявлення та запобігання; Variant уточнює слабкість для певної технології чи ресурсу.
Це рівні абстракції, а не шкала небезпеки. Детальніший запис не обов’язково небезпечніший; він точніше пояснює причину. Для зіставлення з реальною вразливістю обирають найбільш конкретний дозволений запис, який підтверджують наявні факти.
Як читати запис CWE
Почніть з опису помилки та застосовних платформ. Потім перевірте наслідки, етап появи слабкості, приклади, методи виявлення й потенційні заходи запобігання. Приклад ілюструє механізм, але не замінює перевірку вашої реалізації.
Для CWE-89 ключова ідея запобігання — відокремити дані від SQL-команди, зокрема через параметризовані запити. Сам напис «перевіряти введення» занадто нечіткий: у завданні на виправлення треба назвати конкретний механізм і спосіб перевірки.
Як зіставляти знахідки зі слабкостями
Спочатку з’ясуйте першопричину: відсутня перевірка доступу, неправильна робота з пам’яттю чи інша конкретна помилка. Не обирайте запис лише за наслідком на кшталт витоку даних. Прочитайте Vulnerability Mapping Notes і перевірте, чи дозволено використовувати цей ідентифікатор для зіставлення.
Зафіксуйте ідентифікатор, версію каталогу, обґрунтування й доказ. Якщо даних бракує, позначте невизначеність. Категорії, подання та застарілі записи не слід використовувати як зручні замінники встановлення причини.
Практичне використання та межі
Команда може згрупувати підтверджені дефекти за CWE, виявити повторювані причини та додати відповідні перевірки до розроблення. Для конкретного продукту перелік доповнюють аналізом архітектури, тестами та оцінкою наслідків для користувачів.
CWE не надає сертифікації організації та не доводить відсутність уразливостей. Покриття інструментом певних CWE означає заявлені типи перевірок; його реальну здатність знаходити помилки потрібно перевіряти на відповідних прикладах.
Кому це буде корисно
Користь CWE залежить від участі в розробленні, перевірці або використанні цифрових продуктів. Для кожної аудиторії наведено власний акцент і практичний приклад.
Для навчальних закладів
Практична користь. Допомагає будувати заняття навколо причин помилок, а не лише назв атак.
Що вивчити насамперед. Різниця CWE, CVE і CAPEC; рівні абстракції та читання прикладів.
Приклад застосування. Підготувати лабораторну роботу з поясненням причини дефекту та перевіркою виправлення.
Більше про напрям для цієї групиДля студентів
Практична користь. Дає зрозумілу основу для читання звітів з аналізу коду.
Що вивчити насамперед. Weakness, Base, Variant, наслідки та способи запобігання.
Приклад застосування. У навчальному проєкті пояснити CWE-89 та показати, як параметризований запит відокремлює дані від команди.
Більше про напрям для цієї групиДля бізнесу
Практична користь. Допомагає спрямувати роботу команди на повторювані причини дефектів продукту.
Що вивчити насамперед. Обґрунтоване зіставлення знахідок, покриття перевірок та показники повторення помилок.
Приклад застосування. Згрупувати підтверджені дефекти релізу за CWE й запланувати зміни код-рев’ю для найчастіших причин.
Більше про напрям для цієї групиДля державних установ
Практична користь. Дає спільні технічні назви для вимог до розробників і результатів перевірки державних систем.
Що вивчити насамперед. Межі продукту, релевантні слабкості та докази виконаної перевірки.
Приклад застосування. У технічному завданні визначити релевантні класи помилок і вимагати пояснення виправлень у звіті приймальних випробувань.
Більше про напрям для цієї групиДля військових
Практична користь. Корисний для дозволених процесів розроблення та перевірки ПЗ й обладнання.
Що вивчити насамперед. Апаратні слабкості, вбудоване ПЗ, першопричини та обмеження відкритої класифікації.
Приклад застосування. Для дозволеного тестового компонента скласти перелік релевантних слабкостей без внесення захищених відомостей до відкритих джерел.
Більше про напрям для цієї групиДля неприбуткових організацій
Практична користь. Допомагає невеликій команді й підряднику однаково розуміти дефекти вебсервісу.
Що вивчити насамперед. Помилки доступу, робота з даними та перевірка виправлень.
Приклад застосування. Попросити підрядника пояснити причину виявленої помилки у сервісі пожертв та надати результат повторного тестування.
Більше про напрям для цієї групиДля громадян
Практична користь. Допомагає розуміти технічні повідомлення про безпеку продуктів; не потребує вивчення всього каталогу.
Що вивчити насамперед. Різниця між типом помилки та конкретною вразливою версією продукту.
Приклад застосування. У повідомленні постачальника відокремити пояснення CWE від переліку версій, для яких потрібне оновлення.
Більше про напрям для цієї групиДля власників стандартів
Практична користь. Дає основу для узгодження термінів і посилань у власних стандартах, каталогах та методиках.
Що вивчити насамперед. Стабільні ідентифікатори, версії, типи записів та якість зіставлень.
Приклад застосування. Зберігати разом із посиланням CWE версію каталогу й обґрунтування, а після оновлення перевіряти змінені записи.
Більше про напрям для цієї групиІсторія розвитку CWE
Від узагальнення реальних помилок до каталогу слабкостей ПЗ й обладнання. Історія розрізняє випущені версії та оголошені майбутні зміни.
PLOVER: підґрунтя класифікації
MITRE систематизувала реальні приклади вразливостей у PLOVER у межах участі в проєкті NIST SAMATE. Ця робота стала основою для спільного опису повторюваних типів слабкостей.
Перший проєкт CWE
Перший проєкт CWE опубліковано на сайті CVE. Він запропонував спільні назви типів слабкостей для розробників, дослідників і засобів перевірки коду.
Випуск CWE 1.0
CWE 1.0 закріпила модель подань, зокрема Development Concepts і Research Concepts, та оновила схему даних. Каталог став придатнішим для різних практичних і дослідницьких завдань.
CWE 4.0 охоплює апаратні слабкості
Випуск CWE 4.0 додав підтримку слабкостей проєктування обладнання та подання Hardware Design. Подання Software Development об’єднало попередні підходи для архітектури й розроблення ПЗ.
Виправлення зв’язків у CWE 4.19.1
Позапланова версія CWE 4.19.1 виправила зв’язки в поданні слабкостей зі списку CWE Top 25 за 2025 рік. Ця подія показує, чому у звітах потрібно фіксувати версію каталогу.
Випуск CWE 4.20
CWE 4.20 додала подання слабкостей продуктів зі штучним інтелектом і машинним навчанням, уточнила приклади, заходи запобігання та правила зіставлення. Це остання підтверджена випущена версія на дату перевірки сторінки.
Анонс майбутніх CWE 5.0 та Schema 8.0
Програма оголосила підготовку CWE 5.0 зі Schema 8.0, зокрема зміну Category на Grouping та розширення опису зв’язків. Паралельний випуск CWE 4.21 заплановано для попередньої схеми. Це оголошені майбутні зміни, а не вже опубліковані версії каталогу.