Linux Foundation вводит систему оценки безопасности

Linux Foundation вводит систему оценки безопасности

Linux Foundation вводит систему оценки безопасности

Сформированный при организации Linux Foundation фонд Core Infrastructure Initiative, анонсировал первые результаты продвижения инициативы Best Practices Badge Program для стимулирования повышения безопасности свободных проектов.

В рамках инициативы сформирован набор критериев, составленных с учётом опыта наиболее серьёзно относящихся к безопасности сообществ. Список включает 74 критерия, разделённых по степени важности (обязательные, желательные и рекомендуемые). Выполнение критериев позволяет судить о серьёзном отношении проектов к безопасности, обеспечению качества и поддержанию стабильности кодовой базы. Для оценки соответствия своего проекта предъявляемым критериям подготовлено простое web-приложение.

На базе данных критериев запущена программа сертификации соответствия проектов требованиям качества, безопасности и стабильности. Прошедшие сертификацию проекты получают право размещения на сайте специального знака качества, сигнализирующего о серьёзном отношении разработчиков к безопасности. В настоящее время заявки на проведение проверки сформированы для 114 проектов. Успешно прошли проверку 7 проектов: Curl, GitLab, ядро Linux, OpenBlox, OpenSSL, Node.js и Zephyr. Три проекта признаны не соответствующими критериям (pkgsrc - указание нескольких лицензий в разных файлах, container-tools - сайт без HTTPS, byobu - сайт без HTTPS c TLS). Остальные проекты находятся на стадии проверки, пишет opennet.ru.

Ключевые требования к проектам:

  • Доступный по постоянному адресу web-сайт, на котором описано назначение проекта, предоставлены ссылки для загрузки, имеется возможность отправки отзыва разработчикам и доступна инструкция по подключению к разработке/отправке изменений;
  • Использование типовой свободной лицензии и размещение информации о лицензии в файлах LICENSE или COPYING;
  • Поддержка HTTPS на сайте;
  • Наличие документации, описывающей установку и запуск, а также наличие спецификации для API;
  • Доступность кода через распределённые системы контроля версий и возможность оценки изменений между релизами;
  • Присвоение каждому выпуску уникального номера версии в формате семантического версионирования;
  • Наличие списка изменений, в котором явно выделены исправленные уязвимости;
  • Предоставление средства для отправки разработчикам сообщений об ошибках и отслеживания их исправления. Доступ к архиву сообщений о проблемах. Аргументированная реакция на любые сообщения об ошибках и запросов на улучшения, без игнорирования;
  • Наличие безопасного и документированного процесса отправке уведомлений об обнаружении уязвимостей. Ответ на подобные сообщения должен составлять не более 14 дней, а проблема должна быть устранена не более чем за 60 дней;
  • Возможность сборки с использованием штатных открытых инструментов. Возможность включения сборки в режиме вывода предупреждений компилятором и компоновщиком. Возможность запуска статических анализаторов кода;
  • Наличие автоматизированного тестового набора, покрывающего большую часть функциональности проекта. Добавление новых тестов для нового кода;
  • Автоматизированный запуск тестов для всех изменений и применение динамических проверок с использованием анализаторов, подобных Valgrind, систем fuzzing-тестирования и сканеров безопасности;
  • Знание разработчиками методов безопасного программирования и типовых ошибок, приводящих к уязвимостям;
  • В случае наличия поддержки шифрования применение публичных протоколов и алгоритмов, задействование уже готовых проверенных и открытых реализаций, использование ключей надлежащей длины, отказ от поддержки проблемных и уязвимых алгоритмов, использование алгоритмов с Forward secrecy, хранение любых паролей в форме хэшей с солью, применение надёжных генераторов случайных чисел.

Критическая уязвимость в TLP позволяет обойти защиту Linux

В популярной утилите TLP, которую многие владельцы ноутбуков на Linux используют для управления энергопотреблением, обнаружили критическую уязвимость. Причём проблема нашлась во время обычной проверки пакета командой SUSE Security Team и располагается во вполне штатном коде.

Брешь получила идентификатор CVE-2025-67859 и затрагивает версию TLP 1.9.0, где появился новый profiles daemon.

Этот демон работает с root-правами и управляет профилями питания через D-Bus. Задумка хорошая, но реализация подвела: в механизме аутентификации Polkit нашлась логическая ошибка, которая фактически позволяет обойти проверку прав.

Как объясняют исследователи, демон должен был строго проверять, кто именно отправляет команды. Но из-за ошибки любой локальный пользователь мог взаимодействовать с ним без должной аутентификации — а значит, менять системные настройки питания от имени root.

На этом сюрпризы не закончились. В ходе анализа специалисты SUSE нашли ещё несколько проблем, уже связанных с исчерпанием ресурсов. В частности, механизм profile hold, который позволяет временно «зафиксировать» профиль питания, оказался совершенно без валидации. Локальный пользователь мог создавать неограниченное количество таких блокировок, причём без прав администратора.

В итоге это открывает прямую дорогу к DoS-атаке: демон начинает захлёбываться от бесконечных записей в структуре данных, куда попадают числа, строки с причиной и идентификаторы приложений — всё это полностью контролируется клиентом.

Любопытно, что SUSE вспомнила похожую историю с демоном управления питанием в GNOME: аналогичную проблему находили ещё несколько лет назад. Отдельно исследователи отметили вопросы к механизму «куки», которыми отслеживаются profile hold. Формально речь шла о предсказуемости значений, но в сочетании с отсутствием лимитов это лишь расширяло поверхность атаки.

К счастью, реакция была быстрой. SUSE сообщила об уязвимостях разработчикам ещё в декабре, и в версии TLP 1.9.1 проблема уже закрыта. В частности, число одновременных profile hold теперь жёстко ограничено числом 16, что убирает риск истощения ресурсов.

RSS: Новости на портале Anti-Malware.ru