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 "Blockchain Security Framework"

From OWASP
Jump to: navigation, search
(updated about project)
 
(3 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;" |
 +
==About the Project==
  
<span style="color:#ff0000">
+
The blockchain security framework project is aimed at creating a comprehensive framework that covers everything about blockchain security for organizations from the ideation stage till the production stage ensuring maximum security at each stage of the product/solution development.<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>
+
==OWASP Documentation Project - Blockchain Security Framework==
==Project About==
+
 
<span style="color:#ff0000">
+
Every technology has its own challenges in terms of achieving maximum security. Currently, there is no exhaustive resource available for blockchain security providing detailed understanding about how security should be incorporated during the ideation-creation-deployment of a blockchain project. To help resolve this issue, the aim is to create a comprehensive framework that can help resolve this issue.
{{:Projects/OWASP_Example_Project_About_Page}}
 
The blockchain security framework project is aimed at creating a comprehensive framework that covers everything about blockchain security for organizations from the ideation stage till the production stage ensuring maximum security at each stage of the product/solution development.
 
  
==OWASP Documentation Project Template==
+
The project will help understand the various stages and security requirements from documentation perspective, selection/review of components considered for development including programming language/stack, protocols, etc.,functional security review, security testing requirements, audit/logging requirements, forensic readiness(to ensure that any attack can be traced/investigated as quickly as possible).
<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 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.
+
The project is not limited to the above understanding and more areas will be added/edited as required by the community or individual requests to enhance the framework.
  
 +
<span style="color:#ff0000">
 
==Description==
 
==Description==
<span style="color:#ff0000">
+
The blockchain security framework will include mandatory security requirements and best practices that are related to blockchain.
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.
+
The areas will include the below but are not limited to
  
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.
+
1. Selection of programming languages, frameworks, etc. in a way to avoid 'Using Components with Known Vulnerabilities' 
  
Contextual custom dictionary builder with character substitution and word variations for pen-testers
+
2. Creation of business requirement document to envision functionality, security requirements, blockchain permissions, consensus permissions, etc. This is to ensure secure business requirement review and secure network architecture review takes place over a period of time and all changes are tracked, version and approved. 
  
==Licensing==
+
An example of different blockchain and consensus permissions is as below - 
<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)}.
+
blockchain permissions - permissions and restrictions for network, users, inputs, outputs, transactions, management of assets, etc. 
  
==Roadmap==
+
consensus mechanisms - proof of work, proof of stake, delegated proof of stake, proof of burn, federated byzantine agreement, etc. 
<span style="color:#ff0000">
 
As of <strong>November, 2013, the highest priorities for the next 6 months</strong> are:
 
<strong>
 
* Complete the first draft of the Documentation Project Template
 
* 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
 
</strong>
 
  
Subsequent Releases will add
+
3. Appropriate change, incident and patch management process with defined SLA's 
<strong>
 
* Internationalization Support
 
* Additional Unit Tests
 
* Automated Regression tests
 
</strong>
 
  
==Getting Involved==
+
4. Secure Configuration Review documents for all frameworks, softwares, server flavors, etc. used in making of the blockchain product - this is to ensure all the components have optimum secure configuration during the initial stage itself.  
<span style="color:#ff0000">
 
Involvement in the development and promotion of <strong>Documentation Project Template</strong> 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:
 
  
| valign="top"  style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |
+
5. Secure Code Review during each stage to build the code securely over a period of time and come up with the secure build(the build may be firmware or an application, etc.) 
  
== Project Resources ==
+
6. Vulnerability Assessment, Penetration Testing, API Testing, Application Testing(Web/Mobile) of the servers, hardware wallets, app/dapp testing, etc. 
<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]
+
7. Smart contracts assessments/testing/permission review, firmware testing, load testing, hardware testing, etc. depending on the blockchain product/solution
  
