Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 96 additions & 9 deletions docs/features/persistency/security_planning/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,32 +13,119 @@
# *******************************************************************************


Feature Security Planning
=========================
Persistency Security Work Products List
#######################################

.. document:: Persistency KVS Security WPs
:id: doc__persistency_security_wp
:status: valid
:version: 1
:version: 2
:safety: ASIL_B
:security: YES
:realizes: wp__platform_security_plan[version==1]
:tags: persistency

Tailoring
=========

.. list-table:: Feature persistency Workproducts
Additional to the tailoring in the SW platform project as defined in the project's :need:`wp__platform_security_plan` we define here the additional tailoring on feature level.

- Excluded for this feature are additionally the following work products (and their related requirements):

- none

Security Work Products List
===========================

.. list-table:: Persistency Security Work products
:header-rows: 1

* - Workproduct Id
* - Work product Id
- Link to process
- Process status
- Link to issue
- Link to WP
- WP status

* - :need:`wp__feat_request`
- :need:`gd_temp__change_feature_request`
- :ndf:`copy('status', need_id='gd_temp__change_feature_request')`
- :need:`doc__persistency`

* - :need:`wp__requirements_feat`
- :need:`gd_temp__req_feat_req`
- :ndf:`copy('status', need_id='gd_temp__req_feat_req')`
- :need:`doc__feature_persistency_requirements`

* - :need:`wp__requirements_feat_aou`
- :need:`gd_temp__req_aou_req`
- :ndf:`copy('status', need_id='gd_temp__req_aou_req')`
- :need:`doc__feature_persistency_requirements`

* - :need:`wp__feature_arch`
- :need:`gd_temp__arch_feature`
- :ndf:`copy('status', need_id='gd_temp__arch_feature')`
- :need:`doc__persistency_architecture`

* - :need:`wp__feature_security_analysis`
- :need:`gd_guidl__security_analysis`
- :ndf:`copy('status', need_id='gd_guidl__security_analysis')`
- TBD
- :need:`doc__persistency_stride`
- valid

* - :need:`wp__requirements_inspect`
- :need:`gd_chklst__req_inspection`
- :ndf:`copy('status', need_id='gd_chklst__req_inspection')`
- :need:`doc__feature_persistency_requirements_chklst`

* - :need:`wp__sw_arch_verification`
- :need:`gd_chklst__arch_inspection_checklist`
- :ndf:`copy('status', need_id='gd_chklst__arch_inspection_checklist')`
- :need:`doc__persistency_arc_inspection`

* - :need:`wp__verification_feat_int_test`
- :need:`gd_guidl__verification_guide`
- :ndf:`copy('status', need_id='gd_guidl__verification_guide')`
- Not yet available

Feature Security Package
========================

To create the security package (according to :need:`gd_guidl__security_package`) the following
documents and work products status have to go to "valid" (after the relevant verification were performed).

Feature Documents Status
------------------------

For all the work product documents the status can be seen by following the "Link to WP" and in
:ref:`persistency_module_documentation`.

Feature Requirements Status
---------------------------

The feature requirements are maintained in the SCORE platform repository.

.. needtable::
:filter: type == "feat_req" and id.startswith("feat_req__persistency__") and security == "YES"
:style: table
:columns: id;status
:colwidths: 25,25
:sort: title

Feature AoU Status
------------------

.. needtable::
:filter: type == "aou_req" and id.startswith("aou_req__persistency__") and security == "YES"
:style: table
:columns: id;status
:colwidths: 25,25
:sort: title

Feature Architecture Status
---------------------------

.. needtable::
:filter: docname is not None and "persistency" in docname and "architecture" in docname and security == "YES"
:style: table
:types: feat_arc_sta; feat_arc_dyn
:columns: id;status
:colwidths: 25,25
:sort: title
6 changes: 4 additions & 2 deletions docs/module/manuals/security_manual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,5 +90,7 @@ Security Weaknesses, Vulnerabilities

References
----------
| <link to the user manual>
| <other links>
| Module user manual: :need:`doc__persistency_user_manual`
| Module security plan: :need:`doc__persistency_security_plan`
| Feature security analysis: :need:`doc__persistency_stride`
| Feature architecture: :need:`doc__persistency_kvs_architecture`
63 changes: 29 additions & 34 deletions docs/module/security_mgt/module_security_plan.rst
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Security Management Roles
- Karthik Vanka

* - Module Project Manager (= Feature team lead)
- TBD
- Uwe Maucher

Tailoring
=========
Expand Down Expand Up @@ -103,8 +103,8 @@ Security Module Workproducts
- :need:`gd_guidl__security_analysis`
- :ndf:`copy('status', need_id='gd_guidl__security_analysis')`
- <Link to issue>
- <Link to WP>
- <automated>
- Not yet available
- n/a

