定義

アプリケーション・セキュリティ(AppSec)は、ソフトウェア開発ライフサイクル(SDLC)全体にわたってアプリケーションの脆弱性を特定および修正し、脆弱性対策を取るために採用されるプロセス、プラクティス、ツールです。アプリケーション・セキュリティの分野には様々なツールや手法がありますが、弱点や脆弱性を特定し、悪用される前に修正することを目標としている点ではみな同じです。


アプリケーション・セキュリティが重要な理由

最近の企業は、顧客に直接ソフトウェアを販売しているにしても、運用でソフトウェアを利用しているにしても、何らかの形でソフトウェア・ビジネスに関わっています。ビジネス・リスクを低減するためには、扱うソフトウェアの安全性とセキュリティを確保することが重要です。堅牢なAppSec戦略は、ビジネス・リスクを軽減し、ソフトウェアのセキュリティに対する信頼を築く唯一の方法です。 


クラウド・アプリケーション・セキュリティ、Webアプリケーション・セキュリティ、モバイル・アプリケーション・セキュリティの違い

あらゆる種類のアプリケーション・セキュリティは、脆弱性を特定、軽減、防止することを目標としており、違いは、セキュリティ・テスト、プラクティス、手法を実行する場所、方法、時期にあります。

モバイル・アプリケーション・セキュリティ:モバイル・アプリケーション・セキュリティは、Android、iOS、Windows Phoneなどのさまざまなプラットフォームでのモバイル・アプリのソフトウェア・セキュリティ態勢に焦点を当てています。これは携帯電話とタブレットの両方で実行されるアプリケーションに対応しています。この機能では、アプリケーションの実行用に設計されたプラットフォーム、アプリケーションの開発に使用されたフレームワーク、および予想されるユーザーセット(従業員とエンド・ユーザーなど)の環境で、アプリケーションのセキュリティの問題を評価します。

モバイル・アプリケーション・セキュリティ・テストでは、悪意のあるユーザーが攻撃を試みるやり方でモバイル・アプリをテストする必要があります。効果的なセキュリティ・テストは、アプリケーションの目的と処理するデータの種類を理解するところから始まります。そこから、静的解析動的解析ペネトレーション・テストを効果的に連携することで、見逃されがちな脆弱性を見つけることができます。

クラウド・アプリケーション・セキュリティ:クラウド・アプリケーション・セキュリティは、企業が協調型クラウド環境でアプリケーションとデータを保護するための体系的なポリシー、プロセス、統制です。クラウド・セキュリティでは、主にアクセスの特定と管理、データ保護、インフラストラクチャ・セキュリティ、ロギングと監視、インシデント対応、脆弱性の軽減と構成分析などのアクティビティが中心となります。

Webアプリケーション・セキュリティ:Webアプリケーション・セキュリティは、攻撃を受けても想定どおりに機能するようにWebサイトを構築するプラクティスです。これには、悪意のある可能性があるエージェントから資産を保護するためにWebアプリケーションに組み込まれた一連のセキュリティ対策が関連します。Webアプリケーションには、あらゆるソフトウェアと同様、必然的に欠陥が存在します。その欠陥の一部は、悪用される可能性がある実際の脆弱性となり、組織にリスクをもたらしますが、Webアプリケーション・セキュリティは、このような欠陥から防御します。セキュア開発のプラクティスを活用し、SDLC全体を通じてセキュリティ対策を実施し、設計レベルの欠陥や実装レベルのバグに対処します。DAST、SAST、ペネトレーション・テスト、ランタイム・アプリケーション・テスト(RASP)などのテストが使用されます。 


アプリケーション・セキュリティ・テストはどの段階で実行するべきか

この質問に簡単に答えることはできません。テストの必要性と実施時期はアプリケーション、ビジネス・モデル、環境によって異なりますが、DevSecOpsの最新のモデルでは、SDLCのできるだけ早い段階で、頻繁にテストを行うことが推奨されています。最善の方法は、可能な限り頻繁にテストして問題を早期に発見し、問題が大きくなって余分な時間、コスト、手直しの労力が必要になる前に修正できるようにすることです。 


アプリケーション・セキュリティ・テストに使用するツール

AppSecツールの種類は幅広く、それぞれに固有のユースケースと機能があります。その中でも特に一般的なツールをご紹介します。

  • 動的アプリケーション・セキュリティ・テスト(DAST):この自動アプリケーション・セキュリティ・テストは、社内向けの低リスク・アプリケーションで、法令遵守のセキュリティ評価に準拠する必要があるものに最適です。リスクが中程度のアプリケーションや重要なアプリケーションに小規模な変更を加える場合、DASTと手動のWebセキュリティ・テストを組み合わせて一般的な脆弱性を発見するソリューションが最適です。
  • 静的アプリケーション・セキュリティ・テスト(SAST):SASTには、自動テストと手動テストがあり、アプリケーションを運用環境で実行することなくバグを特定できます。また、開発者はソースコードをスキャンし、ソフトウェアの脆弱性を体系的に特定して排除します。
  • ペネトレーション・テスト:この手動アプリケーション・セキュリティ・テストは、重要なアプリケーション、特に大きな変更を行っているアプリケーションに最適です。この評価には、高度な攻撃シナリオを検出するためのビジネス・ロジックと敵対的テストが含まれます。
  • ソフトウェア・コンポジション解析(SCA):SCAは、アプリケーションやコンテナに含まれるオープンソースおよびサードパーティーのコードから生じるセキュリティ、品質、ライセンス・コンプライアンス上のリスクの管理を支援します。
  • インタラクティブ・アプリケーション・セキュリティ・テスト(IAST):インタラクティブ・アプリケーション・セキュリティ・テストは、DevOpsパイプライン内のWebアプリケーション・セキュリティ・テストを自動化します。IASTは、特定された脆弱性の再テストを自動的に行い、特定された脆弱性が実在するものであるか、またエクスプロイトとして悪用される可能性があるものであるかどうかを高精度に自動検出します。従来の動的テストよりも高精度で、重要なセキュリティ脆弱性に関するビューをリアルタイムで提供します。

 

Application Security, Explained  | Black Duck

シノプシスの支援方法

Black Duckは、包括的なAppSecソリューションを提供しています。マジック・クアドラントのアプリケーション・セキュリティ部門のリーダーに6年連続で選出されたBlack Duckの業界をリードするソリューションは、信頼できる専門知識でお客様が必要とするカバレッジを提供します。

Black Duckの包括的なソリューション群の詳細についてはこちらをご覧ください。