Бөлісу құралы:


Руководство по 42Crunch technical onboarding

42Crunch позволяет стандартизованному подходу к защите API, автоматизируя соблюдение безопасности API в распределенных командах разработки и безопасности. Платформа безопасности API 42Crunch позволяет разработчикам создавать безопасность из интегрированной среды разработки (IDE) в конвейер CI/CD. Этот простой подход DevSecOps к безопасности API снижает затраты на управление и ускоряет доставку безопасных API.

Подход к тестированию безопасности

В отличие от традиционных средств DAST, которые используются для сканирования веб-приложений и мобильных приложений, 42Crunch выполняет набор тестов, которые точно создаются и предназначены для каждого API на основе их конкретного дизайна. Используя определение OpenAPI (то есть Swagger) в качестве основного источника, подсистема сканирования 42Crunch запускает батарею тестов, которые проверяют, насколько тесно API соответствует предполагаемому дизайну. Эта проверка соответствия идентифицирует различные проблемы безопасности, включая 10 основных уязвимостей OWASP, неправильные коды ответов и нарушения схемы. Эти проблемы сообщаются с богатым контекстом, включая возможные сценарии эксплойтов и рекомендации по исправлению.

Сканирование может выполняться автоматически в рамках конвейера CI/CD или вручную с помощью интегрированной среды разработки или облачной платформы 42Crunch.

Так как качество спецификации API в значительной степени определяет охват сканирования и эффективность, важно убедиться, что спецификация OpenAPI определена. Аудит 42Crunch выполняет статический анализ файла спецификации OpenAPI, направленный на улучшение безопасности и качества спецификации разработчиком. Аудит определяет составную оценку безопасности от 0 до 100 для каждого файла спецификации. По мере того как разработчики устраняют проблемы безопасности и семантики, выявленные аудитом, оценка улучшается. 42Crunch рекомендует оценку аудита не менее 70 перед выполнением проверки соответствия.

Включение

Используя службы аудита и сканирования 42Crunch, разработчики могут заранее тестировать и защищать API в конвейерах CI/CD с помощью статических и динамических тестов API в отношении основных рисков API OWASP и рекомендаций по спецификации OpenAPI. Результаты проверки безопасности от 42Crunch теперь доступны в Defender для облака, обеспечивая централизованную группу безопасности видимость работоспособности API в Defender для облака рекомендации и может выполнять действия по управлению, доступные в собственном коде с помощью рекомендаций Defender для облака.

Подключение среды DevOps для Microsoft Defender для облака

Эта функция требует подключения среды DevOps к Defender для облака.

Узнайте , как подключить организации GitHub.

Узнайте , как подключить организации Azure DevOps.

Настройка службы аудита 42Crunch

Действие тестирования статической безопасности REST API находит контракты REST API, которые соответствуют спецификации OpenAPI (OAS, ранее известной как Swagger) и выполняют на них подробные проверка безопасности. Поддерживаются как OAS версии 2, так и версии 3 в формате JSON и YAML.

Действие работает с помощью аудита безопасности API 42Crunch. Аудит безопасности выполняет статический анализ определения API, который включает более 300 проверка по рекомендациям и потенциальным уязвимостям по определению API определения проверки подлинности, авторизации, транспорта и схем запросов и ответов.

Для сред GitHub

Установите подключаемый модуль аудита безопасности API 42Crunch в конвейере CI/CD, выполнив следующие действия.

  1. Войдите в GitHub.

  2. Выберите репозиторий, для которого нужно настроить действие GitHub.

  3. Выберите Действия.

  4. Выберите новый рабочий процесс.

    Снимок экрана: выбор нового рабочего процесса.

