
A Framework for Integrating Application Security into Software Engineering (FIASSE) using the Securable Software Engineering Model (SSEM)
注記: このリポジトリは進行中の作業です。貢献を歓迎します!
TL;DR: DOC をお読みください。FIASSEウェブサイト をご覧ください。GitHub Discussions にアクセスして貢献してください。
このリポジトリには、OWASP Framework for Integrating Application Security into Software Engineering(FIASSE)のリソースと資料が含まれています。FIASSE(/feiz/ と発音し「フェーズ」のように)は、開発者中心の原理に基づくアプローチを推進し、セキュア化可能なソフトウェアを構築します。セキュリティは開発と同様に動的で継続的なプロセスであることを認識しています。Securable Software Engineering Model(SSEM)を共通の設計言語として導入し、確立されたソフトウェア工学の用語を用いてセキュリティをソフトウェアアーキテクチャ、設計、およびエンジニアリングに統合します。コード自体を形成する原則にセキュリティを統合します。このフレームワークは、時間の経過とともに脅威に耐える回復力のあるアプリケーションを構築することを目的としています。
開発者が深いセキュリティ専門知識を必要とせずにセキュア化可能なソフトウェアを作成できるようにする実践的なガイドラインを提供し、セキュリティ専門家がそのセキュリティ経験をソフトウェア工学に効果的に統合できるように導くことです。FIASSEはこれをソフトウェア工学のレンズを通じて実現し、認知負荷を軽減し、開発チームとセキュリティチーム間のコラボレーションを促進します。
OWASP Top 10のような保証重視のプロジェクトが回避すべき事項(ブロックリスト)を強調する一方で、OWASP FIASSEは従うべき肯定的な属性とプラクティスのセット(許可リスト)を提供します。このアプローチは、開発者にエクスプロイト技術の学習や脆弱性重視の考え方を要求するのではなく、既存のソフトウェア工学スキルを活用してセキュア化可能なソフトウェアを構築します。焦点は、馴染みのあるエンジニアリング原則を通じて実践的で安全なコーディングを可能にすることにあります。
開発プロセスにおけるセキュリティの実践的な役割を明確に定義することで、このフレームワークはビジネス価値が効果的に獲得されることを保証します。このように期待値を設定することで、セキュリティ上の欠陥が発見され、後で修正が必要になる可能性を大幅に低減します。
/docs ディレクトリのドキュメントを確認するこのリポジトリは、セキュア化可能なソフトウェアを、信頼性が高く、回復力があり、適応性のあるシステムとして定義しています。真のセキュリティは静的な達成ではなく継続的なプロセスであることを強調しています。セキュリティを適切にエンジニアリングされたソフトウェアの固有の品質セットとして捉えるSecurable Software Engineering Model(SSEM)を導入します。これを実現するために、保守性、信頼性(回復力を含む)、および信頼性の属性カテゴリを提示します。FIASSEは、セキュリティプラクティスを最も影響力のある開発ワークフローに統合することを提唱しています。これは「後付けのセキュリティ」や「シフトレフト」アプローチから、積極的で協力的なモデルへの移行です。プロダクトオーナー、開発者、セキュリティ専門家が設計の初期段階から協力し、特にセキュリティ要件の定義、協力的な脅威モデリング、受け入れ基準などの活動を通じて連携するという考え方です。これにより、コード活動とテストに対する明確な期待値が設定されます。ソフトウェアエンジニアには、柔軟性と制御のバランスを取るためのガイダンスが提供されます。また、セキュリティ上の意思決定を行うための明確なモデルも提供されます。最終的に、これによりすべてのステークホルダーが、より堅牢で信頼性が高く、本質的にセキュア化可能なシステムの構築に貢献できるようになります。
FIASSEは、開発者がセキュリティの専門家になることや敵対的な考え方を採用することを要求しない点で、既存のアプローチとは異なります。このアプローチは、開発者の認知負荷を軽減しながら、セキュリティチームがその懸念事項がコードとソフトウェア工学プロセスの特定の属性を通じて対処されることを確信できるようにすることを目的としています。
FIASSEは、オープンで親しみやすく、協力的であることを意図しています。
FIASSEプロジェクトの初期マイルストーン:
さらなるマイルストーンはプロジェクトチームとともに開発されます。コミュニティからの意見は GitHub Discussions で歓迎します。
このリポジトリは FIASSEウェブサイト を補完します。
OWASP FIASSE プロジェクトは、安全でないソフトウェアを排除するという使命に焦点を当てた非営利組織である OWASP Foundation の一部です。OWASP Foundationは、FIASSEの原則に沿った豊富なリソースとフレームワークを提供しています。
このフレームワークはセキュア化可能なソフトウェア工学に焦点を当てており、他のOWASPプロジェクトによって補完されています:
OWASPはまた、OWASP Mobile Application Security など、セキュリティ要件と機能を文書化した多数のプロジェクトをホストしています。OWASP Developer Guide は、他のさまざまなOWASPリソースの包括的なリソースです。
参照要件と保証プラクティスのもう1つの優れたリソースは OpenCRE で、さまざまなセキュリティフレームワークを収集してマッピングしています。
NISTの Secure Software Development Framework (SSDF) は、安全なソフトウェア開発プラクティスを実装するためのさまざまな側面を表す4つのフェーズを定義しています。ソフトウェア開発ライフサイクルへのセキュリティの統合を強調することで、FIASSEの原則と整合しています。
NCSCの Software Security Code of Practice は、望ましい成果と主要な戦略を定義しています。FIASSEフレームワークは、セキュア化可能な成果を達成するための第一レベルのフォローオン原則と戦略に焦点を当てており、開発チームと保証チームがビジネス戦略と整合することを目的としています。SSEMは、望ましい成果を生み出すために使用される属性を指定し、FIASSEメソドロジーはこれらの属性をソフトウェア工学プラクティスに実装するための実践的なガイダンスを提供します。
カーネギーメロン大学の CERT は、言語レベルのルールのセットであり、「すべきでないこと」の例として脆弱なコードパターンを示し、「すべきこと」の例を提供します。FIASSEは、プログラマーがセキュア化可能なコードの背後にある「なぜ?」を理解するのに役立つ原理に基づくアプローチを提供することで、これらのルールを補完します。
Software Factory Security Framework (SF2) は、「セキュリティリーダーにビジネス成果を改善しながらセキュリティ機能を拡張するための戦略的アプローチを提供します」。これは組織レベルのフレームワークであり、ソフトウェア工学プラクティスに焦点を当てたFIASSEを補完します。
ドキュメントと例を改善するための貢献を歓迎します。詳細については 貢献ガイドライン をご覧ください。
Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) - 詳細については LICENSE ファイルをご覧ください。
このプロジェクトはOWASPコミュニティによる協力的な取り組みです。ソフトウェアセキュリティの向上に対する貴重な意見と献身に、すべての貢献者に感謝します。
このプロジェクトに参加した 貢献者のリスト があります。初期のコンセプトの形成とアイデアのレビューに貢献した初期の貢献者もいます。