"Методические рекомендации по обеспечению информационной безопасности при создании и эксплуатации открытых репозиториев программного обеспечения"
Утверждаю
Министр цифрового развития,
связи и массовых коммуникаций
Российской Федерации
М.И.ШАДАЕВ
29.03.2023
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
ПО ОБЕСПЕЧЕНИЮ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ПРИ СОЗДАНИИ
И ЭКСПЛУАТАЦИИ ОТКРЫТЫХ РЕПОЗИТОРИЕВ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
I. Термины и определения
1. Термины и определения, используемые в методических рекомендациях по обеспечению информационной безопасности при создании и эксплуатации открытых репозиториев программного обеспечения (далее - методические рекомендации):
"оператор открытого репозитория программного обеспечения" - юридическое лицо, осуществляющее деятельность по эксплуатации открытого репозитория программного обеспечения и предоставлению услуг пользователям открытого репозитория программного обеспечения, в том числе по обработке и защите информации, содержащейся в его базах данных. Оператор открытого репозитория программного обеспечения может выступать также в роли разработчика инструментов открытого репозитория программного обеспечения;
"открытый репозиторий программного обеспечения" - репозиторий программного обеспечения, доступный для использования неопределенным кругом юридических и (или) физических лиц на определяемых оператором открытого репозитория программного обеспечения основаниях (договор присоединения, публичная оферта и др.). Открытые репозитории программного обеспечения могут относиться к различным областям применения (использования) программных проектов, например, репозиторий образовательного программного обеспечения, репозиторий инженерного программного обеспечения и иные;
"пользователи открытого репозитория программного обеспечения" - организации и физические лица, имеющие легитимный доступ к функционалу открытого репозитория программного обеспечения, осуществляющие те или иные доступные операции с программными проектами, содержащимися в открытом репозиторий программного обеспечения: создание и поддержка программных проектов, дизайн и разработка программного обеспечения, тестирование безопасности программного обеспечения, документирование, загрузка и выгрузка проектов из открытого репозитория программного обеспечения и иные операции;
"программный проект" - это совокупность исходных текстов модулей и программ, написанных на языках программирования, объектный код, исполняемые модули и программы, а также сопутствующие метаданные и документация, осуществляющие свой жизненный цикл как единое целое. Программный проект и (или) его элементы являются объектом авторского права;
"разработчик инструментов открытого репозитория программного обеспечения" - юридическое лицо, выполняющее работы по разработке (включая анализ требований, проектирование, разработку программных компонентов, используемых для реализации функциональности открытого репозитория программного обеспечения), а также по обновлению и технической поддержке компонентов программного обеспечения открытого репозитория программного обеспечения в процессе их жизненного цикла;
"репозиторий программного обеспечения" - информационная система, обеспечивающая хранение и сопровождение программных проектов, включая, но не ограничиваясь, организацию совместной работы над программным кодом, управление его версиями, процедуры проверки программного кода и отслеживания изменений в нем.
II. Общие положения
2. Настоящие методические рекомендации разработаны в соответствии с пунктом 5.2.23 Положения о Министерстве цифрового развития, связи и массовых коммуникаций Российской Федерации, утвержденного постановлением Правительства Российской Федерации от 02.06.2008 N 418.
3. Настоящие методические рекомендации содержат условия обеспечения информационной безопасности при создании и эксплуатации открытых репозиториев программного обеспечения и описывают базовый комплекс организационно-технических мероприятий по обеспечению защиты открытого репозитория программного обеспечения на базе настоящих методических рекомендаций и нормативно-методических документов Российской Федерации по вопросам защиты информации в соответствии с областью применения конкретного открытого репозитория программного обеспечения. Обеспечение информационной безопасности открытого репозитория программного обеспечения осуществляется в том числе совокупностью интегрированных и наложенных средств защиты информации, обеспечиваемых оператором открытого репозитория программного обеспечения.
4. Реализация мероприятий по созданию, развитию, вводу в эксплуатацию, эксплуатации и выводу из эксплуатации открытого репозитория программного обеспечения осуществляется в соответствии с действующим законодательством о защите информации.
5. Размещение и эксплуатацию открытого репозитория программного обеспечения рекомендуется осуществлять на территории и в юрисдикции Российской Федерации силами российских юридических лиц.
6. Оператору открытого репозитория программного обеспечения рекомендуется предусмотреть наличие сервисов, обеспечивающих безопасность открытого репозитория программного обеспечения и программных проектов, размещаемых в открытом репозитории программного обеспечения. При этом решение о включении в состав открытого репозитория программного обеспечения того или иного рекомендуемого сервиса принимает оператор открытого репозитория программного обеспечения, руководствуясь индивидуальными особенностями собственных процессов разработки, тестирования и поставки программных продуктов.
7. Оператору открытого репозитория программного обеспечения рекомендуется разработать базовый документ, определяющий подход к управлению информационной безопасностью репозитория, устанавливающий принципы обеспечения информационной безопасности для всех пользователей открытого репозитория программного обеспечения. В случае, если открытый репозиторий программного обеспечения будет иметь статус государственной информационной системы или объекта критической инфраструктуры, то при разработке указанного документа оператор открытого репозитория программного обеспечения руководствуется требованиями нормативных правовых актов Российской Федерации, регламентирующих защиту информации в государственных информационных системах или объектах критической инфраструктуры, а также настоящими методическими рекомендациями.
8. Оператору открытого репозитория программного обеспечения рекомендуется разработать правила и регламент работы с открытым репозиторием программного обеспечения для пользователей открытого репозитория программного обеспечения. Оператор открытого репозитория программного обеспечения не несет ответственности за состав и безопасность использования программных проектов, размещенных пользователями открытого репозитория программного обеспечения.
III. Меры по обеспечению информационной
безопасности инфраструктуры открытого репозитория
программного обеспечения
9. Оператору открытого репозитория программного обеспечения в составе его информационной инфраструктуры рекомендуется предусмотреть средства защиты информации, исключающие несанкционированный доступ к информационной инфраструктуре открытого репозитория программного обеспечения, к инструментам его управления и администрирования, а также к программным проектам, размещенным в открытом репозитории программного обеспечения.
10. При создании и эксплуатации открытого репозитория программного обеспечения рекомендуется использовать средства защиты информации (соответствующие применимым к ним требованиям), исключающие несанкционированное (неавторизованное) оператором открытого репозитория программного обеспечения изменение его программного кода и конфигурации компонентов, а также размещение в открытом репозитории программного обеспечения противоправного контента, запрещенного к размещению на публичных ресурсах в российском сегменте сети Интернет.
11. В информационной инфраструктуре открытого репозитория программного обеспечения оператору открытого репозитория программного обеспечения рекомендуется реализовать:
11.1 идентификацию и аутентификацию пользователей открытого репозитория программного обеспечения;
11.2 управление доступом пользователей открытого репозитория программного обеспечения к информационным ресурсам открытого репозитория программного обеспечения и программным проектам, включая разграничение доступа по ролевому принципу (с предоставлением соответствующих прав);
11.3. размещение программных проектов в открытом репозитории программного обеспечения в выделенных сегментах открытого репозитория программного обеспечения (отдельно друг от друга);
11.4. сетевую защиту инфраструктуры открытого репозитория программного обеспечения (включая межсетевое экранирование, обнаружение и защиту от вторжений, защиту от атак типа "отказ в обслуживании");
11.5. применение средств антивирусной защиты для проверки загруженных в открытый репозиторий программного обеспечения программных проектов;
11.6. периодическое резервное копирование конфигурации открытого репозитория программного обеспечения и контента программных проектов на резервные носители информации;
11.7. периодический контроль уязвимостей информационной инфраструктуры открытого репозитория программного обеспечения;
11.8. реализация рекомендаций, указанных в подпунктах 11.1 - 11.7, осуществляется с преимущественным применением отечественных программных и (или) аппаратных решений либо с применением их иностранных аналогов, в случае отсутствия отечественных решений.
12. Оператору открытого репозитория программного обеспечения и пользователям открытого репозитория программного обеспечения рекомендуется информировать ФСТЭК России и (или) ФСБ России, и (или) Банк России об уязвимостях, выявленных в загруженных в открытый репозиторий программного обеспечения программных проектах (в соответствии с применимыми регламентами).
13. Тестирование инфраструктуры открытого репозитория программного обеспечения на уязвимости оператору открытого репозитория программного обеспечения рекомендуется осуществлять на регулярной основе при каждом изменении инфраструктуры открытого репозитория программного обеспечения, но не реже 1 (одного) раза в месяц. Проведение мероприятий по тестированию на проникновение оператору открытого репозитория программного обеспечения рекомендуется осуществлять не реже 1 (одного) раза в год.
14. Оператору открытого репозитория программного обеспечения рекомендуется реализовать проведение программы по выявлению уязвимостей инфраструктуры открытого репозитория программного обеспечения с возможностью привлечения независимых экспертов и исследователей программного обеспечения за вознаграждение (багбаунти). Порядок участия экспертов и исследователей программного обеспечения определяется правилами использования сервиса, выбранного оператором открытого репозитория программного обеспечения.
15. В случае необходимости взаимодействия открытого репозитория программного обеспечения с иными репозиториями оператору открытого репозитория программного обеспечения рекомендуется согласовывать регламент взаимодействия открытого репозитория программного обеспечения с такими репозиториями, а также правила обеспечения информационной безопасности при взаимодействии и обмене с такими репозиториями программными проектами (в том числе в автоматическом режиме).
16. Оператору открытого репозитория программного обеспечения при организации взаимодействия открытого репозитория программного обеспечения с иными репозиториями программного обеспечения (зеркалирования или автоматизированной загрузки программных проектов из сторонних репозиториев программного обеспечения, в том числе из расположенных на территории и находящихся в юрисдикции иностранных государств) рекомендуется указывать, что программный проект, созданный в открытом репозитории программного обеспечения в результате такого взаимодействия, является "непроверенным зеркалом внешнего репозитория" до момента проведения в отношении упомянутого программного проекта антивирусных проверок, а также проверок с использованием сервисов, доступных в открытом репозитории программного обеспечения (указаны в разделе IV настоящих методических рекомендаций).
Данная рекомендация применима в случаях, если инициатором создания "непроверенного зеркала внешнего репозитория" является:
оператор открытого репозитория программного обеспечения;
пользователь открытого репозитория программного обеспечения, использующий для этого инструменты или сервисы, доступные в открытом репозитории программного обеспечения.
17. Оператору открытого репозитория программного обеспечения для пользователей открытого репозитория программного обеспечения рекомендуется обеспечить возможность использования следующих сервисов: средства разработки и сборки программного обеспечения, средства тестирования программного обеспечения на уязвимости.
18. Оператору открытого репозитория программного обеспечения рекомендуется разработать и довести до всех пользователей открытого репозитория программного обеспечения регламент, определяющий порядок вывода открытого репозитория программного обеспечения из эксплуатации, содержащий:
18.1. основания для вывода открытого репозитория программного обеспечения из эксплуатации;
18.2. перечень и сроки реализации мероприятий по выводу открытого репозитория программного обеспечения из эксплуатации;
18.3. сроки, режим хранения и дальнейшего использования программных проектов, размещенных в открытом репозитории программного обеспечения, включая порядок обеспечения доступа к программным проектам, размещенных в выводимом из эксплуатации открытом репозитории программного обеспечения, и обеспечения защиты программных проектов, размещенных в выводимом из эксплуатации открытом репозитории программного обеспечения;
18.4. сроки и способы информирования пользователей о выводе открытого репозитория программного обеспечения из эксплуатации.
IV. Меры по обеспечению информационной безопасности
программного обеспечения, размещаемого в открытом
репозитории программного обеспечения
19. Оператору открытого репозитория программного обеспечения рекомендуется реализовать в составе инфраструктуры открытого репозитория программного обеспечения следующие сервисы, доступные для пользователей открытого репозитория программного обеспечения, при этом условия и регламент предоставления сервисов, в том числе на коммерческой (платной) основе, определяются оператором открытого репозитория программного обеспечения:
19.1. сервис тестирования программного обеспечения на уязвимости. Данный сервис содержит инструменты автоматического, статического и динамического тестирования программного обеспечения. Также в состав указанного сервиса рекомендуется включить средства автоматизированной оценки защищенности от наиболее опасных и распространенных типов атак и уязвимостей, средства по контролю и безопасному хранению секретов (используемых в программных проектах ключей доступа к различным ресурсам, требующих повышенных мер безопасности). Указанный сервис обеспечивает формирование электронных отчетов о программных дефектах и потенциальных уязвимостях в программном обеспечении. Оператору открытого репозитория программного обеспечения рекомендуется постоянно расширять набор таких инструментов в составе открытого репозитория программного обеспечения, обеспечивая возможность эффективного улучшения качества программного обеспечения пользователями открытого репозитория программного обеспечения;
19.2. сервис по выявлению уязвимостей программных проектов, размещенных в открытом репозитории программного обеспечения, с возможностью привлечения независимых экспертов и исследователей программного обеспечения за вознаграждение (багбаунти). Порядок участия экспертов и исследователей программного обеспечения определяется правилами использования сервиса, выбранного оператором открытого репозитория программного обеспечения;
19.3. сервис безопасной разработки программного обеспечения, предполагающий обеспечение разработчиков отечественными компиляторами, средами разработки под отечественные процессоры, эмуляторами отечественной электронной компонентной базы. Данная рекомендация применяется в случае наличия указанных инструментов в Едином реестре российских программ для электронных вычислительных машин и баз данных и в случае отсутствия каких-либо ограничений на использование указанных инструментов в открытом репозитории программного обеспечения;
19.4. сервис публикации отчетов о безопасности программного обеспечения, размещенного в открытом репозитории программного обеспечения. Данный сервис должен предоставлять пользователям открытого репозитория программного обеспечения данные, содержащие сведения о результатах проверок безопасности размещаемого в открытом репозитории программного обеспечения, в которых указываются объем, время (периодичность) и результаты проведенного анализа.
20. Сервисы, указанные в пунктах 19.1 - 19.4 настоящих методических рекомендаций, могут предоставляться как разработчиком инструментов открытого репозитория программного обеспечения, так и внешними по отношению к открытому репозиторию программного обеспечения юридическими лицами.