Анализ CVE-уязвимостей для ВКР по кибербезопасности: от изучения баз до автоматизации поиска
Статья на Xakep разбирает ситуацию, когда WPScan находит 20 CVE, но ни один эксплоит не срабатывает. Дело не в «сломанных» инструментах, а в непонимании механики CVE: какая информация скрывается за идентификатором, почему один баг даёт полный контроль над сервером, а другой остаётся лишь формальностью. Для студента, готовящего ВКР по защите информации, это отличная отправная точка: вместо абстрактного «исследования уязвимостей» можно построить реальный проект — от анализа баз данных до разработки собственного сканера или методики приоритизации. Разберём, как превратить материалы статьи в полноценные главы диплома, какие стандарты и метрики использовать и как защитить работу с минимальной болью.
Интеграция CVE-анализа в диплом по информационной безопасности
Что такое CVE и почему это не просто список?
В статье наглядно показано: CVE — это идентификатор, а не описание эксплоита. Он содержит статус (кандидат, принят, отклонён), дату, описание проблемы и ссылки на источники. Настоящая ценность для студента — научиться связывать CVE с практическими последствиями: какие версии ПО затронуты, какой вектор атаки (AV:N — сетевой, AV:L — локальный), сложность эксплуатации и влияние. Без этого любая «находка» WPScan остаётся просто строкой в отчёте.
Для ВКР по направлению «Информационная безопасность» это даёт три прикладных направления:
- анализ эффективности существующих сканеров и баз (CVE, NVD, Exploit-DB);
- разработка системы приоритизации уязвимостей на основе CVSS и контекста;
- создание собственного модуля для автоматизированного поиска CVE по заданным критериям.
Темы ВКР: от анализа до автоматизации
| Направление | Актуальность (отсылка к статье) | Цель | Задачи (3-4) | Структура работы |
|---|---|---|---|---|
| Анализ и приоритизация CVE в веб-приложениях | WPScan находит 20 CVE, но эксплойты не работают — проблема ложной тревожности и «мусорных» уязвимостей. | Разработать методику ранжирования CVE по фактической эксплуатируемости. | 1. Сравнить базы CVE/NVD/Exploit-DB. 2. Выделить критерии (CVSS, наличие эксплоита, тип уязвимости). 3. Построить модель приоритизации. 4. Проверить на реальном стенде. |
Гл.1 — Теория CVE и метрик; Гл.2 — Разработка методики; Гл.3 — Тестирование и результаты. |
| Автоматизация поиска уязвимостей в CMS-системах | WPScan — лишь пример. Студент может расширить до Joomla, Drupal и др. | Создать сервис, который собирает CVE по выбранной CMS и проверяет конфигурацию. | 1. Изучить API NVD и CIRCL. 2. Разработать модуль сбора и нормализации данных. 3. Реализовать сопоставление с версиями ПО. 4. Оценить точность. |
Гл.1 — Обзор CAVP и CVE; Гл.2 — Проектирование и реализация; Гл.3 — Эксперимент. |
| Модель оценки рисков от CVE для корпоративной инфраструктуры | Статья подчёркивает, что одинаковые CVE в разном окружении имеют разный эффект. | Разработать модель рисков, учитывающую CVSS, критичность актива и компенсирующие меры. | 1. Классифицировать активы. 2. Сопоставить CVE с активами. 3. Рассчитать риск. 4. Внедрить в процесс аудита. |
Гл.1 — Анализ подходов; Гл.2 — Разработка модели; Гл.3 — Апробация. |
Как использовать материалы статьи в главах ВКР
В первой главе (аналитической) возьмите из статьи описание структуры CVE, статусов и типов уязвимостей. Добавьте обзор стандартов — OWASP Top 10, CVSS v3.1, MITRE ATT&CK. Во второй главе (проектной) опишите архитектуру своего решения. Если разработка не предусмотрена, спроектируйте алгоритм поиска и приоритизации — этого достаточно для квалификационной работы бакалавра.
В третьей главе покажите эффективность. Пример из статьи: найдено 20 CVE, реально эксплуатируемых — 2. Ваша методика должна сокращать число ложных срабатываний. В качестве метрики возьмите Precision/Recall, сокращение времени анализа, F1-меру.
Для схем используйте UML (диаграмма вариантов использования, диаграмма деятельности) или C4 (контекст, контейнеры, компоненты). Если в работе есть взаимодействие с внешними API, отразите это на диаграмме последовательности. Пример простого запроса к API NVD на Python:
import requests, json
def get_cve(keyword, apikey=None):
params = {'keywordSearch': keyword, 'resultsPerPage': 10}
headers = {'apiKey': apikey} if apikey else {}
r = requests.get('https://services.nvd.nist.gov/rest/json/cves/2.0',
params=params, headers=headers, timeout=30)
return r.json()
# Проверка: найти CVE для WordPress
data = get_cve('wordpress', apikey='ваш_ключ_NVD')
for item in data.get('vulnerabilities', []):
print(item['cve']['id'], item['cve']['descriptions'][0]['value'][:100])
Не забудьте про нормоконтроль: оформление кода — по ГОСТ 19.402-78, а структура текста — по ГОСТ 7.32-2017. Если вы пишете про автоматизированную систему, примените ГОСТ 34.601-2020.
Метрики эффективности: как считать пользу от вашей работы
В ВКР по информационной безопасности комиссия всегда спрашивает: «Что изменилось?». Заготовьте 3-4 показателя:
- время на первичный анализ уязвимостей (было X, стало Y);
- точность: доля CVE с реально подтверждённым эксплоитом;
- полнота: процент найденных уязвимостей относительно зарегистрированных;
- минимизация ложных срабатываний.
Ссылайтесь на ISO/IEC 25010 для качественных характеристик ПО: функциональность, производительность, сопровождаемость. И помните — эффективность должна считаться на вашем стенде, а не на глаз.
FAQ: частые вопросы студентов
Где брать данные для анализа CVE, если нет доступа к коммерческим базам?
Используйте открытые API — NVD (NIST), CIRCL CVE Search, Vulners. Для получения статистики по эксплоитам подойдёт Exploit-DB, Metasploit Framework с модулями. Всё это доступно бесплатно, для ВКР данных более чем достаточно.
Можно ли обойтись без программирования в ВКР?
Да, если это аналитическая работа. Например, сравнительное исследование покрытия CVE в двух базах. Но для технической специальности код желателен — он сильно повышает оценку и упрощает защиту.
Как оформить схемы атак по стандартам?
Для бизнес-процессов — BPMN, для вариантов использования — UML. Тактики атак опишите матрицей MITRE ATT&CK, а архитектуру — C4. Каждую диаграмму подписывайте по ГОСТ 7.32-2017, рисунки должны иметь ссылки в тексте.
Что делать, если руководитель требует «конкретные результаты»?
Проведите тестирование на виртуальной машине с уязвимым веб-приложением (OWASP JuiceShop, DVWA) и зафиксируйте, сколько CVE из первоначального списка были подтверждены. Даже один такой эксперимент — уже результат.
Типичные ошибки студентов
2. Игнорирование CVSS и его ограничений. CVSS 9.8 не значит, что сервер упадёт за минуту. Нужен контекст: какой компонент затронут, есть ли компенсирующие меры. Покажите в работе, что вы учитываете это.
3. Неправильное оформление результатов. Код без комментариев, схемы «в Paint», таблицы без единиц измерения, цель и задачи не совпадают. Комиссия видит это сразу. Сверьтесь с методичкой и ГОСТом ещё до предзащиты.
Из статьи Xakep стоит вынести главное: CVE — это не гарантия взлома, а лишь карточка в каталоге. Ваша сила — в умении интерпретировать эти данные.
Чек-лист «Что проверить перед сдачей»
- Все ли источники из статьи и дополнительной литературы оформлены по ГОСТ 7.0.100-2018?
- Соответствуют ли задачи тексту глав — нет ли «висяков» (задача есть, а раздела нет)?
- Подписаны ли рисунки и таблицы, есть ли на них ссылки в тексте?
- Посчитаны ли метрики эффективности и сравниваются ли они с исходным состоянием?
- Проверен ли код на работоспособность и включён ли он в приложение?
- Уникальность текста выше требований вуза (обычно 60–70%)?
- Есть ли акт о внедрении или справка о тестировании?
Что вы получите в итоге
Проработав CVE-тему для диплома, вы научитесь:
- работать с публичными базами уязвимостей и API;
- строить модели приоритизации рисков на основе CVSS и контекста;
- проектировать архитектуру модуля для автоматизированного анализа;
- оформлять результаты по требованиям ГОСТ и защищать их.
Источник: CVE с самого начала. Учимся искать информацию об уязвимостях (опубликовано 2026-03-18)