What is Secret Scanning?
シークレット スキャンは、構成ファイル、デプロイメントまたはビルド スクリプト、コード リポジトリ、コミット、パイプラインなどのデータ ソースを分析して、機密情報が誤って含まれていることを検出し、シークレットの漏洩によって発生する可能性のある脅威を防ぐための自動プロセスです。
秘密データと機密データの違いを理解する
秘密データと機密データは本質的には似ていますが、その範囲は異なります。すべての秘密は機密データとみなされますが、すべての機密データが秘密であるとは限りません。
秘密とは、データの整合性とセキュリティを保護するために秘密に保つ必要があるあらゆる種類の情報です。シークレットは特権情報であり、組織の制限されたシステムまたはサービスへのアクセスを許可するために使用されます。秘密の最も一般的な形式は、資格情報 (ユーザー名とパスワード) です。その他の種類のシークレットには、暗号化キー、セキュリティ証明書、API トークンなどがあります。
一方、機密データは通常、エンドユーザーまたは顧客のものです。このデータには、社会保障番号、雇用識別番号、個人を特定できる情報 (PII)、クレジットカード番号などの項目が含まれます。機密情報を保管するには、通常、組織が特定のデータ プライバシー法または業界標準を遵守する必要があります。
次の例は、これら 2 種類の情報の違いを示しています。データベースの認証情報は侵害によってハッカーに公開され、組織内でより広範な攻撃を実行するために使用されます。悪意のある行為者は、その秘密を使用してデータベースにアクセスし、顧客のクレジットカード番号やその他の個人情報(PII)など、データベースに保存されている機密データを盗み出します。
シークレットスキャンの仕組み
シークレットスキャンは、明確に定義されたいくつかのステップに分けられます。
- スキャン フェーズ:スキャナーは、IT スタック内のすべての関連ターゲットに対してスキャンを実行します。スキャン機能は 2 つのカテゴリに分類されます。リアルタイム スキャンは、プル リクエスト、コードの変更、構成ファイルの変更などのイベントを監視します。また、シークレットに関するコンテナのセキュリティを確保し、ビルド システム、ログ、データ ストアを分析するのにも役立ちます。一方、保存時のスキャンは、ドキュメント、アーカイブ ファイル、アーティファクト リポジトリ、長期 BLOB ストレージ コンテナーなどの履歴、静的、または頻繁に更新されないアイテムを定期的にチェックしてシークレットを探すようにスケジュールされます。
- 秘密の識別:潜在的な秘密が検出されると、環境からメタデータを抽出して比較することでパターンが確認されるか、サービス プロバイダーとの通信が確立され、秘密に一致するサービスが特定されます。シークレットがまだ有効かつアクティブであるかどうかを確認するために、追加のテストが実行されます。
- 自動修復:該当する場合、公開された秘密の自動修復または編集が試行されます。プロセスは、影響を受けるすべてのコンポーネントまたはシステムと通信して、秘密を流通から排除します。
- 報告と警告:一致が確認され、自動修復が実行されると、スキャナーは許可されたスタッフにインシデントを通知し、特定された秘密と講じられた対策の詳細を記載したレポートが生成されます。
- 手動による修復:自動スキャンが実行不可能であるか、何らかの理由で失敗した場合は、公開された秘密を編集または削除するために、権限のあるスタッフが手動で操作する必要があります。状況が正常に解決されるまで、スキャン デバイスが秘密を監視し続けるようにします。
スキャンツールを選ぶ際の重要な考慮事項
秘密スキャンは、インフラストラクチャをスキャンして不適切に保存された秘密を検出できる自動ツールによって実行されます。秘密スキャンツールを選択する際には、次の要素を考慮してください。
- CI/CD 統合:シークレット スキャン ツールは、既存の CI/CD (継続的インテグレーション/継続的デリバリー) パイプライン内で動作し、ワークフロー内に統合されて、開発プロセスの一部としてコードやその他の成果物のスキャンを自動化する必要があります。ツールは、最も人気のある CI/CD プラットフォームをサポートする必要があります。さらに、一般的にはセキュリティ アズ コード (SaC)プラクティスと互換性があり、大幅な変更を必要としたり、開発者エクスペリエンスに混乱を引き起こしたりすることはありません。
- スキャン精度:ツールは高い精度を備え、時間の無駄となる誤検知や、誤検知による脆弱性の見落としを最小限に抑える必要があります。ツールは通常、パターン マッチング機能に基づいて動作しますが、一部の高度な製品では、人工知能や機械学習アルゴリズムを活用して秘密の検出精度を高めています。
- スキャン範囲:シークレット スキャナーは、コード リポジトリ、コンテナー イメージのスキャン、ファイル システム、構成、データ ストア、バックアップなど、関連するすべての資産をカバーする必要があります。これにより、組織のすべての領域で公開された秘密が確実に検出され、修復されます。
- 監視と警告:秘密の検出時にリアルタイムの警告と通知を提供できる秘密スキャン ツールを選択します。ツールは、セキュリティ情報およびイベント管理 (SIEM) システムの互換性やインシデント対応手順などの既存のプロセスと適切に統合される必要があります。
秘密スキャンツールを選択する際に最も優先されるのは、既存のプロセスとのスムーズな統合、高い検出精度、スキャン機能です。
秘密管理のベストプラクティス
安全な秘密管理のために、次のベスト プラクティスを実装します。
- セキュア ストレージ:シークレット スキャンはシークレット管理のコンポーネントであり、ユーザーと管理者の両方によるシークレットの安全な保管とアクセスを保証するアプローチです。不正アクセスを防ぐために、秘密が専用の秘密管理ツールで安全に保存され、暗号化されていることを確認します。
- アクセスの制限:最小権限の原則 (PoLP) では、ユーザー (およびサービス) には、作業タスクを完了するために必要な最小限のアクセス権のみを与えることが規定されています。PoLP は秘密に直接適用されます。必要に応じてユーザーとアプリケーションの秘密へのアクセスを制限し、安全な秘密の取り扱い手順についてスタッフを教育します。
- 秘密のローテーション:事前に定義されたスケジュールに従って、またはリクエストに応じて手動で秘密を変更する、自動秘密ローテーション手順を実装します。秘密をローテーションすることで、秘密に有効期限が設けられ、偶発的な漏洩による損害が制限されます。
- 動的シークレット:シークレットをハードコーディングする代わりに、環境変数またはシークレット管理システムを使用してシークレットを動的に交換します。これは、安全なコーディング実践の一側面です。アプリケーションは、API 呼び出しを通じて安全なボールトからシークレットを要求するように構成でき、シークレットは実行時に環境または構成ファイルに挿入されます。
- シークレット ライフサイクル コントロール:組織内で使用されるすべてのシークレットのライフサイクルを追跡し、不要になった場合や侵害された場合はシークレットを取り消します。秘密のアクセス イベントを記録し、監査用に簡単にアクセスできるログを保持します。
綿密な管理、アクセス、および制御の実践は、組織内の秘密を保護するための効果的なアプローチの例です。
Maximize Security with Check Point
シークレットスキャンは、組織のコードベース、インフラストラクチャ、資産全体にわたる秘密の識別、分類、保護を自動化します。シークレット スキャナーは、開発者のワークフローや業務運営を妨げることなく、組織が強力なセキュリティ対策をバランスよく講じられるようにするために使用されます。
チェック・ポイント Code Security は、運用前から展開までコード、資産、インフラストラクチャを保護します。 既存の開発ツールと容易に統合できるため、コードベースの脆弱性、設定ミス、漏洩した機密情報などを継続的に監視・分析できます。チェック・ポイントがあなたの組織をどのように保護できるかをご覧ください: 今すぐ無料のデモをリクエストしてください。
さらに、チェック・ポイント Spectral を使用すると、コードを偶発的な機密漏洩から簡単に保護できます。 Spectral の高度なスキャン テクノロジーは、ハードコードされた API キー、トークン、資格情報を識別して侵害を防ぎます。詳細については、Spectral 製品概要のホワイト ペーパーを今すぐダウンロードしてください。
