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 Secure Coding Dojo"

From OWASP
Jump to: navigation, search
(Description)
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 
{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
| 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">
+
==Secure Coding Dojo==
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.
+
The Secure Coding Dojo is a platform for delivering and tracking security training for developers. The platform is created for development organizations of all sizes: from small teams in startups or university classrooms to large enterprises.
</span>
 
==Project About==
 
<span style="color:#ff0000">
 
{{:Template:Project About
 
  |project_name=Secure Coding Dojo
 
  |leader_name1=Paul Ionescu
 
}}
 
 
 
 
 
==OWASP Code Project Template==
 
<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.
 
</span>
 
 
 
The OWASP Code 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">
 
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 Code Project Template is simply a sample project that was developed for instructional purposes that can be used to create default project pages for a Tool 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.
+
The Secure Coding Dojo is a training platform which can be customized to integrate with custom vulnerable websites and other CTF challenges.
  
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 Tool Project Template makes it easier for Project Leaders to create effective security projects and hence helps promote security.
+
Here are some of the features:
  
Contextual custom dictionary builder with character substitution and word variations for pen-testers
+
* Integrates with Enterprise environments using Slack, Google and LDAP for authentication
 +
* It allows grouping of participants according to their development teams
 +
* It allows teams to track progress and compete with each other
 +
* Each lesson is built as an attack/defence pair. Developers can observe the software weaknesses by conducting the attack and after solving the challenge they learn about the associated software defenses
 +
* Predefined lessons are based on the MITRE most dangerous software errors (also known as SANS 25) so the focus is on software errors rather than attack techniques
 +
* The predefined hacking challenges are created for entry level and keep the developers engaged. Only a browser is needed.
 +
* With CTFs there is a puzzle aspect to the challenges which is great for pen-tester audiences but can make some developers lose interest. In the Secure Coding Dojo the focus is on demonstrating the vulnerability.
 +
* There are tips that help the developers as they are exploiting the issue to avoid getting stuck
  
 
==Licensing==
 
==Licensing==
<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.  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)}. 
+
This program is free software: you can redistribute it and/or modify it under the terms of the Apache License 2.0
  
 
==Roadmap==
 
==Roadmap==
<span style="color:#ff0000">
+
As of <strong>June, 2019, 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>
 
 
* Complete the first draft of the Code Project Template
 
* Complete the first draft of the Code Project Template
 
* Get other people to review the Code Project Template and provide feedback
 
* Get other people to review the Code Project Template and provide feedback
 
* Incorporate feedback into changes in the Code Project Template
 
* Incorporate feedback into changes in the Code Project Template
 
* Finalize the Code Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project
 
* Finalize the Code Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project
</strong>
+
 
  
 
Subsequent Releases will add
 
Subsequent Releases will add
<strong>
+
* Docker compose support
* Internationalization Support
+
* Refactoring to allow creating lesson plans for various roles.
* Additional Unit Tests
+
* A Security Code Review lesson plan
* Automated Regression tests
 
</strong>
 
  
 
==Getting Involved==
 
==Getting Involved==
<span style="color:#ff0000">
+
Involvement in the development and promotion of <strong>Secure Coding Dojo</strong> is actively encouraged!
Involvement in the development and promotion of <strong>Code Project Template</strong> is actively encouraged!
 
 
You do not have to be a security expert or a programmer to contribute.
 
You do not have to be a security expert or a programmer to contribute.
 
Some of the ways you can help are as follows:
 
Some of the ways you can help are as follows:
 +
* Try it out
 +
* Have your development team try it out
 +
* Submit feedback via Github issues
 +
* Submit pull requests
  
| 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;" |
  
 
== Project Resources ==
 
