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 Web Malware Scanner Project"

From OWASP
Jump to: navigation, search
(Description)
 
(44 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
| 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">
+
==OWASP Web Malware Scanner Tool Project==
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 OWASP Web Malware Scanner is a malware scanner for web applications. The goal is to be able to scan a web application using a community driven signature database. The Web Malware Scanner works by scanning each files of the web application for known malwares.
<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 Web Malware Scanner is a malware scanner for web applications. The goal is to be able to scan a web application folder for any malware using a community driven signature database. The Web Malware Scanner is run locally to the web application folder much like an anti-virus. This project was created because the ClamAV project and other similar open source tools were unable to detect some infected files on some of our production servers and we needed a solution to scan our web applications with better results.
+
The Web Malware Scanner is not a vulnerability scanner, it is a malware scanner used to identify compromised web application installations.
  
 
The deliverable is a python application.
 
The deliverable is a python application.
Line 23: Line 18:
 
Web Malware Scanner is a simple malware scanner for web applications. It can be used to identify compromised Wordpress, Joomla and other popular web application installations.
 
Web Malware Scanner is a simple malware scanner for web applications. It can be used to identify compromised Wordpress, Joomla and other popular web application installations.
  
The Web Malware Scanner must be run locally to the web application installation folder. It will scan each files and compare them to the Web Malware Scanner's signature database. Each file is scanned for any known malware MD5 checksum and also for any regular expression based malware signatures.
+
The Web Malware Scanner will scan each files and compare them to the Web Malware Scanner's signature database. Each file is scanned for any known malware MD5 checksum and also for any malware patterns using YARA rules. Finally, the scan will look for insecure permissions for every files and folders.
  
The Web Malware Scanner Project uses regular expressions to search files for malware signatures as opposed to the custom ClamAV signature database wildcard syntax, which is somewhat more limited.  
+
The goal of the OWASP Web Malware Scanner Project is to have a community driven signature database. You are more than welcome to contribute to this project by sending us new malware signatures.
  
The ClamAV custom wildcard syntax only includes the following wildcards:
+
==Features==
  
<nowiki>
+
* Support for Windows, Linux and MacOS
?? Matches any byte.
+
* Over 500 000 malware MD5 hashes
 +
* Over 500 YARA ruleset databases
  
* Matches any number of bytes (including 0 byte).
+
==Downloads==
  
{n} Matches n bytes.
+
'''Windows''': [https://github.com/maxlabelle/WebMalwareScanner Get it from github]
  
{-n} Matches n bytes or less.
+
'''Linux''': [https://github.com/maxlabelle/WebMalwareScanner Get it from github]
  
{n-} Matches at least n bytes.
+
'''Mac OS''': [https://github.com/maxlabelle/WebMalwareScanner Get it from github]
 
 
{m-n} Matches between m and n bytes.
 
 
 
(0a|1b) Matches 0a or 1b.
 
</nowiki>
 
 
 
The Web Malware Scanner project uses standard regular expressions for a much wider range of matching patterns.
 
 
 
The default signature database is taken in parts from ClamAV's signature database, SaneSecurity's signature database and other sources.
 
 
 
The goal of the OWASP Web Malware Scanner Project is to have a community driven signature database. You are more than welcome to contribute to this project by sending us new malware signatures.
 
  
 
==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>
 
 
Modified BSD, 3-clause License
 
  
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)}.
+
The Web Malware Scanner Project is released under the BSD 4-clause "Original" or "Old" License.
  
 
| 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">
 
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/maxlabelle/WebMalwareScanner
 
https://github.com/maxlabelle/WebMalwareScanner
  
[https://github.com/SamanthaGroves Installation Package]
+
[https://github.com/maxlabelle/WebMalwareScanner Source Code]
  
[https://github.com/SamanthaGroves Source Code]
+
[https://github.com/maxlabelle/WebMalwareScanner/wiki Documentation]
  
[https://github.com/SamanthaGroves What's New (Revision History)]
+
[https://github.com/maxlabelle/WebMalwareScanner/issues Issue Tracker]
 
 
[https://github.com/SamanthaGroves Documentation]
 
 
 
[https://github.com/SamanthaGroves Wiki Home Page]
 
 
 
[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>
 
 
Project leader's name
 
 
== Related Projects ==
 
 
I am already a project leader of the VaultDB project.
 
  
<span style="color:#ff0000">
+
Maxime Labelle ( maxime.[email protected] )
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 119: Line 73:
  
 
== News and Events ==
 
== 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.
+
* [01 Jun 2016] Working on version 1.0; New GUI, Automatic updates, new signature database, Standalone application for Windows, Linux and MacOS
</span>
+
 
* [12 Feb 2013] Support for Spanish is now available with this release.
+
* [04 Mar 2016] The Web Malware Scanner is now an official OWASP Project
* [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.   
 
  
 
|}
 
|}
  
 
=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?==
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.
  
==If I am not a programmer can I participate in your project?==
+
==I'm not a programmer, how can I help?==
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.  See the Road Map and Getting Involved tab for more details.
+
One thing you can do, if you want to help, is to send infected or suspicious files to the project leader. These files will be analysed and added to the signature database if needed.
  
 
= 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:
 
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://github.com/maxlabelle Maxime Labelle] who created the OWASP Web Malware Scanner Project
* [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
+
* [http://sanesecurity.com/ SaneSecurity] who provided malware signatures
* '''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.-->
 
<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==
 
The base application is already completed. The next step is to populate the signature database and optimize the current codebase.
 
The base application is already completed. The next step is to populate the signature database and optimize the current codebase.
  
 
+
As of <strong>March, 2016, the highest priorities for the next 6 months</strong> are:
 
 
 
 
 
 
As of <strong>November, 2013, the highest priorities for the next 6 months</strong> are:
 
 
<strong>
 
<strong>
* Complete the first draft of the Tool Project Template
+
* Populate the signature database
* Get other people to review the Tool Project Template and provide feedback
+
* Optimize the codebase
* Incorporate feedback into changes in the Tool Project Template
+
* Incorporate new ideas and security assessments
* Finalize the Tool Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project
+
* Add scan for compressed files
</strong>
+
* Report false positives
 
+
* Automatic updates
Subsequent Releases will add
 
<strong>
 
* Internationalization Support
 
* Additional Unit Tests
 
* Automated Regression tests
 
 
</strong>
 
</strong>
  
 
==Getting Involved==
 
==Getting Involved==
Involvement in the development and promotion of <strong>Tool Project Template</strong> is actively encouraged!
+
Involvement in the development and promotion of <strong>Web Malware Scanner Project</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:
Line 198: Line 118:
 
===Coding===
 
===Coding===
 
We could implement some of the later items on the roadmap sooner if someone wanted to help out with unit or automated regression tests
 
We could implement some of the later items on the roadmap sooner if someone wanted to help out with unit or automated regression tests
===Localization===
+
 
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.
 
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===
 
===Feedback===
Please use the [https://lists.owasp.org/mailman/listinfo/OWASP_Tool_Project_Template Tool Project Template project mailing list] for feedback about:
+
Please send us feedback about:
 
<ul>
 
<ul>
 
<li>What do like?</li>
 
<li>What do like?</li>
 
<li>What don't you like?</li>
 
<li>What don't you like?</li>
 
<li>What features would you like to see prioritized on the roadmap?</li>
 
<li>What features would you like to see prioritized on the roadmap?</li>
 +
<li>Do you think we forgot something important? Let us know! </li>
 
</ul>
 
</ul>
  
 
=Minimum Viable Product=
 
=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 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}}
+
We feel that the signature database is the most important aspect of this project. If the database is updated often with new signatures, this project will remain useful.
  
 
__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]]

Latest revision as of 15:24, 31 December 2016

OWASP Project Header.jpg

OWASP Web Malware Scanner Tool Project

The OWASP Web Malware Scanner is a malware scanner for web applications. The goal is to be able to scan a web application using a community driven signature database. The Web Malware Scanner works by scanning each files of the web application for known malwares.

The Web Malware Scanner is not a vulnerability scanner, it is a malware scanner used to identify compromised web application installations.

The deliverable is a python application.

Description

Web Malware Scanner is a simple malware scanner for web applications. It can be used to identify compromised Wordpress, Joomla and other popular web application installations.

The Web Malware Scanner will scan each files and compare them to the Web Malware Scanner's signature database. Each file is scanned for any known malware MD5 checksum and also for any malware patterns using YARA rules. Finally, the scan will look for insecure permissions for every files and folders.

The goal of the OWASP Web Malware Scanner Project is to have a community driven signature database. You are more than welcome to contribute to this project by sending us new malware signatures.

Features

  • Support for Windows, Linux and MacOS
  • Over 500 000 malware MD5 hashes
  • Over 500 YARA ruleset databases

Downloads

Windows: Get it from github

Linux: Get it from github

Mac OS: Get it from github

Licensing

The Web Malware Scanner Project is released under the BSD 4-clause "Original" or "Old" License.

Project Resources

https://github.com/maxlabelle/WebMalwareScanner

Source Code

Documentation

Issue Tracker

Project Leader

Maxime Labelle ( [email protected] )

Classifications

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

News and Events

  • [01 Jun 2016] Working on version 1.0; New GUI, Automatic updates, new signature database, Standalone application for Windows, Linux and MacOS
  • [04 Mar 2016] The Web Malware Scanner is now an official OWASP Project

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.

I'm not a programmer, how can I help?

One thing you can do, if you want to help, is to send infected or suspicious files to the project leader. These files will be analysed and added to the signature database if needed.

Contributors

The first contributors to the project were:

Roadmap

The base application is already completed. The next step is to populate the signature database and optimize the current codebase.

As of March, 2016, the highest priorities for the next 6 months are:

  • Populate the signature database
  • Optimize the codebase
  • Incorporate new ideas and security assessments
  • Add scan for compressed files
  • Report false positives
  • Automatic updates

Getting Involved

Involvement in the development and promotion of Web Malware Scanner Project 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:

Coding

We could implement some of the later items on the roadmap sooner if someone wanted to help out with unit or automated regression tests

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 send us feedback about:

  • What do like?
  • What don't you like?
  • What features would you like to see prioritized on the roadmap?
  • Do you think we forgot something important? Let us know!

We feel that the signature database is the most important aspect of this project. If the database is updated often with new signatures, this project will remain useful.