The OWASP Top Ten Proactive Controls 2018は、すべてのソフトウェア開発プロジェクトにおいて考慮する必要があるセキュリティ手法のリストです。このドキュメントは開発者におけるセキュアな開発を支援するために書かれています。 このドキュメントの主な目的の1つは、開発者がセキュアなソフトウェアを構築するのに役立つ具体的、かつ、実践的なガイダンスを提供することです。これらの手法をソフトウェア開発の初期段階から積極的に活用し、効果を最大化する必要があります。
リストは重要度順に並べられ、リスト項目番号01が最も重要です。
- C01: セキュリティ要件の定義]
- C02: セキュリティフレームワークやライブラリの活用
- C03: セキュアなデータベースアクセス
- C04: エンコーディングおよびエスケープ
- C05: すべての入力値の検証
- C06: アイデンティティと認証管理の実装
- C07: 適切なアクセス制御の実装
- C08: すべてのデータの保護
- C09: ロギングとモニタリングの実装
- C10: エラー処理と例外処理
このリストはプロジェクトリーダが作成し、複数のボランティアから意見をいただいたものです。その後、匿名の方からも意見をいただきました。このオープンコミュニティプロセスにより数多くの改善がなされました。
このドキュメントは主に開発者向けに書かれています。しかし、開発マネジャ、製品オーナ、Q/A専門家、プログラムマネジャ、およびソフトウェア構築に携わるすべての人に対しても有用です。
このドキュメントは、セキュアなソフトウェアを構築するための最初の気づきを提供することを目的としています。このドキュメントでは、入門ソフトウェアセキュリティ開発者トレーニングの推進に役立つトピックも提供します。これらのコントロールは、すべてのアプリケーションで一貫して徹底的に適用される必要があります。しかし、包括的な技術や実践としてではなく、セキュアなソフトウェア構築の出発点として利用するべきです。セキュアな開発プロセスには、OWASP ASVSなどのスタンダードに基づき包括的な要件を含めることに加え、OWASP SAMMやBSIMMなどの成熟度モデルで説明されている一連のソフトウェア開発アクティビティを含める必要があります。
OWASP Top 10 Proactive Controlsは、OWASP Top10に似ていますが、リスクではなく、防御手法とコントロールに焦点を当てています。この文書の各手法・コントロールは、OWASP Top 10リスクに示される1つ以上のリスクに対応しています。対応状況は、各コントロールの説明の末尾に記述しています。