== Project Resources ==
<span style="color:#ff0000">
+
[https://twitter.com/SecureCodeDojo Follow on Twitter]
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://hub.docker.com/u/securecodingdojo Installation Package]
  
[https://github.com/SamanthaGroves Source Code]
+
[https://github.com/trendmicro/SecureCodingDojo Source Code]
  
[https://github.com/SamanthaGroves What's New (Revision History)]
+
[https://github.com/trendmicro/SecureCodingDojo/wiki Documentation]
  
[https://github.com/SamanthaGroves Documentation]
+
[https://github.com/trendmicro/SecureCodingDojo/issues Issue Tracker]
  
[https://github.com/SamanthaGroves Wiki Home Page]
+
[https://github.com/trendmicro/SecureCodingDojo/tree/master/demo Video]
 
 
[https://github.com/SamanthaGroves Issue Tracker]
 
 
 
[https://github.com/SamanthaGroves Slide Presentation]
 
 
 
[https://github.com/SamanthaGroves Video]
 
  
 
== Project Leader ==
 
== 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>
 
 
 
Paul Ionescu
 
Paul Ionescu
  
 
== Related Projects ==
 
== Related Projects ==
<span style="color:#ff0000">
+
 
This is where you can link to other OWASP Projects that are similar to yours.
 
</span>
 
 
* [[OWASP_Tool_Project_Template]]
 
* [[OWASP_Tool_Project_Template]]
 
* [[OWASP_Documentation_Project_Template]]
 
* [[OWASP_Documentation_Project_Template]]
Line 104: Line 75:
 
   {| width="200" cellpadding="2"
 
   {| width="200" cellpadding="2"
 
   |-
 
   |-
   | colspan="2" align="center" | [[File:Project_Type_Files_CODE.jpg|link=https://www.owasp.org/index.php/Category:OWASP_Code]]
+
   | colspan="2" align="center" | [[File:Project_Type_Files_CODE.jpg|link=https://www.owasp.org/index.php/Category:OWASP_Code]]
 
   |-
 
   |-
   | align="center" valign="top" width="50%" rowspan="2"| [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects|Incubator Project]]
+
   | rowspan="2" align="center" valign="top" width="50%" | [[File:Owasp-incubator-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects|Incubator Project]]
   | align="center" valign="top" width="50%"| [[File:Owasp-builders-small.png|link=Builders]]   
+
   | align="center" valign="top" width="50%" | [[File:Owasp-builders-small.png|link=Builders]]   
 
   |-
 
   |-
   | align="center" valign="top" width="50%"| [[File:Owasp-defenders-small.png|link=Defenders]]
+
   | align="center" valign="top" width="50%" | [[File:Owasp-defenders-small.png|link=Defenders]]
 
   |-
 
   |-
   | colspan="2" align="center" | [[File:Agplv3-155x51.png|link=http://www.gnu.org/licenses/agpl-3.0.html|Affero General Public License 3.0]]
+
   | colspan="2" align="center" | [[File:Agplv3-155x51.png|link=http://www.gnu.org/licenses/agpl-3.0.html|Affero General Public License 3.0]]
 
   |}
 
   |}
 
|}
 
|}
Line 117: Line 88:
 
__NOTOC__ <headertabs />  
 
__NOTOC__ <headertabs />  
  
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Code]]
+
[[Category:OWASP Project]]   
 +
[[Category:OWASP_Builders]]  
 +
[[Category:OWASP_Defenders]]   
 +
[[Category:OWASP_Code]]

Latest revision as of 02:03, 1 October 2019

OWASP Project Header.jpg

Secure Coding Dojo

The Secure Coding Dojo is a platform for delivering and tracking security training for developers. The platform is created for development organizations of all sizes: from small teams in startups or university classrooms to large enterprises.

Description

The Secure Coding Dojo is a training platform which can be customized to integrate with custom vulnerable websites and other CTF challenges.

Here are some of the features:

  • Integrates with Enterprise environments using Slack, Google and LDAP for authentication
  • It allows grouping of participants according to their development teams
  • It allows teams to track progress and compete with each other
  • Each lesson is built as an attack/defence pair. Developers can observe the software weaknesses by conducting the attack and after solving the challenge they learn about the associated software defenses
  • Predefined lessons are based on the MITRE most dangerous software errors (also known as SANS 25) so the focus is on software errors rather than attack techniques
  • The predefined hacking challenges are created for entry level and keep the developers engaged. Only a browser is needed.
  • With CTFs there is a puzzle aspect to the challenges which is great for pen-tester audiences but can make some developers lose interest. In the Secure Coding Dojo the focus is on demonstrating the vulnerability.
  • There are tips that help the developers as they are exploiting the issue to avoid getting stuck

Licensing

This program is free software: you can redistribute it and/or modify it under the terms of the Apache License 2.0

Roadmap

As of June, 2019, the highest priorities for the next 6 months are:

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


Subsequent Releases will add

  • Docker compose support
  • Refactoring to allow creating lesson plans for various roles.
  • A Security Code Review lesson plan

Getting Involved

Involvement in the development and promotion of Secure Coding Dojo 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:

  • Try it out
  • Have your development team try it out
  • Submit feedback via Github issues
  • Submit pull requests

Project Resources

Follow on Twitter

Installation Package

Source Code

Documentation

Issue Tracker

Video

Project Leader

Paul Ionescu

Related Projects

Classifications

Project Type Files CODE.jpg
Incubator Project Owasp-builders-small.png
Owasp-defenders-small.png
Affero General Public License 3.0