Войти в почту

Ядро безопасности Linux

Ядро безопасности Linux

ФСТЭК России и Институт системного программирования (ИСП РАН) еще весной заключили договор о формировании Технологического центра исследования безопасности ядра Linux. Сумма в соответствии с тендерной документацией, которая на это была выделена составляет 300 млн руб. Правда, на конференции OS Day, где о ТЦИБЯ Linux было рассказано очень подробно, замруководителя ФСТЭК Виталий Лютиков отметил, что окончательно организационная форма этого новообразования еще не утверждена. Однако уже есть его руководитель — Алексей Хорошилов, а в сентябре этого года уже был проведен первый тендер на закупку серверного обеспечения.

Для чего нужен ТЦИБЯ?

Собственно, основной целью работы Технического центра будет проверка исходных кодов, сборки и динамического поведения основной ветки ядра Linux. В качестве тестовых инструментов для проверки безопасности ядра по словам Алексея Хорошилова будут использованы следующие продукты:

— Статический анализ исходных кодов: Svace, LDV, COCCINELLE, Smatch и другие;

— Динамическое тестирование: syzkaller, LOCKDEP, DEBUG_ATOMIC_SLEEP и другие;

— Санитайзеры кодов: KASAN, KCSAN и другие;

— Системное и модульное тестирование: LAVA и другие;

— Тестирование конфигураций: файловой системы (xfstests), сетевого взаимодействия и других компонент.

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

Целью всей предполагаемой работы будет обнаружение ошибок в ядре, которые можно использовать для нападения. Причем предполагается, что обнаруженные ошибки будут передаваться разработчикам основной версии ядра. Им также будут предлагаться и исправления, которые, возможно, будут включены в основную ветку ядра Linux. Собственно, для каждой следующей версии ядра исправления пишут порядка 1,6 тыс. программистов-коммитеров, каждое из которых отбирается и вставляется в ядро самим Линусом Торвальдсом. На текущий момент в этом процессе участвует не больше десятка программистов из России, и одной из целей функционирования ТЦИБЯ как раз и является увеличение числа российских коммитеров ядра Linux.

Свое ядро

Хотя основной задачей ТЦИБЯ является модернизация основного ядра Linux, однако вряд ли это удастся сделать сразу. В частности, коды для работы с отечественными процессорами, скорее всего, не получиться сразу встроить в основную ветку Linux — это интересно в основном только российским пользователям. Поэтому, вполне возможно, что на первом этапе ТЦИБЯ Linux придется создавать собственный репозитарий кода, по аналогии с GitHub, который будет совмещен с процедурами проверки кода на безопасность. Этот репозитарий предполагается сделать базовым для разработчиков отечественных операционных систем. Причем если операционная система будет построена на проверенной в ТЦИБЯ версии ядра, то уровень доверия к ней может быть выше и ее можно будет проще сертифицировать.

Версия, с которой предварительно планируется начать поддержку собственной ветки – Linux-stable-5.10. Именно с ней будут проводиться все описанные выше процедуры по анализу безопасности кода. Впрочем, ранее ИСП РАН уже участвовал в верификации кода ядра — именно этим и отличался дистрибутив AstraLinux — его модель безопасности была верифицирована в этом институте. Однако у «РусБИТеха», разработчика AstraLinux, не было собственного репозитория ядра, и он базировался на достаточно старой версии ядра. Для дальнейшего развития этого дистрибутива требовалась повторная верификация ядра уже новой версии, однако делать это для одной компании — процесс неправильный, поэтому и было принято решение создать ТЦИБЯ, чтобы результатами деятельности могли пользоваться все российские, а со временем и вообще все пользователи Linux. Собственно, «РусБИТех» был одним из конкурентов на конкурсе ФСТЭК по созданию ТЦИБЯ.

Следует отметить, что инициативу создания ТЦИБЯ Linux оценили даже в компании RedHat, которая практически на следующий день после OS Day проводила презентацию своих продуктов. «Мы позитивно относимся к безопасности, — пояснили в RedHat. — И если ядро Linux станет безопаснее, то это будет хорошо для всех». Так что, возможно, деятельность ТЦИБЯ Linux будет оценена в том числе и на мировом уровне.