Линус Торвальдс не стесняясь в выражениях отверг (http://lkml.iu.edu/hypermail/linux/kernel/1711.2/01701.html) заявку Кеса Кука (Kees Cook), предложившего (http://lkml.iu.edu/hypermail/linux/kernel/1711.2/01325.html) включить в состав ядра 4.15 механизм защиты, блокирующих использование вызова usercopy при проведении некоторых видов атак. Суть предложенного метода в запрете применения usercopy для прямого копирования между пространством пользователя и некоторыми областями ядра с введением белого списка допустимых для использования областей памяти. Так как подобный подход потенциально может нарушить работу приложений, использующих usercopy, предусмотрен (http://lkml.iu.edu/hypermail/linux/kernel/1711.2/01636.html) fallback-режим для kvm и sctp (ipv6).
Линус в целом не отказывается принять патч, но не станет это делать в рамках цикла разработки 4.15, так как у него есть сомнения, что предложенные патчи хорошо протестированы и учтены все нюансы их влияние на работу существующих приложений. Предложенное изменение затрагивает некоторые ключевые подсистемы ядра, а у него сейчас нет времени анализировать появление возможных регрессивных изменений. Также указывается, что неправильно пытаться переложить решение возможных несовместимостей на пользователей и уже по факту отлавливать всплывающие в приложениях проблемы.
Линус в очередной раз попытался довести до разработчиков, что сохранение совместимости является ключевым условием разработки ядра Linux и ограничительные меры требуют большого внимания и предварительной подготовки. Линус считает недопустимыми методы усиления безопасности, связанные с введением на ходу новых правил, нарушение которых приводит к блокировке выполнения ранее работающих приложений. Более четверти века ядро обходилось без подобных правил и нельзя внезапно пытаться что-то запретить и обрушить на пользователей изменения, после которых отдельные приложения перестанут работать.
Если такие изменения необходимы, то они должны внедряться постепенно с предварительным информированием пользователей до включения и проведением подготовительной работы по выявлению возможных проблем и адаптации изменения для обхода этих проблем. Линус не отделяет уязвимости от других видов ошибок, и считает (https://www.opennet.ru/opennews/art.shtml?num=34738), что ради их устранения недопустимо вносить изменения, которые могут нарушить (https://ssl.opennet.ru/opennews/art.shtml?num=41528) корректную работу пользовательских приложений.
Предложения сразу ввести блокировку приложений или останавливать работу системы при выявлении опасного поведения отмечаются как в корне неверные - по мнению Линуса, перед началом блокировки достаточно долгое время ограничительные средства усиления безопасности должны работать в режиме информирования - например, около года только выводить в лог сведения о наличии проблемы, и лишь затем можно применять более радикальные меры.
URL: https://www.theregister.co.uk/2017/11/20/security_people_are.../
Новость: http://www.opennet.ru/opennews/art.shtml?num=47593