This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "OWASP Threat Model Cookbook"

From OWASP
Jump to: navigation, search
Line 4: Line 4:
 
| valign="top"  style="border-right: 1px dotted gray;padding-right:25px;" |
 
| valign="top"  style="border-right: 1px dotted gray;padding-right:25px;" |
  
<span style="color:#ff0000">
 
Instructions are in RED text and should be removed from your document by deleting the text with the span tags. This document is intended to serve as an example of what is required of an OWASP project wiki page. The text in red serves as instructions, while the text in black serves as an example. Text in black is expected to be replaced entirely with information specific to your OWASP project.
 
</span>
 
 
==Project About==
 
==Project About==
 
<span style="color:#ff0000">
 
<span style="color:#ff0000">
Line 16: Line 13:
  
  
==OWASP Documentation Project Template==
+
==OWASP Threat Model Cookbook==
<span style="color:#ff0000">
+
 
This section should include an overview of what the project is, why the project was started, and what security issue is being addressed by the project deliverable. Some readers may be discouraged from looking further at the project if they do not understand the significance of the security concern that is being addressed, so provide enough context so the average reader will continue on with reading the description. You shouldn't assume the reader will understand the objective by providing security terminology, e.g. this project builds cryptographic algorithms, but should also endeavor to explain what they are used for.
+
This project is about creating and publishing threat model examples. They can be in the form of code, graphical or textual representations. The models will use diverse technologies, methodologies and techniques.
</span>
+
 
 +
It is not a goal of the project to prescribe which methodologies to use but rather to collect examples. It will also not create content to educate people on threat modeling. Other OWASP projects such as Threat Modeling Project exists to that end.
  
The OWASP Documentation Template Project is a template designed to help Project Leaders create suitable project pages for OWASP Projects.  By following the instructional text in red (and then deleting it) it should be easier to understand what information OWASP and the project users are looking for.  And it's easy to get started by simply creating a new project from the appropriate project template.
 
  
 
==Description==
 
==Description==
<span style="color:#ff0000">
+
Currently the landscape of threat modeling is limited to a few books and methodologies that are widely accessible and in some cases open source. However, there's a lack of openly available content that is beyond just a blanket examples for existing methodologies. For instance, you could read a timeless awesome book, but the few complete examples the book is providing are outdated due to technology changing rapidly while threat model methodologies changes in a slower pace.
This is where you need to add your more robust project description. A project description should outline the purpose of the project, how it is used, and the value it provides to application security. Ideally, project descriptions should be written in such a way that there is no question what value the project provides to the software security community. This section will be seen and used in various places within the Projects Portal. Poorly written project descriptions therefore detract from a project’s visibility, so project leaders should ensure that the description is meaningful.
 
</span>
 
  
The Documentation Project Template is simply a sample project that was developed for instructional purposes that can be used to create default project pages for a Documentation project. After copying this template to your new project, all you have to do is follow the instructions in red, replace the sample text with text suited for your project, and then delete the sections in red.  Doing so should make it clearer to both consumers of this project, as well as OWASP reviewers who are trying to determine if the project can be promoted to the next category.  The information requested is also intended to help Project Leaders think about the roadmap and feature priorities, and give guidance to the reviews as a result of that effort.
+
This project is scoped in such a way that the only outcomes of what we produce are examples. You could infer your own methodologies using examples as component for your own toolbox of techniques. You could also simply follow an prescriptive and well defined method and refer to this project deliverable to give you examples on similar techniques.
  
Creating a new set of project pages from scratch can be a challenging task. By providing a sample layout, with instructional text and examples, the OWASP Documentation Project Template makes it easier for Project Leaders to create effective security projects and hence helps promote security.
+
We also will have duplicate example of the same systems. Either using the same techniques, or different techniques. The reason for having the same technique but with multiple example is to show people that thread models by their nature will differ depending on the author. They should have recognizable components that allow a common language so viewers will understand the meaning, but like manuscript writing and hand drawing, the look will differ. Some will be ugly, but give an example of a quick solution, while other will look amazing and give you example of putting time into it. Perhaps you will judge that both gives the same results for you, thus choosing the quicker version. And for other people, they'll find that a detailed and more defined version will look better and encourage contribution. It's all up to you, browse the examples, try to comprehend them, and make your version. And if you can open source it, contribute!
  
