アプローチ 異なるアプローチを用いると、アプリケーションに潜むセキュリティ脆弱性 の異なるサブセットが発見され、ソフトウェアライフサイクルの異なる段階で最も効果を発揮します。それぞれのアプローチは、時間、労力、コスト、そして発見される脆弱性の数において、異なるトレードオフを伴います。
セキュリティ上の脅威 Open Worldwide Application Security Project ( OWASP ) は、無料でオープンなリソースを提供しています。OWASP Foundation という非営利団体が主導しています。OWASP Top 10 - 2017 は、40 を超えるパートナー組織から収集された包括的なデータに基づく最近の調査結果です。このデータにより、50,000 を超えるアプリケーションで約 230 万の脆弱性が明らかになりました。[ 4 ] OWASP Top 10 - 2021 によると、最も重大な Web アプリケーション セキュリティ リスク 10 項目は次のとおりです。[ 5 ] [ 6 ]
アクセス制御の 不具合暗号化の失敗 注射 安全性の低い設計 セキュリティ設定の誤り 脆弱で旧式の部品 識別および認証の失敗 ソフトウェアおよびデータ整合性の障害 セキュリティログ記録および監視の障害* サーバーサイドリクエストフォージェリ(SSRF)*
セキュリティ管理 OWASP Top 10 Proactive Controls 2024は、すべてのソフトウェアアーキテクトと開発者が知っておくべき、そして留意すべきセキュリティ技術のリストです。
現在のリストには以下が含まれます。
アクセス制御を実装する 暗号化を正しく使用する すべての入力を検証し、例外を処理する セキュリティ対策は最初から行う デフォルトで安全な設定 部品を安全に保管してください デジタルアイデンティティを導入する ブラウザのセキュリティ機能を使用する セキュリティログ記録と監視を実装する サーバーサイドリクエストフォージェリを阻止する
セキュリティテスト手法は、アプリケーションの脆弱性やセキュリティホールを徹底的に調査します。これらの脆弱性によって、アプリケーションは悪用される危険性が高まります。理想的には、セキュリティテストは ソフトウェア開発ライフサイクル (SDLC)全体を通して実施され、脆弱性にタイムリーかつ徹底的に対処できるようにします。
アプリケーションの脆弱性を特定するための自動化ツールには多くの種類があります。アプリケーションの脆弱性を特定するために一般的に使用されるツールカテゴリには、以下のようなものがあります。
静的アプリケーションセキュリティテスト (SAST)は、アプリケーション開発中にソースコードを分析してセキュリティ脆弱性を検出します。動的アプリケーションセキュリティテスト(DAST)と比較して、SASTはアプリケーションが実行可能状態になる前でも利用できます。SASTはソースコード全体にアクセスできるため、ホワイトボックスアプローチを採用しています。これにより、より詳細な結果が得られる一方で、手動で検証する必要のある誤検出が多く発生する可能性があります。動的アプリケーションセキュリティテスト (DAST、脆弱性スキャナー とも呼ばれる)は、Webサイトをクロールして分析することで脆弱性を自動的に検出します。この方法は拡張性が高く、統合が容易で、迅速です。DASTツールは、インジェクションの欠陥などの低レベルの攻撃に対処するのに適していますが、ロジックやビジネスロジックの欠陥などの高レベルの欠陥を検出するのには適していません。[ 7 ] ファジング ツールは、入力テストによく使用されます。[ 8 ] 業界のアプリケーションセキュリティ研究では、安全でないAPI、クライアント側のコード改ざん、ランタイムエクスプロイトに関連するリスクの増大が強調されており、包括的な動的およびランタイムセキュリティテストの重要性が改めて示されています。[ 9 ] 対話型アプリケーションセキュリティテスト(IAST)は、ソフトウェア計測を使用してアプリケーションを内部から評価します。これは、SASTとDASTの両方のメソッドの長所を組み合わせたものであり、コード、HTTPトラフィック、ライブラリ情報、バックエンド接続、構成情報へのアクセスを提供します。[ 10 ] [ 11 ] 一部のIAST製品ではアプリケーションへの攻撃が必要ですが、通常の品質保証テスト中に使用できるものもあります。[ 12 ] [ 13 ] ランタイムアプリケーション自己保護機能 は、既存のアプリケーションを拡張し、アプリケーション実行環境内から侵入検知と防御機能を提供します。依存関係スキャナー(ソフトウェア構成分析 とも呼ばれる)は、既知の脆弱性を持つソフトウェアコンポーネントの使用を検出します。これらのツールは、ソースコードのビルドプロセス中など、必要に応じて実行することも、定期的に実行することもできます。
セキュリティ基準と規制 CERTセキュアコーディング標準 ISO/IEC 27034-1:2011情報技術 ― セキュリティ技術 ― アプリケーションセキュリティ ― 第1部:概要と概念 ISO/IEC TR 24772:2013情報技術 ― プログラミング言語 ― 言語の選択と使用によるプログラミング言語の脆弱性の回避に関するガイダンス NIST特別刊行物800-53 OWASP ASVS: Webアプリケーションセキュリティ検証標準[ 14 ]
参考文献 ↑ Happe, Andreas (2021年6月3日). 「AppSecって一体何?」 . snikt.net . ↑ 「Webアプリケーションセキュリティの概要」 。2015年10月23日。 ↑ シュアイブ、バラ・ムーサ。ノルワウィ、ノリタメリーランド州。セラマット、モフド・ハサン。アル・アルワニ、アブドゥルカリーム (2013-01-17)。 「Web アプリケーションのセキュリティ開発モデルの系統的レビュー」。 人工知能のレビュー 。 43 (2): 259–276 。 土井 : 10.1007/s10462-012-9375-6 。 ISSN 0269-2821 。 S2CID 15221613 。 ↑ Korolov, Maria (2017年4月27日). 「最新のOWASP Top 10はAPIとWebアプリに注目: 新しいOWASP Top 10リストが公開され、そのほとんどは以前と同じですが、WebアプリケーションとAPIに焦点を当てた新しい項目が追加されています」 。CSO . ProQuest 1892694046 . ↑ 「OWASPトップ10 - 2021:最も重大なWebアプリケーションセキュリティリスク10選」 。 オープンWebアプリケーションセキュリティプロジェクト 。2021年。 2022年 1月11日 取得 。 ↑ 「アプリケーションセキュリティとは | 種類、ツール、ベストプラクティス | Imperva」 。 ラーニングセンター。 2025年7月17日 取得 。 ↑ 「Webアプリケーション脆弱性スキャナー」 。NIST。 ↑ 「ファジング」 。OWASP。 ↑ https://quixxi.com/mobile-app-threat-landscape-in-2024 / ↑ Williams, Jeff (2015年7月2日). 「SASTとDASTは理解していますが、IASTとは何ですか?なぜ重要なのでしょうか?」 . Contrast Security . 2018年 4月10日 取得。 ↑ 「OWASP DevSecOps ガイドライン - 対話 型アプリケーションセキュリティテスト 」 。OWASP。2025-04-24。2025-04-24 に 取得 。 ↑ Abezgauz, Irene (2014年2月17日). 「対話型アプリケーションセキュリティテスト入門」 . Quotium. 2018年4月3日の オリジナルからアーカイブ済み 。 2018年 1月25日 取得。 ↑ Rohr, Matthias (2015年11月26日). "IAST: アジャイルセキュリティテストのための新しいアプローチ" . Secodis. ↑ 「OWASPアプリケーションセキュリティ検証標準」 。