ソフトウェア・インテグリティ

 

Intelligent Orchestrationで実現する大規模かつ高速なDevSecOps

AppSecは開発速度を低下させるものであってはなりません。Intelligent OrchestrationがDevOpsツールチェーンから複雑さを取り除きつつAppSecテストを最適化する方法について説明しましょう。

Intelligent Orchestration | Synopsys

競争力を維持するため、組織はデジタルトランスフォーメーションを採用し、記録的なスピードで革新しています。これを実現するために、DevOps、サイト信頼性エンジニアリング、GitOpsなどのプロセスを通じて俊敏性を取り入れています。組織は、新しい言語と新しいフレームワークを使用して最新のアプリケーションを構築し、それらを新しいプラットフォームとさまざまなオプションでデプロイしています。

これらのアプローチでは、速度を最大化し、継続的な改善を可能にするために自動化が必要です。ソフトウェア開発者は、コードの変更を毎日、または1時間ごとにチェックインし、コードを継続的デリバリーまたは継続的デプロイ・パイプラインを使用してデプロイするために迅速に行動する必要があります。ソフトウェア・セキュリティ業界にとって、好むと好まざるとにかかわらず、”速やかな出荷”はニューノーマル(新しい常識)なのです。

この速度の重視に直面し、さらにアプリケーション・セキュリティへの意識と関心が高まっているにもかかわらず、アプリケーションの脆弱性は依然として最大のサイバーセキュリティ・リスクです。 そうです、セキュリティを後から付け足すことはできないからです。

近代的なアプリケーションのテストには複数の作業が必要

シノプシスは、ソフトウェア開発ライフサイクル(SDLC)全体でセキュリティテストを統合することで、脆弱性を早期に発見して取り除くことができると考えています。これを「セキュリティの構築」と呼びます。このテスト手法には、自動化された作業と手作業の両方が含まれます。脅威モデリングやアーキテクチャ・リスク分析などの手作業は、設計、資産、攻撃対象領域、および機能の詳細な調査に関するもので、自動化された作業には、静的アプリケーション・セキュリティ・テスト(SAST)、ソフトウェア・コンポジション解析(SCA)、動的アプリケーション・セキュリティ・テスト(DAST)、およびインタラクティブ・アプリケーション・セキュリティ・テスト(IAST)が含まれます。

安全なSDLCアプローチの利点には次のものがあります。

  • よりセキュアなソフトウェア
  • セキュリティが全てのステージに組み込まれている
  • 脆弱性を早期に発見することに加えて、設計上の欠陥も特定される
  • 早期にテストする(シフト・レフト)ことで、SDLCの早い段階で欠陥を検出し、修正が容易になるため、コストが削減される
  • 組織に内在するビジネスリスクの全体的な削減

 

問題は、組織がコードを本番環境にデプロイする頻度が高い(サイクルが短い)ほど、セキュリティ関連作業に費やすことのできる時間が少なくなることです。 セキュリティ関連作業、さらには自動化されたツールでさえ、摩擦を引き起こし、速度を低下させ、時間のかかる手動プロセスを必要とすることがよくあります。 そして、遅い作業をこなしている余裕はありません。

業界の抱える課題

セキュリティチームは、DevSecOpsと呼ばれるプロセスに追いつこうとして、DevOps手法の採用をますます推進しています。それは自動化を推進することを意味します。自動化はDevOpsにとって重要でですが、DevSecOpsにとってはさらに重要です。ただし、別のアプリケーション・セキュリティ・ツールを追加し、それを自動化してセキュリティ関連作業を拡大するだけでは、それを削減することはできません。以前も機能していませんでしたし、現在でも機能してはいません。パイプライン内のいくつかのツールを自動化し、それらが必要かどうかに関係なく実行することは、引き続き業界の問題であり、次のようないくつかの課題を生み出しています:

  • DevOpsチームにはスピードが必要ですが、自動化されたセキュリティ関連作業は低速です。そして、アプリケーションセキュリティ・テストツールの実行には時間がかかるため、開発パイプラインに統合すると、パイプライン全体の速度を低下させてしまいます。
  • 自動化されたセキュリティツールは、最も重要な問題だけを見つけるようには設定されておらず、すべての問題を見つけてしまいます。
  • DevOpsでは絶え間ないコラボレーションが必要ですが、欠陥の発見を画一的行うことができるわけではありません。各セキュリティ・テスト・ツールには、独自のAPI、結果を提供する独自の方法、およびビルドを中断する独自の方法があります。パイプラインで自動化された各ツールの違いを理解して統合する必要があるため、セキュリティチームは開発チームや運用チームとのコラボレーションに苦労しています。
  • DevOpsには拡張性が必要ですが、セキュリティ・ツールや関連作業には人間が介在する必要があります。脅威モデリングを再度実施し、マニュアル・コードレビューペネトレーション・テストなど、定期的に実行する必要のある手動の作業がいくつかあります。これらの手動のセキュリティ関連作業を、いつ、どのアクティビティを実施する必要があるのかわからないか知らないため、DevOpsチームの規模を大きくすることがさらに困難になります。
  • 自動化されたセキュリティツールは誤検知が多く、解決と修復がより困難になります。