Contextual custom dictionary builder with character substitution and word variations for pen-testers
+
Contributions will be accepted for any open source content that can follow our license. Note that most of the cases, it might be about made up systems that doesn't really exist, or system that exist but that people doesn't know the real internal architecture. So by definition, this project is not about giving you examples of good systems, but rather good threat model. A bad system being modeled here could actually give you a better example of how threat model can be useful to point out flaws.
  
 
==Licensing==
 
==Licensing==
<span style="color:#ff0000">
+
The written documents, diagrams and code of this project are free software. For code, you can redistribute it and/or modify it under the terms of the [https://apache.org/licenses/LICENSE-2.0.html Apache 2.0 License] and under [https://creativecommons.org/licenses/by/3.0/ CC-BY 3.0 License] for the rest of diagrams and documents.
A project must be licensed under a community friendly or open source license.  For more information on OWASP recommended licenses, please see [https://www.owasp.org/index.php/OWASP_Licenses OWASP Licenses]. While OWASP does not promote any particular license over another, the vast majority of projects have chosen a Creative Commons license variant for documentation projects, or a GNU General Public License variant for tools and code projects.  This example assumes that you want to use the AGPL 3.0 license.
 
</span>
 
 
 
This program is free software: you can redistribute it and/or modify it under the terms of the [http://www.gnu.org/licenses/agpl-3.0.html link GNU Affero General Public License 3.0] as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.  OWASP XXX and any contributions are Copyright &copy; by {the Project Leader(s) or OWASP} {Year(s)}.
 
  
 
==Roadmap==
 
==Roadmap==
Line 45: Line 36:
 
As of <strong>November, 2013, the highest priorities for the next 6 months</strong> are:
 
As of <strong>November, 2013, the highest priorities for the next 6 months</strong> are:
 
<strong>
 
<strong>
* Complete the first draft of the Documentation Project Template
 
 
* Get other people to review the Documentation Project Template and provide feedback
 
* Get other people to review the Documentation Project Template and provide feedback
 
* Incorporate feedback into changes in the Documentation Project Template
 
* Incorporate feedback into changes in the Documentation Project Template
 
* Finalize the Documentation Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project
 
* Finalize the Documentation Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project
 
</strong>
 
</strong>
 +
</span>
  
Subsequent Releases will add
+
Subsequent Updates will add
 
<strong>
 
<strong>
* Internationalization Support
+
* Reorganization of the repository structure to reflect current goals
* Additional Unit Tests
+
* Self documentation in the repository about the ways of working
* Automated Regression tests
+
* Adding more starting model examples
 +
* Getting GitHub PRs from contributors to add more examples
 +
* Getting GitHub issues to give feedback on examples to contributors
 
</strong>
 
</strong>
  
Line 67: Line 60:
  
 
== Project Resources ==
 
== Project Resources ==
<span style="color:#ff0000">
 
This is where you can link to the key locations for project files, including setup programs, the source code repository, online documentation, a Wiki Home Page, threaded discussions about the project, and Issue Tracking system, etc.
 
</span>
 
 
[https://github.com/SamanthaGroves Installation Package]
 
 
[https://github.com/SamanthaGroves Source Code]
 
  
[https://github.com/SamanthaGroves What's New (Revision History)]
+
[https://github.com/OWASP/threat-model-cookbook GitHub]
  
[https://github.com/SamanthaGroves Documentation]
+
[https://twitter.com/OWASP_tmcb Twitter]
  
[https://github.com/SamanthaGroves Wiki Home Page]
+
[https://owasp.slack.com/messages/threatmodel-cookbook/ Slack]
  
[https://github.com/SamanthaGroves Issue Tracker]
+
== Project Leaders ==
 
+
[mailto://tash.norris@owasp.org Tash Norris]
[https://github.com/SamanthaGroves Slide Presentation]
 
 
 
[https://github.com/SamanthaGroves Video]
 
 
 
== Project Leader ==
 
<span style="color:#ff0000">
 
A project leader is the individual who decides to lead the project throughout its lifecycle. The project leader is responsible for communicating the project’s progress to the OWASP Foundation, and he/she is ultimately responsible for the project’s deliverables. The project leader must provide OWASP with his/her real name and contact e-mail address for his/her project application to be accepted, as OWASP prides itself on the openness of its products, operations, and members.
 
</span>
 
  
 
[mailto://[email protected] Jonathan Marcil]
 
[mailto://[email protected] Jonathan Marcil]
  
 
== Related Projects ==
 
== Related Projects ==
<span style="color:#ff0000">
+
* [[OWASP_Threat_Model_Project]]
This is where you can link to other OWASP Projects that are similar to yours.
+
* [[OWASP_Threat_Dragon]]
</span>
+
* [[Threat_Modeling_Cheat_Sheet]]
* [[OWASP_Code_Project_Template]]
 
* [[OWASP_Tool_Project_Template]]
 
  
 
==Classifications==
 
==Classifications==

Revision as of 21:28, 30 July 2019

OWASP Project Header.jpg

Project About

PROJECT INFO
What does this OWASP project offer you?
RELEASE(S) INFO
What releases are available for this project?
what is this project?
Name: Threat Model Cookbook
Purpose: N/A
License: N/A
who is working on this project?
Project Leader(s):
  • Jonathan Marcil @
how can you learn more?
Project Pamphlet: Not Yet Created
Project Presentation:
Mailing list: N/A
Project Roadmap: Not Yet Created
Key Contacts
  • Contact Jonathan Marcil @ to contribute to this project
  • Contact Jonathan Marcil @ to review or sponsor this project
current release
https://github.com/OWASP/threat-model-cookbook
last reviewed release
Not Yet Reviewed


other releases


OWASP Threat Model Cookbook

This project is about creating and publishing threat model examples. They can be in the form of code, graphical or textual representations. The models will use diverse technologies, methodologies and techniques.

It is not a goal of the project to prescribe which methodologies to use but rather to collect examples. It will also not create content to educate people on threat modeling. Other OWASP projects such as Threat Modeling Project exists to that end.


Description

Currently the landscape of threat modeling is limited to a few books and methodologies that are widely accessible and in some cases open source. However, there's a lack of openly available content that is beyond just a blanket examples for existing methodologies. For instance, you could read a timeless awesome book, but the few complete examples the book is providing are outdated due to technology changing rapidly while threat model methodologies changes in a slower pace.

This project is scoped in such a way that the only outcomes of what we produce are examples. You could infer your own methodologies using examples as component for your own toolbox of techniques. You could also simply follow an prescriptive and well defined method and refer to this project deliverable to give you examples on similar techniques.

We also will have duplicate example of the same systems. Either using the same techniques, or different techniques. The reason for having the same technique but with multiple example is to show people that thread models by their nature will differ depending on the author. They should have recognizable components that allow a common language so viewers will understand the meaning, but like manuscript writing and hand drawing, the look will differ. Some will be ugly, but give an example of a quick solution, while other will look amazing and give you example of putting time into it. Perhaps you will judge that both gives the same results for you, thus choosing the quicker version. And for other people, they'll find that a detailed and more defined version will look better and encourage contribution. It's all up to you, browse the examples, try to comprehend them, and make your version. And if you can open source it, contribute!

Contributions will be accepted for any open source content that can follow our license. Note that most of the cases, it might be about made up systems that doesn't really exist, or system that exist but that people doesn't know the real internal architecture. So by definition, this project is not about giving you examples of good systems, but rather good threat model. A bad system being modeled here could actually give you a better example of how threat model can be useful to point out flaws.

Licensing

The written documents, diagrams and code of this project are free software. For code, you can redistribute it and/or modify it under the terms of the Apache 2.0 License and under CC-BY 3.0 License for the rest of diagrams and documents.

Roadmap

As of November, 2013, the highest priorities for the next 6 months are:

  • Get other people to review the Documentation Project Template and provide feedback
  • Incorporate feedback into changes in the Documentation Project Template
  • Finalize the Documentation Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project

Subsequent Updates will add

  • Reorganization of the repository structure to reflect current goals
  • Self documentation in the repository about the ways of working
  • Adding more starting model examples
  • Getting GitHub PRs from contributors to add more examples
  • Getting GitHub issues to give feedback on examples to contributors

Getting Involved

Involvement in the development and promotion of Documentation Project Template is actively encouraged! You do not have to be a security expert or a programmer to contribute. Some of the ways you can help are as follows:

Project Resources

GitHub

Twitter

Slack

Project Leaders

Tash Norris

Jonathan Marcil

Related Projects

Classifications

Project Type Files DOC.jpg
Incubator Project Owasp-builders-small.png
Owasp-breakers-small.png
Owasp-defenders-small.png
Creative Commons Attribution ShareAlike 3.0 License