[https://github.com/SamanthaGroves Source Code]
+
8. Firewall review - review of all firewall rules for each component/nodes
  
[https://github.com/SamanthaGroves What's New (Revision History)]
+
9. Database review - review of roles, data storage mechanisms, etc. 
  
[https://github.com/SamanthaGroves Documentation]
+
10. Data Review - Review of data during each stage of the product life cycle to ensure sensitive data is well managed and compliance from data security laws perspective levels like GDPR are achieved 
  
[https://github.com/SamanthaGroves Wiki Home Page]
+
11. Audit and Log Management Review - To ensure that all aspects of the logging and error management are done securely and only non-sensitive logs/events/error messages are accessible to the end user 
  
[https://github.com/SamanthaGroves Issue Tracker]
+
12. Forensic Readiness Review - To ensure that the product has all possible forensic level readiness to be able to perform forensic review asap in case of an attack<span style="color:#ff0000">
  
[https://github.com/SamanthaGroves Slide Presentation]
+
==Licensing==
 +
The license of the project is as described in CC BY-SA 4.0
  
[https://github.com/SamanthaGroves Video]
+
For more understanding, refer https://creativecommons.org/licenses/by-sa/4.0/<span style="color:#ff0000">
  
== Project Leader ==
+
==Getting Involved==
<span style="color:#ff0000">
+
Involvement in the development and promotion of the project is highly encouraged. You do not have to be a security expert or a programmer to contribute. Some of the ways you can help us are follows -
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.
+
# Help us with the documentation as a collaborator for the project
</span>
+
# Provide topics that you would like to be covered as part of the project
 +
# Request to join the mailing lists and help review the project
 +
# Refer like-minded people to participate/help with the project
 +
# Assist/Invite with events related to blockchain to help promote the project or interact with people from the community to help spread the word and refine the project with their opinions
  
Deepak R Pandey
+
| valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |
  
== Related Projects ==
+
== Project Resources ==
<span style="color:#ff0000">
+
https://github.com/OWASP/Blockchain-Security-Framework
This is where you can link to other OWASP Projects that are similar to yours.
 
</span>
 
* [[OWASP_Code_Project_Template]]
 
* [[OWASP_Tool_Project_Template]]
 
  
 
==Classifications==
 
==Classifications==
Line 101: Line 73:
 
   {| width="200" cellpadding="2"
 
   {| width="200" cellpadding="2"
 
   |-
 
   |-
   | colspan="2" align="center" | [[File:Project_Type_Files_DOC.jpg|link=https://www.owasp.org/index.php/Category:OWASP_Document]]
+
   | colspan="2" align="center" | [[File:Project_Type_Files_DOC.jpg|link=https://www.owasp.org/index.php/Category:OWASP_Document]]
 
   |-
 
   |-
   | 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" | [[Image:Creative%20Commons.png| 90px | link=https://creativecommons.org/licenses/by-sa/3.0/| Creative Commons Attribution ShareAlike 3.0 License]]
+
   | colspan="2" align="center" | [[Image:Creative%20Commons.png| 90px | link=https://creativecommons.org/licenses/by-sa/3.0/| Creative Commons Attribution ShareAlike 3.0 License]]
 
   |}
 
   |}
 
|}
 
|}
Line 114: Line 86:
 
__NOTOC__ <headertabs />  
 
__NOTOC__ <headertabs />  
  
[[Category:OWASP Project]] [[Category:OWASP_Document]]
+
[[Category:OWASP Project]]  
 +
[[Category:OWASP_Document]]

Latest revision as of 14:34, 27 July 2019

OWASP Project Header.jpg

About the Project

The blockchain security framework project is aimed at creating a comprehensive framework that covers everything about blockchain security for organizations from the ideation stage till the production stage ensuring maximum security at each stage of the product/solution development.

OWASP Documentation Project - Blockchain Security Framework

Every technology has its own challenges in terms of achieving maximum security. Currently, there is no exhaustive resource available for blockchain security providing detailed understanding about how security should be incorporated during the ideation-creation-deployment of a blockchain project. To help resolve this issue, the aim is to create a comprehensive framework that can help resolve this issue.

The project will help understand the various stages and security requirements from documentation perspective, selection/review of components considered for development including programming language/stack, protocols, etc.,functional security review, security testing requirements, audit/logging requirements, forensic readiness(to ensure that any attack can be traced/investigated as quickly as possible).

The project is not limited to the above understanding and more areas will be added/edited as required by the community or individual requests to enhance the framework.

Description

The blockchain security framework will include mandatory security requirements and best practices that are related to blockchain.

The areas will include the below but are not limited to - 

1. Selection of programming languages, frameworks, etc. in a way to avoid 'Using Components with Known Vulnerabilities' 

2. Creation of business requirement document to envision functionality, security requirements, blockchain permissions, consensus permissions, etc. This is to ensure secure business requirement review and secure network architecture review takes place over a period of time and all changes are tracked, version and approved. 

An example of different blockchain and consensus permissions is as below - 

blockchain permissions - permissions and restrictions for network, users, inputs, outputs, transactions, management of assets, etc. 

consensus mechanisms - proof of work, proof of stake, delegated proof of stake, proof of burn, federated byzantine agreement, etc. 

3. Appropriate change, incident and patch management process with defined SLA's 

4. Secure Configuration Review documents for all frameworks, softwares, server flavors, etc. used in making of the blockchain product - this is to ensure all the components have optimum secure configuration during the initial stage itself.

5. Secure Code Review during each stage to build the code securely over a period of time and come up with the secure build(the build may be firmware or an application, etc.) 

6. Vulnerability Assessment, Penetration Testing, API Testing, Application Testing(Web/Mobile) of the servers, hardware wallets, app/dapp testing, etc. 

7. Smart contracts assessments/testing/permission review, firmware testing, load testing, hardware testing, etc. depending on the blockchain product/solution

8. Firewall review - review of all firewall rules for each component/nodes

9. Database review - review of roles, data storage mechanisms, etc. 

10. Data Review - Review of data during each stage of the product life cycle to ensure sensitive data is well managed and compliance from data security laws perspective levels like GDPR are achieved 

11. Audit and Log Management Review - To ensure that all aspects of the logging and error management are done securely and only non-sensitive logs/events/error messages are accessible to the end user 

12. Forensic Readiness Review - To ensure that the product has all possible forensic level readiness to be able to perform forensic review asap in case of an attack

Licensing

The license of the project is as described in CC BY-SA 4.0

For more understanding, refer https://creativecommons.org/licenses/by-sa/4.0/

Getting Involved

Involvement in the development and promotion of the project is highly encouraged. You do not have to be a security expert or a programmer to contribute. Some of the ways you can help us are follows -

  1. Help us with the documentation as a collaborator for the project
  2. Provide topics that you would like to be covered as part of the project
  3. Request to join the mailing lists and help review the project
  4. Refer like-minded people to participate/help with the project
  5. Assist/Invite with events related to blockchain to help promote the project or interact with people from the community to help spread the word and refine the project with their opinions

Project Resources

https://github.com/OWASP/Blockchain-Security-Framework

Classifications

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