TGViewer
Информ::Доверенная Разработка Информ::Доверенная Разработка @sdl_inform · 1.48K subscribers
Post #206 3.35K
Методическая рекомендация № 2025-09-012 | Рекомендация

Алгоритм представления перечня заимствованных программных компонентов с открытым исходным кодом (далее - SBOM).

Описание: В соответствии с требованиями информационного письма № 240/24/4436 от 26.09.2024 изготовители средств защиты информации (далее - СЗИ), испытательные лаборатории и органы по сертификации при проведении сертификации СЗИ, включающих в свой состав заимствованные программные компоненты с открытым исходным кодом (далее - заимствованные компоненты), должны проводить сертификационные испытания СЗИ и осуществлять их поддержку безопасности в соответствии с Порядком испытаний и поддержки безопасности СЗИ, в состав которых входят заимствованные компоненты.

На практике значительная часть представленных SBOM возвращается на доработку по причине ошибок, несоответствий или недостатка информации.

Целью данной методической рекомендации является представление алгоритма подготовки SBOM, направленного на минимизацию ошибок.

1. Для проверки SBOM рекомендуется использовать скрипт sbom-checker.py с включенными опциями:
-e ERRORS, --errors ERRORS — максимальное число ошибок для вывода; по умолчанию - 10; для вывода всех ошибок - 0.
--check-vcs — проверка url типа vcs на git/svn/hg/fossil-репозиторий (требуется доступ к Интернет и наличие пакетов git, subversion и mercurial).
--check-source-distribution — проверка url типа source-distribution.

- Ошибки типа ERROR обязательны к исправлению;

- Большинство ошибок типа WARNING являются обязательными к исправлению, но при проверке ссылок могут быть ложные срабатывания. (см. п. 4.1).

2. В соответствии с требованиями к полям объекта, описывающего информацию о продукте (Табл. 3 информационного письма) необходимо:

- проверить, что содержимое поля "name" совпадает с названием продукта, указанным в формуляре;

- проверить, что содержимое поля "version" совпадает с версией продукта, указанной в формуляре.

3. В соответствии с требованиями к полям объекта, описывающего информацию об изготовителе продукта (Табл. 4 информационного письма) необходимо:

- проверить, что содержимое поля "manufacturer": { "name": совпадает с названием организации — изготовителя продукта, указанным в формуляре.

4. В соответствии с требованиями к полям объекта, описывающего источники получения и внешние ссылки заимствованного компонента (Табл. 6 информационного письма) необходимо:

4.1. Проверить содержимое поля url для объектов массива externalReferences, имеющих значение vcs в поле type:
- ссылка ведет на репозиторий;

Команды для проверки корректности ссылки на репозиторий:
git ls-remote <URL> //не должна выводить ошибок или предупреждений в stderr
svn ls <URL>
hg identify <URL>
curl --silent {url} 2>&1 | grep -iPzo

"<footer>\sthis\spage\swas\sgenerated\sin\sabout\s(\d+\.\d+)s\sby\sfossil" — если вывод начинается с <footer>, то ссылка корректна.

При необходимости указать подпапку в репозитории или версию компонента рекомендуется использовать следующий шаблон:
"https://{GITSERVER}/{GROUP}/{PROJECT}/tree/{BRANCH|TAG|HASH}/{FOLDER}"

4.2. Проверить содержимое поля url для объектов массива externalReferences, имеющих значение source-distribution в поле type:

- по указанной ссылке расположен архив (условно можно скачать с помощью curl);

- архив содержит исходный код компонента (пример: для Java часто в url указывают ссылку на архив из Maven-репозитория. Такие архивы обычно имеют расширение .jar. При этом необходимо убедиться, что в архиве действительно присутствуют исходные тексты (.java), а не только скомпилированные .class-файлы.

В случаях, когда программный компонент заимствуется из состава сертифицированного дистрибутива операционной системы, составляющей среду функционирования ОО, то допускается у такого компонента опускать поле externalReferences, указав в поле properties свойство с именем GOST:provided_by и значением, содержащим название СЗИ, из состава которого заимствован данный компонент (или список названий, разделяемых точкой с запятой).

Например:
"name": "GOST:provided_by",
"value": "SomeLinux Certified Edition"
More from @sdl_inform
  1. Sep 28, 2026Опубликована первая версия карты инструментов РБПО, согласованной с ФСТЭК России.
  2. Sep 25, 2026В Орг. вопросах опубликована ссылка на спецпроект в журнале Information Security, посвящен…
  3. Sep 18, 2026Коллеги, добрый день! Это сообщение - официальный старт кампании по подготовке к главному…
  4. Jul 30, 2026Информационное сообщение о применении методики опубликовано на сайте ФСТЭК
  5. Jun 5, 2026Коллеги, доброго утра! На сайте ФСТЭК России опубликовано информационное сообщение о новой…
  6. Apr 22, 2026Приказ ФСТЭК о внесении изменений в Положение о системе сертификации http://publication.pr…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →