close search bar

Sorry, not available in this language yet

close language selection
 

Intelligent Orchestrationによるアウト・オブ・バンドのアプリケーション・セキュリティ

Intelligent Orchestrationにより、セキュリティ・チームと開発チームは協調的なDevSecOpsワークフローを実装して摩擦を軽減できます。

開発チーム | Synopsys

アプリケーション・セキュリティ(AppSec)では、ソフトウェア開発に1つの層を追加します。プロセスの自動化が進み、継続的デリバリー/継続的デプロイ(CI/CD)パイプラインに統合されるツールが増えるほど、エンド・ツー・エンドのソフトウェア・セキュリティを保護するために組織が直面する課題(誤検知やノイズなど)も増えます。

多くの組織はソフトウェア開発工程でのセキュリティの必要性を認識していますが、AppSecによって開発が停滞することを危惧しています。確かに、効果的に実装されていない場合にはその可能性が ありますが、アウト・オブ・バンドのAppSecアクティビティ(時間がかかりすぎるか、人手の介在が必要なためにパイプラインで実行できないアクティビティ)の開始と管理を自動化することで、それを回避することが可能です。さらに、policy-as-codeを使用すれば、必要なときに必要なテスト(自動テストおよびアウト・オブ・バンド・テスト)を実行し、結果をフィルター処理して、組織にとって重要な結果のみを取得することができます。

セキュリティ・テスト

すべての潜在的な不具合や脆弱性を見つけるセキュリティ手法はありません。徹底したセキュリティ・プログラムには、重複するテストとプロセスが必要です。開発中のアプリケーションに適用可能で、実行が推奨されるセキュリティ・テスト・アクティビティには、ソフトウェアの欠陥を特定するテストと不具合を特定するテストがあります。

欠陥の特定

アプリケーション・アーキテクチャの欠陥を特定するために使用される一般的なアウト・オブ・バンド・テスト・ツールには次の2つがあります。

  • アーキテクチャ・リスク分析 攻撃の成功を可能にするアーキテクチャ上の弱点を発見するための時間のかかるプロセス。この分析をソフトウェア開発ライフサイクル(SDLC)の早い段階で実行することにより、セキュリティの問題を簡単に見つけて修正することができます。
  • 脅威モデリング:アーキテクチャ、ソフトウェア・コンポーネント、セキュリティ・コントロール、資産、信頼境界を脅かすエージェントの種類を特定します。このタイプのテストでは、ハッカーの視点からシステムを観察して潜在的な被害を特定します。

不具合の特定

ソフトウェアの脆弱性をもたらす弱点と不具合(セッション管理、サービス拒否、APIの悪用、安全でない暗号化の使用、ビジネス・ロジックの問題、不適切なコーディング手法など)を特定するための自動化されたアウト・オブ・バンド・テスト手法があります。たとえば、静的解析は、コードベースを検査するため、バッファ・オーバーフロー、SQLインジェクションクロスサイト・スクリプティングなどの脆弱性を自動的に特定できますが、アウト・オブ・バンドのコード・レビューを必要とするビジネス・ロジックの問題の特定には役立ちません。

人手の介在なしに実行される自動化されたインライン・ソリューション

  • ソースコードをコンパイルする前に解析してセキュリティ脆弱性を検出する静的アプリケーション・セキュリティ・テスト(SAST
  • ソース・プログラムにアクセスしたり、ソース・プログラムを可視化することなく、実行中のアプリケーションを検査する動的アプリケーション・セキュリティ・テスト(DAST
  • 自動化されたプロセスによって、コードベース内のオープンソース・ソフトウェアや他のサードパーティー製ソフトウェアを特定し、セキュリティ、ライセンス・コンプライアンス、コード品質を評価するソフトウェア・コンポジション解析(SCA
  • セキュリティ・タスクに焦点を当てた品質保証プロセスによって脆弱性と弱点を確実に特定および評価するリスクベースのセキュリティ・テスト

アウト・オブ・バンド・テスト・ツールの種類

  • ソースコードを1行ずつ目視で調査しながら脆弱性を検出し、対象のビジネス・ロジックをテストして、コードが適切に実装されていることを確認するコード・レビュー
  • システムのセキュリティ状態を確認する目的で機密データへのアクセスを試みて、システムに対する攻撃をシミュレートするペネトレーション・テスト

Intelligent Orchestration

モダン・アプリケーションの複雑化に伴い、セキュリティ・テストでは、計画、コーディング、ビルド、テスト、プレリリース、デプロイ、運用など、パイプラインのさまざまなフェーズに応じて多様なアクティビティとリソースが必要になります。開発パイプラインと並行して継続的なセキュリティを実装することが、その有効な対策となります。セキュリティ・テストを専用のパイプラインに分離し、わずかなAPI呼び出しで既存のパイプラインに簡単に統合して並列処理することが可能なSynopsysのIntelligent Orchestrationでは、オンプレミスまたはクラウドで実行されるツールをセキュリティ・パイプラインに接続することができます。

SDLCのアプリケーション・セキュリティ | Synopsys

図1:SDLC全体を網羅する最適化されたDevSecOpsを可能にするIntelligent Orchestration

この統合ソリューションでは、CI/CDパイプラインの要所にセキュリティ・チェックポイントを設定し、重大な脆弱性が見つかった場合には開発を停止します。アプリケーションの業務上の重要性、データ分類、検出されたアクティビティの重要性などのビジネス・ポリシーとプロセスに基づいてルールを定義し、これをリスク・スコアに変換してアクティビティをフィルター処理し、優先順位を付けます。問題が、重大と定義したアクティビティ(コード変更、コンプライアンス要件、スケジューリングなど)に基づいて事前に定められたしきい値に達すると、Intelligent Orchestrationは次のアクションをトリガし、実行するインライン・テストとアウト・オブ・バンド・テストの組み合わせを決定します。

たとえば、テスト・ツールでは、軽微なコード変更や、リスク・スコアが低く、すぐに対処する必要がない、またはまったく対処が不要な優先度の低い欠陥/不具合であっても、常にアプリケーションの問題として検出される可能性があります。Intelligent Orchestrationでは、結果に優先順位を付けることで、重要と指定されたテスト結果のみを生成し、時間とリソースの浪費をなくして、軽微な脆弱性で過負荷が生じることを防ぎます。

開発チームと業務チームには常に適切な情報が提供され、チームにとって本当に注意が必要で対処可能な結果と洞察のみを得ることができます。提供される情報には、脆弱性の詳細、脆弱性に対処するために必要なツール、特定されたリスクを軽減するために必要な解析の深度などを含めることができます。

スケーラブルなSDLCセキュリティ

適切なチームに適切な情報が提供され、関心のある対処可能な結果を得られるようにすることで、時間とリソースの浪費を回避し、脆弱性対策に伴う過負荷を軽減します。Intelligent Orchestrationでは、開発を停滞させたり、重要な問題を見落とすことなく、DevOpsパイプラインにセキュリティを容易に組み込むことができます。

開発チームとセキュリティ・チームが直面する課題と、開発スピードを遅らせることなくリスクを軽減する方法については、Enterprise Strategy Groupによるホワイトペーパー 「Cracking the Code of DevSecOps(DevSecOpsのコードを解読する)」をご覧ください。

ESGレポートをダウンロード:Cracking the Code of DevSecOps(DevSecOpsのコードを解読する)

 
Meera Rao

投稿者

Meera Rao


More from おすすめ