Линус Торвальдс раскритиковал меры по усилению защиты ядра Linux

Линус Торвальдс раскритиковал меры по усилению защиты ядра Linux

Линус Торвальдс не стесняясь в выражениях отверг заявку Кеса Кука (Kees Cook), предложившего включить в состав ядра 4.15 механизм защиты, блокирующий использование вызова usercopy при проведении некоторых видов атак.

Суть предложенного метода в запрете применения usercopy для прямого копирования между пространством пользователя и некоторыми областями ядра с введением белого списка допустимых для использования областей памяти. Так как подобный подход потенциально может нарушить работу приложений, использующих usercopy, предусмотрен fallback-режим для kvm и sctp (ipv6).

Линус в целом не отказался принять патч, но заявил, что не станет это делать в рамках цикла разработки 4.15, так как у него есть сомнения, что предложенные патчи хорошо протестированы и учтены все нюансы их влияние на работу существующих приложений. Предложенное изменение затрагивает некоторые ключевые подсистемы ядра, а у него сейчас нет времени анализировать появление возможных регрессивных изменений. Также указывается, что неправильно пытаться переложить решение возможных несовместимостей на пользователей и уже по факту отлавливать всплывающие в приложениях проблемы, пишет opennet.ru.

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

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

Предложения сразу ввести блокировку приложений или останавливать работу системы при выявлении опасного поведения отмечаются как в корне неверные - по мнению Линуса, перед началом блокировки достаточно долгое время ограничительные средства усиления безопасности должны работать в режиме информирования - например, около года только выводить в лог сведения о наличии проблемы, и лишь затем можно применять более радикальные меры.

Подпишитесь
в Facebook

Я уже с вами