Чтобы создать рабочий процесс по умолчанию, выполните действия.

  1. Выберите "Настроить рабочий процесс самостоятельно".

  2. Переименуйте рабочий процесс из main.yaml 42crunch-audit.yml.

  3. Переход к https://github.com/marketplace/actions/42crunch-rest-api-static-security-testing-freemium#full-workflow-example.

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

    Примечание.

    В этом рабочем процессе предполагается, что включена проверка кода GitHub, которая требуется для отображения результатов поиска безопасности в Defender для облака. Убедитесь, что параметр проверки отправки в код имеет значение true.

    Снимок экрана: редактор рабочих процессов GitHub.

  5. Выберите " Зафиксировать изменения". Вы можете выполнить прямую фиксацию в главной ветви или создать запрос на вытягивание. Мы рекомендуем следовать рекомендациям GitHub, создав pr, так как рабочий процесс по умолчанию запускается при открытии PR для основной ветви.

  6. Выберите действия и убедитесь, что выполняется новое действие.

    Снимок экрана: выполнение нового действия.

  7. После завершения рабочего процесса выберите "Безопасность", а затем выберите "Код", чтобы просмотреть результаты.

  8. Выберите оповещение сканирования кода, обнаруженное 42Crunch REST API Static Security Testing. Вы также можете фильтровать по инструменту на вкладке "Сканирование кода". Фильтрация по 42Crunch REST API static security testing.

    Снимок экрана: оповещение сканирования кода.

Теперь вы проверили, что результаты аудита отображаются в сканировании кода GitHub. Затем мы убедитесь, что эти результаты аудита доступны в Defender для облака. Для отображения результатов в Defender для облака может потребоваться до 30 минут.

Перейдите к Defender для облака:

  1. Выберите Рекомендации.
  2. Выберите все рекомендации.
  3. Выполните фильтрацию , выполнив поиск тестирования безопасности API.
  4. Выберите репозитории GitHub, которые должны иметь разрешения на тестирование безопасности API.

Выбранная рекомендация показывает все 42Crunch Audit результаты. Вы завершили подключение для шага аудита 42Crunch.

Снимок экрана: сводка по API.

Для сред Azure DevOps

  1. Установите расширение Azure DevOps 42Crunch в вашей организации.

  2. Создайте конвейер в проекте Azure DevOps. Руководство по созданию первого конвейера см. в разделе "Создание первого конвейера".

  3. Измените созданный конвейер, скопируйте его в следующий рабочий процесс:

    trigger:
    branches:
       include:
          - main
    
    jobs:
    - job: run_42crunch_audit
       displayName: 'Run Audit'
       pool:
          vmImage: 'ubuntu-latest'
       steps:
          - task: UsePythonVersion@0
          inputs:
             versionSpec: '3.11'
             addToPath: true
             architecture:  x64
          - task: APISecurityAuditFreemium@1
          inputs:
             enforceSQG: false
             sarifReport: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif'
             exportAsPDF: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.pdf'
          - task: PublishBuildArtifacts@1
          displayName: publishAuditSarif
          inputs:
             PathtoPublish: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif '
             ArtifactName: 'CodeAnalysisLogs'
             publishLocation: 'Container'
    
  4. Запуск конвейера.

  5. Чтобы проверить правильность публикации результатов в Azure DevOps, убедитесь, что 42Crunch-AuditReport.sarif отправляется в папку CodeAnalysisLogs .

  6. Вы завершили процесс подключения. Затем мы убедимся, что результаты отображаются в Defender для облака.

Перейдите к Defender для облака:

  1. Выберите Рекомендации.
  2. Выберите все рекомендации.
  3. Выполните фильтрацию , выполнив поиск тестирования безопасности API.
  4. Выберите рекомендацию репозиториев AzureDevOps, которые должны быть разрешены при тестировании безопасности API.

Выбранная рекомендация показывает все 42Crunch Audit результаты. Вы завершили подключение для шага аудита 42Crunch.

Снимок экрана: рекомендация Azure DevOps.

Настройка службы сканирования 42Crunch

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

Для проверки требуется конечная точка динамического API, непроизводственная конечная точка API и необходимые учетные данные (маркер ключа и доступа API). Выполните следующие действия , чтобы настроить сканирование 42Crunch.

