
Образовательный анализ CVE-2023-4863 (переполнение кучи в libwebp) с инструментами обнаружения для Blue Team, статическим сканером WebP, защитным валидатором на Java и изолированной Docker-лабораторией с анализом памяти через Valgrind.
| Имя Фамилия | GitHub | Эл. почта | Веб-сайт | |
|---|---|---|---|---|
| Keyvan Arasteh | @keyvanarasteh | [email protected] | keyvanarasteh | qline.tech |
| Имя Фамилия | Номер студента |
|---|---|
| Batuhan Seydi Çelik | 2520****1006 |
| Название курса | Код курса | Кредиты | Предварительные требования | Семестр |
|---|---|---|---|---|
| Тестирование на проникновение и анализ уязвимостей | BGT006 | 3 ECTS | Основы сетей, Linux CLI | Весна 2025-2026 |
Этот проект подготовлен в учебных целях для анализа уязвимости CVE-2023-4863 (libwebp Heap Buffer Overflow) и практической демонстрации того, как на стороне защиты (Blue Team) можно обнаруживать подобные аномалии в системах.
Эта уязвимость напрямую затронула многие экосистемы веб-мира:
ReadHuffmanCodes выделяет в памяти меньше места, чем требуется для таблицы.BuildHuffmanTable) происходит запись за пределы выделенной области памяти (Out-Of-Bounds Write).В соответствии с принципами безопасности в системе не размещается реальный и готовый к применению Red Team-код (эксплойт). Уязвимость тестируется структурно (structural).
src/blue_team/webp_scanner.py: Статически анализирует структуры chunk (фрагментов) WebP и обнаруживает аномальные размеры.src/blue_team/WebpValidator.java: Пример защитного Java-кода, имитирующего сценарии загрузки файлов (file upload), предотвращающего подделку размера по принципу fail-fast и не падающего (не выбрасывающего исключений) на повреждённых файлах.src/red_team/poc.py: Учебный генератор тестов, который не содержит реального payload, но намеренно сообщает поддельный размер chunk в 60 МБ, чтобы проверить, срабатывают ли инструменты анализа Blue Team.libwebp-1.3.1. Динамический анализ Valgrind через скрипт analyze_memory.sh для исследования ошибок памяти (Invalid Write).Результаты безопасности записываются с помощью созданной инфраструктуры JSON-логгера и визуализируются асинхронно и в реальном времени через панель Blue Team Dashboard (HTML/JS/CSS), расположенную в каталоге src/public.
