侵害と攻撃のシミュレーション

免責事項:侵害と攻撃のシミュレーションは、インキュベーション・エンジニアリング部門が開発中のインキュベーション機能のセットであり、時間の経過とともに大きく変更される可能性があります。

Breach and Attack Simulation(BAS) は、検出された脆弱性のリスクを評価し、悪用可能な脆弱性の修復に優先順位をつけるために、追加のセキュリティテスト技術を使用します。

フィードバック、バグレポーター、機能リクエストについては、フィードバックイシューを参照してください。

caution
テストサーバーに対してのみBASスキャンを実行してください。攻撃者の動作をテストすると、データが変更されたり失われたりする可能性があります。

動的アプリケーション・セキュリティ・テストの拡張(DAST)

DASTを使用して攻撃をシミュレートし、脆弱性を検出することができます。デフォルトでは、DASTのアクティブチェックは期待されるレスポンスと一致するか、レスポンスタイムによって脆弱性が悪用されたかどうかを判断します。

アプリケーションのBAS拡張DASTスキャンを有効にするには、GitLab BAS CI/CDテンプレートファイルで定義されたdast_with_bas ジョブを使用します。テンプレートへのアップデートはGitLabのアップグレードとともに提供され、改善や追加の恩恵を受けることができます。

  1. 適切な CI/CD テンプレートをインクルードしてください:

    caution
    テンプレートの最新バージョンは変更を含んでいる可能性があります。最新のテンプレートにしかない機能が必要でない限り、安定版テンプレートを使ってください。

    テンプレートのバージョン管理について詳しくは、CI/CDのドキュメントを参照してください。

  2. BAS 拡張 DAST スキャンを実行するには、以下のオプションのいずれかを選択します:

    • 個別の BAS 拡張 DAST ジョブを有効にします。

      • まだ最新の DAST テンプレートを使用していません。
      • DASTスキャンには、安定版のDASTセキュリティアナライザイメージを引き続き使用してください。
      • 既存の DAST ジョブ設定を拡張した複製dast_with_bas ジョブを作成します。
    • 既存の DAST ジョブを拡張します。

      • 安定版テンプレートではなく、最新のDASTテンプレートを使用しています。
      • 既存のDASTジョブを拡張して、Breach and Attack Simulation SEGの最新のDASTセキュリティアナライザ画像タグを追加します。
  3. コールバック攻撃を有効にするためにコールバックサーバを設定します。

別のBAS拡張DASTジョブを有効にします。

BAS 拡張 DAST イメージのテスト中に別の DAST ジョブをメンテナーする場合:

  1. GitLabのCI/CDステージ設定にdast ステージを追加します。

      stages:
        - build
        - test
        - deploy
        - dast
    
  2. DAST_WEBSITE CI/CD 変数を設定します。

      dast_with_bas:
        variables:
          DAST_WEBSITE: http://yourapp
    

既存のDASTジョブの拡張

既存のDASTジョブ内で侵害および攻撃シミュレーション機能を有効にするには、以下の手順に従います:

  1. DAST CI/CDジョブの作成」の手順に従ってください。

  2. DASTジョブの設定にextendsキーワードを使用してDASTを拡張します:

    dast:
      extends: .dast_with_bas
    
  3. DAST_BAS_DISABLED を設定して、BAS テンプレートに含まれるdast+job ジョブを無効にします:

    variables:
      DAST_BAS_DISABLED: "true"
    

コールバック攻撃の有効化

免責事項:このページには、今後の製品、機能、特徴に関する情報が含まれています。掲載されている情報は、情報提供のみを目的としていることにご注意ください。購入や計画の目的でこの情報を鵜呑みにしないでください。すべてのプロジェクトと同様に、このページに記載されている項目は変更または遅れる可能性があります。製品、特徴、または機能の開発者、リリース者、およびリリース時期は、GitLab Inc.の独自の裁量に委ねられます。

Perform Out-of-Band Application Security Testing(OAST) 特定のアクティブチェックについて

  1. extendsキーワードを使用して.dast_with_bas_using_services ジョブ設定を拡張します:

    dast:
      extends: .dast_with_bas_using_services
       
    dast_with_bas:
      extends:
        # NOTE: extends overwrites rather than merges so dast must be included in this list.
        - dast
        - .dast_with_bas_using_services
    
  2. 参照タグを使用して、デフォルトのcallback サービスコンテナをservicesに取り込みます。

      services:
        # NOTE: services overwrites rather than merges so it must be referenced to merge.
        - !reference [.dast_with_bas_using_services, services]
        - name: $CI_REGISTRY_IMAGE
          alias: yourapp
    

手動でコールバック攻撃を有効にすることもできます:

  1. CI/CD 変数 DAST_FF_ENABLE_BAStrueに設定してください。
  2. サービスを使用して、テスト対象のアプリケーションとコールバックサービスコンテナの両方を有効にします。
  3. ジョブ内でコールバックサービスにアクセスできるように、コンテナ間のネットワーキングを有効にします。
  4. コールバックサービスがRunner/DASTコンテナにアクセス可能なAddress:$YOUR_CALLBACK_URL キー/値のペアを含むようにDAST_BROWSER_CALLBACK を設定します。