From f5326c4b6d9f06440b9c0b9fc962123cabb126dc Mon Sep 17 00:00:00 2001 From: Pat-Duarte Date: Wed, 20 Sep 2023 17:56:17 -0300 Subject: [PATCH] Resolves #129 --- .../owasp-samm-now-connects-to-opencre.md | 55 ++++++++++++++++++ static/img/banners/opencre.png | Bin 0 -> 23344 bytes 2 files changed, 55 insertions(+) create mode 100644 content/en/blog/owasp-samm-now-connects-to-opencre.md create mode 100644 static/img/banners/opencre.png diff --git a/content/en/blog/owasp-samm-now-connects-to-opencre.md b/content/en/blog/owasp-samm-now-connects-to-opencre.md new file mode 100644 index 00000000..3f02fd83 --- /dev/null +++ b/content/en/blog/owasp-samm-now-connects-to-opencre.md @@ -0,0 +1,55 @@ ++++ +title = "OWASP SAMM now connects to OpenCRE" +date = "2023-09-20T00:00:00+02:00" +tags = ["model", "scoring"] +categories = ["assessment"] +banner = "img/banners/opencre.png" +author = "The SAMM Project Team" ++++ + + +We are excited to announce that each OWASP-SAMM stream now uses {{< external-link "https://opencre.org" "OpenCRE.org">}} to link to other standards and guidelines. +OpenCRE stands for Open Common Requirement Enumeration, and it aims to provide a common language and framework for mapping and comparing different security standards, guidelines, and frameworks. +By linking SAMM to OpenCRE, we’ve made it easier for our users to find relevant and useful resources with every stream, as well as to see how SAMM aligns with other security standards such as NIST SSDF, ISO27K, PCI-DSS, OWASP ASVS, and NIST 800-53. + +### How to use OpenCRE with SAMM +The SAMM website now has links to OpenCRE in every stream. If you visit a stream page, you will notice the ‘team guidance’ at the bottom. For example, this is the page for the Threat Assessment stream: +[https://owaspsamm.org/model/design/threat-assessment/stream-b/](/model/design/threat-assessment/stream-b/) + +Click on the ‘team guidance’ link to see references to useful resources for the stream. The first one is always an OpenCRE link: +{{< external-link "https://docs.google.com/document/d/1weyNHuAm3XYOYinJPbnEBQV1k48r6Oi3JxZVi2cgy2g/edit" "Guidance Google Doc">}} + +Click the OpenCRE link to go to an OpenCRE page that shows how the SAMM stream is connected to a specific Common Requirement (CRE). +A CRE is a high-level description of a security control or practice that can be mapped to multiple standards. For example, the Threat Assessment stream is connected to the CRE ‘Threat modeling processes’, which in turn is mapped to several standards such as NIST SSDF PW1.1, ISO27K A.14.2.5, PCI-DSS 6.5.5 and OWASP ASVS V1.4. + +### Why use OpenCRE with SAMM +Using OpenCRE with SAMM has several benefits. +* Find additional resources and guidance for each stream, such as articles, books, tools and training materials. +* Compare and contrast SAMM with other security standards and frameworks, and see how they complement or overlap each other. +* Bridge the gaps between different security standards and frameworks, especially if they do not match exactly or cover different aspects of security. + +For instance, SAMM’s ‘Training and awareness’ stream links to the CRE ‘Technical application security training’, which directly links to NIST SSDF PO2.2 on training. That is a nice exact match. + +However, SAMM’s ‘Architecture design’ stream has no real direct link with a NIST SSDF topic. Normally, in a mapping, one would link a range of SSDF topics but that would be inaccurate and unclear. + +The OpenCRE mechanism fixes this by linking SAMM ‘Architecture design’ to the CRE ‘Architecture/design processes’ with many related topics, showing that there is much to say about architecture design. One of those topics is threat modeling, and from there we link to SSDF PW1.1 on threat modeling. One of the other topics related to the CRE ‘Architecture/design processes’ is the CRE ‘Setup and maintain a secure software development process’, which again links to a number of NIST SSDF entries about security requirements. + +In other words, using a taxonomy like OpenCRE is very helpful in mapping standards, especially if the mapping is not exact. + +### What’s next +We hope you find OpenCRE useful and informative for your SAMM journey. Feel free to also try the new {{< external-link "https://www.opencre.org/chatbot" "OpenCRE Chatbot">}}, currently available to users with an OWASP account. Use it to ask questions on secure software development, and it will source its answers from the connected standards. + +We welcome your feedback and suggestions on how to improve it. You can use the contact form link from the Community menu or any of the options available from the footer of the website. + +If you want to join our Slack channel but the direct link doesn’t work, you need an invitation. Get it {{< external-link "https://owasp.org/slack/invite" "here">}}. + +The OpenCRE team is also working on adding more standards and frameworks, as well as creating more visualizations and tools for exploring the taxonomy. + +Stay tuned for more updates! + + +--- +Be a part of the SAMM community! + +* Join our {{< external-link "https://owasp.slack.com/messages/C0VF1EJGH" "Slack channel">}}, where you'll meet other users, ask questions, give feedback, and be in the loop of all things SAMM. +* Join our monthly community calls, where we discuss different topics, exchange experiences and ideas, and review SAMM’s security practices in depth. \ No newline at end of file diff --git a/static/img/banners/opencre.png b/static/img/banners/opencre.png new file mode 100644 index 0000000000000000000000000000000000000000..6b77f8f6616b3bb1b699213b0f140b58fa508633 GIT binary patch literal 23344 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 mw}