Synopsys black duck by rainbow security

Язык закупок для Кибер безопасности канала поставок
(Procurement Language for Supply Chain Cyber Assurance)

Этот документ служит минимальным набором требований к любому поставщику, предоставляющему подключаемое к сети программное обеспечение, системы или устройства в рамках контрактного предложения _____________. 

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


Общая информация

Эти требования распространяются (но не ограничиваются) на следующее: 

• прикладное программное обеспечение 

• встроенное программное обеспечение 

• микропрограммное обеспечение 

• драйверы 

• промежуточное программное обеспечение 

• операционные системы 

Требования в этом документе получены из различных отраслевых стандартов, методических рекомендаций и других документов, включая, но не ограничиваясь:

• IEC 62443 

• ISO 27001 

• NIST SP 800-53 

• NIST SP 800-82 

• DHS Cyber Security Procurement Language for Control Systems 

• ISA EDSA 

• FIPS 140-2 

• общие критерии Smartcard IC Platform Protection Profile 

• Mayo Clinic Technology and Security Requirements Procurement Language 

• UL 2900 

Требования этого документа применяются к устройствам, программному обеспечению или службам программного обеспечения, которые будут называться “продукт” в этом документе. Продукт может быть подключен к сети (публичной или частной) и может использоваться как часть системы. Эти требования применимы к продуктам, содержащим программное обеспечение, если несанкционированный доступ или эксплуатация продукта, преднамеренная или неправильная, может повлиять на безопасность, конфиденциальность, потерю данных и поставить под угрозу операционные риски.

Терминология

Инструмент тестирования устойчивости (Robustness Test Tool) - специализированное средство тестирования, которое выполняет как тесты истощения ресурсов, так и тесты недопустимых сообщений. 

Тестирование на исчерпание источников информации (Data Resource Exhaustion Test) - тесты, которые пытаются исчерпать определенный ресурс обработки данных продукта. Примером является тест, который пытается создать как можно больше одновременных TCP-соединений. 

Тестирование на недопустимые сообщения (Invalid Messages Tests) - тесты, которые отправляют неверные сообщения данных в продукт. Эти сообщения неправильно структурированы, поскольку они не соответствуют спецификациям протокола либо на основе структуры сообщения, либо на основе соответствия спецификации протокола.

Сканер Известных уязвимостей (Known Vulnerability Scanner) - специализированное средство тестирования, которое выполняет сканирование известных уязвимостей из опубликованной базы данных уязвимостей.

Известная уязвимость (Known Vulnerability) - уязвимость является недокументированной особенностью или недочетом, который позволяет внешнему объекту компрометировать целевое использование и функциональность продукта. Известная уязвимость была публично раскрыта и обычно присутствует в общедоступной базе данных, такой как Национальная база данных уязвимостей NIST.

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

Коммуникационный протокол фаззинга (Communication Protocol Fuzz Testing) – способность передавать достоверные и недостоверные сообщения продукту. Это позволяет тестировать продукт для выявления любых неизвестных уязвимостей, которые могут быть обнаружены при неправильном вводе данных в продукт.

Статический анализ (Static Analysis) – процесс, в котором исходный код программы или ее двоичный код анализируется без выполнения кода.

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

Статический двоичный анализ позволяет исследовать и обрабатывать скомпилированные двоичные файлы для программных компонентов и известных уязвимостей в этих компонентах.

Общие уязвимости и незащищенности (Common Vulnerabilities and Exposures (CVE™)) - общие названия и идентификаторы CVE для общедоступных уязвимостей информационной безопасности.

Перечисления общих дефектов (Common Weakness Enumerations (CWE™)) – CWE - это определенные слабые места программного обеспечения, связанные с архитектурой и структурой программного обеспечения. 

Двоичный код (Binary Code) - определяет машинные команды для определенного семейства процессорной архитектуры 

Байт-код (Byte Code) - инструкции, которые создаются из исходного кода в качестве промежуточного шага перед генерацией машинных команд. Байт-код не зависит от конкретной архитектуры процессора. 

Динамический анализ времени выполнения (Dynamic Runtime Analysis) - это возможность изучения того, как программное обеспечение ведет себя во время его выполнения или в процессе эксплуатации.

Тестирование на проникновение (Penetration Testing) - это механизм оценки продукта, системы, сети или организации для выявления уязвимостей и недостатков безопасности и, возможно, использования недостатков и уязвимостей с целью проникновения в продукт, систему, сеть и/ или безопасность организации. Цель состоит в том, чтобы обойти или ликвидировать меры безопасности продукта. Тестирование на проникновение является в значительной степени неопределенной областью исследования, которая требует специальных навыков у профессионалов тестирования на проникновение. 

Поставщик (Supplier) - организация, поставляющая товар или услугу_____. 

