В мире кибербезопасности отчеты о выявленных уязвимостях и эксплойтах (CVE) могут показаться устрашающими. Особенно если речь идет о Linux, где такие отчеты появляются регулярно. Но на самом деле, для разработчиков ядра Linux это просто часть повседневной работы.
Контроль над процессом и роль разработчиков Linux
В 2020 году организация The Linux Foundation взяла под свой контроль процесс назначения CVE для ядра Linux. Этот шаг был сделан для того, чтобы лучше управлять безопасностью системы и совершенствовать процессы. Грег Кроа-Хартман, один из главных разработчиков ядра, отметил:
«Хотя система CVE несовершенна во многих аспектах, этот шаг помогает нам взять на себя больше ответственности и, возможно, со временем улучшить процесс».
Это также позволяет убедиться, что никто посторонний не может назначить уязвимость ядра без согласования с разработчиками Linux.
60 уязвимостей в неделю: повод для беспокойства или часть повседневной работы?
На первый взгляд может показаться, что обнаружение 60 уязвимостей в неделю — это серьёзная угроза. Однако, как утверждает Кроа-Хартман, на практике ситуация не так драматична, как кажется.
«Ядро Linux состоит из 38 миллионов строк кода, но большинство пользователей взаимодействуют лишь с небольшой его частью», — объясняет он.
Например, ваш ноутбук может использовать только полтора миллиона строк этого кода, а смартфон — около четырёх миллионов. Это означает, что в реальности вы сталкиваетесь лишь с малой долей кода, и каждая система использует разные его части. Поэтому важно помнить, что не каждая уязвимость касается вашей конфигурации.
Почему CVE выпускается так много?
Не каждое исправление, связанное с CVE, представляет одинаковую угрозу для всех пользователей. Бен Хоукс, эксперт по безопасности и бывший менеджер проекта Google Project Zero, однажды отметил: «Система CVE плохо справляется с учётом всех нюансов экосистемы ядра Linux. Одна и та же уязвимость может быть критически важной для одного сценария развертывания, средней важности для другого и совершенно незначительной для третьего — всё это одновременно. Исправление уязвимостей — сложная задача».
Именно поэтому поток новых CVE кажется бесконечным. С таким разнообразием систем и сценариев использования любая ошибка может стать потенциальной угрозой безопасности. Линус Торвальдс однажды сказал: «Проблемы безопасности — это всего лишь баги», и это высказывание отлично иллюстрирует подход разработчиков к решению этих проблем.
Как решаются проблемы безопасности в ядре?
Стоит отметить, что команда безопасности ядра Linux работает в основном в реактивном режиме. Они отвечают на сообщения о найденных уязвимостях, анализируют, действительно ли существует угроза, и сотрудничают с разработчиками, чтобы устранить проблему. Их задача — не искать новые уязвимости, а реагировать на уже выявленные.
Когда исправление готово, оно включается в еженедельные стабильные релизы ядра, которые оперативно доставляются пользователям. Дальнейшая задача — протестировать и определить, влияет ли конкретная проблема на вашу систему — ложится на плечи пользователей.
Как защитить свою систему
Чтобы поддерживать систему в безопасности — будь то домашний компьютер или целый дата-центр — нужно следовать простому правилу:
«Если вы не используете последнюю стабильную или долгосрочную версию ядра, ваша система подвержена угрозам».
Проще говоря, нужно регулярно обновлять ядро, хотя для большинства пользователей это может показаться такой же пугающей задачей, как и ежедневное отслеживание новых CVE. Но Кроа-Хартман убеждён, что это вполне возможно. Например, серверы на Debian используют стабильные обновления ядра, что обеспечивает безопасность более 80% серверов в мире. Android-устройства также регулярно получают обновления ядра с небольшой задержкой и продолжают поддерживать высокий уровень безопасности.
Важно понимать, что стабильность — это не отсутствие изменений, особенно когда речь идет о безопасности. Возьмем, к примеру, уязвимости Spectre и Meltdown в процессорах Intel. Стало очевидно, что они уязвими. Если ваша система полностью изолирована и не имеет связи с внешним миром, возможно, обновления и не потребуются. Но если она подключена к сети, обновления становятся обязательными.
Не стоит переживать из-за огромного количества CVE, которые появляются каждую неделю. Большинство из них не повлияет на вашу конкретную конфигурацию. Однако для обеспечения безопасности регулярно проверяйте обновления ядра и не забывайте их устанавливать. Ведь настоящая угроза — это не количество выявленных уязвимостей, а несвоевременные меры по их устранению.