セキュアなアプリケーションの提供

概要

アプリケーションを高速に出荷することは、新たなセキュリティリスクや脆弱性を持ち込むものであってはなりません。

課題: セキュアなアプリの提供(ヘッドラインに載らないこと)とコンプライアンス要件への対応

  1. 私(VP Apps)はどのような課題に直面しているか?
    1. セキュリティが SDLC のベロシティを低下させ、アプリケーションのデリバリーを阻害する。 従来からある既存ソリューションは煩雑で、実行と結果の解釈にセキュリティチームを必要とします。リソースが不足しているセキュリティチームによるスキャン実行を待つことになり、スキャンの中には数日かかる(あるいは完了しない)ものもあります。開発者が結果を受け取る頃には、彼らは別のプロジェクトに取り組んでいます。セキュリティの結果は、開発者に問題箇所(コード行)や修正方法を示すための十分な洞察を欠いていることが多いです。
    2. サードパーティコードの爆発的な増加 - 私たちは何を使っているのか把握しているか? それはどれほど安全なのか? 新たに発見された脆弱性を持つ既に使用されているコードの技術的負債をどう解消するか? 他より優先してアップグレードすべきライブラリはあるか?
    3. コンテナはアプリを移植可能にすることでクラウドの問題やレガシーアプリの問題を解決する(クラウドおよびハードウェアベンダーロックインを排除します)。しかし、コンテナをどのように保護するのか? 明確で主導的なソリューションはまだ存在せず(誤った選択をすればキャリアにリスクとなります)、セキュリティチームも確信が持てません。スタートアップのソリューションはスケールしません。
    4. (注: CISO の課題は
      1. a) あの無謀な DevOps の人たちは、結果を理解せずにリスクを取っている!
      2. b) 急速に進化するアーキテクチャと縮小する境界をどう守るか。特に私のバックグラウンドが恐らくネットワークセキュリティであることを考えると。
      3. c) セキュリティ脆弱性を作り込まないように、どうやって開発者を訓練するか?
  2. 今日の状況はどうなっているか(直面している問題)?
    1. 脆弱性が本番環境でしばしば発見される ため、セキュリティが本番リリース直前に問題を見つけることでプロジェクトが遅延する
    2. ワークフローの摩擦が手戻りを引き起こし、時間を浪費する。1 週間前に作り込まれて今日報告された脆弱性のコンテキストを理解するのに時間がかかる。
    3. ビジネスの改善(VP App の目標)がセキュリティ脆弱性の修正に追いやられる(私の目標ではなく、CISO の目標です)ため、グループ間に対立が生まれます。
    4. 依存関係のバックログが拡大し続ける(技術的負債)
    5. セキュリティ上の懸念により、必要なだけ/必要な速さでコンテナとクラウドをデプロイできない。(注: この前提は検証すべきです)
  3. ビジネスへの悪影響は何か?
    1. ハッキングされたことが公に開示されるリスク はブランドと顧客に対するサービス提供能力を損ないます。私たちのシステムが安全でなければ、顧客は私たちを信頼してくれません。
    2. 本番環境でのインシデントとセキュリティ問題の修正は極めてコストが高い。
    3. ビジネスがサイバー攻撃のリスクを背負う - ビジネスの改善がアプリ開発の目標であるため、より多くのサードパーティコードを使用し、技術的負債やリスクは後回しにします(それはセキュリティが解決すべきこと)。
    4. リスクへの懸念がコンテナによって実現できるはずのビジネス機敏性を損なう。コンテナは PoC では広く使われていますが、本番環境ではまだ広く採用されていません。
  4. もし魔法の杖で今日これを解決したらどうなるか?
    1. アプリケーションのセキュリティが開発ワークフローの自然な副産物となる。
    2. 開発者はセキュリティを待たずに自分の脆弱性を自分で修正する。セキュリティは異常事態と例外のみを扱うようになります。セキュリティは妨げではなく、助け手となります。
    3. すべてのコード(カスタムおよびサードパーティ)が変更のたびにテストされる。
    4. セキュリティ欠陥の修正に費やす時間が短縮される。
    5. すべてのサードパーティコードが識別可能となり、 リスクが理解されている。技術的負債は、深刻度と使用範囲(ビジネスへの潜在的影響)を含むリスクで優先順位付けされます。
    6. コンテナの脆弱性スキャンが行われる ことで、より優れたリスク透明性のもとに広く使われるようになります。
  5. ビジネスにとってのプラスの結果は何か?
    1. ベロシティを高め、サイクルタイムを短縮し、ビジネスの機敏性を向上できる
    2. リスクの低減 - ヘッドラインに載らない、自分の仕事を守る。
    3. より効率的になる。セキュリティ問題を開発の早い段階で修正するため、本番環境にまで持ち込まれません。
    4. サードパーティコードが最新であることに自信を持てる、そして脆弱性が除去されているか、既知のリスクとして受容されています。
    5. コンテナの利用に自信を持てる ことで、インフラコストを削減する柔軟性が得られます。
    6. 注: 以下は CISO にとって重要であり、App Dev にとっては重要ではない:
      1. より高い透明性とリスクの理解(CISO にとって重要、App Dev にとっては重要ではない)
      2. より良い修正計画(CISO にとって重要、App Dev にとっては重要ではない)
      3. 開発後の脆弱性減少(CISO にとって重要、App Dev にとっては重要ではない)
  6. これを実現するためにはどのような能力が必要か?
    1. 開発者が自身のコードのセキュリティを所有する必要がある。
      1. すべてのコード変更が開発者の手を離れる前に、幅広いセキュリティスキャンが実行される。
      2. 開発者が自身のミスを認識し、それを繰り返さないようにする支援。
      3. (コードを書く)開発者が、SDLC のより早い段階で脆弱性を自分で識別し、それが何であるか、どのようにセキュリティ問題を修正するかを理解する能力(開発者の権限を強化する)。
    2. 開発者向けのセキュリティワークフロー
      1. セキュリティを待たずに、開発者の管理下で識別と修正を行える
      2. より理解しやすい結果(セキュリティのプロでなくとも結果を解釈できる)
      3. コンテキストスイッチが少なく、開発者の時間を節約する
      4. 即時のフィードバックにより、開発者がセキュアコーディング実践を学ぶのを助ける
      5. 開発者の助けを必要とするセキュリティ例外への優先順位付け/解決 - セキュリティに優先順位を付けて困難な問題を解決し、残りは開発者に任せる。
    3. サードパーティコード とコンテナ、およびアプリケーション、インフラなどのすべての関連コンポーネントの セキュリティへの可視性。リスクが理解され、可能な限り排除されているという確信。
    4. CISO 向け: アプリケーション全体からのリスクのセキュリティ全体像
  7. どのように成功を測定するか(メトリクス)
    1. 開発者が脆弱性除去に費やす時間数(即座にもっと効率的になっているはず)
    2. リリースケイデンス
    3. サードパーティの セキュリティ欠陥に起因する技術的負債 のバーンダウン
    4. 本番コードの脆弱性の減少
    5. セキュリティのブロッカーによる期限超過
    6. 開発後の脆弱性数(CISO にとって重要、App Dev にとっては重要ではない)
  8. GitLab はどのように問題解決に貢献するか?
    1. SAST、DAST、依存関係、コンテナ、サードパーティコードのライセンス管理を含むセキュリティテストの自動化 が、コードが開発者の手を離れる前に行われます。DAST スキャンは GitLab のレビューアプリ機能を介して、コードがコミットされる前に実施されます。
    2. SDLC アプリケーションが単一であるため、開発者の自然なワークフローにセキュリティテストが組み込まれ、修正アドバイスとコード行レベルの詳細とともに理解しやすい結果が開発者に報告され、コードが他のコードとマージされる前に脆弱性を除去できるようにします。(注: CISO にとっては、これによりセキュリティチームが管理すべき脆弱性が大幅に減少します。)
    3. セキュリティダッシュボード により、セキュリティが優先順位付け/解決のために開発者の助けが必要な例外により集中できるようになります。
  9. なぜ私たちは競合より優れているのか?
    1. SDLC アプリケーションが単一であるため、複数のセキュリティツールと統合する必要のある DevOps ツールチェーンを継ぎ合わせて維持する必要がない(開発と AppSec チーム双方の効率化) - サポート/維持する統合がなく、コスト、スキルセットも不要。
    2. SAST、DAST、コンテナスキャン、依存関係スキャン、ライセンス管理のすべてを、すべてのコードコミットの MR パイプラインの中で実施し、開発者に提示します。コミット前に DAST スキャンを行える AppSec ツールは他にありません。(最も近い能力は IAST ですが、これは別途購入が必要なツールです。)
  10. これを証明する根拠は何か?
    1. アナリストレポート - Forrester SCA New Tech rpt、Gartner AppSec MQ(2 月)への言及、および Hype Cycle(5 月?)への掲載を期待
    2. 業界アワード - なし
    3. 顧客事例/ケーススタディ - CISCO、TrueBlue、BI Worldwide が使用しており、リファレンスになる可能性あり(Forrester SCA WAVE に同意)
    4. Fortify との技術ベンチマーク(NAIC で進行中) - 近日公開予定。
  11. 関連コンテンツ
    1. ファネル初期/認知/関心
      1. DevOps ページ: DevSecOps Solution page
      2. Security deck
      3. ブログ - What our summit in South Africa taught me about cybersecurity
      4. ブログ - コンテナセキュリティの課題(近日公開)
      5. Compliance landing page
      6. Financial Services industry
      7. Security 101 webinar
    2. ファネル中盤/関心/PoC
      1. Video interview with Alex
      2. Whitepaper: Seismic shift…
      3. Ungated(社内利用)
      4. Gated
      5. ブログ - How can teams secure applications at DevOps speed? Security Dashboards are here to help.
      6. Comparisons