Российские разработки Open Source будут развиваться как глобальные проекты

Российские разработки Open Source будут развиваться как глобальные проекты

В России выбран курс на импортозамещение. В области программных разработок он подразумевает переход на программное обеспечение с открытым исходным кодом (Open Source). Расскажем о том, как будет развиваться защищённый, надёжный софт базового уровня в условиях санкций против России.

 

 

 

 

 

  1. Введение
  2. Open Source: российский или глобальный софт?
  3. Технологический центр исследования безопасности ядра Linux
  4. Партнёры для разработки ядра Linux
  5. Методика анализа безопасности кода ядра Linux
  6. Унифицированная среда разработки безопасного ПО
  7. Разработка свободного софта требует ответственности
  8. Выводы

Введение

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

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

Open Source: российский или глобальный софт?

Объявленный в России курс на импортозамещение быстро приобрёл «бизнес-ориентированные» черты. Взамен импортозамещения как курса на развитие компетенций внутри страны и перехода на ПО, которому можно доверять в любых условиях, термин был быстро трансформирован в «более понятный»: переход на российский софт.

В результате у части общества возникло суждение, что Россия была вынуждена взять курс на самоизоляцию. Прежний смысл был подменён обязательной локализацией всех программных разработок внутри России с опорой только на внутренние ресурсы. Мировое сообщество было объявлено недостойным доверия, переход же России к локализации (а по сути, самоизоляции от мирового сообщества), как следствие, — безальтернативным вариантом.

Как показали дебаты на конференции разработчиков свободно распространяемого софта OS Day, прошедшей 23-24 июня в Москве, такого категоричного мнения придерживаются далеко не все российские программисты. Точнее, это мнение скорее продвигается теми российскими компаниями, которые стремятся захватить долю в образовавшемся вакууме, тогда как государство в лице научного сообщества (ИСП РАН) и регулятора (ФСТЭК России) придерживается более открытой, прагматичной позиции, близкой к оригинальному смыслу «импортозамещения».

Как отметил в своём выступлении Виктор Шевцов (ФСТЭК России), регулятор поддерживает не «русификацию» ПО, а отказ от модели выстраивания эшелонированной защиты и переход на более прагматичную модель доверенной разработки надёжного ПО, возможность пользоваться которым не зависела бы от конъюнктурных решений отдельных участников рынка.

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

Технологический центр исследования безопасности ядра Linux

ИСП РАН проводит в настоящее время три самостоятельных проекта по развитию экосистемы безопасных программных разработок в России, которые были инициированы ФСТЭК России.

Первым из них стал проект создания Технологического центра исследования безопасности ядра Linux и Центра по доверенному системному ПО в России. Об этом рассказал Алексей Хорошилов, ведущий научный сотрудник ИСП РАН.

В течение 2021 года была проведена разработка требований и технической документации нового Центра. В июне 2022 года открылся его веб-портал. В течение 2022 года будет проводиться опытная эксплуатация инфраструктуры Центра, а в следующем 2023 году начнётся его промышленная эксплуатация.

На Технологический центр возлагается задача объединить усилия всех отечественных разработчиков, создающих важное ПО на основе ядра Linux. Центром уже подготовлена базовая редакция методик и рекомендаций по реализации мер безопасной разработки для этого ядра. В качестве базовой выбрана версия 5.10 от 16 июня 2022 года. Она является последней среди прошедших полный набор проверочных мероприятий на текущий момент.

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

 

Рисунок 1. План перехода российских сертифицированных средств безопасности на ядро 5.10, поддерживаемое Центром компетенции Linux

 

Технологический центр берёт на себя обязательство отслеживать все изменения, которые происходят в выбранной ветке ядра Linux, проверять создаваемые патчи, устраняющие выявленные уязвимости и ошибки. Он также будет заниматься наполнением БДУ ФСТЭК России сведениями об открытых уязвимостях ядра Linux.

Уже создана экспертная группа, состоящая из представителей 13 компаний. Это сообщество будет расширяться, отметил Алексей Хорошилов.

 

Рисунок 2. Партнёры Технологического центра компетенций Linux

Партнёры Технологического центра компетенций Linux

 

Партнёры для разработки ядра Linux

Помимо программной части, как отметил Алексей Хорошилов, уже проведена работа по началу формирования партнёрской сети. В будущем, когда встанет вопрос о начале внедрения новой методологии доверенной разработки ПО, потребуется также привлечение компаний — вендоров аппаратных средств.

В настоящее время идёт формирование оценки в отношении того, какие компоненты наиболее востребованны среди разработчиков.

Со слов руководителя Технологического центра, в настоящее время практически все компании, создающие софт для практического применения, используют компоненты Open Source даже в своих проприетарных решениях. Если эти компоненты попадают на плоскость возможных атак, то, согласно новой методике, необходимо проводить исследования безопасности применения этих компонентов с учётом максимального уровня возлагаемых на них требований. Этот анализ должен быть направлен на выявление недекларируемых возможностей. Ответственность за безопасность компонентов остаётся на самих вендорах, но им потребуется иметь (или привлекать) специалистов, которые смогут проводить необходимые процедуры тестирования.

