AppSecは開発速度を低下させるものであってはなりません。Intelligent OrchestrationがDevOpsツールチェーンから複雑さを取り除きつつAppSecテストを最適化する方法について説明しましょう。
競争力を維持するため、組織はデジタルトランスフォーメーションを採用し、記録的なスピードで革新しています。これを実現するために、DevOps、サイト信頼性エンジニアリング、GitOpsなどのプロセスを通じて俊敏性を取り入れています。組織は、新しい言語と新しいフレームワークを使用して最新のアプリケーションを構築し、それらを新しいプラットフォームとさまざまなオプションでデプロイしています。
これらのアプローチでは、速度を最大化し、継続的な改善を可能にするために自動化が必要です。ソフトウェア開発者は、コードの変更を毎日、または1時間ごとにチェックインし、コードを継続的デリバリーまたは継続的デプロイ・パイプラインを使用してデプロイするために迅速に行動する必要があります。ソフトウェア・セキュリティ業界にとって、好むと好まざるとにかかわらず、”速やかな出荷”はニューノーマル(新しい常識)なのです。
この速度の重視に直面し、さらにアプリケーション・セキュリティへの意識と関心が高まっているにもかかわらず、アプリケーションの脆弱性は依然として最大のサイバーセキュリティ・リスクです。 そうです、セキュリティを後から付け足すことはできないからです。
シノプシスは、ソフトウェア開発ライフサイクル(SDLC)全体でセキュリティテストを統合することで、脆弱性を早期に発見して取り除くことができると考えています。これを「セキュリティの構築」と呼びます。このテスト手法には、自動化された作業と手作業の両方が含まれます。脅威モデリングやアーキテクチャ・リスク分析などの手作業は、設計、資産、攻撃対象領域、および機能の詳細な調査に関するもので、自動化された作業には、静的アプリケーション・セキュリティ・テスト(SAST)、ソフトウェア・コンポジション解析(SCA)、動的アプリケーション・セキュリティ・テスト(DAST)、およびインタラクティブ・アプリケーション・セキュリティ・テスト(IAST)が含まれます。
安全なSDLCアプローチの利点には次のものがあります。
問題は、組織がコードを本番環境にデプロイする頻度が高い(サイクルが短い)ほど、セキュリティ関連作業に費やすことのできる時間が少なくなることです。 セキュリティ関連作業、さらには自動化されたツールでさえ、摩擦を引き起こし、速度を低下させ、時間のかかる手動プロセスを必要とすることがよくあります。 そして、遅い作業をこなしている余裕はありません。
セキュリティチームは、DevSecOpsと呼ばれるプロセスに追いつこうとして、DevOps手法の採用をますます推進しています。それは自動化を推進することを意味します。自動化はDevOpsにとって重要でですが、DevSecOpsにとってはさらに重要です。ただし、別のアプリケーション・セキュリティ・ツールを追加し、それを自動化してセキュリティ関連作業を拡大するだけでは、それを削減することはできません。以前も機能していませんでしたし、現在でも機能してはいません。パイプライン内のいくつかのツールを自動化し、それらが必要かどうかに関係なく実行することは、引き続き業界の問題であり、次のようないくつかの課題を生み出しています:
この問題の理想的な解決策は次のとおりです:
Intelligent Orchestrationにより、開発チームは速度を維持しながら、アプリケーション・セキュリティ解析をDevOpsパイプラインに統合できます。SDLCイベントと定義されたポリシーに基づいて適切なセキュリティ・テストを、適切なタイミングで自動的に実行する、専用のクラウドベースのCI / CDパイプラインを使用できます。また、リスクベースの脆弱性レポートを提供することで、チームが最も優先度の高い問題に集中できるようにします。
開発者には、組織のセキュリティ・ポリシーによって優先順位が付けられた脆弱性(たとえば、重大な脆弱性のみ、または重大なSQLiの脆弱性のみ)が与えられるため、分析結果の量の多さに圧倒されることはありません。Intelligent Orchestrationは、実際のコード変更、動的に計算された合計リスクスコア、および事前に決定されたセキュリティ・ポリシーに基づいて、特定のスキャンを実行するタイミングとスキャンを実行しないタイミングを決定できます。
開発チームは、開発者がコード変更をプッシュしたり、開発ブランチからメインブランチにコードをマージしたりするたびに、そのアクションによってSASTまたはSCAが実行されるように指定することもできます。 次に、開発者は、特定された問題を修正するために必要なすべての情報を取得し、修正されたコードをメインブランチにマージします。詳細な説明、利用可能な修正アドバイス、変更されたファイル、行番号、コミットIDなどです。
Intelligent Orchestrationは、数百、数千のCI / CDジョブを実行しているDevOpsエンジニアにも役立つだけでなく、既存のツールチェーンと簡単に統合できる専用のセキュリティ分析パイプラインを提供することにより、アプリケーションセキュリティテストをDevOpsパイプラインに追加するリスクを簡素化および削減します。また、分析を他の開発フローから分離することで摩擦を低減し、パイプラインの速度が維持されるようにします。
セキュリティチームは、組織の特定のポリシー、ガバナンス、およびコンプライアンス要件を簡単に構成する必要があります。Intelligent Orchestrationでは、セキュリティ関連作業の深さと幅、通常の開発ワークフローの異常の検出、およびスキャンのコンプライアンス要件を決定するポリシーを、個々のビジネスユニット、製品チーム、アプリケーション、または組織全体に対して構成できます。
セキュリティチームは、構成可能な基準に基づいてセキュリティ・ゲートまたは品質ゲートを簡単に実装することもできます。特定された重大な問題は、Jiraなどのバグ追跡システムに自動的にプッシュされます。これにより、セキュリティ結果の継続的なフィードバックと可視性が開発チームに提供されます。
Intelligent Orchestrationは、ユーザーがスキャン後のフィードバックを構成できるため、指定された開発、セキュリティ、およびDevOpsリードに、ビルドの一時停止または失敗、または重大なセキュリティの脆弱性または障害が即座に通知されます。これにより、修復が迅速化されます。
Intelligent Orchestrationによって、アプリケーションのセキュリティが開発パイプラインの速度を低下させ、デジタルトランスフォーメーションとイノベーションを妨げるのではないかと心配する必要はありません。ビルドごとに、パイプラインですべての自動化されたセキュリティ・テスト(SAST、SCA、IAST、DASTなど)を実行し、チームが手動のテストを実行するのを待つ代わりに、Intelligent Orchestrationは適切なツールのみを実行し、適切な手動アクティビティの開始を促します。適切なタイミング(または適切なタイミングでない)。 適切な通知を送信する(あるいはまったく送信しない)。 適切な人に通知するか(誰にも通知しない)を自動的に処理します。 Intelligent Orchestrationを使用することで、チームは安全で高品質なソフトウェアをより高速に構築できます。