解決策

この問題の理想的な解決策は次のとおりです:

  • 黄金の三角形のバランスをとる:人、プロセス、テクノロジー
  • パイプラインの速度を落とさずに自動セキュリティ・テストを実行する
  • 組織内のすべてのプロセスとポリシーを実施する
  • 可能な限り自動化し、修復のための最も重要な問題のみを明らかにすることにより、開発者の負担を軽減する
  • ポリシー、リスクプロファイル、およびコードの変更に基づいて、適切なテストと分析が適切なタイミングで実行されるようにする
  • 重大な欠陥を修正できず、コードを本番環境にデプロイする必要がある場合に、自動サインオフ・プロセスを提供する
  • 監査チームまたはコンプライアンス・チームがいつでもログを確認できるように、すべての決定を文書化する

Intelligent Orchestration

Intelligent Orchestrationにより、開発チームは速度を維持しながら、アプリケーション・セキュリティ解析をDevOpsパイプラインに統合できます。SDLCイベントと定義されたポリシーに基づいて適切なセキュリティ・テストを、適切なタイミングで自動的に実行する、専用のクラウドベースのCI / CDパイプラインを使用できます。また、リスクベースの脆弱性レポートを提供することで、チームが最も優先度の高い問題に集中できるようにします。

Intelligent Orchestrationはどのように開発チームを支援できるか?

開発者には、組織のセキュリティ・ポリシーによって優先順位が付けられた脆弱性(たとえば、重大な脆弱性のみ、または重大なSQLiの脆弱性のみ)が与えられるため、分析結果の量の多さに圧倒されることはありません。Intelligent Orchestrationは、実際のコード変更、動的に計算された合計リスクスコア、および事前に決定されたセキュリティ・ポリシーに基づいて、特定のスキャンを実行するタイミングとスキャンを実行しないタイミングを決定できます。

開発チームは、開発者がコード変更をプッシュしたり、開発ブランチからメインブランチにコードをマージしたりするたびに、そのアクションによってSASTまたはSCAが実行されるように指定することもできます。 次に、開発者は、特定された問題を修正するために必要なすべての情報を取得し、修正されたコードをメインブランチにマージします。詳細な説明、利用可能な修正アドバイス、変更されたファイル、行番号、コミットIDなどです。

Intelligent Orchestrationは、数百、数千のCI / CDジョブを実行しているDevOpsエンジニアにも役立つだけでなく、既存のツールチェーンと簡単に統合できる専用のセキュリティ分析パイプラインを提供することにより、アプリケーションセキュリティテストをDevOpsパイプラインに追加するリスクを簡素化および削減します。また、分析を他の開発フローから分離することで摩擦を低減し、パイプラインの速度が維持されるようにします。

Intelligent Orchestrationはどのようにセキュリティとコンプライアンスを支援することができるか

セキュリティチームは、組織の特定のポリシー、ガバナンス、およびコンプライアンス要件を簡単に構成する必要があります。Intelligent Orchestrationでは、セキュリティ関連作業の深さと幅、通常の開発ワークフローの異常の検出、およびスキャンのコンプライアンス要件を決定するポリシーを、個々のビジネスユニット、製品チーム、アプリケーション、または組織全体に対して構成できます。

セキュリティチームは、構成可能な基準に基づいてセキュリティ・ゲートまたは品質ゲートを簡単に実装することもできます。特定された重大な問題は、Jiraなどのバグ追跡システムに自動的にプッシュされます。これにより、セキュリティ結果の継続的なフィードバックと可視性が開発チームに提供されます。

Intelligent Orchestrationは、ユーザーがスキャン後のフィードバックを構成できるため、指定された開発、セキュリティ、およびDevOpsリードに、ビルドの一時停止または失敗、または重大なセキュリティの脆弱性または障害が即座に通知されます。これにより、修復が迅速化されます。

 

Intelligent Orchestrationで規模とスピードを維持しつつセキュリティを実現

Intelligent Orchestrationによって、アプリケーションのセキュリティが開発パイプラインの速度を低下させ、デジタルトランスフォーメーションとイノベーションを妨げるのではないかと心配する必要はありません。ビルドごとに、パイプラインですべての自動化されたセキュリティ・テスト(SAST、SCA、IAST、DASTなど)を実行し、チームが手動のテストを実行するのを待つ代わりに、Intelligent Orchestrationは適切なツールのみを実行し、適切な手動アクティビティの開始を促します。適切なタイミング(または適切なタイミングでない)。 適切な通知を送信する(あるいはまったく送信しない)。 適切な人に通知するか(誰にも通知しない)を自動的に処理します。 Intelligent Orchestrationを使用することで、チームは安全で高品質なソフトウェアをより高速に構築できます。

 

この著者によるその他の情報