Из ГОСТ Р 56939-2016 Защита информации. Разработка безопасного программного обеспечения. Общие требования

5.4.3.1 ГОСТ Р 56939-2016

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

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

Для подтверждения соответствия требованиям настоящего стандарта документация разработчика ПО должна содержать:

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

Примечание - Выполняемые тесты должны учитывать состав требований к разрабатываемому ПО и обеспечивать наиболее полную проверку этих требований. Описание плана тестирования и выполняемых тестов можно выполнять непосредственно после формулирования требований к ПО, не дожидаясь окончания разработки. Для эффективного тестирования рекомендуется разделять между специалистами обязанности по созданию программы и ее функциональному тестированию. При наличии в программе функциональных возможностей, обеспечивающих реализацию мер защиты информации, документацию разработчика ПО следует разрабатывать в соответствии с требованиями семейств ATE_COV «Покрытие». ATE_DPT «Глубина».ATE_FUN «Функциональное тестирование» по ГОСТ Р ИСО/МЭК 1S408-3 [из 5.4.3.1 ГОСТ Р 56939-2016]

    5.4.3.2 ГОСТ Р 56939-2016

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

    По результатам тестирования на проникновение могут проводить доработку программы.

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

    Для подтверждения соответствия требованиям настоящего стандарта документация разработчика ПО должна содержать:

    • план тестирования, описание выполняемых тестов и инструментальных средств, используемых для тестирования на проникновение;
    • фактические результаты тестирования на проникновение;
    • отчеты, содержащие список выявленных уязвимостей программы (при выявлении), описание действий, направленных на их устранение, или обоснование невозможности или отсутствия необходимости в устранении уязвимостей программы.

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

    Примечание - Тестирование на проникновение предполагает выявление уязвимостей программы путем моделирования (имитации) действий потенциального нарушителя. Тестирование на проникновение выполняют разработчик ПО или сторонние организации, обладающие компетенцией в области проведения такого рода испытаний, для актуальной версии программы. Выполнение тестирования на проникновение непосредственно разработчиками ипи специалистами по функциональному тестированию программы нежелательно [из 5.4.3.2 ГОСТ Р 56939-2016]

      5.4.3.3 ГОСТ Р 56939-2016

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

      • проекта архитектуры программы, в том числе информации о заимствованных у сторонних разработчиков ПО компонентах;
      • результатов моделирования угроз безопасности информации (перечень выявленных потенциальных угроз безопасности информации);
      • результатов статического анализа исходного кода программы (перечень выявленных потенциально уязвимых конструкций в исходном коде программы);
      • результатов экспертизы исходного кода программы (перечень выявленных потенциально уязвимых конструкций в исходном коде программы).

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

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

      Для подтверждения соответствия требованиям настоящего стандарта документация разработчика ПО должна содержать:

      • сведения о периодичности проведения динамического анализа кода программы;
      • план тестирования, описание выполняемых тестов и инструментальных средств, используемых для динамического анализа кода программы;
      • отчеты, содержащие список выявленных уязвимостей программы (при выявлении), описание действий, направленных на их устранение, либо обоснование невозможности или отсутствия необходимости в устранении выявленной уязвимости программы.

      Разработчику ПО следует обеспечить конфиденциальность информации, связанной с выявленными в ходе динамического анализа кода программы уязвимостями программы [из 5.4.3.3 ГОСТ Р 56939-2016]

        5.4.3.4 ГОСТ Р 56939-2016

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

        • проекта архитектуры программы, в том числе информации о заимствованных у сторонних разработчиков ПО компонентах;
        • результатов моделирования угроз безопасности информации (перечень выявленных потенциальных угроз безопасности информации);
        • результатов статического анализа исходного кода программы (перечень выявленных потенциально уязвимых конструкций в исходном коде программы);
        • результатов экспертизы исходного кода программы (перечень выявленных потенциально уязвимых конструкций в исходном коде программы).

        По резупьтатам фаззинг-тестирования программы могут проводить доработку программы.

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

        Для подтверждения соответствия требованиям настоящего стандарта документация разработчика ПО должна содержать;

        • сведения о периодичности проведения фаззинг-тестирования программы;
        • план тестирования, описание выпопняемых тестов и инструментальных средств, используемых для фаззинг-тестирования программы;
        • отчеты, содержащие список выявленных уязвимостей программы (при выявлении), описание действий, направленных на их устранение, пибо обоснование невозможности или отсутствия необходимости в устранении выявленной уязвимости программы.

        Разработчику ПО следует обеспечить конфиденциальность информации, связанной с выявленными в ходе фаззинг-тестирования программы уязвимостями программы [из 5.4.3.4 ГОСТ Р 56939-2016]

          5.5.1 Меры по разработке безопасного программного обеспечения, подлежащие реализации ГОСТ Р 56939-2016

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

          [из 5.5.1 Меры по разработке безопасного программного обеспечения, подлежащие реализации ГОСТ Р 56939-2016]

            5.5.2 Цели и результаты реализации мер по разработке безопасного программного обеспечения ГОСТ Р 56939-2016

            Реализация мер способствует достижению следующих целей:

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

            В результате успешной реализации мер:

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

            [из 5.5.2 Цели и результаты реализации мер по разработке безопасного программного обеспечения ГОСТ Р 56939-2016]

              5.5.3.1 ГОСТ Р 56939-2016

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

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

              Примечание - Для реализации данной меры могут быть использованы, например, средства контрольного суммирования поставляемого дистрибутива программы, пломбирование упаковки с поставляемым дистрибутивом программы и документацией наклейкой, разрываемой при первом вскрытии упаковки. Описание процедуры передачи ПО пользователю следует разрабатывать в соответствии с требованиями семейства ALC DEL «Поставка» по ГОСТ Р ИСО/МЭК 15408-3 [из 5.5.3.1 ГОСТ Р 56939-2016]

                Страницы

                Подписка на Из ГОСТ Р 56939-2016 Защита информации. Разработка безопасного программного обеспечения. Общие требования