この記事は、大規模な GitHub Advanced Security の導入に関するシリーズの一部です。 このシリーズの概要については、「大規模な GitHub Advanced Security の導入の概要」を参照してく� さい。
会社のロールアウトに対して明確な目標を設定する
会社のロールアウトの方向性に対する基盤を構築するには、社内の GHAS の目標を要約し、それらの目標を Team に伝えます。 Team の足並みが揃っている限り、目標は単純でも複雑でもかまいません。 目標に関するサポートが必要な� �合、GitHub Professional Services は、お客様や他の顧客との経験に基づく推奨事� �を提供できます。
GHAS のロールアウトの目標の例を次に示します。
- 脆弱性の数を減らす: これは、一般的なものである� �合もあれば、GHAS などのツールによって防止された可能性がある重大な脆弱性の影響を最近会社が受けたことが原� である� �合もあります。
- 高リスクのリポジトリを識別する: 一部の会社は、最もリスクの高いリポジトリをターゲットにし、脆弱性を修復することでリスクを軽減できるようにすること� けを望んでいる� �合があります。
- 修復率を上げる: セキュリティ� 債の蓄積を防ぐために、開発者による結果の導入を促進し、これらの脆弱性がタイ� リーに修復されるようにすることをお勧めします。
- コンプライアンス要件を満たす: たとえば、多くの医療会社が GHAS を使用して、PHI (個人健康情� �) の流出を防いでいます。
- 秘密の漏洩を防ぐ: 多くの会社は、ソフトウェア キーや財務データなど、重要な情� �が漏洩するのを防ぎたいと考えています。
セキュリティ グループと開発グループの両方でロールアウトを主導する
GHAS ロールアウトにセキュリティ Team と開発 Team の両方が含まれている会社は、セキュリティ グループのみが含まれていてパイロットの完了後に開発 Team が含まれる会社よりも、成功する傾向があります。
GHAS では、開発者のワークフローにシー� レスに統合することで、開発者を中心とするソフトウェア セキュリティへのアプローチが採用されています。 プロセスの早い段階から開発グループが主要メンバーとして参� すると、ロールアウトのリスクが低下し、組織の同意を得やすくなります。
早期に (理想的には購入時から) 開発グループを関与させると、会社は GHAS を利用して、開発プロセスの早い段階でセキュリティ上の懸念に対処できます。 両方のグループが連携すると、プロセスの早い段階で調整を行い、サイロを取り除いて、作業関係を構築して強化し、ロールアウトに対してより大きな責任を担います。
GHAS について学習する
ロールアウトに対する現実的な期待を設定するには、すべての利害関係者が GHAS のしくみに関する次の重要な事実を理解していることを確認してく� さい。
1. GHAS は、コードを保護するためのアクションを必要とする一連のセキュリティ ツールである
GHAS は、毎日のワークフローで構成、保守、使用され、他のツールと組み合わされることで価値が高まるツール スイートです。
2. GHAS は、使用する前に調整する必要がある
リポジトリに GHAS が設定されたら、会社のニーズを満たすように GHAS を構成する必要があります。 特に Code Scanning は、初期結果の評価や、将来のスキャンに備えた調整など、さらなるカスタマイズを必要とします。 多くの顧客においては、アプリケーションの脅威モデルに基づいて Code Scanning が調整されるまで、初期スキャンによって限定的な結果または無関係な結果が返されます。
3. GHAS ツールは、まとめて使用し、アプリケーション セキュリティ プログラ� に統合すると、最も効果的である
GHAS は、すべてのツールを一緒に使うと最も効果的です。 GHAS を他のツールやアクティビティ (侵入テストや動的スキャンなど) と統合することで、アプリケーション セキュリティ プログラ� の有効性がさらに向上します。 複数の保護レイヤーを常に利用することをお勧めします。
4. カスタ� CodeQL クエリは、一部の会社がスキャン結果のカスタマイズとターゲット設定に使用します
Code Scanning では、世界で最も強力なコード分析エンジンである CodeQL が利用されています。 多くのお客様にとっては、コミュニティで使用可能な基本クエリ セットと追� クエリで十分です。 た� し、会社によっては、異なる結果をターゲットにしたり、誤検知を減らしたりするために、カスタ� CodeQL クエリが必要になる� �合があります。
カスタ� CodeQL クエリに興味がある� �合は、まず GHAS のロールアウトと実装を完了することをお勧めします。 その後、会社が準備できてから GitHub Professional Services を使用すると、要件をナビゲートし、会社にカスタ� クエリが必要であることを確認できます。
5. CodeQL では、Pull Request で行われた変更� けでなく、コードベース全体がスキャンされる
pull request から code scanning を実行すると、pull request で行われた変更� けでなく、完全なコードベースがスキャンに含まれます。 コードベース全体のスキャンは、コードベース内のすべての相互作用に対して変更がすべてレビューされるようにするための重要なステップです。
このシリーズの次の記事については、「フェーズ 2: 大規模な有効化の準備」を参照してく� さい。