|
|
(20 intermediate revisions by the same user not shown) |
Line 3: |
Line 3: |
| <div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">[[File:OWASP_Project_Header.jpg|link=]]</div> | | <div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">[[File:OWASP_Project_Header.jpg|link=]]</div> |
| | | |
− | {| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |- | + | {| style="padding: 0;width:100%;margin:0;margin-top:10px;text-align:left;" |- |
− | | valign="top" style="border-right: 1px dotted gray;padding-right:25px;" | | + | | style="border-right: 1px dotted gray;padding-right:25px;" valign="top" | |
| + | == OWASP Honeypot Project Background == |
| | | |
− | <span style="color:#ff0000">
| + | Scientists at National Institute of Science and Technology claim that 92% of security vulnerabilities lie within the applications; handing the advantage over to the cyber-thieves. Many of these bugs can be eliminated simply by improving the code in which the software applications are written. The UK government estimates that the cost from cyber-attacks to be on average around £310,000 for a UK SME per annum, with almost 1 million UK SMEs having suffered from a data breach in 2017. SMEs are 70% more likely to be attacked than larger organisations, simply because they lack the ability to protect themselves. Regulations such as GDPR (which replaced the Data Protection Act in May 2018) exist to enforce that organisations protect data. Yet little in the way of understanding the threat exposures exist, with even less guidance on how to protect against the risks. |
− | 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 Tool Project Template==
| + | The web application Defender's community already exists. Not-for-profit charitable organisations such as OWASP (Open Web Application Security Project) raison d’etre is to provide an open source community to help organisations develop safer software applications that can be trusted to be secure against criminal attack. TSI (the Trusted Software Initiative) and OWASP create educational information on how software should be written and some of the more obvious bugs that are left open to give attackers access to confidential information. |
− | <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 Tool 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. | + | ==Introduction == |
| + | Researchers are beginning to realise that by “watching” how Internet criminals behave, we can learn directly from their work flow activities, and use this information to protect ourselves. The past 20 years of research into Internet security, has made internal hosting infrastructures more secure, especially in large businesses. So today, Internet criminals take advantage of bugs in the software applications themselves. These bugs originate wholly because software has been poorly written and designed. |
| | | |
− | ==Description==
| + | Large businesses may already employ a team of people to evaluate and protect any software facing the Internet. However, a key area lacking protection are the millions of smaller businesses worldwide that trade via the Internet, right down to the one person hobby-business selling products from home on eBay. |
− | <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 Tool 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.
| + | This project is about collecting and maximising intelligence from the cyber-battlefield that exists between attackers with criminal intent and the people creating the software upon which the Internet runs. By collecting intel on what the criminals are doing, we can define rules for writing software that can be fed back to the front line troops writing the code, so they can close these bugs and other vulnerabilities in their software. An attacker only needs to be lucky once, whereas we need to be lucky in protecting against all attacks, all of the time. By sharing the findings from our reconnoitres out in the field, this project provides educational information back to the community of software coders, be they professional developers or school kids working in their bedrooms. Today, the advantage lies clearly with the attackers. With this kind of threat information we take the advantage back into the hands of the defenders. |
| | | |
− | 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.
| + | | style="padding-left:25px;width:34%;border-right: 1px dotted gray;padding-right:25px;" valign="top" | |
| | | |
− | Contextual custom dictionary builder with character substitution and word variations for pen-testers
| + | == Description == |
| + | The goal of the OWASP ''Honeypot Project'' is to identify emerging attacks against web applications and report them to the community, in order to facilitate protection against such targeted attacks. Within this project, Anglia Ruskin University is leading the collection, storage and analysis of threat intelligence data. |
| | | |
− | ==Licensing==
| + | The purpose of this part of the project is to capture intelligence on attacker activity against web applications and utilise this intelligence as ways to protect software against attacks. Honeypots are an established industry technique to provide a realistic target to entice a criminal, whilst encouraging them to divulge the tools and techniques they use during an attack. Like bees to a honeypot. These honeypots are safely designed to contain no information of monetary use to an attacker, and hence provide no risk to the businesses implementing them. |
− | <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 © by {the Project Leader(s) or OWASP} {Year(s)}.
| + | The project will create honeypots that the community can distribute within their own networks. With enough honeypots globally distributed, we will be in a position to aggregate attack techniques to better understand and protect against the techniques used by attackers. With this information, we will be in a position to create educational information, such as rules and strategies, that application writers can use to ensure that any detected bugs and vulnerabilities are closed. |
| | | |
− | | valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |
| + | Project progression: |
| | | |
− | == Project Resources ==
| + | # '''Honeypot software.''' The honeypot software that is to be provided to the community to place in their networks has been written. Honeypots are available in a variety of forms, to make deployment as flexible as possible and appeal to a diverse a user set as possible. |
− | <span style="color:#ff0000">
| + | # '''Collection software.''' The centralised collection software has been written and evaluated in a student driven proof-of-concept project. Honeypots have been attacked in a laboratory situation and have reported both the steps taken by the attacker and what they have attacked, back to the collection software. |
− | 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.
| + | # '''Rollout to the Community.''' The project now needs a dedicated infrastructure platform in place that is available to the entire community to start collecting intelligence back from community deployed honeypots. This infrastructure will run the collector software, analysis programmes and provide a portal for communicating our finds and recommendations back to the community in a meaningful manner. |
− | </span>
| + | # '''Going Forward'''. Toolkits and skills used by attackers do not stand still. As existing bugs are plugged, others open. . Follow up stages for the project will be to create a messaging system to automatically update the community on findings of significant risk in their existing code that requires attention. |
| | | |
− | [https://github.com/SamanthaGroves Installation Package]
| + | | style="padding-left:20px;width:32%;" valign="top" | |
| | | |
− | [https://github.com/SamanthaGroves Source Code]
| + | == What is the OWASP Honeypot Project? == |
| + | The OWASP Honeypot Project provides: |
| + | * Real-time, detailed Web Application Attack Data |
| + | * Threat Reports to the community |
| | | |
− | [https://github.com/SamanthaGroves What's New (Revision History)]
| + | == News and Events == |
| | | |
− | [https://github.com/SamanthaGroves Documentation] | + | * [[Media:Open Security Summit Honeypot.pdf|OWASP Honeypot Project Reboot]] at Open Security Summit 2018 & CRS Community Summit 2018 (hosted at AppSec Europe 2018) |
| + | * [https://drive.google.com/open?id=1ZVg8C8Fkp-q6SoMtYUR2NAmCOg319eRl CRS Community Summit 2018 Video Presentations] (hosted at Appsec Europe 2018, QE2 Conference Centre, London. |
| | | |
− | [https://github.com/SamanthaGroves Wiki Home Page]
| + | == Project Resources == |
− | | |
− | [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">
| + | * [https://www.owasp.org/index.php/User:Adrian_Winckles Adrian Winckles] |
− | 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>
| |
| | | |
− | Project leader's name
| + | == Related Projects == |
| | | |
− | == Related Projects == | + | ==Licensing== |
− | <span style="color:#ff0000">
| |
− | This is where you can link to other OWASP Projects that are similar to yours.
| |
− | </span>
| |
− | * [[OWASP_Code_Project_Template]]
| |
− | * [[OWASP_Documentation_Project_Template]]
| |
| | | |
| ==Classifications== | | ==Classifications== |
Line 76: |
Line 59: |
| {| width="200" cellpadding="2" | | {| width="200" cellpadding="2" |
| |- | | |- |
− | | colspan="2" align="center" | [[File:Project_Type_Files_TOOL.jpg|link=https://www.owasp.org/index.php/Category:OWASP_Tool]] | + | | colspan="2" align="center" | [[File:Project_Type_Files_TOOL.jpg|link=https://www.owasp.org/index.php/Category:OWASP_Tool]] |
| |- | | |- |
− | | 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" width="50%" valign="top" align="center" | [[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]] | + | | width="50%" valign="top" align="center" | [[File:Owasp-builders-small.png|link=Builders]] |
| |- | | |- |
− | | align="center" valign="top" width="50%"| [[File:Owasp-defenders-small.png|link=Defenders]] | + | | width="50%" valign="top" align="center" | [[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]] |
| |} | | |} |
− |
| |
− | | valign="top" style="padding-left:25px;width:200px;" |
| |
− |
| |
− | == News and Events ==
| |
− | <span style="color:#ff0000">
| |
− | This is where you can provide project updates, links to any events like conference presentations, Project Leader interviews, case studies on successful project implementations, and articles written about your project.
| |
− | </span>
| |
− | * [12 Feb 2013] Support for Spanish is now available with this release.
| |
− | * [11 Jan 2014] The 1.0 stable version has been released! Thanks everyone for your feedback and code fixes that made this happen!
| |
− | * [18 Dec 2013] 1.0 Release Candidate is available for download. This release provides final bug fixes and product stabilization. Any feedback (good or bad) in the next few weeks would be greatly appreciated.
| |
− | * [20 Nov 2013] 1.0 Beta 2 Release is available for download. This release offers several bug fixes, a few performance improvements, and addressed all outstanding issues from a security audit of the code.
| |
− | * [30 Sep 2013] 1.0 Beta 1 Release is available for download. This release offers the first version with all of the functionality for a minimum viable product.
| |
| | | |
| |} | | |} |
Line 102: |
Line 73: |
| =FAQs= | | =FAQs= |
| | | |
− | <!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | + | <!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->==How can I participate in your project?== |
− | <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?== | |
| 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. | | 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. |
| | | |
Line 115: |
Line 81: |
| = Acknowledgements = | | = Acknowledgements = |
| ==Contributors== | | ==Contributors== |
− |
| |
− | <!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.-->
| |
− | <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 Tool Project Template 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:
| |
− |
| |
− | * [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] who created the OWASP Cornucopia project that the template was derived from
| |
− | * [https://www.owasp.org/index.php/User:Chuck_Cooper Chuck Cooper] who edited the template to convert it from a documentation project to a Tool Project Template
| |
− | * '''YOUR NAME BELONGS HERE AND YOU SHOULD REMOVE THE PRIOR 3 NAMES'''
| |
| | | |
| = 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.--> | | <!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> |
− | <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 as well as areas that volunteers may contribute. 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.
| |
− | 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>
| |
− |
| |
| ==Roadmap== | | ==Roadmap== |
− | As of <strong>November, 2013, the highest priorities for the next 6 months</strong> are: | + | As of <strong>August, 2018, the priorities for the next 6 months</strong> are: |
| <strong> | | <strong> |
− | * Complete the first draft of the Tool Project Template | + | * Setup Proof of Concept to understand how Mod Security baed Honeypot/Probe interacts with a receiving console (develop a VM and/or Docker based test solution to store logs from multiple probes). |
− | * Get other people to review the Tool Project Template and provide feedback | + | * Evaluate console options to visualise threat data received from ModSecurity Honeypots/probes in MosSecurity Audit Console, WAF-FLE, Fluent and bespoke scripts for single and multiple probes. |
− | * Incorporate feedback into changes in the Tool Project Template | + | * Develop a mechanism to convert from stored MySQL to JSON format. |
− | * Finalize the Tool Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project | + | * Provide a mechanism to convert ModSecurity mlogc audit log output into JSON format. |
| + | * Provide a mechanism to convert mlogc audit log output directly into ELK (ElasticSearch/Logstash/Kibana) to visualise the data. |
| + | * Provide a mechanism to forward honest output into threat intelligence format such as STIX using something like the MISP project |
| + | * (https://www.misp-project.org) to share Threat data coming from the Honeypots making it easy to export/import data from formats such as STIX and TAXII., may require use of concurrent logs in a format that MISP can deal with. |
| + | * Consider new alternatives for log transfer including the use of MLOGC-NG or other possible approaches. |
| + | * Develop a new VM based honeypot/robe based on CRS v3.0. |
| + | * Develop new alternative small footprint honeypot/probe formats utilising Docker & Raspberry Pi. |
| + | * Develop machine learning approach to automatically be able to update the rule set being used by the probe based on cyber threat intelligence received. |
| </strong> | | </strong> |
| | | |
− | Subsequent Releases will add
| + | ==Getting Involved== |
− | <strong> | + | Involvement in the development and promotion of the <strong>Web Honeypot Project </strong> is actively encouraged! |
− | * Internationalization Support
| |
− | * Additional Unit Tests
| |
− | * Automated Regression tests
| |
− | </strong> | |
| | | |
− | ==Getting Involved==
| |
− | Involvement in the development and promotion of <strong>Tool 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: |
| | | |
− | ===Coding===
| + | * Coding aspects of CRS/JSON |
− | We could implement some of the later items on the roadmap sooner if someone wanted to help out with unit or automated regression tests
| + | * Working on Component Integration |
− | ===Localization===
| + | * Deploying a Honeypot/Probe |
− | Are you fluent in another language? Can you help translate the text strings in the <strong>Tool Project Template</strong> into that language?
| + | * Testing |
− | ===Testing===
| |
− | Do you have a flair for finding bugs in software? We want to product a high quality product, so any help with Quality Assurance would be greatly appreciated. Let us know if you can offer your help.
| |
− | ===Feedback===
| |
− | Please use the [https://lists.owasp.org/mailman/listinfo/OWASP_Tool_Project_Template Tool Project Template project mailing list] for feedback about:
| |
− | <ul>
| |
− | <li>What do like?</li>
| |
− | <li>What don't you like?</li>
| |
− | <li>What features would you like to see prioritized on the roadmap?</li>
| |
− | </ul>
| |
− | | |
− | =Minimum Viable Product=
| |
− | <!-- 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 should indicate what is the minimum set of functionality that is required to make this a useful product that addresses your core security concern.
| |
− | Defining this information helps the project leader to think about what is the critical functionality that a user needs for this project to be useful, thereby helping determine what the priorities should be on the roadmap. And it also helps reviewers who are evaluating the project to determine if the functionality sufficiently provides the critical functionality to determine if the project should be promoted to the next project category.
| |
− | </span>
| |
− | | |
− | The Tool Project Template must specify the minimum set of tabs a project should have, provide some an example layout on each tab, provide instructional text on how a project leader should modify the tab, and give some example text that illustrates how to create an actual project.
| |
| | | |
− | It would also be ideal if the sample text was translated into different languages.
| + | =Project Participants= |
− | | |
− | =Project About= | |
− | Addtional Instructions for making changes:
| |
− | | |
− | The About 'tab' on that page is done with a MediaWiki template. If you log into the wiki page for your project and click the "Edit" button/link/tab in the top-right between 'Read' and 'View History', you'll see the edit page for the main body of your project page.
| |
− | | |
− | If you scroll down below the form to edit that page (below the "Save page", "Show preview", "Show changes" buttons, you'll see some text with a triangle in front of it reading "Templates used on this page:" A list will expand if you click on the triangle/text to show the templates that make up this page. The one you want is the "Projects/OWASP Example Project About Page" - click the (edit) next to this to edit that template. The direct link is: https://www.owasp.org/index.php?title=Projects/OWASP_Example_Project_About_Page&action=edit
| |
− | | |
− | The template takes 'input' that are key/value pairs where you'll need to edit the stuff after the equals (=) like:
| |
− | project_name =Place your project name here.
| |
− | | |
− | You'd edit the bold bit.
| |
− | | |
− | <!-- 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}}
| + | * [https://www.owasp.org/index.php/User:Adrian_Winckles Adrian Winckles] |
| + | * Mark Graham |
| + | * Andrew Moore |
| + | * Artur Zaremba (Intern) |
| + | * [https://www.owasp.org/index.php/Special:Contributions/Felipe_Zipitria Felipe Zipitria] |
| + | * [https://www.owasp.org/index.php/User:Tin_Zaw Tin Zaw] |
| + | * [https://www.owasp.org/index.php/User:Chaim_sanders Chaim Sanders] |
| + | * [https://www.owasp.org/index.php/User:Ali_Razmjoo Ali Razmjoo] |
| | | |
| __NOTOC__ <headertabs /> | | __NOTOC__ <headertabs /> |
| | | |
− | [[Category:OWASP Project]] [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Tool]] | + | [[Category:OWASP Project]] |
| + | [[Category:OWASP_Builders]] |
| + | [[Category:OWASP_Defenders]] |
| + | [[Category:OWASP_Tool]] |