Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Анализ и устранение уязвимостей открытого программного обеспечения в промышленной инфраструктуре (на примере библиотеки glibc)

Информационные технологии
15.10.2025
21
Поделиться
Аннотация
В статье рассматривается процесс анализа и устранения уязвимостей открытого программного обеспечения, используемого в промышленных системах (АСУ ТП). На примере уязвимости CVE-2023–6780 в библиотеке GNU C Library (glibc) показан алгоритм выявления и устранения дефектов с использованием частичного переноса исправлений из официального репозитория методом git cherry-pick. Приведены этапы анализа, поиска патча, его интеграции, тестирования и документирования результатов. Рассмотренный подход актуален для объектов критической информационной инфраструктуры (КИИ), где полное обновление программных компонентов ограничено требованиями сертификации и стабильности.
Библиографическое описание
Моряков, А. В. Анализ и устранение уязвимостей открытого программного обеспечения в промышленной инфраструктуре (на примере библиотеки glibc) / А. В. Моряков. — Текст : непосредственный // Молодой ученый. — 2025. — № 42 (593). — С. 11-13. — URL: https://moluch.ru/archive/593/129198.


Современные промышленные информационные системы опираются на широкий спектр компонентов открытого программного обеспечения (ОПО): системные библиотеки, демоны, утилиты мониторинга и т. д. Одним из таких ключевых компонентов является библиотека GNU C Library (glibc), обеспечивающая работу пользовательских и системных процессов в среде Linux.

Использование ОПО даёт организациям атомной отрасли гибкость и прозрачность кода, но одновременно повышает риск эксплуатации публично известных уязвимостей. Для объектов КИИ внедрение стандартных обновлений часто затруднено — любая замена версий требует повторной сертификации и проверки совместимости. Поэтому особую значимость приобретают методы точечного устранения уязвимостей без полной миграции версии, например — перенос исправлений из официальных репозиториев с помощью git cherry-pick.

Для идентификации и анализа уязвимостей используются открытые источники:

– Международная база CVE (Common Vulnerabilities and Exposures);

– NVD (National Vulnerability Database) — официальный каталог NIST США;

– отечественная база БДУ ФСТЭК России;

– advisories дистрибутивов (например, Ubuntu Security Notices, Debian Security Tracker, Red Hat Bugzilla);

– отчёты исследовательских компаний, таких как Qualys TRU, Sysdig и Tarlogic Security.

Для каждой уязвимости публикуется идентификатор CVE, описание, оценка CVSS и ссылки на исправления. Это позволяет выстраивать внутренний цикл Vulnerability Management, ориентированный на мониторинг, приоритизацию и устранение дефектов в ПО.

В библиотеке glibc версий до 2.39 включительно обнаружена уязвимость CVE-2023–6780, связанная с целочисленным переполнением при вычислении размера буфера в функции __vsyslog_internal. Ошибка возникает при формировании сообщения журнала системных логов, если длина строки превышает допустимые границы. Возможными последствиями являются отказ в обслуживании и потенциальное повреждение памяти.

Подробное описание уязвимости представлено в базе NVD, а также в advisories проектов Debian, Ubuntu и Red Hat. Исследование Qualys TRU подтверждает механизм ошибки и описывает возможные способы детектирования аномального поведения в процессе записи в syslog.

Официальное исправление внесено в репозиторий GNU C Library в виде коммита

Таблица 1

Исправление уязвимости

Commit

ddf542da94caf97ff43cc2875c88749880b7259b

Название

syslog: Fix integer overflow in __vsyslog_internal (CVE-2023–6780)

Автор

Arjun Shankar

Дата

15 января 2024 г.

URL

https://sourceware.org/git/?p=glibc.git;a=commit;h=ddf542da94caf97ff43cc2875c88749880b7259b

В этом коммите добавлена проверка границ при сложении значений, используемых для вычисления размера буфера, что предотвращает переполнение целого типа.

Методика устранения уязвимостей методом git cherry-pick включает в себя несколько этапов:

– Этап 1 — Выявление

Проводится анализ используемых версий glibc и их соответствия спискам уязвимых версий, указанным в NVD и security-advisories.

– Этап 2 — Получение исправления

Из официального репозитория извлекается нужный коммит и выполняется частичный перенос исправления с помощью команд git fetch origin и git cherry-pick <commit_hash> . После переноса необходимо разрешить возможные конфликты и убедиться, что изменения не затронули локальные модификации. </commit_hash>

– Этап 3 — Сборка и тестирование

Библиотека пересобирается в локальном окружении, после чего проводится модульное и функциональное тестирование:

– Запуск тестов.

Большинство зрелых библиотек сопровождаются встроенными тестовыми наборами, которые позволяют проверить корректность реализации как отдельных компонентов, так и системы в целом. В зависимости от используемой системы сборки запуск тестов осуществляется стандартными командами — например, make check или make test (Autotools), ctest (CMake), meson test (Meson) и аналогичными. В случае glibc используется команда make check, охватывающая широкий спектр юнит- и интеграционных тестов.

– Статический анализ.

Для выявления скрытых дефектов, потенциальных уязвимостей и несоответствий стилю кода применяются инструменты статического анализа, такие как cppcheck, clang-tidy и другие. Это позволяет обнаружить проблемы, не проявляющиеся при обычном выполнении.