Сведения о конкретных задачах ADO см. в руководстве по azure-pipelines-scan.yaml .

Вопросы и ответы

Как 42Crunch помогает разработчикам выявлять и устранять проблемы безопасности API?

Проверка аудита и соответствия безопасности 42Crunch определяет потенциальные уязвимости, которые существуют в API на ранних этапах жизненного цикла разработки. Результаты сканирования включают широкий контекст, включая описание уязвимости и связанного эксплойтов, а также подробные рекомендации по исправлению. Сканирование может выполняться автоматически на платформе CI/CD или постепенно разработчиком в интегрированной среде разработки с помощью одного из расширений интегрированной среды разработки 42Crunch.

Можно ли использовать 42Crunch для обеспечения соответствия минимальным стандартам качества и безопасности для разработчиков?

Да. 42Crunch включает возможность обеспечить соответствие требованиям с помощью шлюзов качества безопасности (SQG). SQG состоит из определенных критериев, которые должны быть выполнены для успешного прохождения аудита или сканирования. Например, SQG может гарантировать, что аудит или сканирование с одним или несколькими критическими проблемами серьезности не проходит. В CI/CD аудит или сканирование 42Crunch можно настроить на сбой сборки, если не удалось передать SQG, поэтому разработчику необходимо устранить базовую проблему перед отправкой кода.

Бесплатная версия 42Crunch использует стандартные SQG для аудита и сканирования, в то время как платная корпоративная версия позволяет настраивать SQG и теги, которые позволяют SQG применяться выборочно к группам API.

Какие данные хранятся в службе SaaS 42Crunch?

Ограниченная бесплатная пробная версия проверки безопасности 42Crunch и проверки соответствия может быть развернута в CI/CD, которая создает отчеты локально без необходимости подключения SaaS 42Crunch. В этой версии нет общих данных с платформой 42Crunch.

Для полной корпоративной версии платформы 42Crunch следующие данные хранятся на платформе SaaS:

  • Имя, фамилия, адреса электронной почты пользователей платформы 42Crunch.
  • Файлы OpenAPI/Swagger (описания API клиента).
  • Отчеты, созданные во время выполнения задач проверки соответствия безопасности, выполняемых 42Crunch.

Как лицензировано 42Crunch?

42Crunch лицензирован на основе сочетания количества API и числа разработчиков, подготовленных на платформе. Примеры пакетов цен см . в этом списке Marketplace. Пользовательские цены доступны через частные предложения на коммерческой платформе Azure. Для пользовательской кавычки обратитесь к mailto:sales@42crunch.com.

Какова разница между бесплатной и платной версией 42Crunch?

42Crunch предлагает бесплатную ограниченную версию и платную корпоративную версию проверки безопасности и проверки соответствия.

Для бесплатной версии 42Crunch подключаемые модули CI/CD 42Crunch работают автономно, не требуя входа на платформу 42Crunch. Затем результаты аудита и сканирования становятся доступными в Microsoft Defender для облака, а также на платформе CI/CD. Аудиты и проверки ограничены до 25 выполнений в месяц каждый репозиторий с не более чем тремя репозиториями.

Для платной корпоративной версии 42Crunch аудит и сканирование по-прежнему выполняются локально в CI/CD, но могут синхронизироваться со службой платформы 42Crunch, где можно использовать несколько расширенных функций, включая настраиваемые шлюзы качества безопасности, словари данных и теги. Хотя корпоративная версия лицензирована для определенного количества API, нет ограничений на количество аудита и проверок, которые могут выполняться ежемесячно.

Доступно ли 42Crunch на коммерческой платформе Azure?

Да, 42Crunch доступен для покупки на коммерческой платформе Майкрософт здесь.

Обратите внимание, что покупки 42Crunch, сделанные через коммерческую платформу Azure, учитываются в отношении минимальных обязательств по использованию Azure (MACC).

Следующие шаги

Обзор API в Microsoft Defender