Подпись программы (Code Signing) - процесс цифровой подписи исполняемых файлов и скриптов для подтверждения автора программного обеспечения и гарантии того, что код не был изменен или поврежден с момента его подписания с использованием криптографического хэша.

Требования 

Раздел требований настоящего документа будет разбит на следующие разделы: 

1. Спецификация и Политика Развития Продукта 

2. Программа обеспечения безопасности 

3. Защита системы и контроль доступа 

4. Тестирование и проверка продукта 

5. Размещение и обслуживание

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

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

2. Программа обеспечения безопасности
Поставщик должен представить и гарантировать, что он разработал и продолжает поддерживать комплексную программу безопасности, которая содержит административные, технические и физические гарантии для обеспечения конфиденциальности, целостности и доступности всех _____ систем и данных. Поставщик заверяет и гарантирует, что все проверки и отчеты, подготовленные в рамках его письменной программы безопасности, и все отчеты, необходимые для подготовки или предоставления ___________ могут быть экспортированы и доставлены в электронном виде. Письменная программа безопасности поставщика должна включать, но не может быть ограничена:
a. Выявление и оценка разумно прогнозируемых внутренних и внешних рисков для доступности, безопасности, конфиденциальности и/ или целостности любых и всех продуктов поставщика, систем, серверов, оборудования, программного обеспечения, электронных, бумажных или других записей. Письменная политика безопасности должна включать средства оценки и повышения, при необходимости, эффективности существующих гарантий для ограничения уязвимости и рисков поставляемого продукта(ов), включая, но не ограничиваясь:
i. Постоянное обучение сотрудников (в том числе временных и контрактных);
ii. Соблюдения сотрудниками политики и методик;
iii. Средства для тестирования, выявления и предотвращения сбоев системы безопасности на постоянной основе.

b. Регулярный мониторинг для обеспечения того, чтобы политика безопасности действовала корректно рассчитанным образом для предотвращения несанкционированного доступа или несанкционированного использования ______систем и данных или любых нарушений в отношении конфиденциальности, целостности или доступности _______систем и данных.

c. Рассмотрение сферы применения мер безопасности не реже одного раза в год или при наличии существенных изменений в деловой практике, которые могут разумно затрагивать безопасность или целостность продуктов поставщика, содержащих или которые могут иметь доступ или использоваться для доступа к_______сетям, системам и данным, или поставить под угрозу конфиденциальность, целостность или доступность ______ систем и данных.

d. Документирование ответных действий, предпринятых в связи с любым инцидентом, связанным с нарушением безопасности, и обязательный постинцидентный обзор событий и действий, предпринятых, если таковые имеются, для внесения изменений в деловую практику, связанную с защитой ___.

e. Поставщик может предоставить стороннюю оценку программы безопасности организации в качестве подтверждения используемого процесса.

    3. Защита системы и контроль доступа
Поставщик должен продемонстрировать, что системы _______и данные ____ защищены соответствующими средствами контроля сетевой безопасности, которые предотвращают несанкционированный доступ путем предоставления ___ с сетевыми графиками окружающей среды поставщика, используемыми для предоставления продуктов, оборудования, технического обслуживания и услуг_____.
a. Инфраструктура поставщика - поставщик должен гарантировать наличие механизма реагирования на инциденты для несанкционированного доступа или раскрытия технологии и активов в инфраструктуре поставщика. Поставщик должен иметь утвержденный процесс уровня С для уведомления ______о несанкционированном доступе или раскрытии технологии и активов на инфраструктуре поставщика, которые могут повлиять на бизнес-операции продуктов и услуг, поставляемых____.

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

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

d. Все продукты и услуги поставщика, которые имеют возможность выполнять удаленное обслуживание системы, обновление программного обеспечения, устранение неполадок и диагностику, должны предоставлять техническую документацию по этим возможностям, которая должна иметь как минимум следующее:
i. Надежные механизмы аутентификации для доступа к продуктам и услугам
i.i.Механизм для выполнения любых загрузок удаленного программного обеспечения:
1. Подтвержденный как бескомпромиссный поставщик предмета поставки
2. Подтвержденный как не измененный поставщик предмета поставки
3. Подтверждающий, что выполняется только это действие
4. Подтверждающий, что он не предоставляет доступ к любым другим системам, кроме как с целью обновления программного обеспечения поставщика предмета поставки
iii. Возможность предотвратить внедрение любой нежелательной деятельности несанкционированной поставщиком
e. Поставщик соглашается с тем, что никакой внешний доступ к его внутренним сетям и системам не будет разрешен, если для такого доступа не будет использоваться строгая аутентификация и шифрование. Поставщик заявляет и гарантирует, что все интернет- и сетевые коммуникации будут зашифрованы и аутентифицированы. Любая необходимая внешняя связь в целях обслуживания или технического функционирования, выполняемых поставщиком, будет зашифрована и будет использовать многофакторную аутентификацию для доступа к любым и всем устройствам, оборудованию и/или приложениям. Поставщик должен вести список контроля доступа для всего доступа к внутренней сети из внешней сети, и поставщик соглашается с тем, что любой из его серверов, подвергающихся воздействию интернета, которые содержат данные _____ или системы доступа ______ работают на защищенной операционной системе.

    4. Тестирование и проверка продукта