– Целевая верификация исправления.

Помимо штатных проверок, проводится специализированное тестирование, направленное на подтверждение устранения конкретной уязвимости. Например, для проверки корректности исправления переполнения буфера в функции выполняется её вызов с длинными сообщениями, включая граничные и нестандартные значения.

– Этап 4 — Документирование и контроль

Все результаты фиксируются в системе управления конфигурациями (GitLab, Nexus, или внутренние средства). Указывается идентификатор CVE, commit-hash, результаты тестов и дата интеграции патча. Формируется внутренний отчёт о повышении уровня защищённости ПО.

Метод git cherry-pick является эффективным инструментом для точечного устранения уязвимостей в открытом программном обеспечении без необходимости обновления версий. На примере CVE-2023–6780 в библиотеке glibc показано, что официальный патч может быть безопасно перенесён в эксплуатируемую версию при соблюдении требований по тестированию и контролю. Такой подход особенно актуален для организаций атомной отрасли и других объектов КИИ, где обеспечение непрерывности технологического процесса не позволяет проводить частые обновления ПО.

Литература:

  1. Dissanayake N., Jayatilaka A., Zahedi M., Babar M. A. Software Security Patch Management — A Systematic Literature Review of Challenges, Approaches, Tools and Practices. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/abs/2012.00544 (дата обращения: 13.10.2025).
  2. Dissanayake N., Zahedi M., Jayatilaka A., Babar M. A. Why, How and Where of Delays in Software Security Patch Management: An Empirical Investigation in the Healthcare Sector. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/abs/2202.09016 (дата обращения: 13.10.2025).
  3. Dissanayake N., Zahedi M., Jayatilaka A., Babar M. A. A Grounded Theory of the Role of Coordination in Software Security Patch Management. — Текст: электронный // arXiv: [сайт]. — URL: https://arxiv.org/abs/2106.03458 (дата обращения: 13.10.2025).
  4. Qualys Threat Research Unit. CVE-2023–4911: Local Privilege Escalation in glibc’s ld.so (“Looney Tunables”). — Текст: электронный // Qualys Blog: [сайт]. — URL: https://blog.qualys.com/vulnerabilities-threat-research/2023/10/03/cve-2023–4911-looney-tunables-local-privilege-escalation-in-the-glibcs-ld-so (дата обращения: 13.10.2025).
  5. NIST. CVE-2023–4911 Detail. — Текст: электронный // National Vulnerability Database (NVD): [сайт]. — URL: https://nvd.nist.gov/vuln/detail/CVE-2023–4911 (дата обращения: 13.10.2025).
  6. Sysdig. Detecting and Mitigating CVE-2023–4911. — Текст: электронный // Sysdig Blog: [сайт]. — URL: https://sysdig.com/blog/cve-2023–4911 (дата обращения: 13.10.2025).
  7. Tarlogic Security. CVE-2023–4911: Vulnerability Looney Tunables in glibc. — Текст: электронный // Tarlogic: [сайт]. — URL: https://www.tarlogic.com/blog/cve-2023–4911-vulnerability-looney-tunables-in-glibc (дата обращения: 13.10.2025).
  8. Cioffi J., Simplicio M. A. On the Risks and Security of Software Updates: A Systematic Literature Review. — Текст: электронный // SSRN: [сайт]. — URL: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4901397 (дата обращения: 13.10.2025).
  9. Dissanayake N., Jayatilaka A., Zahedi M., Babar M. A. An Empirical Study of Automation in Software Security Patch Management. — Текст: электронный // ResearchGate: [сайт]. — URL: https://www.researchgate.net/publication/363331994_An_Empirical_Study_of_Automation_in_Software_Security_Patch_Management (дата обращения: 13.10.2025).
  10. Dissanayake N., Jayatilaka A., Zahedi M., Babar M. A. Why, How and Where of Delays in Software Security Patch Management: An Empirical Investigation in the Healthcare Sector. — Текст: электронный // ACM Digital Library: [сайт]. — URL: https://dl.acm.org/doi/10.1145/3555087 (дата обращения: 13.10.2025).
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Молодой учёный №42 (593) октябрь 2025 г.
Скачать часть журнала с этой статьей(стр. 11-13):
Часть 1 (стр. 1-65)
Расположение в файле:
стр. 1стр. 11-13стр. 65
Похожие статьи
Оценка рисков при эксплуатации уязвимого и устаревшего программного обеспечения в автоматизированных системах управления технологическими процессами
Управление безопасностью зависимостей клиентских веб-приложений: анализ риска цепочки поставок npm на примере инцидента с библиотекой axios
Анализ уязвимости переполнения буфера
Анализ скрытого нелегитимного поведения пользователей в условиях атак LotL
Практический анализ уязвимостей спекулятивного выполнения: тайминги кэш-памяти и эффективность защиты Linux
Интеграция процессов SCA в контур DevSecOps промышленных корпоративных систем
Современные тенденции безопасной конфигурации средств защиты информации
Анализ атак на повышение привилегий
Обзор различных средств фаззинга как инструментов динамического анализа программного обеспечения
Разработка механизма безопасного обновления автоматизированных систем на основе канареечного развертывания и инструментов автоматизации

Молодой учёный