開発者は、ソフトウェア開発プロセスの一環としてアプリケーション・セキュリティー・テスト(AST)を実行し、ソフトウェア・アプリケーションの新しいバージョンまたは更新されたバージョンに脆弱性がないことを確認します。アプリケーションのセキュリティーに関連するいくつかのテストとツールを以下に示します。
静的アプリケーション・セキュリティー・テスト(SAST):このASTは、プログラムを実行することなく、アプリケーションのソース・コードを分析するソリューションを使用します。SASTによって、開発ライフサイクルの早い段階で、潜在的なセキュリティー脆弱性、コーディング・エラー、アプリケーションのコードベースの弱点を特定できます。開発者は、デプロイメント前にこれらの問題を修正できます。
動的アプリケーション・セキュリティー・テスト(DAST):SASTとは異なり、DASTツールは、アプリケーションを実行中に評価します。本番環境でのアプリケーションのセキュリティー体制に関する洞察を提供し、実世界の攻撃シナリオをシミュレートして、攻撃者がエクスプロイトする可能性のある入力検証エラー、認証の欠陥、構成の弱点などの脆弱性を特定します。
インタラクティブ・アプリケーション・セキュリティー・テスト(IAST):IASTは、SASTとDASTを組み合わせたものであり、動的でインタラクティブなテストに重点を置き、制御され監視されている環境で実際のユーザー入力とアクションを使用してアプリケーションを検査することで改善を図ります。脆弱性はリアルタイムで報告されます。
OWASPトップ10:OWASPトップ10は、Webアプリケーションが直面する最も重大なセキュリティー・リスクのトップ10のリストです。このリストは、ソフトウェア・セキュリティーの向上に焦点を当てている国際非営利組織であるOpen Web Applications Security Project(OWASP)によって編集されており、開発者、セキュリティー専門家、および組織に対して、セキュリティー侵害につながる可能性がある、蔓延度が高く影響の大きい脆弱性に関するガイダンスを定期的に更新しています。
ランタイム・アプリケーション自己保護(RASP):RASPソリューションは、疑わしいアクティビティーや悪意のあるアクティビティーの兆候がないかを、実行時にアプリケーションの動作を監視することで保護します。リアルタイムで攻撃を検出して対応でき、RASPの形式によっては、悪意のあるアクションが検出されたときにブロックできます。
ソフトウェア構成分析(SCA):SCAツールは、アプリケーションで使用されるオープンソース・コンポーネントやサード・パーティー・ライブラリーを特定し、管理します。それにより依存関係を分析し、既知の脆弱性やライセンス、コンプライアンス上の問題など、セキュリティー体制を評価できます。
セキュア開発ライフサイクル(SDL)ツール:SDLツールは、セキュリティーを開発プロセスに統合します。これらは開発者にガイドラインと自動チェックを提供し、ソフトウェア開発ライフサイクル(SDLC)全体でセキュリティー上の考慮事項に確実に対処できるようにします。
Webアプリケーション・ファイアウォール(WAF):WAFは、Webアプリケーションとインターネット間のHTTPトラフィックをアプリケーション層でフィルタリングおよび監視することにより、WebアプリケーションとそのAPIを保護するように設計されています。SQLインジェクション、クロスサイト・スクリプティング(XSS)、クロスサイト・リクエスト・フォージェリー(CSRF)などの一般的なWebベースの攻撃を検出してブロックできます。これにより、データ侵害や不正アクセスのリスクを軽減できます。
これらのツールやテクノロジーは、暗号化、認証メカニズム、セキュリティー・テスト・フレームワークなどの他のツールと同様に、幅広いセキュリティー上の脅威や脆弱性からアプリケーションを保護するために重要です。組織は多くの場合、アプリケーション・セキュリティー戦略の一環として、これらのテストとツールを組み合わせて使用します。