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 Cloud Security Project"

From OWASP
Jump to: navigation, search
(Created page with "=Main= <!-- DO NOT ALTER OR REMOVE THE TEXT ON NEXT LINE --> <div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">link=</...")
 
(First rewrite from template)
Line 7: Line 7:
 
| valign="top"  style="border-right: 1px dotted gray;padding-right:25px;" |
 
| valign="top"  style="border-right: 1px dotted gray;padding-right:25px;" |
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
==The OWASP Cloud Security Project==
<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>
 
  
==The OWASP Security Principles==
+
The rise of DevOps and cloud computing has given organisations unprecedented access to feature-rich and high-scalable elastic platforms that allow them to deliver products and services with a velocity and agility that has never been seen before.
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
But with new capabilities come new attack vectors. The OWASP Cloud Security project aims to help people secure their products and services running in the cloud by providing a set of easy to use threat model templates and security control BDD stories that pool together the expertise and experience of the development, operations and security communities.
<span style="color:#ff0000">
 
This is where you need to add your more robust project description. A project description should outline the purpose of the project, 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, and project leaders should ensure that the description is meaningful.
 
</span>
 
  
Inevitably applications are designed with security principles architects knew about, security folks included. However, as this project demonstrates there are far more than just a 'few' principles, most of which never make it into the design.
+
===Why threat modelling?===
  
For example, security design happens with perhaps a handful of principles:
+
Threat modelling addresses security issues at a fundamental, architectural level. Rather than trying to bolt on controls haphazardly, threat modelling results in more robust and secure systems by baking security into the design as well as identifying the gaps and weaknesses. Using templates allows the sharing of common threats in a way that can be tweaked and tuned by individual organisations. Improvements to the threat models can then be fed back to the community for the benefit of everyone.
  
* Least Privilege
+
===Why BDD?===
* Perimeter Security
 
* Defence in Depth
 
  
However, we regularly see designs without '''separation of privilege'''!
+
Behaviour Driven Development (BDD) adds a natural language layer on top of test-driven development by defining requirements in a machine parsable language that is also human readable. While adoption of BDD within development communities has been mixed (often because the developers end up having to duplicate effort as both producers and consumers of the BDD stories), BDD is actually an excellent fit for representing security control requirements in a way that is also continuously testable. Rather than burying a control requirement in a policy document that nobody reads, it can be represented in a way that an auditor  would be happy with at the same time as being implemented as automated detective or preventative tests.
  
Think about that, most web applications today have all their eggs in a single basket. The business logic, the identities, passwords, products, policy enforcement, security rules are all found in the same application database that makes up the typical website! It is little wonder then, that attacks on the database have been so completely devastating, since there is no separation of privilege!
+
By bringing together threat model templates and BDD stories for mitigating controls, provided by the community, the OWASP Cloud Security project helps organisations understand the risks they face on their journey into the cloud.
 
 
The aim of this project, is to identify and describe a minimum functional set of principles that must be present in a secure design.
 
  
 
==Description==
 
==Description==
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
The OWASP Cloud Security project started life as a BDD for Cloud Security session held at the awesome OWASP Summit 2017. In this session approximately ten people spent an hour discussing whether it made sense to use BDD a way of capturing cloud control requirements in a way that fostered collaboration between development, operations, and security. The question then became - where do the requirements come from? PCI/DSS or some other standard? After spending the rest of the summit in various threat modelling sessions, it became clear to the project leader that it would be good to threat model the cloud services and then to write BDD stories for the mitigating controls from those threat models.
<span style="color:#ff0000">
 
This section must include a shorter description of what the project is, why the project was started, and what security issue is being helped by the project deliverable. This description will be used to promote the project so make sure the description represents your project in the best way possible.
 
</span>
 
 
 
'''Although this is a sample template, the project is real! [http://owasp.github.io/Security-Principles Please contribute to this project.]
 
'''
 
 
 
Over the course of my career, I have come across and collected a number of security ''aphorisms.'' These aphorisms constitute the fundamental principles of information security.
 
  
None of the ideas or truths are mine, and unfortunately, I did not collect the citations. Initially, I would like to identify the correct citations for each aphorism.
+
This project provides the following for an ever-expanding list of cloud providers and services:
  
Additionally, many are re-statements of the same idea; thus, the 'collection of ideas' defines a fundamental principle. As such, I would also like to reverse engineer the principles from the aphorisms where appropriate, as well.
+
* Threats stored as machine-parsable YAML files
 +
* Threats stored as human-friendly README files (generated from YAML)
 +
* Mitigating controls as BDD stories in Gherkin-like feature files
 +
* Proof-of-concept attack scripts and tools
  
 
==Licensing==
 
==Licensing==
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
'''The OWASP Cloud Security project resources are all completely free to use!
<span style="color:#ff0000">
 
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.
 
</span>
 
  
'''The OWASP Security Principles are free to use. In fact it is encouraged!!!
+
Documentation and related resources are licensed under the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 license], so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
'' Additionally, I also encourage you to contribute back to the project. I have no monopoly on this knowledge; however, we all have pieces of this knowledge from our experience. Let's begin by putting our individual pieces together to make something great. Great things happen when people work together.
 
  
The OWASP Security Principles are licensed under the http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 license], so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
+
Code is licensed under the [https://opensource.org/licenses/MIT MIT license].
  
 
<!-- DO NOT ALTER OR REMOVE THE TEXT ON NEXT LINE -->
 
<!-- DO NOT ALTER OR REMOVE THE TEXT ON NEXT LINE -->
 
| valign="top"  style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |
 
| valign="top"  style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |
  
== What is OWASP Security Principles Project? ==
+
== What is OWASP Cloud Security Project? ==
 
 
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
 
<span style="color:#ff0000">
 
Here you should add a short description of what your project actually does. What is the primary goal of your project, and why is it important?
 
</span>
 
  
The end goal is to identify, cite, and document the fundamental principles of information security. Once this is well organised, I think it would be great to publish this through the [http://scriptogr.am/dennis-groves/post/owasp-press OWASP Press]. Of course, it will always remain freely available, and any money collected will go directly into the project to absorb costs with any remaining funds going to the OWASP Foundation.
+
The OWASP Cloud Security project aims to help people secure their products and services running in the cloud by providing a set of easy to use threat model templates and security control BDD stories that pool together the expertise and experience of the development, operations, and security communities.
  
This document should serve as a guide to technical architects and designers outlining the fundamental principles of security.
+
[https://github.com/owasp-cloud-security/owasp-cloud-security#contributing Please contribute!]
  
 
== Presentation ==
 
== Presentation ==
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
* [https://www.devseccon.com/london-2017/session/cloudy-chance-threat-models/ DevSecCon London 2017]
<span style="color:#ff0000">
 
This is where you can link to slide presentations related to your project.
 
</span>
 
 
 
 
 
AppSec USA 2013 [https://github.com/OWASP/Security-Principles/tree/master/Presentations/AppSec%20NYC%202013]
 
  
 
== Project Leader ==
 
== Project Leader ==
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
* [https://www.owasp.org/index.php/User:Fraserscott Fraser Scott]
<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>
 
 
 
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves]
 
 
 
  
 
== Related Projects ==
 
== Related Projects ==
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
* OWASP Staypuft - Launching November 10th 2017
<span style="color:#ff0000">
 
This is where you can link to other OWASP Projects that are similar to yours.
 
</span>
 
 
 
* [[OWASP_CISO_Survey]]
 
  
 
== Openhub ==
 
== Openhub ==
Line 111: Line 70:
 
| valign="top"  style="padding-left:25px;width:200px;" |
 
| valign="top"  style="padding-left:25px;width:200px;" |
  
== Quick Download ==
+
== Source code and documentation ==
 
 
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
 
<span style="color:#ff0000">
 
This is where you can link to your repository.
 
</span>
 
  
The home of the OWASP Security Principles is on [https://github.com/OWASP/Security-Principles GitHub.] You are encourged to fork, edit and push your changes back to the project through git or edit the project directly on github.
+
The home of the OWASP Cloud  Security project is on is on [https://github.com/owasp-cloud-security/owasp-cloud-security GitHub.] You are encourged to fork, edit and push your changes back to the project through git or edit the project directly on github.
  
However, if you like you may also download the master repository from the following links:
+
Please note that the project is still in its own organisation. This will be moved over to the [https://github.com/owasp OWASP] organisation soon.
* [https://github.com/OWASP/Security-Principles/zipball/master .zip file.]
 
* [https://github.com/OWASP/Security-Principles/tarball/master .tgz file.]
 
  
 
== News and Events ==
 
== News and Events ==
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
Coming soon!
<span style="color:#ff0000">
 
This is where you can link to press your project has been a part of. Appropriate press includes: Project Leader interviews, articles written about your project, and videos about your project.
 
</span>
 
 
 
* [20 Nov 2013] News 2
 
* [30 Sep 2013] News 1
 
  
 
== In Print ==
 
== In Print ==
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
This project is not currently available to purchase as a book.
<span style="color:#ff0000">
 
This is where you place links to where your project product can be downloaded or purchased, in the case of a book.
 
</span>
 
 
 
This project can be purchased as a print on demand book from Lulu.com
 
  
 
==Classifications==
 
==Classifications==
 
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
 
<span style="color:#ff0000">
 
Here is where you can let the community know what project stage your project is currently in, whether the project is a builder, breaker, or defender project, and what type of project you are running.
 
</span>
 
  
 
   {| width="200" cellpadding="2"
 
   {| width="200" cellpadding="2"
Line 165: Line 101:
  
 
=FAQs=
 
=FAQs=
 
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
 
<span style="color:#ff0000">
 
Many projects have "Frequently Asked Questions" documents or pages. However, the point of such a document is not the questions. ''The point of a document like this are the '''answers'''''. The document contains the answers that people would otherwise find themselves giving over and over again. The idea is that rather than laboriously compose and post the same answers repeatedly, people can refer to this page with pre-prepared answers. Use this space to communicate your projects 'Frequent Answers.'
 
</span>
 
 
  
 
==How can I participate in your project?==
 
==How can I participate in your project?==
Line 177: Line 107:
 
==If I am not a programmer can I participate in your project?==
 
==If I am not a programmer can I participate in your project?==
 
Yes, you can certainly participate in the project if you are not a programmer or technical. The project needs different skills and expertise and different times during its development. Currently, we are looking for researchers, writers, graphic designers, and a project administrator.  
 
Yes, you can certainly participate in the project if you are not a programmer or technical. The project needs different skills and expertise and different times during its development. Currently, we are looking for researchers, writers, graphic designers, and a project administrator.  
 +
 +
For more information, visit the [https://github.com/owasp-cloud-security/owasp-cloud-security#contributing GitHub] repository.
  
 
= Acknowledgements =
 
= Acknowledgements =
Line 182: Line 114:
 
==Contributors==
 
==Contributors==
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
The OWASP Cloud Security project is developed by volunteers. A live update of project [https://github.com/owasp-cloud-security/owasp-cloud-security/graphs/contributors contributors is found here].  
<span style="color:#ff0000">
 
The success of OWASP is due to a community of enthusiasts and contributors that work to make our projects great. This is also true for the success of your project.
 
Be sure to give credit where credit is due, no matter how small! This should be a brief list of the most amazing people involved in your project.
 
Be sure to provide a link to a complete list of all the amazing people in your project's community as well.
 
</span>
 
 
 
The OWASP Security Principles project is developed by a worldwide team of volunteers. A live update of project [https://github.com/OWASP/Security-Principles/graphs/contributors contributors is found here].  
 
  
 
The first contributors to the project were:
 
The first contributors to the project were:
  
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves]
+
* [https://www.owasp.org/index.php/User:Fraserscott Fraser Scott]
* [https://github.com/sublimino Andrew Martin]
 
* [https://github.com/Lambdanaut Josh Thomas]
 
 
* '''YOUR NAME BELONGS HERE'''
 
* '''YOUR NAME BELONGS HERE'''
  
 
= Road Map and Getting Involved =
 
= Road Map and Getting Involved =
  
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
+
As of October 2017, the priorities are:
<span style="color:#ff0000">
 
A project roadmap is the envisioned plan for the project. The purpose of the roadmap is to help others understand where the project is going. It gives the community a chance to understand the context and the vision for the goal of the project. Additionally, if a project becomes inactive, or if the project is abandoned, a roadmap can help ensure a project can be adopted and continued under new leadership.
 
</span> 
 
 
 
<span style="color:#ff0000">
 
Roadmaps vary in detail from a broad outline to a fully detailed project charter. Generally speaking, projects with detailed roadmaps have tended to develop into successful projects. Some details that leaders may consider placing in the roadmap include: envisioned milestones, planned feature enhancements, essential conditions, project assumptions, development timelines, etc. You are required to have at least 4 milestones for every year the project is active.
 
</span>
 
 
 
As of October 2013, the priorities are:
 
* Finish the referencing for each principle.
 
* Update the Project Template.
 
* Use the OWASP Press to develop a book.
 
* Finish and publish the book on Lulu.
 
 
 
Involvement in the development and promotion of the OWASP Security Principles Project is actively encouraged!
 
You do not have to be a security expert in order to contribute.
 
Some of the ways you can help:
 
* Helping find references to some of the principles.
 
* Project administration support.
 
* Wiki editing support.
 
* Writing support for the book.
 
 
 
=Project About=
 
 
 
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
 
<span style="color:#ff0000">
 
This page is where you need to place your legacy project template page if your project was created before October 2013. To edit this page you will need to edit your project information template. You can typically find this page by following this address and substituting your project name where it says "OWASP_Example_Project". When in doubt, ask the OWASP Projects Manager.
 
Example template page: https://www.owasp.org/index.php/Projects/OWASP_Example_Project
 
</span>
 
 
 
{{:Projects/OWASP_Example_Project_About_Page}}
 
  
 +
* Threat models and BDD stories for top 10 AWS services
 +
* Threat models and BDD stories for top 10 Azure services
 +
* Threat models and BDD stories for top 10 Google Cloud Platform services
 +
* Provider-agnostic threat models and BDD stories
 +
* Threats models and BDD stories based on published standards (e.g. PCI/DSS) and best-practices (e.g. whitepapers)
  
 
<!-- DO NOT ALTER OR REMOVE THE TEXT ON NEXT LINE -->
 
<!-- DO NOT ALTER OR REMOVE THE TEXT ON NEXT LINE -->

Revision as of 23:46, 17 October 2017

OWASP Project Header.jpg

The OWASP Cloud Security Project

The rise of DevOps and cloud computing has given organisations unprecedented access to feature-rich and high-scalable elastic platforms that allow them to deliver products and services with a velocity and agility that has never been seen before.

But with new capabilities come new attack vectors. The OWASP Cloud Security project aims to help people secure their products and services running in the cloud by providing a set of easy to use threat model templates and security control BDD stories that pool together the expertise and experience of the development, operations and security communities.

Why threat modelling?

Threat modelling addresses security issues at a fundamental, architectural level. Rather than trying to bolt on controls haphazardly, threat modelling results in more robust and secure systems by baking security into the design as well as identifying the gaps and weaknesses. Using templates allows the sharing of common threats in a way that can be tweaked and tuned by individual organisations. Improvements to the threat models can then be fed back to the community for the benefit of everyone.

Why BDD?

Behaviour Driven Development (BDD) adds a natural language layer on top of test-driven development by defining requirements in a machine parsable language that is also human readable. While adoption of BDD within development communities has been mixed (often because the developers end up having to duplicate effort as both producers and consumers of the BDD stories), BDD is actually an excellent fit for representing security control requirements in a way that is also continuously testable. Rather than burying a control requirement in a policy document that nobody reads, it can be represented in a way that an auditor would be happy with at the same time as being implemented as automated detective or preventative tests.

By bringing together threat model templates and BDD stories for mitigating controls, provided by the community, the OWASP Cloud Security project helps organisations understand the risks they face on their journey into the cloud.

Description

The OWASP Cloud Security project started life as a BDD for Cloud Security session held at the awesome OWASP Summit 2017. In this session approximately ten people spent an hour discussing whether it made sense to use BDD a way of capturing cloud control requirements in a way that fostered collaboration between development, operations, and security. The question then became - where do the requirements come from? PCI/DSS or some other standard? After spending the rest of the summit in various threat modelling sessions, it became clear to the project leader that it would be good to threat model the cloud services and then to write BDD stories for the mitigating controls from those threat models.

This project provides the following for an ever-expanding list of cloud providers and services:

  • Threats stored as machine-parsable YAML files
  • Threats stored as human-friendly README files (generated from YAML)
  • Mitigating controls as BDD stories in Gherkin-like feature files
  • Proof-of-concept attack scripts and tools

Licensing

The OWASP Cloud Security project resources are all completely free to use!

Documentation and related resources are licensed under the Creative Commons Attribution-ShareAlike 3.0 license, so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Code is licensed under the MIT license.

What is OWASP Cloud Security Project?

The OWASP Cloud Security project aims to help people secure their products and services running in the cloud by providing a set of easy to use threat model templates and security control BDD stories that pool together the expertise and experience of the development, operations, and security communities.

Please contribute!

Presentation

Project Leader

Related Projects

  • OWASP Staypuft - Launching November 10th 2017

Openhub

Source code and documentation

The home of the OWASP Cloud Security project is on is on GitHub. You are encourged to fork, edit and push your changes back to the project through git or edit the project directly on github.

Please note that the project is still in its own organisation. This will be moved over to the OWASP organisation soon.

News and Events

Coming soon!

In Print

This project is not currently available to purchase as a book.

Classifications

New projects.png Owasp-builders-small.png
Owasp-defenders-small.png
Cc-button-y-sa-small.png
Project Type Files DOC.jpg

How can I participate in your project?

All you have to do is make the Project Leader's aware of your available time to contribute to the project. It is also important to let the Leader's know how you would like to contribute and pitch in to help the project meet it's goals and milestones. There are many different ways you can contribute to an OWASP Project, but communication with the leads is key.

If I am not a programmer can I participate in your project?

Yes, you can certainly participate in the project if you are not a programmer or technical. The project needs different skills and expertise and different times during its development. Currently, we are looking for researchers, writers, graphic designers, and a project administrator.

For more information, visit the GitHub repository.

Contributors

The OWASP Cloud Security project is developed by volunteers. A live update of project contributors is found here.

The first contributors to the project were:

As of October 2017, the priorities are:

  • Threat models and BDD stories for top 10 AWS services
  • Threat models and BDD stories for top 10 Azure services
  • Threat models and BDD stories for top 10 Google Cloud Platform services
  • Provider-agnostic threat models and BDD stories
  • Threats models and BDD stories based on published standards (e.g. PCI/DSS) and best-practices (e.g. whitepapers)