Поставщик должен выполнить оценку уязвимости для любого или всех продуктов, которые будут предоставлены ________ в рамках договорного соглашения, включая сканирование и тестирование на проникновение тестером по выбору_______ (либо тестер, выбранный поставщиком и одобренный ______) или, по усмотрению ________, персонал _______ может выполнять такую оценку уязвимости, бесплатно для ______. Поставщик заявляет и гарантирует, что он выполняет тестирование и проверку безопасности для всех своих продуктов, и что все операции тестирования безопасности, выполненные поставщиком, охватывают все проблемы, отмеченные в документации “Sans/CWE Top 25” и “OWASP Top 10”, и должны включать сканирование уязвимостей, охватывающие все порты и протоколы. Поставщик должен предоставить ______ план испытаний для всех тестов, выполненных для рассмотрения и утверждения_____. Тестирование должно включать, но не ограничиваться:
a. Тестирование надежности связи (Communication Robustness Testing) – оно должно включать, как минимум, фаззинг тестирование протокола связи для определения способности правильно обрабатывать искаженные и недопустимые сообщения для всех идентифицированных протоколов связи в продукте поставщика, а также тесты на исчерпание информационных ресурсов (“нагрузочное тестирование” и “тестирование DoS”). Проверка надежности связи должна проводиться с использованием средств, которые утверждены ______ и которые обеспечивают получение машиночитаемых данных.
b. Анализ состава программного обеспечения (Software Composition Analysis) – он должен включать, как минимум, анализ всего скомпилированного кода, найденного в продукте поставщика, и должно идентифицировать все сторонние компоненты с открытым исходным кодом, и должно, как минимум, идентифицировать все известные уязвимости, обнаруженные в общих уязвимостях и дефектах (CVE) в общедоступных базах данных. Анализ состава программного обеспечения должен проводиться с использованием инструментов, утвержденных _________, и которые обеспечивают получение машиночитаемых данных.
c. Статический анализ исходного кода (Static Source Code Analysis) – он должен включать, как минимум, анализ всего доступного исходного кода, найденного в продукте поставщика, и должен выявлять слабые места, перечисленные общим перечнем дефектов (Common Weakness Enumeratio) (CWE). Статический анализ исходного кода должен выполняться с использованием инструментов, одобренных _______ и которые обеспечивают получение машиночитаемых данных. Все проблемы CWE Top 25 и OWASP Top 10, которые не были исправлены, должны быть четко задокументированы как исключение.
d. Динамический анализ времени выполнения (Dynamic Runtime Analysis) – он должно включать, как минимум, анализ того, как предоставленное поставщиком программное обеспечение ведет себя во время работы и является ли такое поведение потенциально опасным для появления уязвимостей безопасности, которые могут негативно повлиять на конфиденциальность, целостность и доступность.
e. Анализ известных вредоносных программ (Known Malware Analysis) – он должен включать, как минимум, сканирование предоставленного поставщиком программного обеспечения, чтобы определить, существует ли какое-либо известное вредоносное ПО в предоставленном поставщиком программном обеспечении и оценку риска по уменьшению контроля или величины риска.
f. Спецификация материалов (Bill of Materials) – поставщик должен предоставить ____ спецификацию материалов, которая четко идентифицирует все известные сторонние программные компоненты, содержащиеся в продукте поставщика. Она должна быть представлена в машиночитаемом формате.
g. Проверка мер безопасности (Validation of Security Measures) – все меры безопасности, описанные в конструкторской документации продукта, выполняются надлежащим образом и снижают риски, связанные с использованием компонента или устройства.
h. Тестирование на возможность проникновение третьей стороной (Third-Party Penetration Test) – поставщик обязан предоставить _____ результаты теста на проникновение, выполненного сторонним тестером проникновения. _____ может, по своему усмотрению, рекомендовать тестер проникновения по своему выбору. Испытание на проникновение третьей стороны должно, как минимум, но не ограничиваясь этим, определять следующее:
i.Все порты и интерфейсы, которые продукт включил и отключил для всех конфигураций.
ii. Все услуги, которые являются внешними по отношению к продукту для всех конфигураций продукта. Тестирование определяет эксплуатационные, сервисные, испытательные и нефункциональные услуги изделия.
iii.Меры, принятые для предотвращения DoS-атак на все порты, интерфейсы и службы.
iv.Все порты, интерфейсы и службы документированы и что не существует недокументированного порта, интерфейса или службы.
v. Все порты, интерфейсы и службы, требующие аутентификации, должны соответствовать требованиям раздела аутентификации в обобщающем стандарте для среды поддержки продукта.
vi. Уязвимости в продукте проверяются и предоставляют вредоносные коды для атаки уязвимости.
vii. Программные и аппаратные недостатки, выявленные в продукте, которые находятся в “SANS WE Top 25” и “OWASP Top 10” и/или иным образом негативно влияют на конфиденциальность, доступность и целостность продукта поставщика.

 i. Оценка рисков (Risk Assessment) – поставщик должен предоставить ________ модель угрозы и последующей оценки риска, которая включает, как минимум, но не ограничивается:
i. Критерии риска, используемые для оценки значимости риска, включая уровень, при котором риск становится приемлемым.
ii. Идентификация рисков, включая (но не ограничиваясь) все известные уязвимости, выявленные путем тестирования, и все недостатки программного обеспечения в общедоступных списках “SANS WE Top 25” и “OWASP Top 10”.
iii. Анализ рисков, включая рассмотрение причин и источников рисков и их последствий.
iv. Оценка риска, сравнение уровня риска в процессе анализа с установленными критериями риска с целью определения приемлемости рисков.
v. Дополнительные меры по конторолю рисков должны быть применены для устранения всех известных уязвимостей и недостатков программного обеспечения, которые, как было установлено, представляют неприемлемый уровень риска.

5. Размещение и обслуживание
Поставщик должен предоставить _____ подробные инструкции по установке, размещению и настройке, а также по запросу ___ помощь в установке, размещении и настройке, которую поставщик гарантирует, соответствует ожидаемому контексту безопасности, возникающему в результате выполнения требований данного этого документа. Все поставляемые программные продукты должны быть аутентифицированы посредством подписания кода. Поставщик должен предоставить ________ заявленные жизненным циклом поставленного продукта и предоставит _________ план обслуживания, который охватывает как текущие, так и устаревшие продукты, предоставляемые ______. Поставщик должен предоставить, как минимум, но не ограничиваться следующим:
     a. Текущая оценка уязвимости (Ongoing Vulnerability Assessment) – поставщик должен периодически применять все ранее перечисленные тесты оценки уязвимости к поставляемым продуктам с частотой не менее одного раза в год и сообщать о любых вновь обнаруженных уязвимостях ____ в течение 15 дней с момента обнаружения.
     b. Управление внесением и размещение исправлений (Patch Management and Deployment) – поставщик должен разрабатывать все продукты с возможностью применения патчей, когда это необходимо, и должен предоставить____ план управления исправлениями. Поставщик должен предоставить_____ протестированные, проверенные и подтвержденные патчи своевременно, не превышая 90 дней для любых уязвимостей, обнаруженных в “SANS WE Top 25” и "OWASP Top 10", или любых уязвимостей, считающихся критическими ____. Все исправления и предоставленные обновления должны быть аутентифицированы с помощью подписи кода.
     c. Обновления спецификации материалов (Updates to Bill of Materials) –-поставщик должен предоставить ______ обновленную спецификацию материалов в соответствии с ранее заявленным требованием для любых изменений, возникающих в результате обновления продукта, патчей и т.п.
     d. Конец срока использования (End of Life) – Поставщик должен предоставить _______ план ликвидации для всего программного обеспечения, которое достигло заявленного поставщиком конца срока использования. Этот план должен включать, как минимум, но не может быть ограничен:
i. Инструкция по удалению ПО
ii. Удаление конфиденциальной информации (например, данных и ключей)
iii. План перехода на обновленную версию продукта поставщика
iv. Поставщик гарантирует, что ожидаемый контекст безопасности остается неизменным

О «Synopsys»

Компания «Синопсис» (Nasdaq: SNPS) является партнером Silicon to Software для инновационных компаний, разрабатывающих электронные продукты и программные приложения, на которые мы полагаемся изо дня в день. Являясь 15-й по величине в мире компанией по разработке программного обеспечения, Synopsys имеет долгую историю мирового лидера в области автоматизации проектирования электронных приборов и устройств (EDA) и полупроводникового IP, а также наращивает свое лидерство в области качества программного обеспечения и решений для обеспечения безопасности. Независимо от того, являетесь ли вы разработчиком системы на кристалле (SoC), создающим передовые полупроводники, или разработчиком программного обеспечения, пишущим приложения, требующие самого высокого качества и безопасности, Synopsys имеет решения, необходимые для доставки инновационных, высококачественных и безопасных продуктов. Штаб-квартира компании находится в Маунтин-Вью, Калифорния, и имеет около 113 офисов, расположенных по всей Северной Америке, Южной Америке, Европе, Японии, Азии и Индии.