Алексей Хорошилов призвал объединить в рамках сообщества все усилия компаний, которые согласились стать партнёрами этого проекта, и разделить ответственность между специалистами многих организаций. Это позволит оптимизировать затраты и добиться роста качества результата.

В настоящее время такие работы уже ведутся в рамках разработки доверенной поддержки Node.js (программной платформы, превращающей JavaScript в язык общего назначения), .NET (программной платформы Microsoft на базе общеязыковой среды исполнения Common Language Runtime), Lua (скриптового языка программирования, близкого к JavaScript и реализующего прототипную модель ООП, но с Pascal-подобным синтаксисом и мощными конструкциями), а также для ряда других программных платформ.

 

Рисунок 3. Направления текущих исследований Технологического центра компетенций Linux

Направления текущих исследований Технологического центра компетенций Linux

 

Методика анализа безопасности кода ядра Linux

В перечень работ Технологического центра внесены задачи по повышению уровня безопасности отечественных систем, которые создаются (будут создаваться) на основе ядра Linux. Эта методика предусматривает систематическое применение лучших практик разработки безопасного ПО. Через неё планируется «прогонять» все последующие обновления этой ветки ядра Linux.

Практики охватывают:

  • Проведение статического анализа исходного кода ядра при помощи SVACE. Это — инструмент жизненного цикла разработки безопасного ПО, созданный компанией Samsung. Он обнаруживает более 50 классов критических ошибок в исходном коде, поддерживает языки C, C++, C#, Java, Kotlin и Go, включён в Единый реестр российского ПО (№ 4047) и уже доказал свою эффективность. Со слов Алексея Хорошилова, пользуясь SVACE, им уже не раз удавалось «хватать за руку» в последний момент тех разработчиков, которые по ошибке вносили потенциальные изъяны в код ядра. Этот инструмент уже выдал более 3,7 тыс. предупреждений, которые помогли при разработке кода.
  • Системное и модульное тестирование.
  • Фаззинг-тестирование при помощи инструмента syzkaller, который обеспечивает передачу на вход тестируемого приложения неправильных, неожиданных или случайных данных. Такой поток информации формируется автоматически или полуавтоматически.
  • Архитектурный анализ с целью определения площади атаки.
  • Ручной динамический анализ на уровне всей системы помеченных (конфиденциальных) данных.

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

ИСП РАН не намерена делать разработку безопасного ядра Linux закрытой. Со слов Алексея Хорошилова, разработка ведётся открыто совершенно сознательно. «Только при возможности протестировать проект на необозримом наборе конфигураций, если это попадает в основную ветку, можно добиться качественного результата».

Унифицированная среда разработки безопасного ПО

Проект по созданию унифицированной среды разработки безопасного ПО также был инициирован ФСТЭК России. Его старт состоялся в этом (2022) году.

Речь идёт о создании инструментария, которым смогут пользоваться отечественные программисты. Это позволит им проводить полный цикл безопасной разработки.

В рамках этого проекта будут создаваться методики и лучшие практики применения инструментов. ИСП РАН планирует не только обеспечить поддержку основных на сегодняшний день платформ (x86, ARM), но также охватить отечественные разработки («Байкал», «Эльбрус», RISC-V).

 

Рисунок 4. Унифицированная среда разработки безопасного ПО

Унифицированная среда разработки безопасного ПО

 

Разработка свободного софта требует ответственности

Сказать, что новая парадигма разработки отечественного программного обеспечения — это понятный мейнстрим, по которому можно «быстро проехаться к намеченной цели», нельзя. Как отметил во время круглого стола на OS Day Валерий Егоров из «Криптософта», «мир изменился, и по факту у сообщества Open Source сейчас нет уверенности в завтрашнем дне. Государство сейчас предпринимает попытки обеспечить эту уверенность. Но необходимо меняться в изменившемся мире! Нужно максимально концентрировать все усилия всех участников рынка. Другого варианта развития сообщества Open Source в России нет». 

Валерий Егоров отметил, что безопасность возникает при наличии доверия. Это стало совершенно ясным после событий, которые произошли за последние три месяца. В настоящее время необходимо обеспечить максимальное доверие к Open Source.

Чтобы доверие могло возникнуть, необходимо, чтобы «в стране был тот, кто отвечает за созданный код. Либо если код был создан вне страны, то должен быть тот, кто максимально проверит его и будет готов взять ответственность на себя».

Выводы

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

В новой ситуации качественно изменилась и позиция регулятора. Осознавая драматизм положения, которое сложилось вокруг программной поддержки объектов КИИ, ФСТЭК России либерализовала свой подход и ищет пути помочь российским разработчикам перейти на доверенную модель работы с программным обеспечением, используя в качестве основы свободно распространяемые разработки Open Source.

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

Полезные ссылки: 
Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

RSS: Новые статьи на Anti-Malware.ru