- アナライザ
- 攻撃対象
- コーパス
- CNA
- CVE
- CVSS
- CWE
- 重複排除
- 重複所見
- 偽陽性
- 検索
- グループ化
- 重要でない発見
- ロケーション・フィンガープリント
- パッケージマネージャとパッケージタイプ
- パイプラインセキュリティタブ
- ポストフィルター
- プレフィルタ
- 一次識別子
- 発見のレポーター
- スキャンタイプ(レポートタイプ)
- スキャナ
- セキュリティ製品
- セキュアなレポート形式
- セキュリティダッシュボード
- シードコーパス
- ベンダー
- 脆弱性
- 脆弱性ファインディング
- 脆弱性追跡
- 脆弱性の発生
セキュリティとガバナンス用語集
この用語集は、以下のことを目的としています:
- 顧客と、イシューで、Slackで、コードで、どこでも使えるユビキタス言語を昇格させます。
- チームメンバー間のコミュニケーションの有効性を高めます。
- ミスコミュニケーションの可能性を減らします。
- 新しいチームメンバーやコミュニティ貢献者をより早くスピードアップさせ、生産性向上までの時間を短縮します。
この文書で説明されている用語の定義は、GitLab製品の文脈におけるものです。そのため、GitLab以外のユーザーにとっては、用語の意味が異なる場合があります。
アナライザ
スキャンを実行するソフトウェア。スキャンによって攻撃対象の脆弱性が分析され、その結果を含むレポートが作成されます。レポートはセキュアレポート形式に準拠しています。
アナライザは CI ジョブを使用して GitLab にインテグレーションします。アナライザが作成したレポートは、ジョブ完了後にアーティファクトとして公開されます。GitLabはこのレポートを取り込み、ユーザーは発見された脆弱性を可視化して管理することができます。詳細については、セキュリティスキャナのインテグレーションを参照してください。
多くのGitLabアナライザは、Dockerを使ってラップされたスキャナを実行する標準的なアプローチに従っています。例えば、イメージsemgrep
は、スキャナSemgrep
をラップしたアナライザです。
攻撃対象
攻撃に対して脆弱なアプリケーション内のさまざまな場所。セキュリティ製品は、スキャン中に攻撃対象領域を検出し、検索します。攻撃対象領域の定義は製品によって異なります。たとえば、SAST はファイルと行番号を使用し、DAST は URL を使用します。
コーパス
ファザーの実行中に生成される意味のあるテストケースの集合。意味のあるテストケースごとに、テストされたプログラムの新しいカバレッジが生成されます。コーパスを再利用し、後続の実行に渡すことをお勧めします。
CNA
CVENumbering Authorities (CNAs)は、Mitre Corporationによって、それぞれの範囲内の製品やサービスの脆弱性にCVEを割り当てることを許可された世界中の組織です。GitLabはCNAです。
CVE
Common Vulnerabilities and Exposures (CVE®) は、公開されているサイバーセキュリティ脆弱性の共通識別子リストです。このリストはMitre Corporationによって管理されています。
CVSS
Common Vulnerability Scoring System(CVSS) は、コンピュータシステムのセキュリティ脆弱性の深刻度を評価するための、フリーでオープンな業界標準です。
CWE
Common Weakness Enumeration (CWE™)は、セキュリティに影響を与えるソフトウェアやハードウェアの一般的な弱点をコミュニティが開発したリストです。弱点とは、ソフトウェアやハードウェアの実装、コード、設計、アーキテクチャにおける欠陥、障害、バグ、脆弱性、その他のエラーのことです。脆弱性を放置すると、システム、ネットワーク、ハードウェアが攻撃を受けやすくなります。CWEリストと関連する分類タクソノミは、CWEという観点からこれらの弱点を特定し、説明するために使用できる言語として機能します。
重複排除
カテゴリのプロセスで所見が同じと判断された場合、またはノイズ除去が必要なほど類似している場合、1つの所見のみを残し、他の所見は除外されます。重複除外の詳細については、こちらをご覧ください。
重複所見
複数回報告される正当な発見。これは、異なるスキャナが同じ所見を発見した場合や、1つのスキャンが誤って同じ所見を複数回レポートした場合に発生します。
偽陽性
存在しないのに存在すると誤ってレポーターされる所見。
検索
アナライザによってプロジェクト内で特定された、脆弱性の可能性がある資産。資産には、ソースコード、バイナリパッケージ、コンテナ、依存関係、ネットワーク、アプリケーション、インフラストラクチャなどが含まれますが、これらに限定されません。
ファインディングは、スキャナが MR/機能ブランチで特定したすべての潜在的脆弱性項目です。デフォルトにマージされて初めて、発見が脆弱性になります。
脆弱性ファインディングには2つの方法があります。
- 脆弱性発見に対してイシューリクエストまたはマージリクエストを開くことができます。
- 脆弱性発見を却下することができます。発見を却下すると、デフォルトのビューから非表示になります。
グループ化
柔軟かつ非破壊的な方法で、関連する可能性が高いが重複排除の対象にはならない複数の発見がある場合に、脆弱性をグループで視覚的に整理することができます。例えば、一緒に評価されるべき、同じアクションによって修正される、または同じソースからの発見を含めることができます。脆弱性のグループ化動作は開発中であり、イシュー267588 で追跡されています。
重要でない発見
特定の顧客が気にも留めない正当な発見。
ロケーション・フィンガープリント
ファインディングのロケーション・フィンガープリントは攻撃対象領域上の各ロケーションに固有なテキスト値です。各セキュリティ製品は攻撃対象のタイプに応じてこれを定義します。例えば、SAST はファイルパスと行番号を組み込みます。
パッケージマネージャとパッケージタイプ
パッケージマネージャ
パッケージマネージャはプロジェクトの依存関係を管理するシステムです。
パッケージマネージャは新しい依存関係 (「パッケージ」とも呼ばれます) をインストールする方法を提供し、パッケージがファイルシステム上に保存される場所を管理し、独自のパッケージを公開する機能を提供します。
パッケージの種類
それぞれのパッケージマネージャ、プラットフォーム、タイプ、エコシステムには、ソフトウェアパッケージを識別、検索、提供するための独自の規約とプロトコルがあります。
以下の表は、GitLabのドキュメントやソフトウェアツールで参照されているパッケージマネージャや種類の一部です。
パッケージの種類 | パッケージマネージャ |
---|---|
ジェム | バンドラー |
Packagist | Composer |
Conan | Conan |
行く | 行く |
メイブン | Gradle |
Maven | |
sbt | |
npm | npm |
ヤーン | |
NuGet | NuGet |
PyPI | セットアップツール |
ピップ | |
Pipenv | |
詩 |
パイプラインセキュリティタブ
関連するCIパイプラインで発見された事項を表示するページ。
ポストフィルター
ポストフィルタは、スキャナ結果のノイズを減らし、手動タスクを自動化するのに役立ちます。スキャナの結果に基づいて脆弱性データを更新または修正する基準を指定できます。たとえば、検出された脆弱性に「誤検出」のフラグを立てたり、検出されなくなった脆弱性を自動的に解決したりすることができます。これらは恒久的なアクションではなく、変更することができます。
検出結果の自動解決のサポートはエピック7478で追跡されており、安価なスキャンのサポートはイシュー349926で提案されています。
プレフィルタ
分析が行われる前にターゲットをフィルタリングするために行われる不可逆的なアクション。これは通常、ユーザーがスコープやノイズを減らし、分析を高速化するために提供されます。現在、スキップ/除外されたコードやアセットに関連するものは保存されないため、レコードが必要な場合は実行しないでください。
例:DS_EXCLUDED_PATHS
。Exclude files and directories from the scan based on the paths provided.
一次識別子
所見の一次識別子は、各所見に固有の値です。ファインディングの最初の識別子の外部タイプと外部IDを組み合わせて値を作成します。
(ZAP)一次識別子の例としては、OWASP Zed Attack Proxy のPluginID
や Trivy のCVE
などがあります。識別子は安定していなければなりません。たとえ場所が少し変わったとしても、同じファインディングに対して、後続のスキャンは同じ値を返さなければなりません。
発見のレポーター
アナライザによって作成されたレポートにのみ存在し、まだデータベースに永続化されていない発見。データベースにインポートされると、レポート所見は脆弱性所見になります。
スキャンタイプ(レポートタイプ)
スキャンのタイプを記述します。次のいずれかである必要があります:
api_fuzzing
container_scanning
coverage_fuzzing
dast
dependency_scanning
sast
secret_detection
スキャナの追加に伴い、このリストは変更される場合があります。
スキャナ
脆弱性をスキャンするソフトウェア。スキャン結果のレポートは通常、セキュアレポート形式ではありません。たとえば、ESLint、Trivy、ZAP などがあります。
セキュリティ製品
GitLabが一流のサポートを提供する、アプリケーションセキュリティの特定分野に関連する機能グループ。
製品には、コンテナ・スキャン、依存関係スキャン、動的アプリケーション・セキュリティ・テスト(DAST)、シークレット検出、静的アプリケーション・セキュリティ・テスト(SAST)、ファズ・テストなどがあります。
これらの製品には、通常1つ以上のアナライザが含まれています。
セキュアなレポート形式
セキュア製品が JSON レポートを作成する際に準拠する標準レポート形式。このフォーマットは、JSON スキーマによって記述されます。
セキュリティダッシュボード
プロジェクト、グループ、GitLabインスタンスのすべての脆弱性の概要を提供します。脆弱性はプロジェクトのデフォルトブランチで発見されたものからのみ作成されます。
シードコーパス
ファズターゲットの初期入力として与えられるテストケースのセット。これは通常、ファズターゲットを大幅に高速化します。これは手動で作成されたテストケースでも、以前の実行からファズターゲット自体で自動生成されたものでもどちらでもかまいません。
ベンダー
アナライザーをメンテナーしている人。そのため、ベンダーはスキャナをGitLabにインテグレーションし、進化に合わせて互換性を保つ責任があります。オープンコアやOSSプロジェクトをオファーの基本ソリューションとして使う場合のように、ベンダーは必ずしもスキャナーの作成者やメンテナーではありません。GitLabディストリビューションやGitLabサブスクリプションの一部として含まれるスキャナの場合、ベンダーはGitLabと記載されます。
脆弱性
環境のセキュリティに悪影響を及ぼす欠陥。脆弱性は、エラーや弱点を記述するものであり、エラーがどこにあるかは記述しません(「発見」を参照)。
各脆弱性は、固有のファインディングに対応付けられます。
脆弱性はデフォルトブランチに存在します。ファインディング (ファインディングを参照) は、スキャナが MR/feature ブランチで発見した、すべての潜在的な脆弱性の項目です。ファインディングは、デフォルトにマージされて初めて脆弱性となります。
脆弱性ファインディング
レポートの所見がデータベースに保存されると、それは脆弱性所見になります。
脆弱性追跡
発見された脆弱性のライフサイクルを把握できるように、スキャンを横断して発見された脆弱性を照合する作業。エンジニアとセキュリティチームは、コード変更をマージするかどうかを決定したり、未解決の発見とその発見がいつ導入されたかを確認したりするために、この情報を使用します。
脆弱性は、ロケーション・フィンガープリント、プライマリ識別子、レポートタイプを比較することによって追跡されます。
脆弱性の発生
非推奨。