Hoʻohālike hoʻoweliweli a me nā hiʻohiʻona o ka loiloi nāwaliwali i loko o ka kernel Linux

Линус Торвальдс принял в состав ядра документ, регламентирующий процесс обработки ошибок, связанных с безопасностью, определяющий модель угроз, поясняющий, какие ошибки в ядре трактуются как уязвимости, и разбирающий действия с ошибками, выявленными при помощи AI. Документ подготовлен Вилли Тарро (Willy Tarreau), автором HAProxy и давним разработчиком ядра Linux, отвечавшим за сопровождение нескольких стабильных веток ядра. В качестве основы использованы договорённости, достигнутые в ходе обсуждения недавно выявленных критических уязвимостей в ядре (1, 2, 3, 4), раскрытых до публикации исправлений и для которых, благодаря AI, удалось сразу создать рабочие эксплоиты.

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

Уязвимости, выявленные при помощи AI-ассистентов, всегда предлагается обсуждать публично, так как подобные проблемы часто обнаруживаются одновременно несколькими исследователями. При этом не следует раскрывать в отчёте экплоит — достаточно упомянуть, что он доступен, и передать его в частном порядке в ответ на запрос сопровождающего.

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

  • Краткость, без воды и с указанием сути и важных деталей в самом начале.
  • Только голый текст без Markdown-тегов и декорирования.
  • Понимание модели угроз и указание проверяемых фактов (например, «ошибка позволяет любому пользователю получить CAP_NET_ADMIN»), а не теоретических измышлений и домыслов о последствиях уязвимости.
  • Перед отправкой отчёта обязательно тщательно протестировать работоспособность эксплоита, сформированного через AI, и убедиться в возможности воспроизвести проблему.
  • Привлечение AI для разработки и тестирования исправления выявленной проблемы.

По статистике сопровождающих, большинство отчётов об ошибках, присылаемых под видом устранения уязвимостей, таковыми не являются, и должны обрабатываться в общем порядке как обычные ошибки. Для разделения уязвимостей и обычных ошибок описана модель угроз ядра Linux. Среди возможностей и гарантий, нарушение которых может рассматриваться как уязвимость:

  • Изоляция на уровне пользователей: доступ к файлам только для владельца, память процесса недоступна другим пользователям, ptrace запрещён для чужих процессов, изоляция IPC и сетевых коммуникаций.
  • Защита на основе capabilities: без CAP_SYS_ADMIN нельзя менять конфигурацию ядра, память, состояние системы, без CAP_NET_ADMIN нельзя менять сетевые настройки или перехватывать трафик, без CAP_SYS_PTRACE нельзя отслеживать процессы других пользователей.
  • Пространство имён идентификаторов пользователей (CONFIG_USER_NS) позволяет непривилегированным пользователям создавать свои изолированные окружения, из которых нельзя влиять на глобальное пространство имён, например, менять время, загружать модули и монтировать блочные устройства.
  • Отладочные интерфейсы (/proc/kmsg, perf, debugfs), через которые можно получить доступ к конфиденциальной информации, доступны только после явного предоставления доступа администратором.

Возможности, которые не рассматриваются как уязвимости:

  • Использование устаревших веток ядра.
  • Сборка с включением опций для разработчиков или снижающих безопасность (например, CONFIG_NOMMU).
  • Выставление небезопасных настроек sysctl, опций командной строки, прав доступа в ФС, capabilities или открытие непривилегированным пользователям доступа к привилегированным интерфейсам (например, доступ на запись в procfs и debugfs).
  • Проблемы в функциях, предназначенных только для разработки и отладки ядра, таких как LOCKDEP, KASAN и FAULT_INJECTION, которые не предназначены для включения в рабочих конфигурациях.
  • Проблемы в драйверах, модулях и подсистемах, находящихся в секции STAGING или помеченных как экспериментальные, небезопасные или неработоспособные.
  • Использование сторонних модулей ядра или неофициальных форков ядра.
  • Требование избыточных привилегий, таких как необходимость выполнения действий с правами root или от пользователя, имеющего права CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_SYS_RAWIO и CAP_SYS_MODULE.
  • Теоретические атаки, требующие лабораторных условий, миллиардов попыток, эмуляции или модификации оборудования, несоразмерных затрат и нереалистичных конфигураций (например, системы с десятками тысяч ядер CPU).
  • Обход механизмов защиты (например, ASLR) без демонстрации эксплоита. Отсутствие проверок аргументов и возвращаемых кодов ошибок, не имеющих явных последствий.
  • Случайные утечки информации, неподконтрольные атакующим, такие как остаточные данные в сообщениях об ошибках и утечки адресов/указателей на память ядра без прямой возможности эксплуатации.
  • Ошибки при монтировании повреждённых дисковых образов, если драйвер не заявлен как пригодный для использования с не заслуживающими доверия носителями. Проблемы с дисковыми образами, выявляемые и устраняемые через запуск утилиты fsck.
  • Атаки требующие физического доступа к оборудованию, модификации оборудования или подключения аппаратных устройств, таких как платы для атаки на DMA и логические анализаторы, если система специально не настроена для защиты от подобных атак (IOMMU).
  • Регрессии c функциональностью и производительностью, устраняемые настройкой прав и лимитов.

Source: opennet.ru

E kūʻai i ka hoʻokipa hilinaʻi no nā pūnaewele me ka pale DDoS, nā kikowaena VPS VDS 🔥 E kūʻai i ka hoʻokipa pūnaewele hilinaʻi me ka pale DDoS, nā kikowaena VPS VDS | ProHoster