From 1955c9f6d347d5e621b51f588c6eecf40d655b43 Mon Sep 17 00:00:00 2001 From: eric-intuitem <71850047+eric-intuitem@users.noreply.github.com> Date: Wed, 1 May 2024 02:06:33 +0200 Subject: [PATCH 1/2] Improve UX - shorten score descriptions for NIST CSF v2 - fix display for assessable node with non-assessable children --- backend/library/libraries/nist-csf-2.0.yaml | 80 ++---------------- .../[id=uuid]/TreeViewItemContent.svelte | 3 +- tools/nist/nist-csf-2.0.xlsx | Bin 38156 -> 37044 bytes 3 files changed, 10 insertions(+), 73 deletions(-) diff --git a/backend/library/libraries/nist-csf-2.0.yaml b/backend/library/libraries/nist-csf-2.0.yaml index 43e4d3cb7..9769575ec 100644 --- a/backend/library/libraries/nist-csf-2.0.yaml +++ b/backend/library/libraries/nist-csf-2.0.yaml @@ -22,95 +22,31 @@ objects: description: 'Application of the organizational cybersecurity risk strategy is managed in an ad hoc manner. - Prioritization is ad hoc and not formally based on objectives or threat environment. - - There is limited awareness of cybersecurity risks at the organizational level. - - The organization implements cybersecurity risk management on an irregular, - case-by-case basis. - - The organization may not have processes that enable cybersecurity information - to be shared within the organization. - - The organization is generally unaware of the cybersecurity risks associated - with its suppliers and the products and services it acquires and uses.' + There is limited awareness of cybersecurity risks at the organizational level.' - score: 2 name: Risk informed description: 'Risk management practices are approved by management but may not be established as organization-wide policy. - The prioritization of cybersecurity activities and protection needs is directly - informed by organizational risk objectives, the threat environment, or business/mission - requirements. - There is an awareness of cybersecurity risks at the organizational level, but an organization-wide approach to managing cybersecurity risks has not - been established. - - Consideration of cybersecurity in organizational objectives and programs may - occur at some but not all levels of the organization. Cyber risk assessment - of organizational and external assets occurs but is not typically repeatable - or reoccurring. - - Cybersecurity information is shared within the organization on an informal - basis. - - The organization is aware of the cybersecurity risks associated with its suppliers - and the products and services it acquires and uses, but it does not act consistently - or formally in response to those risks.' + been established.' - score: 3 name: Repeatable description: "The organization\u2019s risk management practices are formally\ - \ approved and expressed as policy. \nRisk-informed policies, processes, and\ - \ procedures are defined, implemented as intended, and reviewed.\nOrganizational\ - \ cybersecurity practices are regularly updated based on the application of\ - \ risk management processes to changes in business/mission requirements, threats,\ - \ and technological landscape.\nThere is an organization-wide approach to\ - \ managing cybersecurity risks. Cybersecurity information is routinely shared\ - \ throughout the organization.\nConsistent methods are in place to respond\ - \ effectively to changes in risk. Personnel possess the knowledge and skills\ - \ to perform their appointed roles and responsibilities.\nThe organization\ - \ consistently and accurately monitors the cybersecurity risks of assets.\ - \ Senior cybersecurity and non-cybersecurity executives communicate regularly\ - \ regarding cybersecurity risks. Executives ensure that cybersecurity is considered\ - \ through all lines of operation in the organization.\nThe organization risk\ - \ strategy is informed by the cybersecurity risks associated with its suppliers\ - \ and the products and services it acquires and uses. Personnel formally act\ - \ upon those risks through mechanisms such as written agreements to communicate\ - \ baseline requirements, governance structures (e.g., risk councils), and\ - \ policy implementation and monitoring. These actions are implemented consistently\ - \ and as intended and are continuously monitored and reviewed." + \ approved and expressed as policy.\nOrganizational cybersecurity practices\ + \ are regularly updated based on the application of risk management processes\ + \ to changes in business/mission requirements, threats, and technological\ + \ landscape." - score: 4 name: Adaptive description: 'There is an organization-wide approach to managing cybersecurity risks that uses risk-informed policies, processes, and procedures to address - potential cybersecurity events. The relationship between cybersecurity risks - and organizational objectives is clearly understood and considered when making - decisions. Executives monitor cybersecurity risks in the same context as financial - and other organizational risks. The organizational budget is based on an understanding - of the current and predicted risk environment and risk tolerance. Business - units implement executive vision and analyze system-level risks in the context - of the organizational risk tolerances. - - Cybersecurity risk management is part of the organizational culture. It evolves - from an awareness of previous activities and continuous awareness of activities - on organizational systems and networks. The organization can quickly and efficiently - account for changes to business/mission objectives in how risk is approached - and communicated. + potential cybersecurity events. The organization adapts its cybersecurity practices based on previous and current cybersecurity activities, including lessons learned and predictive - indicators. Through a process of continuous improvement that incorporates - advanced cybersecurity technologies and practices, the organization actively - adapts to a changing technological landscape and responds in a timely and - effective manner to evolving, sophisticated threats. - - The organization uses real-time or near real-time information to understand - and consistently act upon the cybersecurity risks associated with its suppliers - and the products and services it acquires and uses. - - Cybersecurity information is constantly shared throughout the organization - and with authorized third parties.' + indicators.' requirement_nodes: - urn: urn:intuitem:risk:req_node:nist-csf-2.0:gv assessable: false diff --git a/frontend/src/routes/(app)/compliance-assessments/[id=uuid]/TreeViewItemContent.svelte b/frontend/src/routes/(app)/compliance-assessments/[id=uuid]/TreeViewItemContent.svelte index 13d93fad2..4dcb113a4 100644 --- a/frontend/src/routes/(app)/compliance-assessments/[id=uuid]/TreeViewItemContent.svelte +++ b/frontend/src/routes/(app)/compliance-assessments/[id=uuid]/TreeViewItemContent.svelte @@ -58,7 +58,8 @@ const assessableNodes = getAssessableNodes(node); const hasAssessableChildren = - children && Object.keys(children).length > 0 && assessableNodes.length > 0; + children && Object.keys(children).length > 0 && + assessableNodes.length - (node.assessable?1:0) > 0; const REQUIREMENT_ASSESSMENT_STATUS = [ 'compliant', diff --git a/tools/nist/nist-csf-2.0.xlsx b/tools/nist/nist-csf-2.0.xlsx index e2fd76bd05be0d7491b45ca51b72036fc7243cfe..652e2afc7d1b3a4e77a3b8e3a4880113f022608f 100644 GIT binary patch delta 8432 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 delta 9556 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 Date: Wed, 1 May 2024 02:16:13 +0200 Subject: [PATCH 2/2] Update TreeViewItemContent.svelte prettier --- .../[id=uuid]/TreeViewItemContent.svelte | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/src/routes/(app)/compliance-assessments/[id=uuid]/TreeViewItemContent.svelte b/frontend/src/routes/(app)/compliance-assessments/[id=uuid]/TreeViewItemContent.svelte index 4dcb113a4..19a869d68 100644 --- a/frontend/src/routes/(app)/compliance-assessments/[id=uuid]/TreeViewItemContent.svelte +++ b/frontend/src/routes/(app)/compliance-assessments/[id=uuid]/TreeViewItemContent.svelte @@ -58,8 +58,9 @@ const assessableNodes = getAssessableNodes(node); const hasAssessableChildren = - children && Object.keys(children).length > 0 && - assessableNodes.length - (node.assessable?1:0) > 0; + children && + Object.keys(children).length > 0 && + assessableNodes.length - (node.assessable ? 1 : 0) > 0; const REQUIREMENT_ASSESSMENT_STATUS = [ 'compliant',