* - :need:`wp__audit_report_security`
- performed by external experts
Expand Down Expand Up @@ -135,14 +135,14 @@ Security Module Workproducts
- :ndf:`copy('status', need_id='doc__persistency_release_note')`

* - :need:`wp__sw_module_sbom`
- template not yet created
- not started
- :need:`wf__cr_mt_security_sbom`
- :ndf:`copy('status', need_id='wf__cr_mt_security_sbom')`
- <Link to issue>
- <Link to WP>
- <automated>
- Bazel target ``//:sbom_product`` (product SBOM of ``//score/kvs:kvs`` and ``//score/kvs/rust_kvs:rust_kvs``)
- Generated with ``bazel build //:sbom_product``, not yet part of the release workflow


.. list-table:: Component Workproducts
.. list-table:: Component KVS Work products
:header-rows: 1

* - Workproduct Id
Expand All @@ -157,72 +157,67 @@ Security Module Workproducts
- :ndf:`copy('status', need_id='gd_temp__req_comp_req')`
- <Link to issue>
- :need:`doc__kvs_requirements`
- <automated>
- :ndf:`copy('status', need_id='doc__kvs_requirements')`

* - :need:`wp__requirements_comp_aou`
- :need:`gd_temp__req_aou_req`
- :ndf:`copy('status', need_id='gd_temp__req_aou_req')`
- <Link to issue>
- :need:`doc__kvs_requirements`
- <automated>
- :ndf:`copy('status', need_id='doc__kvs_requirements')`

* - :need:`wp__requirements_inspect`
- :need:`gd_chklst__req_inspection`
- :ndf:`copy('status', need_id='gd_chklst__req_inspection')`
- n/a
- Checklist used in Pull Request Review
- n/a
- <Link to issue>
- :need:`doc__kvs_req_inspection`
- :ndf:`copy('status', need_id='doc__kvs_req_inspection')`

* - :need:`wp__component_arch`
- :need:`gd_temp__arch_comp`
- :ndf:`copy('status', need_id='gd_temp__arch_comp')`
- <Link to issue>
- :need:`doc__kvs_architecture`
- <automated>
- :need:`doc__kvs_component_architecture`
- :ndf:`copy('status', need_id='doc__kvs_component_architecture')`

* - :need:`wp__sw_component_security_analysis`
- :need:`wp__sw_component_security_analysis`
- :ndf:`copy('status', need_id='wp__sw_component_security_analysis')`
- :need:`gd_guidl__security_analysis`
- :ndf:`copy('status', need_id='gd_guidl__security_analysis')`
- <Link to issue>
- <Link to WP>
- <automated>
- Not yet available
- n/a

* - :need:`wp__sw_arch_verification`
- :need:`gd_chklst__arch_inspection_checklist`
- :ndf:`copy('status', need_id='gd_chklst__arch_inspection_checklist')`
- <Link to issue>
- Checklist used in Pull Request Review
- <automated>
- :need:`doc__kvs_arc_inspection`
- :ndf:`copy('status', need_id='doc__kvs_arc_inspection')`

* - :need:`wp__sw_implementation`
- :need:`gd_guidl__implementation`
- :ndf:`copy('status', need_id='gd_guidl__implementation')`
- <Link to issue>
- <Link to WP>
- <automated>
- :need:`doc__kvs_detailed_design` & `source code <https://github.com/eclipse-score/persistency/tree/main/score/kvs>`__
- :ndf:`copy('status', need_id='doc__kvs_detailed_design')`

* - :need:`wp__verification_sw_unit_test`
- :need:`gd_guidl__verification_guide`
- :ndf:`copy('status', need_id='gd_guidl__verification_guide')`
- <Link to issue>
- <Link to WP>
- <automated>
- Bazel test suites ``//score/kvs:unit_tests`` and ``//score/kvs/rust_kvs:unit_tests``, results in :need:`doc__persistency_verification_report`
- :ndf:`copy('status', need_id='doc__persistency_verification_report')`

* - :need:`wp__sw_implementation_inspection`
- :need:`gd_chklst__impl_inspection_checklist`
- :ndf:`copy('status', need_id='gd_chklst__impl_inspection_checklist')`
- <Link to issue>
- Checklist used in Pull Request Review
- <automated>
- :need:`doc__kvs_impl_inspection`
- :ndf:`copy('status', need_id='doc__kvs_impl_inspection')`

* - :need:`wp__verification_comp_int_test`
- :need:`gd_guidl__verification_guide`
- :ndf:`copy('status', need_id='gd_guidl__verification_guide')`
- <Link to issue>
- <Link to WP>
- <automated>

Special Note
============

Module security plan template will be refined and existing content will be synchronized as per new template.
- Bazel test suites ``//score/kvs/tests/test_cases:cit_cpp`` and ``//score/kvs/tests/test_cases:cit_rust``, results in :need:`doc__persistency_verification_report`
- :ndf:`copy('status', need_id='doc__persistency_verification_report')`
Loading