Skip to main content

フェーズ 1: ロールアウト戦略と目標に合わせる

          code scanningとsecret scanningを有効にする前に、GHAS を企業全体に展開する方法を計画します。

ヒント

この記事は、大規模な GitHub Advanced Security の導入に関するシリーズの一部です。 このシリーズの概要については「大規模な GitHub Advanced Security の導入の概要」を参照してください。

会社のロールアウトに対して明確な目標を設定する

会社のロールアウトの方向性に対する基盤を構築するには、社内の GHAS の目標を要約し、それらの目標を Team に伝えます。 Team の足並みが揃っている限り、目標は単純でも複雑でもかまいません。 目標に関するサポートが必要な場合は、 GitHub Professional Services は、会社やその他の顧客に対する Microsoft の経験に基づいて推奨事項を提供できます。

GHAS のロールアウトにおける高レベルの目標例を以下に示します。

  • 秘密の漏洩を防ぐ: 多くの会社は、ソフトウェア キーや財務データなど、重要な情報が漏洩するのを防ぎたいと考えています。
  • コンプライアンス要件を満たす: たとえば、多くの医療会社が GHAS を使用して、PHI (個人健康情報) の流出を防いでいます。
  • 脆弱性の数を減らす: これは、一般的なものである場合もあれば、GHAS などのツールによって防止された可能性がある重大な脆弱性の影響を最近会社が受けたことが原因である場合もあります。
  • 高リスクのリポジトリを特定する: 最もリスクの高いリポジトリをターゲットにし、コードやサプライ チェーンの脆弱性を修正することで、リスクを軽減することだけを希望する会社もあります。
  • 修復率を上げる: セキュリティ負債の蓄積を防ぐために、開発者による結果の導入を促進し、これらの脆弱性がタイムリーに修復されるようにすることをお勧めします。

セキュリティ グループと開発グループの両方でロールアウトを主導する

GHAS ロールアウトにセキュリティ Team と開発 Team の両方が含まれている会社は、セキュリティ グループのみが含まれていてパイロットの完了後に開発 Team が含まれる会社よりも、成功する傾向があります。

GHAS では、開発者のワークフローにシームレスに統合することで、開発者を中心とするソフトウェア セキュリティへのアプローチが採用されています。 プロセスの早い段階から開発グループが主要メンバーとして参加すると、ロールアウトのリスクが低下し、組織の同意を得やすくなります。

早期に (理想的には購入時から) 開発グループを関与させると、会社は GHAS を利用して、開発プロセスの早い段階でセキュリティ上の懸念に対処できます。 両方のグループが連携すると、プロセスの早い段階で調整を行い、サイロを取り除いて、作業関係を構築して強化し、ロールアウトに対してより大きな責任を担います。

GHAS について学習する

ロールアウトに対する現実的な期待を設定するには、すべての利害関係者が GHAS のしくみに関する次の重要な事実を理解していることを確認してください。

1. GHAS は、コードを保護するためのアクションを必要とする一連のセキュリティ ツールである

GHAS は、毎日のワークフローで構成、保守、使用され、他のツールと組み合わされることで価値が高まるツール スイートです。

2. GHAS は、使用する前に調整する必要がある

リポジトリに GHAS が設定されたら、会社のニーズを満たすように GHAS を構成する必要があります。 例えば次が挙げられます。

  •         code scanningの既定のセットアップでは、スキャンする言語が自動的に検出されますが、結果を微調整するには、アプリケーションの脅威モデルなど、code scanning構成の他の側面をカスタマイズする必要がある場合があります。
    
  •         Secret scanning では、多くの一般的に使用されるシステムで使用されるパターンが自動的に検出されますが、内部ツールで使用されるトークンやその他のシークレットを検出するカスタム パターンを追加することもできます。
    

3. GHAS ツールは、まとめて使用し、アプリケーション セキュリティ プログラムに統合すると、最も効果的である

GHAS は、すべてのツールを一緒に使うと最も効果的です。 GHAS を他のツールやアクティビティ (侵入テストや動的スキャンなど) と統合することで、アプリケーション セキュリティ プログラムの有効性がさらに向上します。 複数の保護レイヤーを常に利用することをお勧めします。

4.カスタム CodeQL クエリは、一部の企業がスキャン結果をカスタマイズしてターゲットに使用します

          Code scanning は、世界で最も強力なコード分析エンジンである CodeQLを搭載しています。 多くのお客様にとっては、コミュニティで使用可能な基本クエリ セットと追加クエリで十分です。 ただし、他の企業では、異なる結果をターゲットにしたり、誤検知を減らしたりするために、カスタム CodeQL クエリが必要になる場合があります。

会社がカスタム CodeQL クエリに関心がある場合は、最初に GHAS のロールアウトと実装を完了することをお勧めします。 その後、会社の準備ができたら、 GitHub Professional Services は要件をナビゲートし、会社にカスタム クエリが必要であることを確認するのに役立ちます。

5. CodeQL は、pull request で行われた変更だけでなく、コードベース全体をスキャンします

プル要求から code scanning が実行されると、スキャンには、プル要求で行われた変更だけでなく、完全なコードベースが含まれます。 コードベース全体のスキャンは、コードベース内のすべての相互作用に対して変更がレビューされるようにするための重要なステップです。

ヒント

このシリーズの次の記事については、「フェーズ 2: 大規模な有効化の準備」を参照してください。