Единый перечень уязвимостей
Единый перечень уязвимостей (англ. Common Weakness Enumeration, CWE) — это система категоризации уязвимостей аппаратного и программного обеспечения, которые могут привести к компьютерным уязвимостям. Целью CWE является лучшее понимание дефектов в программном и аппаратном обеспечении, а также создание автоматизированных инструментов для их поиска, устранения и предотвращения[1]. Ключевые задачи, которые преследует этот проект:[2]
- ведение общей таксономии для классификации типовых уязвимостей в архитектуре, проектировании и коде программного обеспечения;
- предоставление стандартной схемы для инструментов обеспечения безопасности программ;
- формирование базового уровня, помогающего выявлять, смягчать и предотвращать подобные слабости ПО.
В экосистеме стандартов кибербезопасности CWE тесно связан с другими классификаторами: CWE описывает общие типы недостатков (первопричины), CVE — конкретные экземпляры уязвимостей в продуктах, а CAPEC — шаблоны атак, используемые злоумышленниками для эксплуатации этих недостатков[3].
Организация и распространение
Проект реализуется в сотрудничестве с широкой профессиональной и экспертной общественностью, включая:[2]
- государственные организации США: спонсором выступает Министерство внутренней безопасности США (DHS) и Агентство по кибербезопасности и защите инфраструктуры (CISA); в управлении участвуют Команда реагирования на чрезвычайные компьютерные происшествия США (US-CERT) и Национальное подразделение по кибербезопасности DHS[4][5];
- частные компании: поддерживается Mitre Corporation, в совет входят представители NVIDIA, Red Hat, CISQ, Intel[6];
- университеты, образовательные и исследовательские учреждения: Университет Небраски в Омахе, SANS Institute, Homeland Security Systems Engineering and Development Institute (HSSEDI)[7].
Хотя проект был изначально создан и развит в США, впоследствии он получил широкое распространение по всему миру и стал одним из основных фреймворков в области информационной безопасности[2][8][9][10][11] в частности за счёт списка CWE/SANS Top 25 — перечня 25 наиболее опасных уязвимостей ПО[12]. Рейтинг за 2025 год был опубликован в декабре 2025 года на основе анализа более 39 тысяч CVE; первое место в нём сохранила уязвимость CWE-79 (межсайтовый скриптинг), а на второе поднялась CWE-89 (SQL-инъекция)[13][14]. Рабочие группы и сообщества интересов представлены в виде публичных форумов, где любой желающий может принять участие, обсуждать и содействовать внедрению CWE и увеличению его популярности[1].
Первая публикация перечня и связанной с ним таксономии состоялась в 2006 году[15]. 30 апреля 2026 года была представлена актуальная версия 4.20 стандарта CWE.
В перечне CWE представлено более 600 категорий, включая такие классы, как переполнения буфера, ошибки в обработке путей/каталогов, состояния гонки, межсайтовое выполнение скриптов, жёстко заданные пароли и использование незащищённых генераторов случайных чисел[16]. В версии 4.20 был добавлен новый раздел для уязвимостей продуктов на базе искусственного интеллекта и машинного обучения (ИИ/МО), включающий такие проблемы, как некорректная проверка вывода генеративного ИИ и небезопасная настройка параметров[17].
Совместимость с CWE
До 16 апреля 2024 года CWE поддерживал формальную программу совместимости, с помощью которой продукты или сервисы могли проходить экспертизу и официально регистрироваться как «совместимые с CWE» (англ. CWE-Compatible). 16 апреля 2024 года программа была официально прекращена, а списки участвовавших в ней продуктов переведены в архив[18].
Вместо формальной программы теперь действует модель самодекларирования, при которой производители могут заявлять о совместимости своих продуктов или услуг с CWE при условии соблюдения обновлённого набора требований[19]:
| Требование | Описание |
|---|---|
| CWE-Searchable | Возможность поиска элементов безопасности по идентификаторам CWE. |
| CWE-Output | Возможность вывода идентификаторов CWE для представленных элементов безопасности. |
| Mapping Accuracy | Точность сопоставления между обнаруживаемыми элементами и идентификаторами CWE. |
| CWE-Documentation | Наличие документации, описывающей CWE и способы использования связанных функций. |
| CWE-Coverage / Version Usage | Явное указание охвата CWE (списка обнаруживаемых идентификаторов) и используемой версии справочника. |
Критика CWE
Часть исследователей отмечает, что несмотря на значительный вклад сообщества, CWE содержит не всегда точные, полные, последовательные или недвусмысленные описания уязвимостей. Для решения или минимизации этой проблемы был предложен иной подход к классификации уязвимостей, предполагающий создание «естественной организации» наподобие периодической таблицы элементов. Такой подход может помочь точнее описывать и объяснять свойства и классы уязвимостей, тем самым способствуя лучшему их обнаружению, смягчению и предотвращению, а также предсказывать новые классы слабых мест и уязвимостей. На базе CWE были разработаны более точные определения и усовершенствована/расширена классификация[20].