アプリケーションセキュリティ(AppSec)は、アプリケーションのライフサイクル全体にわたってアプリケーションの脆弱性を検出し、軽減する手法です。 これには、セキュリティの問題を見つけて修正するだけでなく、予想されるアプリケーションの動作、関連する脅威モデル、およびアプリケーションのコンポーネント、構成、機能に関連するリスクを深く理解することも含まれます。
時間の経過とともに、サイバーセキュリティは境界防御のみに集中することから、アプリケーションセキュリティを優先することに変わりました。 この変化は、アプリケーションを標的とする新しい脅威が、攻撃対象領域を縮小するための高度な方法をどのように必要としているかを示しています。
一般的な脅威の詳細については、以下をお読みください。 OWASPトップ10の脆弱性、および侵害の実際の例。 また、アプリケーションのセキュリティ、ツール、および手法を強化するためのベスト プラクティスについても説明します。 さっそく始めましょう。
The Secure Coding Best Practices [Cheat Sheet]
With curated insights and easy-to-follow code snippets, this 11-page cheat sheet simplifies complex security concepts, empowering every developer to build secure, reliable applications.
Download Cheat SheetDevSecOps: セキュリティと DevOps の統合
AppSecの最大のトレンドの1つは、シフトレフトの動きです。 「左にシフト」 を置くことを意味します 安全なコーディング手法 ソフトウェア開発ライフサイクル (SDLC) の最初に配置されます。 開発の各フェーズでは次のようになります。
Development Phase | Strategies for shifting left |
---|---|
Design | Evaluate risks and incorporate security measures |
Development | Follow secure coding standards; carry out exhaustive testing before deployment |
Deployment and beyond | Continuously monitor applications; keep up with patches and updates |
結局のところ、DevOpsの変革は DevSecOps(デブセックオプス) 左シフトを可能にします。 DevSecOpsフレームワークでは、すべてのチームメンバーがセキュリティに対する責任を共有します。 DevSecOpsは、継続的な監視、頻繁なテスト、迅速な脆弱性修正を奨励することで、開発者がリスクを負い、セキュリティに対して責任を負うことができる文化をビジネスに持ち込むことができます。
アプリケーションセキュリティにおけるOWASPの役割
Open Web Application Security Project(OWASP)は、アプリケーションセキュリティの向上に重要な役割を果たす、世界的に認められた非営利団体です。 その最も注目すべき貢献であるOWASP Top Ten Web Application Security Risksは、最も重要なWebアプリケーションのセキュリティリスクを概説し、アプリケーションを保護するためにこれらの脆弱性を軽減するためのガイダンスを提供します。
OWASPが強調する主な脅威とその影響は次のとおりです。]
アクセス制御の解除: 攻撃者は、アクセス制御メカニズムの欠陥を悪用して、データの表示、変更、削除などの不正なアクションを実行します。 これを軽減するには、最小特権の原則を適用し、ユーザーロールを厳密に検証し、アクセス制御ポリシーを定期的にテストします。 動的アプリケーションセキュリティテスト(DAST)などのツールは、テスト中にこれらの問題を特定するのに役立ちます。
暗号化の失敗: プレーンテキストのパスワードや脆弱な暗号化など、機密データの保護が不十分であると、侵害につながる可能性があります。 強力で最新の暗号化アルゴリズムを使用し、キーを安全に管理し、転送中および保存中のデータが暗号化されるようにします。 暗号化チェックをCI/CDパイプラインに統合すると、構成の欠陥を早期に発見できます。
インジェクション攻撃(SQLインジェクションなど): 攻撃者は、入力フィールドに悪意のあるコードを挿入し、機密データを公開または変更することでクエリを操作します。 パラメータ化されたクエリとプリペアドステートメントを使用して、インジェクション攻撃から保護します。 最新のCI/CDパイプラインでは、SASTツールを活用して、開発プロセスの早い段階で脆弱性を検出できます。
安全でない設計: セキュリティ設計が不十分なアプリケーションは、実装の品質に関係なく、攻撃に対して脆弱です。 安全な設計原則を採用し、脅威モデリングを実施し、設計フェーズの早い段階でセキュリティに関する考慮事項が組み込まれていることを確認します。 アーキテクチャのレビューでは、開発を開始する前に不安定なパターンを浮き彫りにすることができます。
セキュリティの設定ミス: オープンクラウドバケットや不要な機能など、設定が正しくない、または過度に許容範囲が広いと、悪用可能なギャップが生じます。 構成を定期的に確認して強化し、安全なデフォルトを適用し、構成監査を自動化します。 構成スキャナーなどのツールは、継続的な監視を提供できます。
脆弱で古いコンポーネント: 既知の脆弱性を持つ古いライブラリやフレームワークは、攻撃者の侵入口となります。 使う ソフトウェア・コンポジション解析(SCA) 依存関係を追跡し、コンポーネントを迅速に更新し、未使用のライブラリを削除するためのツール。 セキュリティアドバイザリを監視するための堅牢なプロセスを維持します。
識別と認証の失敗: パスワードポリシーの実装が不十分であるなど、認証メカニズムが弱いと、不正アクセスにつながる可能性があります。 多要素認証(MFA)を実装し、セッション管理を保護し、堅牢なパスワード要件を適用します。 認証フローを定期的にテストすることで、弱点を特定できます。
ソフトウェアとデータの整合性の障害: 未検証のアップデートや侵害されたソフトウェアサプライチェーンは、悪意のあるコードを導入する可能性があります。 コード署名を使用して、ソフトウェアの整合性を検証し、依存関係スキャンを実行し、CI/CD パイプラインをセキュリティで保護して改ざんを防止します。 重要なコンポーネントを定期的に監査して、予期しない変更がないか確認します。
セキュリティのログ記録と監視の失敗: ログ記録と監視が不十分なため、リアルタイムの攻撃の検出と対応が困難になります。 包括的なロギングプラクティスを実装し、ログを安全に保存し、異常なアクティビティに対するアラートを設定します。 自動ログ分析ツールを使用すると、検出機能を向上させることができます。
サーバーサイドリクエストフォージェリ(SSRF): 攻撃者は、サーバーを騙して悪意のある URL を取得させ、内部システムを公開させる可能性があります。 ユーザーが指定したすべてのURLを検証およびサニタイズし、送信リクエストに許可リストを適用し、重要なリソースへのネットワークアクセスを制限します。 すべての外部リクエストをセキュアゲートウェイ経由でプロキシすると、防御層がさらに強化されます。
重大な違反
重大な違反
エクイファックス(2017): Apache Strutsのパッチの欠落により、1億4,700万人の機密データが流出し、Equifaxは最大で 7億ドルの罰金.
マリオット(2018): 脆弱な暗号化とセグメンテーションにより、攻撃者は5億件の顧客記録にアクセスできました(パスポート番号を含む)。
キャピタル・ワン(2019年): Webアプリケーションファイアウォール(WAF)の設定ミスにより、脅威アクターは1億600万人のPIIにアクセスできましたこれには、銀行口座番号、社会保障番号、クレジットスコアが含まれます。
SolarWinds(2020年): 攻撃者はSolarWindsを侵害しました' ビルド環境、米国がこれまでに受けた最悪のサイバースパイ活動の一つ.”
Log4j(2021年): の脆弱性 Log4j は重大な RCE の脅威をもたらしましたは、気の遠くなるような数のWebサイト、アプリ、サービスに影響を与えています。
セキュリティ侵害から学んだベストプラクティス
大規模なセキュリティ侵害はすべて、強化に注力すべき同じ重要な領域を指し示しています。
パッチ適用と更新: タイムリーなアップグレードは、既知の脆弱性が悪用されるのを防ぐ唯一の方法です。 堅牢なパッチ管理ポリシーを確立し、ソフトウェアのインベントリを最新の状態に維持して、コンポーネントを見落とさないようにし、デプロイ前に制御された環境でパッチの破壊的変更を定期的にテストします。
認証と承認: 強力なセキュリティ構成とアクセス制御対策を実装することで、不正アクセスや悪用のリスクを大幅に軽減できます。 これには、最小特権の原則の適用、アクセス許可の定期的な監査の実施、多要素認証 (MFA) の使用が含まれます。 自動化された構成管理ツールは、すべての環境でセキュリティベースラインを維持するのに役立ちます。
サプライチェーンのセキュリティ: サードパーティ コンポーネントの脆弱性は、組織のシステム全体を危険にさらす可能性があります。 安全を確保するには、ベンダーの審査におけるデューデリジェンス、サードパーティコンポーネントの継続的な監視、統合などの包括的なアプローチを採用してください ソフトウェア開発ライフサイクル(SDLC)へのセキュリティプラクティス.
暗号化とデータ保護: 効果的なデータ暗号化とセグメンテーションにより、侵害が発生した場合でも不正アクセスを防ぐことができます。 機密データの保存と転送の両方での暗号化を優先し、暗号化プロトコルを定期的に更新し、個別のデータ環境を維持して露出を制限します。
クラウドセキュリティと構成管理: クラウドインフラストラクチャへの依存度が高まる中、適切なクラウドセキュリティプラクティス(安全な構成設定、定期的なレビュー、自動化されたセキュリティ体制管理など)は交渉の余地がありません。
脆弱性管理: 包括的な脆弱性管理プログラムには、定期的な脆弱性のスキャン、追跡、および修復を含める必要があります。 オープンソースおよびサードパーティのコンポーネントで新たに発見された脆弱性を迅速に特定し、対応することが重要です。
インシデント対応の準備: セキュリティ侵害を検出、封じ込め、軽減するための迅速な対応計画を策定します。 準備を整えるための優れた方法は、定期的なインシデント対応訓練を実施し、チームの定期的なトレーニングセッションを優先することです。
安全なコーディング手法: 確立されたコーディングガイドラインに従って、開発中に脆弱性が持ち込まれないようにします。
CI/CD Pipeline Security Best Practices [Cheat Sheet]
In this 13 page cheat sheet we'll cover best practices in the following areas of the CI/CD pipeline: Infrastructure security, code security, secrets management, access and authentication, monitoring and response
Download Cheat Sheetアプリケーション・セキュリティのためのツールと手法
ベストプラクティス以外にも、アプリケーションのセキュリティの取り組みをサポートするためのさまざまなツールとテスト方法があります。
静的アプリケーション・セキュリティ・テスト(SAST): この手法は、ソースコードまたはバイナリコードを分析して、開発サイクルの早い段階で脆弱性を特定します。
動的アプリケーション・セキュリティ・テスト(DAST): SASTとは異なり、 ダスト ソース コードにアクセスせずに実行中のアプリケーションをテストします。 このブラックボックステストアプローチは、実際の攻撃をシミュレートします。
アプリケーション検出と応答 (ADR): ADRの ライブアプリケーションをリアルタイムで監視し、実行時に脅威や異常を検出します。 これは、本番環境でのアクティブなエクスプロイトや悪意のあるアクティビティを特定して対応することに重点を置いており、運用状態のアプリケーションの動的なリスク軽減と継続的な保護を保証します。
ソフトウェア・コンポジション解析 (SCA): SCAツール アプリケーションで使用されるサードパーティおよびオープンソースのライブラリ内の脆弱性を特定することに焦点を当てます。 オープンソースのコンポーネントが広く使用されていることを考えると、SCAはリスクの管理に不可欠です。
シークレットのスキャン: シークレットスキャンツール 開発者がコードまたは構成ファイル内のハードコードされたシークレットを特定して削除するのに役立ちます。
Wizを使用したDevOpsプロセスへのAppSecの実装
これまで見てきたように、アプリケーションセキュリティに対する構造化されたアプローチには、制御が軽減するリスクとそのビジネスへの影響を明確に理解した上で制御を調整することが含まれます。 このアプローチの主なコンポーネントは次のとおりです。
リスク評価: 脆弱性の可能性と深刻度に基づいて潜在的な影響を特定し、情報に基づいた意思決定を可能にします。
脅威モデリング: 攻撃者がアプリケーション コンポーネントを悪用して、開発ライフサイクルの早い段階でリスクを発見し、それらを事前に軽減する方法を分析します。
セキュア開発ポリシー: コーディング、テスト、デプロイのガイドラインを確立し、リスクを早期に発見して防止する
トレーニングと意識向上: セキュリティリスクを特定して軽減するための知識を開発者に身に付けさせる
ただし、AppSecを自分で実装する必要はありません。Wizは、AppSecのすべての取り組みを1つの画面にまとめる最先端のプラットフォームを提供します。開発サイクルの早い段階で脆弱性を発見する
ただし、AppSecを自分で実装する必要はありません。 Wizは、AppSecのすべての取り組みを1つの画面にまとめる最先端のプラットフォームを提供します。 開発サイクルの早い段階で脆弱性を発見する Wizコード あなたの開始に重点を置きます 安全 での旅 コード レベル. ウィズ'の広範なスキャン機能とユーザーフレンドリーなインターフェースにより、開発プロセスにセキュリティを簡単に組み込むことができます。
自分の目で確かめる準備はできていますか? Wizのデモを予約する 今日、クラウドで構築および実行するすべてのものを保護することがいかに簡単かをご覧ください。
Secure your cloud from code to production
Learn why CISOs at the fastest growing companies trust Wiz to accelerate secure cloud development.