<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=John+Melton</id>
		<title>OWASP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=John+Melton"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/John_Melton"/>
		<updated>2026-05-03T13:00:37Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=240347</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=240347"/>
				<updated>2018-05-01T20:45:31Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: removing dennis as project leader&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:120px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: flagship_big.jpg|link=OWASP_Project_Stages#tab=Flagship_Projects]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers a comprehensive guide and a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [https://brage.bibsys.no/xmlui/handle/11250/252956 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Intro for Developers ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Two-sided US Letter or A4]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf 12-page US Letter booklet]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;padding-left:25px;width:200px;&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [25 Sep 2015] [http://appsecusa2015.sched.org/event/09495faf5cced352cb4a2acc16ce9158#.VaOSoHhfk2w Presentation] at AppSec USA 2015&lt;br /&gt;
* [27 Jul 2015] [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc AppSensor Guide v2.0.2] published&lt;br /&gt;
* [09 Jun 2015] AppSensor Code v2.1.0 [https://github.com/jtmelton/appsensor/releases/tag/v2.1.0 released]&lt;br /&gt;
* [20 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Code&lt;br /&gt;
* [19 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Documentation&lt;br /&gt;
* [09 Apr 2015] [https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf CISO Briefing] booklet published&lt;br /&gt;
* [22 Feb 2015] Proposal for [https://www.owasp.org/index.php/GSoC2015_Ideas#OWASP_AppSensor Google Summer of Code 2015]&lt;br /&gt;
* [13 Feb 2015] [https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Introduction for Developers] flyer published&lt;br /&gt;
* [13 Feb 2015] AppSensor project awarded OWASP flagship status&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-22290600.html AppSensor Guide] and [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html CISO Briefing] can be purchased at cost as print on demand books.&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;200&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | rowspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; width=&amp;quot;50%&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Mature projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; width=&amp;quot;50%&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; width=&amp;quot;50%&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot; | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Juan C Calderon&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*Sumanth Damaria&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
*Sean Fay&lt;br /&gt;
&lt;br /&gt;
   | align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Timo Goosen&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Benjamin-Hugo LeBlanc&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
*Mark Miller&lt;br /&gt;
* Rich Mogull&lt;br /&gt;
*Craig Munson&lt;br /&gt;
&lt;br /&gt;
   | align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Louis Nadeau&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Raphael Taban&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Stephen de Vries&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
==OWASP Code Sprint 2015==&lt;br /&gt;
Development work was also supported by the [https://www.owasp.org/index.php/Summer_Code_Sprint2015 OWASP Summer Code Sprint 2015].&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas ([http://lists.owasp.org/pipermail/owasp-appsensor-project/2015-February/000855.html see discussion and editable list of changes])&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. &lt;br /&gt;
v2.0.0 final was released in late January 2015.&lt;br /&gt;
v2.1.0 final was released in June 2015.&lt;br /&gt;
v2.2.0 final was released in September 2015&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== June 2015 (2.1) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/19 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Sample application / demo&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/9 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up developer documentation on github and appsensor.org&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/12 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Preparation for GSOC 2015 submission&amp;lt;/strike&amp;gt; -&amp;gt; DONE - see [[GSoC2015_Ideas]] - Update - OWASP not selected&lt;br /&gt;
&lt;br /&gt;
=== September 2015 (2.2) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;First version of administration UI for appsensor (monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/10 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== January 2016 (2.3) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* Video demo of setting up appsensor (screen capture) (related to sample apps)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
&lt;br /&gt;
=== May 2016 (2.4) === &lt;br /&gt;
* Trend monitoring implementation ([https://github.com/jtmelton/appsensor/issues/6 github issue])&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''September 2015''' Final release v2.2.0 code&lt;br /&gt;
&lt;br /&gt;
'''June 2015''' Final release v2.1.0 code&lt;br /&gt;
&lt;br /&gt;
'''April 2015''' CISO Briefing booklet published&lt;br /&gt;
&lt;br /&gt;
'''February 2015''' Introduction for Developers flyer published&lt;br /&gt;
&lt;br /&gt;
'''January 2015''' Final release v2.0.0 code&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== Introductory Briefings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Developers&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Architects&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | CISOs&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;200&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| align=&amp;quot;center&amp;quot; width=&amp;quot;200&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CISO briefing is also available to [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html buy at cost in print].&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
http://appsensor.org/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
==Source Documents / Artwork==&lt;br /&gt;
&lt;br /&gt;
* Guide&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc Word (content only)], DOC 11Mb&lt;br /&gt;
** [https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Word, images, Lulu covers, diagrams], ZIP 96Mb&lt;br /&gt;
* Introduction for Developers&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-a4.zip A4 Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-usletter.zip US letter Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
* Poster&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-poster-a1.zip A1 Illustrator and PDF export] ZIP, 18Mb&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;}} &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs&amp;gt;&amp;lt;/headertabs&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project|AppSensor Project]] &lt;br /&gt;
[[Category:OWASP Project]]  &lt;br /&gt;
[[Category:OWASP_Builders]] &lt;br /&gt;
[[Category:OWASP_Defenders]] &lt;br /&gt;
[[Category:OWASP_Document]] &lt;br /&gt;
[[Category:OWASP_Download]] &lt;br /&gt;
[[Category:SAMM-EH-3]] &lt;br /&gt;
[[Category:SAMM-SA-2]] &lt;br /&gt;
[[Category:SAMM-VM-3]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Code_Sprint_2017&amp;diff=230382</id>
		<title>OWASP Code Sprint 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Code_Sprint_2017&amp;diff=230382"/>
				<updated>2017-06-05T02:12:25Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: added link to previous year's GSoC work&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== '''Goal''' ==&lt;br /&gt;
The OWASP Code Sprint 2017 is a program that aims to provide incentives to students to contribute to OWASP projects. By participating in the OWASP Code Sprint 2017 a student can get real life experience while contributing to an open source project. A student that successfully completes the program will receive in total $1500.&lt;br /&gt;
&lt;br /&gt;
== '''Program details''' ==&lt;br /&gt;
&lt;br /&gt;
''Projects that are eligible:'' All code/tools projects. Documentation projects are excluded.&lt;br /&gt;
&lt;br /&gt;
''Duration:'' 8 weeks of full-time coding engagement .&lt;br /&gt;
&lt;br /&gt;
== '''How it works''' ==&lt;br /&gt;
&lt;br /&gt;
Any code/tool project can participate in the OWASP Code Sprint. Each project will be guided by an OWASP mentor. Students are evaluated in the middle and at the end of the coding period, based on success criteria identified at the beginning of the project. Successful students will receive $750 after each evaluation, a total of $1500 per student.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. &lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language. &lt;br /&gt;
&lt;br /&gt;
== '''How you can participate''' ==&lt;br /&gt;
&lt;br /&gt;
=== As a student: ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in the OWASP Code Sprint 2017.&lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during May thru September&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
=== [https://docs.google.com/forms/d/e/1FAIpQLSdAyBg5x9gapfLTL4Q_so7faNpR2QZmtuL3q4la2g5NZnhvyA/viewform ALL STUDENTS PLEASE APPLY HERE] ===&lt;br /&gt;
&lt;br /&gt;
Student application submission is now open: [https://goo.gl/forms/it8hieQAcvCTuPG83 APPLY HERE].&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader: ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
== '''Timeplan''' ==&lt;br /&gt;
&lt;br /&gt;
'''Phase 1: Proposals'''&lt;br /&gt;
&lt;br /&gt;
Project leaders who want to include their project to the program should submit some initial proposal ideas on this page. These ideas serve as guidance to the students; they are things that project leaders would like to get done, like new features, improvements, etc.&lt;br /&gt;
&lt;br /&gt;
Subsequently students are invited to submit detailed proposals that can (but do not necessarily have to) be based on these ideas. Students are strongly encouraged to engage with project leaders and each project's community (e.g. through the project's mailing list) in order to discuss the details of their proposal. Proposals should provide details about the implementation, time plan, milestones, etc.&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Scoring of proposals'''&lt;br /&gt;
&lt;br /&gt;
After the submission of proposals, project leaders and contributors/mentors are required to review the submitted proposals and score them (on a 1 to 5 scale). Each proposal should receive at least 3 assessments/scores from different mentors. Each mentor, contributor or leader can score only proposals for their OWN project. All assessments should provide justification. Reviewers are strongly encouraged to provide constructive comments for students so that they can improve in the future.&lt;br /&gt;
&lt;br /&gt;
Project leaders are responsible to attract a sufficient number of volunteer mentors to score proposals and subsequently supervise those that will get selected.&lt;br /&gt;
&lt;br /&gt;
'''Phase 3: Slot allocation.'''&lt;br /&gt;
&lt;br /&gt;
When proposal scoring has been completed, each project leader requests a specific number of slots. This number should be based on:&lt;br /&gt;
The number of truly outstanding proposals according to submitted scores.&lt;br /&gt;
The importance of the proposal to the project's roadmap.&lt;br /&gt;
The number of available mentors for the project. At least 2 mentors are needed for each proposal that gets accepted.&lt;br /&gt;
If the total number of requested slots is less than or equal to the available number of slots, then all projects get the requested slots. If not, the following rules apply:&lt;br /&gt;
All projects that have requested a slot get at least 1 slot, provided they have a high quality proposal and sufficient number of mentors.&lt;br /&gt;
Two mentors are required per slot allocated to the project.&lt;br /&gt;
The program's administrators get in touch with project leaders, especially those that have requested a large number of slots to receive additional feedback on the requested slots and explore any available possibilities for reducing the requested number of slots. A project leader might choose to donate one or more requested slots back to the pool so that other projects can get more slots. The program administrators can choose to initiate a public discussion between projects in need of more slots and projects that have requested a lot of slots in order to determine the best possible outcome for everyone.&lt;br /&gt;
If all else fails, slots are equally allocated to projects, i.e. all projects get 1 slot; projects that have requested 2 or more slots get an extra slot if available; projects that have requested 3 or more slots get an extra slot if available, etc. When there are no more slots available for all projects that have requested them a draw is used to allocate the remaining slots.&lt;br /&gt;
&lt;br /&gt;
In any case, the program's administrators should perform a final review of the selected proposals to ensure that they are of high quality. If concerns arise they should request additional information from project leaders.&lt;br /&gt;
&lt;br /&gt;
'''Phase 4: Coding.'''&lt;br /&gt;
&lt;br /&gt;
This is the main phase of the program. Students implement their proposal according to the submitted timeplan and under the supervision &lt;br /&gt;
of their mentors.&lt;br /&gt;
&lt;br /&gt;
== '''Evaluations''' ==&lt;br /&gt;
&lt;br /&gt;
In the middle of the coding period, mentors should submit an evaluation of their students to ensure that they are on track and provide some feedback both to OWASP and the students.&lt;br /&gt;
&lt;br /&gt;
If no/little progress has been made up to this point, the mentors could decide to fail the student in which case the student does not receive money. If successful, OWASP will pay half the amount ($750). The final evaluations are submitted at the end of the coding period and the second installment ($750) is paid to the student if all agreed deliverables are met. If the student has failed to demonstrate progress during the second period, then the second installment will not be paid and the student will get only half of the amount.&lt;br /&gt;
== '''Deadlines''' == &lt;br /&gt;
Program announcement: May 15''', 2017''' &lt;br /&gt;
&lt;br /&gt;
Deadline for Student Applications: '''June 15, 2015''' &lt;br /&gt;
&lt;br /&gt;
Proposal Evaluations: from: '''June''' '''15 thru June 23  2017''' &lt;br /&gt;
&lt;br /&gt;
Successful proposals announcement:: '''June 26, 2017''' &lt;br /&gt;
&lt;br /&gt;
Bonding Period Announcement: June 26, 2017 - July 1, 2017 &lt;br /&gt;
&lt;br /&gt;
Coding Period Starts: '''July 3, 2017''' &lt;br /&gt;
&lt;br /&gt;
Mid-term evaluations: Submitted from :'''July 31, 2017  thru  August 4, 2017'''&lt;br /&gt;
&lt;br /&gt;
Coding Period Re-starts: August 7, 2017&lt;br /&gt;
&lt;br /&gt;
Coding period ends: '''September 1, 2017''' &lt;br /&gt;
&lt;br /&gt;
Final evaluations:'''September 4, 2017 thru September 8, 2017''' &lt;br /&gt;
&lt;br /&gt;
== '''Mailing List''' ==&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/a/owasp.org/forum/?hl=en#!forum/owasp-code-sprint-2017 OWASP Code Sprint  2017 Mailing List]&lt;br /&gt;
&lt;br /&gt;
== '''Project Ideas''' ==&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP Zed Attack Proxy Project]] (ZAP) The OWASP Zed Attack Proxy (ZAP) is one of the world’s most popular free security tools and is actively maintained by hundreds of international volunteers. Previous GSoC students have implemented key parts of the ZAP core functionality and have been offered (and accepted) jobs based on their work on ZAP.&lt;br /&gt;
&lt;br /&gt;
We have just included a few of the ideas we have here, for a more complete list see the issues on the ZAP bug tracker with the [https://github.com/zaproxy/zaproxy/issues?q=is%3Aopen+is%3Aissue+label%3Aproject project] label.&lt;br /&gt;
&lt;br /&gt;
=== Field Enumeration ===&lt;br /&gt;
:&lt;br /&gt;
:This would allow a user to iterate though a set of (user defined) characters in order to identify the ones that are filtered out and/or escaped.&lt;br /&gt;
:&lt;br /&gt;
:The user should be able to define the character sets to test and will probably need to configure the success and failure conditions, as well as valid values for other fields in the form.&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:* User able to specify a specific field to enumerate via the ZAP UI&lt;br /&gt;
:* A list of all valid characters to be returned from the sets of characters the user specifies&lt;br /&gt;
:* Ability to configure a wide range of success and failure conditions to cope with as many possible situations as possible&lt;br /&gt;
:* Code that conforms to our [https://github.com/zaproxy/zaproxy/wiki/DevGuidelines Development Rules and Guidelines]&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:''' Mentors '''&lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
=== Scripting Code Completion ===&lt;br /&gt;
:&lt;br /&gt;
:ZAP provides a very powerful scripting interface. Unfortunately to use it effectively is only really possible with a good knowledge of the ZAP internals. Adding code completion (eg using a project like https://github.com/bobbylight/AutoComplete) would significantly help users.&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:* Code completion for all of the parameters for all available functions in the standard scripts&lt;br /&gt;
:* Implementations for JavaScript, JRuby and Jython&lt;br /&gt;
:* Helper classes with code completion for commonly required functionality&lt;br /&gt;
:* Code that conforms to our [https://github.com/zaproxy/zaproxy/wiki/DevGuidelines Development Rules and Guidelines]&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:ZAP is written in Java, so a good knowledge of this language is recommended. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== SSRF Detector Integration ===&lt;br /&gt;
:&lt;br /&gt;
:Currently ZAP does not detect SSRF vulnerabilities, due to the lack of this sort of service. https://ssrfdetector.com/ is an online service for detecting Server Side Request Forgery vulnerabilities (SSRF). It is developed and maintained by Jake Reynolds and is open source https://github.com/jacobreynolds/ssrfdetector&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:* Extend ZAP to detect SSRF vulnerabilities and interact with other services such as outlined above.&lt;br /&gt;
:* Code that conforms to our [https://github.com/zaproxy/zaproxy/wiki/DevGuidelines Development Rules and Guidelines]&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:ZAP is written in Java, so a good knowledge of this language is recommended. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== Zest Text Representation and Parser ===&lt;br /&gt;
:&lt;br /&gt;
:Zest is a graphical scripting language from the Mozilla Security team, and is used as the ZAP macro language.&lt;br /&gt;
:&lt;br /&gt;
:A standardized text representation and parser would be very useful and help its adoption.&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:* A documented definition of a text representation for Zest&lt;br /&gt;
:* A parser that converts the text representation into a working Zest script&lt;br /&gt;
:* An option in the Zest java implementation to output Zest scripts text format&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:The Zest reference implementation is written in Java, so a good knowledge of this language is recommended. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== Support Java as a Scripting Language ===&lt;br /&gt;
:&lt;br /&gt;
:It would be very useful to support Java in addition to the JSR223 scripting languages within the ZAP script console'.&lt;br /&gt;
:&lt;br /&gt;
:It should be possible to provide much better auto complete support than will be possible with dynamically typed scripting languages.&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:* The ability to run Java code in the ZAP Script Console to the same leval as other supported scripting languages&lt;br /&gt;
:* Templates for all of the current script types&lt;br /&gt;
:* Optionally auto complete supported&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:The Zest reference implementation is written in Java, so a good knowledge of this language is recommended. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== Bamboo Support ===&lt;br /&gt;
:&lt;br /&gt;
:ZAP already has an official plugin for Jenkins (https://wiki.jenkins-ci.org/display/JENKINS/zap+plugin). &lt;br /&gt;
:&lt;br /&gt;
:It would be great if we also had similar integration for Bamboo (https://www.atlassian.com/software/bamboo, https://en.wikipedia.org/wiki/Bamboo_(software))&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:* Facilitate the invocation and configuration of various ZAP functionalities from Bamboo CI. Including (but not limited to):&lt;br /&gt;
::*Manage Sessions (Loading/Persisting)&lt;br /&gt;
::*Define Context (Name, Include &amp;amp; Exclude URLs)&lt;br /&gt;
::* Attack Contexts (Spider, Ajax Spider, Active Scan)&lt;br /&gt;
::* Setup Autentication (Formed or Script Based)&lt;br /&gt;
::* Generate Reports&lt;br /&gt;
:* Templates for all of the current script types&lt;br /&gt;
:* Optionally auto complete supported&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:The Zest reference implementation is written in Java, so a good knowledge of this language is recommended. Some knowledge of CI/CD/Bamboo would be useful.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== Backslash Powered Scanner ===&lt;br /&gt;
:&lt;br /&gt;
:This is a brand new technique developed by one of the Burp guys: http://blog.portswigger.net/2016/11/backslash-powered-scanning-hunting.html&lt;br /&gt;
:Their implementation is open source: https://github.com/PortSwigger/backslash-powered-scanner so hopefully shouldn't be too hard to port to ZAP :)&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:* Extend ZAP's active scanner to leverage Backslash type scanning.&lt;br /&gt;
:* Code that conforms to our [https://github.com/zaproxy/zaproxy/wiki/DevGuidelines Development Rules and Guidelines]&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:ZAP is written in Java, so a good knowledge of this language is recommended.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== Your Idea ===&lt;br /&gt;
:&lt;br /&gt;
:'''Brief Explanation:'''&lt;br /&gt;
:&lt;br /&gt;
:ZAP is a great framework for building new and innovative security testing solutions. If you have an idea that is not on this list then don't worry, you can still submit it, we have accepted original projects in previous years and have even paid a student to work on their idea when we did not get enough GSoC slots to accept all of the projects we wanted.&lt;br /&gt;
:&lt;br /&gt;
:''' Getting started '''&lt;br /&gt;
:* Get in touch with us :)&lt;br /&gt;
:&lt;br /&gt;
:'''Expected Results:'''&lt;br /&gt;
:* A new feature that makes ZAP even better&lt;br /&gt;
:* Code that conforms to our [https://github.com/zaproxy/zaproxy/wiki/DevGuidelines Development Rules and Guidelines]&lt;br /&gt;
:&lt;br /&gt;
:'''Knowledge Prerequisites:'''&lt;br /&gt;
:ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
== BLT  ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
lets anyone report issues they find on the internet. Found something out of place on Amazon.com ?  Let them know.  Companies are held accountable and shows their response time and history.  Get points for reporting bugs and help keep the internet bug free.&lt;br /&gt;
&lt;br /&gt;
''' Getting started '''&lt;br /&gt;
* Get in touch with us :)&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* A new feature that makes Bugheist even better&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
BLT is written in Python / Django, so a good knowledge of this language and framework is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
[https://www.owasp.org/index.php/User:Sauriti Sean Auriti] [mailto:sean.auriti@owasp.org @] and the rest of the BLT Core Team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Security Knowledge framework ==&lt;br /&gt;
&lt;br /&gt;
===Brief Explanation===&lt;br /&gt;
The OWASP Security Knowledge Framework is intended to be a tool that is used as a guide for building and verifying secure software. It can also be used to train developers about application security. Education is the first step in the Secure Software Development Lifecycle. This software can be run on Windows/Linux/OSX using python-flask.&lt;br /&gt;
&lt;br /&gt;
'''In a nutshell''' &lt;br /&gt;
&lt;br /&gt;
- Training developers in writing secure code&lt;br /&gt;
&lt;br /&gt;
- Security support pre-development ( Security by design, early feedback of possible security issues )&lt;br /&gt;
&lt;br /&gt;
- Security support post-development ( Double check your code by means of the OWASP ASVS checklists )&lt;br /&gt;
&lt;br /&gt;
- Code examples for secure coding&lt;br /&gt;
&lt;br /&gt;
===Your idea / Getting started===&lt;br /&gt;
* Please send an email to riccardo.ten.cate@owasp.org [riccardo.ten.cate@owasp.org] or glenn.ten.cate@owasp.org [glenn.ten.cate@owasp.org] and we would love to tell you all about it! :-)&lt;br /&gt;
&lt;br /&gt;
===Expected Results===&lt;br /&gt;
* Adding features to SKF project&lt;br /&gt;
* Adding more function examples to pre-development phase&lt;br /&gt;
* Adding/updating code examples ( PHP, Java, .NET, Go, Python, NodeJS and more )&lt;br /&gt;
* Adding/updating Knowledgebase items&lt;br /&gt;
* Adding CWE references to knowledgebase items&lt;br /&gt;
* Adding low/medium level verification testing guides for developers to teach how to manually verify the existence of injection/logic flaws. (pen-testing)&lt;br /&gt;
&lt;br /&gt;
===Knowledge Prerequisites===&lt;br /&gt;
&lt;br /&gt;
* For helping in the development of new features and functions Python flask would come in handy since the framework is written in python flask.&lt;br /&gt;
* For writing knowledgebase items only technical knowledge of application security is required&lt;br /&gt;
* For writing / updating code examples you need to know a programming language along with secure development.&lt;br /&gt;
* For writing the verification guide you need some penetration testing experience. &lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
&lt;br /&gt;
Riccardo ten Cate [mailto:riccardo.ten.cate@owasp.org]&lt;br /&gt;
Glenn ten Cate [mailto:glenn.ten.cate@owasp.org]&lt;br /&gt;
&lt;br /&gt;
== OWASP ZSC ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
OWASP ZSC is an open source software in python language which lets you generate customized shellcodes and convert scripts to an obfuscated script. This software can be run on Windows/Linux/OSX under python&lt;br /&gt;
https://www.owasp.org/index.php/OWASP_ZSC_Tool_Project&lt;br /&gt;
&lt;br /&gt;
''' Getting started '''&lt;br /&gt;
* Get in touch with us on Github:&lt;br /&gt;
https://github.com/zscproject/OWASP-ZSC&lt;br /&gt;
&lt;br /&gt;
Project Leaders:&lt;br /&gt;
*https://www.owasp.org/index.php/User:Ali_Razmjoo&lt;br /&gt;
*https://www.owasp.org/index.php/User:Johanna_Curiel&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We have a list of potential modules we want to build&lt;br /&gt;
To get familiar with the project, please check our installation and developer guidelines:&lt;br /&gt;
https://www.gitbook.com/book/ali-razmjoo/owasp-zsc/details&lt;br /&gt;
&lt;br /&gt;
Contact us through Github, send us a question:&lt;br /&gt;
https://github.com/zscproject/OWASP-ZSC&lt;br /&gt;
&lt;br /&gt;
* New obfuscation modules&lt;br /&gt;
* New shellcodes for OSX and Windows &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
OWASP ZSC is written in Python, so a good knowledge of this language and framework is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
Brian Beaudry &amp;amp; Patrik Patel&lt;br /&gt;
Please contact us through Github&lt;br /&gt;
https://github.com/zscproject/OWASP-ZSC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Seraphimdroid mobile security project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Behavioral malware and intrusion analysis  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is an Android mobile app which already has a capability to statically analyze malware using machine learning (weka toolkit) relying on permissions. However, this is usually not enough and we intend to improve this with behavioral analysis. There are a number of paper in scientific literature describing how to detect malware and intrusions by dynamically analyzing its behavior (system calls, battery consumption, etc.). The idea of this project is to find the best approach that can be implemented on the device and implement it.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Reviewing scientific literature and find feasible approach we can take&lt;br /&gt;
*  Implement and possibly improve the approach in Seraphimdroid&lt;br /&gt;
*  Test the model and provide controls to switch algorithm on or off and possibly fine tune it&lt;br /&gt;
*  Documenting approach as a technical report&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
* Basic knowledge and interest in machine learning&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Framework for plugin development  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is well rounded security and privacy app, however, it lacks some components community can provide. We would like to provide community the way to develop plugins that can add features to OWASP Seraphimdroid app. However, the way of integrating external components into Android app may be challenge. The way of presenting GUI and integration between processes need to be examined and developed. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Examining the way of integrating third party apps through some provided API to OWASP Seraphimdroid&lt;br /&gt;
*  Providing GUI integration with third party components&lt;br /&gt;
*  Develop at least one test plugin&lt;br /&gt;
*  Document the development process and API&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
== OWASP DefectDojo ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
DefectDojo is a security automation and vulnerability management tool. DefectDojo allows you to manage your application security program, maintain product and application information, schedule scans, triage vulnerabilities and push findings into defect trackers.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Multiple opportunities for students to get involved with DefectDojo ranging in difficulty from easy to advanced&lt;br /&gt;
*  Students will receive hands-on experience in a full-stack software development project&lt;br /&gt;
*  Students will have the opportunity to work on a project with multiple moving parts and third-party interactions&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Python&lt;br /&gt;
* HTML, Bootstrap&lt;br /&gt;
&lt;br /&gt;
''' Getting started: '''&lt;br /&gt;
* We have a [http://defectdojo.readthedocs.io/en/latest/ Read the Docs Site]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:devgreg|Greg Anderson]] - OWASP DefectDojo Project Leader&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP AppSensor Project]] The OWASP AppSensor project is a project to help you build self-defending applications through real-time event detection and response. Previous GSoC students have implemented key AppSensor contributions, and we've had very successful engagements. We look forward to hearing your ideas and hopefully working with you to execute them.&lt;br /&gt;
&lt;br /&gt;
=== Machine Learning Driven Web Server Log Analysis ===&lt;br /&gt;
:&lt;br /&gt;
:'''Brief Explanation:'''&lt;br /&gt;
:&lt;br /&gt;
:The goal of this project would be to build a web server log analysis tool suite based on ML (machine learning). This tool suite will accept as input web server logs (apache, nginx) and will provide as output a determination of requests that are considered &amp;quot;attacks&amp;quot; There are a number of key points for this project:&lt;br /&gt;
:* Almost everybody has web server logs. It's a common format that is well understood, and is a good starting place for many security teams&lt;br /&gt;
:* Because the format is well understood, the data points (features) are well understood. &lt;br /&gt;
:* This tool suite would have applicability far beyond just our project. The goal is to give away a tool that can process a set of log files, build a custom model for the traffic, and then be used to process future log files and find attacks (outliers / anomalies)&lt;br /&gt;
:&lt;br /&gt;
:Note that this project would extend work done in last year's GSOC (https://timothy22000.github.io/event/gsoc-work-report.html) to get an initial machine learning capability developed. &lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:* User provides tool suite a set of web server logs (User has option to annotate data set with known attacks)&lt;br /&gt;
:* System is pre-coded with knowledge of certain anomalous patterns (attacks)&lt;br /&gt;
:* System builds ML model for processing future log files&lt;br /&gt;
:* System provides mechanism for processing future logs using trained model.&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:AppSensor is written in Java, so a good knowledge of this language is recommended. The toolset used previously for the ML effort was scala/spark, but this is not a hard requirement. The preference would be to use either the JVM (java/scala), or possibly python, as both of these stacks are well understood and have significant ML capabilities. &lt;br /&gt;
:&lt;br /&gt;
:''' Mentors '''&lt;br /&gt;
:[https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:jtmelton@gmail.com @] and the rest of the AppSensor Team&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
=== Your Idea ===&lt;br /&gt;
:&lt;br /&gt;
:'''Brief Explanation:'''&lt;br /&gt;
:&lt;br /&gt;
:AppSensor is a great tool and many organizations are starting to use it. If you have an idea that is not on this list, please submit it - we would love to give you the chance to work on an idea you came up with!&lt;br /&gt;
:&lt;br /&gt;
:''' Getting started '''&lt;br /&gt;
:* Get in touch with us :)&lt;br /&gt;
:&lt;br /&gt;
:'''Expected Results:'''&lt;br /&gt;
:* A new feature that makes AppSensor even better&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:AppSensor is written in Java, so a good knowledge of this language is recommended. &lt;br /&gt;
:&lt;br /&gt;
:''' Mentors '''&lt;br /&gt;
:[https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:jtmelton@gmail.com @] and the rest of the AppSensor Team&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
== OWASP OWTF ==&lt;br /&gt;
'''[https://github.com/owtf/owtf Offensive Web Testing Framework (OWTF)]''' is a project focused on penetration testing efficiency and alignment of security tests to security standards like the OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST. Most of the ideas below focus on rewrite of some major components of OWTF to make it more modular.&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - MiTM proxy interception and replay capabilities ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The OWTF man-in-the-middle proxy is written completely in Python (based on the excellent Tornado framework) and was benchmarked to be the fastest MiTM python proxy. However it lacks the useful and much need interception and replay capabilities of mitmproxy (https://github.com/mitmproxy/mitmproxy). &lt;br /&gt;
&lt;br /&gt;
The current implementation of the MiTM proxy serves its purpose very well. Its fast but its not extensible. There are a number of good use cases for being extensible&lt;br /&gt;
&lt;br /&gt;
* ability to intercept the transactions&lt;br /&gt;
* modify or replay transaction on the fly&lt;br /&gt;
* add additional capabilities to the proxy (such as session marking/changing) without polluting the main proxy code&lt;br /&gt;
&lt;br /&gt;
Bonus: &lt;br /&gt;
&lt;br /&gt;
* Design and implement a proxy plugin (middleware) architecture so that the plugins can be defined separately and the user can choose what plugins to include dynamically (from the web interface).&lt;br /&gt;
* Replace the current Requester (based on urllib, urllib2) with a more robust Requester based on the new urllib3 with support for a real headless browser factory. The typical flow when requested for an authenticated browser instance (using PhantomJS)&lt;br /&gt;
&lt;br /&gt;
* The &amp;quot;Requester&amp;quot; module checks if there is any login parameters provided (i.e form-based or script - look at https://github.com/owtf/login-sessions-plugin)&lt;br /&gt;
* Create a browser instance and do the necessary login procedure&lt;br /&gt;
* Handle the browser for the URI&lt;br /&gt;
* When called to close the browser, do a clean logout and kill the browser instance.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
Python proficiency, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn.&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentors:'''&lt;br /&gt;
Contact: [mailto:Abraham.Aranguren@owasp.org Abraham Aranguren][mailto:viyat.bhalodia@owasp.org Viyat Bhalodia][mailto:bharadwaj.machiraju@gmail.com Bharadwaj Machiraju] OWASP OWTF Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Report enhancements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The current OWTF report is very interactive but it cannot be exported in its current form. A reporter service can be written (which was in the very early releases of OWTF) which exports a nice report with template, findings, and additional pentester's notes into multiple formats.  A small set of export formats should be supported such as:&lt;br /&gt;
&lt;br /&gt;
* HTML (pure static html here)&lt;br /&gt;
* PDF&lt;br /&gt;
* XML (for processing)&lt;br /&gt;
* JSON (for processing)&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: https://www.owasp.org/index.php/OWASP_OWTF&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
Python, React.JS and general JavaScript proficiency, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn.&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentors:'''&lt;br /&gt;
Contact: [mailto:Abraham.Aranguren@owasp.org Abraham Aranguren][mailto:viyat.bhalodia@owasp.org Viyat Bhalodia][mailto:bharadwaj.machiraju@gmail.com Bharadwaj Machiraju] OWASP OWTF Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Distributed architecture ===&lt;br /&gt;
&lt;br /&gt;
To be updated soon!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: https://www.owasp.org/index.php/OWASP_OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
Python proficiency, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn.&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentors:'''&lt;br /&gt;
Contact: [mailto:Abraham.Aranguren@owasp.org Abraham Aranguren][mailto:viyat.bhalodia@owasp.org Viyat Bhalodia][mailto:bharadwaj.machiraju@gmail.com Bharadwaj Machiraju] OWASP OWTF Project Leaders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Hackademic Challenges Project ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP Hackademic Challenges Project]] The OWASP Hackademic Challenges project helps you test your knowledge on web application security. You can use it to actually attack web applications in a realistic but also controllable and safe environment.&lt;br /&gt;
&lt;br /&gt;
=== New CMS ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The CMS part of the project is really old and has accumulated a significant amount of technical debt.&lt;br /&gt;
In addition many design decisions are either outdated or could be improved. &lt;br /&gt;
Therefore it may be a good idea to leverage the power of modern web frameworks to create a new CMS.&lt;br /&gt;
The new cms can be written in python using Django.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* New cms with same functionality as the old one (3 types of users -- student, teacher, admin--, 3 types of resources -- article challenge, class--, ACL type permissions, CRUD operations on every resource/user, all functionality can be extended by Plugins.&lt;br /&gt;
* REST endpoints in addition to classic ones&lt;br /&gt;
* tests covering all routes implemented, also complete ACL unit tests, it would be embarassing if a cms by OWASP has rights vulnerabilities.&lt;br /&gt;
* PEP 8 code&lt;br /&gt;
&lt;br /&gt;
''' Note: '''&lt;br /&gt;
This is a huge project, it is ok if the student implements a part of it. However whatever implemented must be up to spec.&lt;br /&gt;
If you decide to take on this project contact us and we can agree on a list of routes.&lt;br /&gt;
If you don't decide to take on this project contact us.&lt;br /&gt;
Generally contact us, we like it when students have insightful questions and the community is active&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Getting Started: '''&lt;br /&gt;
* Install and take a brief look around the old cms so you have an idea of the functionality needed&lt;br /&gt;
* It's ok to scream in frustration&lt;br /&gt;
* If you want to contribute to get a feeling of the platform a good idea would be lettuce tests for the current functionality (which won't change and you can port in the new cms eventually)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
Python, Django, what REST is, the technologies used, some security knowledge would be nice.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' [mailto:spyros.gasteratos@owasp.org Spyros Gasteratos] - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Course Type Challenge ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
We have a sandbox engine which allows for complex guided challenges to be implemented.&lt;br /&gt;
We'd like to build a challenge that guides the user through a series of steps to an end goal and teaches more information on the subject matter on the way.&lt;br /&gt;
This is a very open-ended project on purpose to allow creative student to come up with nice ideas.&lt;br /&gt;
Bellow you will find some examples that we thought might be interesting.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
* Purposefully vulnerable web page that guides the user via javascript tooltips and hints to exploiting it using ZAP. ( Bonus: using ZAP via the ZAP api). The challenge is solved when the the student submits the contents of a text file located on the disk (obtained by exploited an RCE)&lt;br /&gt;
&lt;br /&gt;
* Reversing a provided binary to extract information by providing step by step instructions to reversing using any popular reversing tool (well, you can't use IDA so gdb should have to do). Challenge is solved when the keys are extracted from the binary and submitted. Bonus points if each binary donwloaded has different keys.&lt;br /&gt;
&lt;br /&gt;
* Guide to exploiting the TOP10. (Using ZAP?)&lt;br /&gt;
&lt;br /&gt;
* Defensive Type challenges -- Here's how to create a patch for this kind of vulnerability -- Challenge is solved when the unit tests are run and the vulnerability isn't there.&lt;br /&gt;
&lt;br /&gt;
''' Getting started '''&lt;br /&gt;
* Check popular javascript guide tools such as: (http://introjs.com/ and http://github.hubspot.com/shepherd/docs/welcome/ )&lt;br /&gt;
* If you're more interested in system or non-web challenges check serverspec and definitely check quest (https://github.com/puppetlabs/quest)&lt;br /&gt;
* If you think contributing is a good idea to make yourself familiar with the project you can either port one of the existing simpler 1-page challenges to a docker container and submit a pull request or write a guide on how to create such a challenge&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* One or more Course - style challenges provided either as a docker container or as a vagrant box.&lt;br /&gt;
* Concrete documentation on how to build a challenge like this.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
The technologies used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' [mailto:spyros.gasteratos@owasp.org Spyros Gasteratos] - Hackademic Challenges Project Leaders&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSOC2017_Ideas&amp;diff=225932</id>
		<title>GSOC2017 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSOC2017_Ideas&amp;diff=225932"/>
				<updated>2017-02-03T04:07:28Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: Adding appsensor content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&lt;br /&gt;
&lt;br /&gt;
'''Tips to get you started in no particular order:''' &lt;br /&gt;
 * Read the [[GSoC SAT]]&lt;br /&gt;
 * Check out the suggested projects below&lt;br /&gt;
 * Contact the mentors and teams of the projects that you are interested in&lt;br /&gt;
&lt;br /&gt;
== OWASP Juice Shop ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP Juice Shop Project]] is an intentionally insecure webapp for security trainings written entirely in Javascript which encompasses the entire OWASP Top Ten and other severe security flaws. Juice Shop is written in Node.js, Express and AngularJS. The application contains more than 30 challenges of varying difficulty where the user is supposed to exploit the underlying vulnerabilities. Apart from the hacker and awareness training use case, pentesting proxies or security scanners can use Juice Shop as a &amp;quot;guinea pig&amp;quot;-application to check how well their tools cope with Javascript-heavy application frontends and REST APIs.&lt;br /&gt;
&lt;br /&gt;
=== Challenge Pack 2017 ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Ideas for potential new hacking challenges are collected in [https://github.com/bkimminich/juice-shop/issues?q=is%3Aissue+is%3Aopen+label%3Achallenge GitHub issues labeled &amp;quot;challenge&amp;quot;]. This project could implement a whole bunch of challenges one by one and release them over the course of several small releases. This would allow the student to work in a professional Continuous Delivery kind of way while bringing benefit to the Juice Shop over the duration of the project.&lt;br /&gt;
&lt;br /&gt;
Coming up with additional ideas for challenges would be part of the project scope, as the list of pre-existing ideas might not be sufficient for a GSoC project.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* 10 or more new challenges for OWASP Juice Shop (including required functional enhancements to place the challenges in, e.g. the [https://github.com/bkimminich/juice-shop/issues/244 Order Dashboard] and [https://github.com/bkimminich/juice-shop/issues/243 Pomace Recycling user stories])&lt;br /&gt;
* Each challenge comes with full functional unit and integration tests&lt;br /&gt;
* Each challenge is verified to be exploitable by corresponding end-to-end tests&lt;br /&gt;
* Hint and solution sections for each new challenge are added to the &amp;quot;Pwning OWASP Juice Shop&amp;quot; ebook&lt;br /&gt;
* Code follows existing styleguides and passes all existing quality gates regarding code smells, test coverage etc.&lt;br /&gt;
&lt;br /&gt;
''' Getting started: '''&lt;br /&gt;
* Get familiar with the architecture and code base of the application's rich Javascript frontend and RESTful backend&lt;br /&gt;
* Get a feeling for the high code &amp;amp; test quality bar by inspecting the existing test suites and static code analysis results&lt;br /&gt;
* Get familiar with the CI/CD process based on Travis-CI and several associated 3rd party services&lt;br /&gt;
* Check out the corresponding GitHub milestone for this project: https://github.com/bkimminich/juice-shop/milestone/3&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript, Unit/Integration testing, experience with (or willingness to learn) AngularJS (1.x) and NodeJS/Express, some security knowledge would be preferable.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:'''&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Bjoern_Kimminich Bjoern Kimminich] - OWASP Juice Shop Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Tech Stack Update ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Development of OWASP Juice Shop started in 2014 and was based on - back then - quite recent Javascript frameworks and modules:&lt;br /&gt;
&lt;br /&gt;
* AngularJS 1.x with Bootstrap in the client&lt;br /&gt;
* Express on top of NodeJS on the server with&lt;br /&gt;
** SQLite as a database&lt;br /&gt;
** Sequelize as an OR-Mapper&lt;br /&gt;
*** sequelize-restful as an automatic API-generator on top of the DB entities&lt;br /&gt;
* Jasmine 1.x to specify behavioral tests&lt;br /&gt;
** Karma as a test runner for the client-side unit tests&lt;br /&gt;
** Frisby.js for API tests on a dynamically launched server&lt;br /&gt;
** Protractor for end-to-end testing of the challenge exploits&lt;br /&gt;
* NPM for running/testing the application&lt;br /&gt;
* Grunt for some of the custom build scripts&lt;br /&gt;
&lt;br /&gt;
Several of the above frameworks or modules have moved on to new (runtime incompatible) major releases, namely [https://github.com/bkimminich/juice-shop/issues/165 Angular 2], [https://github.com/bkimminich/juice-shop/issues/167 Sequelize], [https://github.com/bkimminich/juice-shop/issues/164 Frisby and Jasmine]. Other modules are out of maintenance entirely, e.g. [https://github.com/bkimminich/juice-shop/issues/167 sequelize-restful].&lt;br /&gt;
&lt;br /&gt;
Migrating the OWASP Juice Shop to the latest versions of the mentioned frameworks &amp;amp; modules is an important step to keep the application relevant as ''the most modern'' intentionally broken web application. Moving to entirely different frameworks might be taken into considerationas well.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* High-level target architecture overview including a migration plan with intermediary milestones&lt;br /&gt;
* Execution of migration without breaking functionality or losing tests along the way&lt;br /&gt;
* Code follows existing (or new) styleguides and passes all existing (or new) quality gates regarding code smells, test coverage etc.&lt;br /&gt;
&lt;br /&gt;
''' Getting started: '''&lt;br /&gt;
* Get familiar with the architecture and code base of the application's rich Javascript frontend and RESTful backend&lt;br /&gt;
* Get a feeling for the high code &amp;amp; test quality bar by inspecting the existing test suites and static code analysis results&lt;br /&gt;
* Get familiar with the CI/CD process based on Travis-CI and several associated 3rd party services&lt;br /&gt;
* Check out the corresponding GitHub milestone for this project: https://github.com/bkimminich/juice-shop/milestone/2&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript, experience with latest Javascript frameworks for frontend, backend, testing and building (e.g. AngularJS 2.x, Jasmine 2.x, ...)&lt;br /&gt;
&lt;br /&gt;
'''Mentors:'''&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Bjoern_Kimminich Bjoern Kimminich] - OWASP Juice Shop Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Your idea ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
You have an awesome idea to improve OWASP Juice Shop that is not on this list? Great, please submit it!&lt;br /&gt;
&lt;br /&gt;
''' Getting started '''&lt;br /&gt;
* Get in touch with [https://www.owasp.org/index.php/User:Bjoern_Kimminich Bjoern Kimminich]&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* A new feature that makes OWASP Juice Shop even better&lt;br /&gt;
* Code follows existing styleguides and passes all existing quality gates regarding code smells, test coverage etc.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript, Unit/Integration testing, experience with (or willingness to learn) AngularJS (1.x) and NodeJS/Express, some security knowledge would be preferable.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [https://www.owasp.org/index.php/User:Bjoern_Kimminich Bjoern Kimminich] - OWASP Juice Shop Project Leader&lt;br /&gt;
&lt;br /&gt;
== OWASP Mobile Hacking Playground ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Mobile Hacking Playground (https://github.com/OWASP/OMTG-Hacking-Playground) is part of the OWASP Mobile universe, which consists at the moment of the following projects: &lt;br /&gt;
&lt;br /&gt;
* Mobile Application Security Verification (MASVS). The MASVS is a list of security requirements for mobile applications that can be used by architects, developers, testers, security professionals, and consumers to define what a secure mobile application is. (https://github.com/OWASP/owasp-masvs)&lt;br /&gt;
* Mobile Security Testing Guide (MSTG). The OWASP MSTG is a comprehensive manual for testing the security of mobile apps. It describes technical processes for verifying the controls listed in the OWASP Mobile Application Verification Standard (MASVS). The MSTG is meant to provide a baseline set of test cases for dynamic and static security tests, and to help ensure completeness and consistency of the tests. (https://github.com/OWASP/owasp-mstg)&lt;br /&gt;
&lt;br /&gt;
In order to give also practical guidance to developers, security researches and penetration testers of mobile Apps, a hacking playground was created with the goal to create different mobile App’s that contain different vulnerabilities that map to the MSTG test cases. Every test case described in the MSTG will therefore be implemented in an Android and iOS App. This has two advantages:&lt;br /&gt;
&lt;br /&gt;
* A developer can identify vulnerable code in the provided App’s and can see the implications and risks if such patterns are used and can look for the best practices in the MSTG to mitigate the vulnerabilities.&lt;br /&gt;
* Penetration testers / security researchers can identify bad practices, dangerous methods and classes they should look for when assessing a Mobile App and can gain more knowledge through the information provided in the OMTG.&lt;br /&gt;
&lt;br /&gt;
It is also encouraged to use the App(s) for education purpose during trainings and workshops.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Creation of Android Code Samples ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
An Android App that maps to the MSTG test cases is already created. This App contains mostly test cases that are related to data storage on an Android device. In order to close the gap to the MSTG more test cases need to be added that show &amp;quot;bad practices&amp;quot; that lead to vulnerabilites, but also the latest security best practices to demonstrate how vulnerabilites can be mitigated. &lt;br /&gt;
&lt;br /&gt;
For examples of implemented test cases, see the Wiki of the Mobile Hacking Playground: https://github.com/OWASP/OMTG-Hacking-Playground/wiki/Android-App&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The following categories and their test cases are not fully added to the  Android App:&lt;br /&gt;
&lt;br /&gt;
* Cryptography (https://github.com/OWASP/owasp-masvs/blob/master/Document/0x08-V3-Cryptography_Verification_Requirements.md)&lt;br /&gt;
* Authentication and Session Management (https://github.com/OWASP/owasp-masvs/blob/master/Document/0x09-V4-Authentication_and_Session_Management%20Requirements.md)&lt;br /&gt;
* Network Communication (https://github.com/OWASP/owasp-masvs/blob/master/Document/0x10-V5-Network_communication_requirements.md)&lt;br /&gt;
* Environmental Interaction (https://github.com/OWASP/owasp-masvs/blob/master/Document/0x11-V6-Interaction_with_the_environment.md)&lt;br /&gt;
* Code Quality (https://github.com/OWASP/owasp-masvs/blob/master/Document/0x12-V7-Code_quality_and_build_setting_requirements.md)&lt;br /&gt;
&lt;br /&gt;
For some of the testcases this also includes creating an endpoint on server side in order to fully understand the test case and possible security concerns.&lt;br /&gt;
&lt;br /&gt;
As not all missing test cases can be implemented during the GSOC a subset of them will be defined with the student together. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Getting started: '''&lt;br /&gt;
Here are a few suggestion on how to get started.&lt;br /&gt;
* Check the Mobile Hacking Playground Android App, browse through the code and Wiki to get an understanding of what a test case look likes. &lt;br /&gt;
* Browse through the MASVS and check the different areas and their defined requirements.&lt;br /&gt;
* Read about Security vulnerabilites and best practices for Android in areas you are interested in (e.g. Cryptography).&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
General interest in Mobile and Security. Basic knowledge of Android and Java.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' [mailto:sven.schleier@owasp.org Sven Schleier] - OWASP Mobile Security Testing Guide and Mobile Hacking Playground Project Leader&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP Zed Attack Proxy Project]] (ZAP) The OWASP Zed Attack Proxy (ZAP) is one of the world’s most popular free security tools and is actively maintained by hundreds of international volunteers. Previous GSoC students have implemented key parts of the ZAP core functionality and have been offered (and accepted) jobs based on their work on ZAP.&lt;br /&gt;
&lt;br /&gt;
We have just included a few of the ideas we have here, for a more complete list see the issues on the ZAP bug tracker with the [https://github.com/zaproxy/zaproxy/issues?q=is%3Aopen+is%3Aissue+label%3Aproject project] label.&lt;br /&gt;
&lt;br /&gt;
=== Field Enumeration ===&lt;br /&gt;
:&lt;br /&gt;
:This would allow a user to iterate though a set of (user defined) characters in order to identify the ones that are filtered out and/or escaped.&lt;br /&gt;
:&lt;br /&gt;
:The user should be able to define the character sets to test and will probably need to configure the success and failure conditions, as well as valid values for other fields in the form.&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:&lt;br /&gt;
:* User able to specify a specific field to enumerate via the ZAP UI&lt;br /&gt;
:* A list of all valid characters to be returned from the sets of characters the user specifies&lt;br /&gt;
:* Ability to configure a wide range of success and failure conditions to cope with as many possible situations as possible&lt;br /&gt;
:* Code that conforms to our [https://github.com/zaproxy/zaproxy/wiki/DevGuidelines Development Rules and Guidelines]&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:''' Mentors '''&lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
=== Scripting Code Completion ===&lt;br /&gt;
:&lt;br /&gt;
:ZAP provides a very powerful scripting interface. Unfortunately to use it effectively is only really possible with a good knowledge of the ZAP internals. Adding code completion (eg using a project like https://github.com/bobbylight/AutoComplete) would significantly help users.&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:&lt;br /&gt;
:* Code completion for all of the parameters for all available functions in the standard scripts&lt;br /&gt;
:* Implementations for JavaScript, JRuby and Jython&lt;br /&gt;
:* Helper classes with code completion for commonly required functionality&lt;br /&gt;
:* Code that conforms to our [https://github.com/zaproxy/zaproxy/wiki/DevGuidelines Development Rules and Guidelines]&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:ZAP is written in Java, so a good knowledge of this language is recommended. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== SSRF Detector Integration ===&lt;br /&gt;
:&lt;br /&gt;
:Currently ZAP does not detect SSRF vulnerabilities, due to the lack of this sort of service. https://ssrfdetector.com/ is an online service for detecting Server Side Request Forgery vulnerabilities (SSRF). It is developed and maintained by Jake Reynolds and is open source https://github.com/jacobreynolds/ssrfdetector&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:&lt;br /&gt;
:* Extend ZAP to detect SSRF vulnerabilities and interact with other services such as outlined above.&lt;br /&gt;
:* Code that conforms to our [https://github.com/zaproxy/zaproxy/wiki/DevGuidelines Development Rules and Guidelines]&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:ZAP is written in Java, so a good knowledge of this language is recommended. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== Zest Text Representation and Parser ===&lt;br /&gt;
:&lt;br /&gt;
:Zest is a graphical scripting language from the Mozilla Security team, and is used as the ZAP macro language.&lt;br /&gt;
:&lt;br /&gt;
:A standardized text representation and parser would be very useful and help its adoption.&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:&lt;br /&gt;
:* A documented definition of a text representation for Zest&lt;br /&gt;
:* A parser that converts the text representation into a working Zest script&lt;br /&gt;
:* An option in the Zest java implementation to output Zest scripts text format&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:The Zest reference implementation is written in Java, so a good knowledge of this language is recommended. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== Support Java as a Scripting Language ===&lt;br /&gt;
:&lt;br /&gt;
:It would be very useful to support Java in addition to the JSR223 scripting languages within the ZAP script console'.&lt;br /&gt;
:&lt;br /&gt;
:It should be possible to provide much better auto complete support than will be possible with dynamically typed scripting languages.&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:&lt;br /&gt;
:* The ability to run Java code in the ZAP Script Console to the same leval as other supported scripting languages&lt;br /&gt;
:* Templates for all of the current script types&lt;br /&gt;
:* Optionally auto complete supported&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:The Zest reference implementation is written in Java, so a good knowledge of this language is recommended. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== Bamboo Support ===&lt;br /&gt;
:&lt;br /&gt;
:ZAP already has an official plugin for Jenkins (https://wiki.jenkins-ci.org/display/JENKINS/zap+plugin). &lt;br /&gt;
:&lt;br /&gt;
:It would be great if we also had similar integration for Bamboo (https://www.atlassian.com/software/bamboo, https://en.wikipedia.org/wiki/Bamboo_(software))&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:&lt;br /&gt;
:* Facilitate the invocation and configuration of various ZAP functionalities from Bamboo CI. Including (but not limited to):&lt;br /&gt;
::*Manage Sessions (Loading/Persisting)&lt;br /&gt;
::*Define Context (Name, Include &amp;amp; Exclude URLs)&lt;br /&gt;
::* Attack Contexts (Spider, Ajax Spider, Active Scan)&lt;br /&gt;
::* Setup Autentication (Formed or Script Based)&lt;br /&gt;
::* Generate Reports&lt;br /&gt;
:* Templates for all of the current script types&lt;br /&gt;
:* Optionally auto complete supported&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:The Zest reference implementation is written in Java, so a good knowledge of this language is recommended. Some knowledge of CI/CD/Bamboo would be useful.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== Backslash Powered Scanner ===&lt;br /&gt;
:&lt;br /&gt;
:This is a brand new technique developed by one of the Burp guys: http://blog.portswigger.net/2016/11/backslash-powered-scanning-hunting.html&lt;br /&gt;
:Their implementation is open source: https://github.com/PortSwigger/backslash-powered-scanner so hopefully shouldn't be too hard to port to ZAP :)&lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:&lt;br /&gt;
:* Extend ZAP's active scanner to leverage Backslash type scanning.&lt;br /&gt;
:* Code that conforms to our [https://github.com/zaproxy/zaproxy/wiki/DevGuidelines Development Rules and Guidelines]&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:ZAP is written in Java, so a good knowledge of this language is recommended.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
&lt;br /&gt;
=== Your Idea ===&lt;br /&gt;
:&lt;br /&gt;
:'''Brief Explanation:'''&lt;br /&gt;
:&lt;br /&gt;
:ZAP is a great framework for building new and innovative security testing solutions. If you have an idea that is not on this list then don't worry, you can still submit it, we have accepted original projects in previous years and have even paid a student to work on their idea when we did not get enough GSoC slots to accept all of the projects we wanted.&lt;br /&gt;
:&lt;br /&gt;
:''' Getting started '''&lt;br /&gt;
:* Get in touch with us :)&lt;br /&gt;
:&lt;br /&gt;
:'''Expected Results:'''&lt;br /&gt;
:* A new feature that makes ZAP even better&lt;br /&gt;
:* Code that conforms to our [https://github.com/zaproxy/zaproxy/wiki/DevGuidelines Development Rules and Guidelines]&lt;br /&gt;
:&lt;br /&gt;
:'''Knowledge Prerequisites:'''&lt;br /&gt;
:ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
:&lt;br /&gt;
:'''Mentors:''' &lt;br /&gt;
:[https://www.owasp.org/index.php/User:Psiinon Simon Bennetts] [mailto:psiinon@gmail.com @] and the rest of the ZAP Core Team&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
== BLT / Bugheist ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Bugheist lets anyone report issues they find on the internet. Found something out of place on Amazon.com ?  Let them know.  Companies are held accountable and shows their response time and history.  Get points for reporting bugs and help keep the internet bug free.&lt;br /&gt;
&lt;br /&gt;
''' Getting started '''&lt;br /&gt;
* Get in touch with us :)&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* A new feature that makes Bugheist even better&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
BLT is written in Python / Django, so a good knowledge of this language and framework is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
[https://www.owasp.org/index.php/User:Sauriti Sean Auriti] [mailto:sean.auriti@owasp.org @] and the rest of the BLT Core Team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Security Knowledge framework ==&lt;br /&gt;
&lt;br /&gt;
===Brief Explanation===&lt;br /&gt;
The OWASP Security Knowledge Framework is intended to be a tool that is used as a guide for building and verifying secure software. It can also be used to train developers about application security. Education is the first step in the Secure Software Development Lifecycle. This software can be run on Windows/Linux/OSX using python-flask.&lt;br /&gt;
&lt;br /&gt;
'''In a nutshell''' &lt;br /&gt;
&lt;br /&gt;
- Training developers in writing secure code&lt;br /&gt;
&lt;br /&gt;
- Security support pre-development ( Security by design, early feedback of possible security issues )&lt;br /&gt;
&lt;br /&gt;
- Security support post-development ( Double check your code by means of the OWASP ASVS checklists )&lt;br /&gt;
&lt;br /&gt;
- Code examples for secure coding&lt;br /&gt;
&lt;br /&gt;
===Your idea / Getting started===&lt;br /&gt;
* Please send an email to riccardo.ten.cate@owasp.org [riccardo.ten.cate@owasp.org] or glenn.ten.cate@owasp.org [glenn.ten.cate@owasp.org] and we would love to tell you all about it! :-)&lt;br /&gt;
&lt;br /&gt;
===Expected Results===&lt;br /&gt;
* Adding features to SKF project&lt;br /&gt;
* Adding more function examples to pre-development phase&lt;br /&gt;
* Adding/updating code examples ( PHP, Java, .NET, Go, Python, NodeJS and more )&lt;br /&gt;
* Adding/updating Knowledgebase items&lt;br /&gt;
* Adding CWE references to knowledgebase items&lt;br /&gt;
* Adding low/medium level verification testing guides for developers to teach how to manually verify the existence of injection/logic flaws. (pen-testing)&lt;br /&gt;
&lt;br /&gt;
===Knowledge Prerequisites===&lt;br /&gt;
&lt;br /&gt;
* For helping in the development of new features and functions Python flask would come in handy since the framework is written in python flask.&lt;br /&gt;
* For writing knowledgebase items only technical knowledge of application security is required&lt;br /&gt;
* For writing / updating code examples you need to know a programming language along with secure development.&lt;br /&gt;
* For writing the verification guide you need some penetration testing experience. &lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
&lt;br /&gt;
Riccardo ten Cate [mailto:riccardo.ten.cate@owasp.org]&lt;br /&gt;
Glenn ten Cate [mailto:glenn.ten.cate@owasp.org]&lt;br /&gt;
&lt;br /&gt;
== OWASP ZSC ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
OWASP ZSC is an open source software in python language which lets you generate customized shellcodes and convert scripts to an obfuscated script. This software can be run on Windows/Linux/OSX under python&lt;br /&gt;
https://www.owasp.org/index.php/OWASP_ZSC_Tool_Project&lt;br /&gt;
&lt;br /&gt;
''' Getting started '''&lt;br /&gt;
* Get in touch with us on Github:&lt;br /&gt;
https://github.com/zscproject/OWASP-ZSC&lt;br /&gt;
&lt;br /&gt;
Project Leaders:&lt;br /&gt;
*https://www.owasp.org/index.php/User:Ali_Razmjoo&lt;br /&gt;
*https://www.owasp.org/index.php/User:Johanna_Curiel&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We have a list of potential modules we want to build&lt;br /&gt;
To get familiar with the project, please check our installation and developer guidelines:&lt;br /&gt;
https://www.gitbook.com/book/ali-razmjoo/owasp-zsc/details&lt;br /&gt;
&lt;br /&gt;
Contact us through Github, send us a question:&lt;br /&gt;
https://github.com/zscproject/OWASP-ZSC&lt;br /&gt;
&lt;br /&gt;
* New obfuscation modules&lt;br /&gt;
* New shellcodes for OSX and Windows &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
OWASP ZSC is written in Python, so a good knowledge of this language and framework is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
Brian Beaudry &amp;amp; Patrik Patel&lt;br /&gt;
Please contact us through Github&lt;br /&gt;
https://github.com/zscproject/OWASP-ZSC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Seraphimdroid mobile security project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Behavioral malware and intrusion analysis  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is an Android mobile app which already has a capability to statically analyze malware using machine learning (weka toolkit) relying on permissions. However, this is usually not enough and we intend to improve this with behavioral analysis. There are a number of paper in scientific literature describing how to detect malware and intrusions by dynamically analyzing its behavior (system calls, battery consumption, etc.). The idea of this project is to find the best approach that can be implemented on the device and implement it.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Reviewing scientific literature and find feasible approach we can take&lt;br /&gt;
*  Implement and possibly improve the approach in Seraphimdroid&lt;br /&gt;
*  Test the model and provide controls to switch algorithm on or off and possibly fine tune it&lt;br /&gt;
*  Documenting approach as a technical report&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
* Basic knowledge and interest in machine learning&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Framework for plugin development  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is well rounded security and privacy app, however, it lacks some components community can provide. We would like to provide community the way to develop plugins that can add features to OWASP Seraphimdroid app. However, the way of integrating external components into Android app may be challenge. The way of presenting GUI and integration between processes need to be examined and developed. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Examining the way of integrating third party apps through some provided API to OWASP Seraphimdroid&lt;br /&gt;
*  Providing GUI integration with third party components&lt;br /&gt;
*  Develop at least one test plugin&lt;br /&gt;
*  Document the development process and API&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
== OWASP DefectDojo ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
DefectDojo is a security automation and vulnerability management tool. DefectDojo allows you to manage your application security program, maintain product and application information, schedule scans, triage vulnerabilities and push findings into defect trackers.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Multiple opportunities for students to get involved with DefectDojo ranging in difficulty from easy to advanced&lt;br /&gt;
*  Students will receive hands-on experience in a full-stack software development project&lt;br /&gt;
*  Students will have the opportunity to work on a project with multiple moving parts and third-party interactions&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Python&lt;br /&gt;
* HTML, Bootstrap&lt;br /&gt;
&lt;br /&gt;
''' Getting started: '''&lt;br /&gt;
* We have a [http://defectdojo.readthedocs.io/en/latest/ Read the Docs Site]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:devgreg|Greg Anderson]] - OWASP DefectDojo Project Leader&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP AppSensor Project]] The OWASP AppSensor project is a project to help you build self-defending applications through real-time event detection and response. Previous GSoC students have implemented key AppSensor contributions, and we've had very successful engagements. We look forward to hearing your ideas and hopefully working with you to execute them.&lt;br /&gt;
&lt;br /&gt;
=== Machine Learning Driven Web Server Log Analysis ===&lt;br /&gt;
:&lt;br /&gt;
:'''Brief Explanation:'''&lt;br /&gt;
:&lt;br /&gt;
:The goal of this project would be to build a web server log analysis tool suite based on ML (machine learning). This tool suite will accept as input web server logs (apache, nginx) and will provide as output a determination of requests that are considered &amp;quot;attacks&amp;quot; There are a number of key points for this project:&lt;br /&gt;
:* Almost everybody has web server logs. It's a common format that is well understood, and is a good starting place for many security teams&lt;br /&gt;
:* Because the format is well understood, the data points (features) are well understood. &lt;br /&gt;
:* This tool suite would have applicability far beyond just our project. The goal is to give away a tool that can process a set of log files, build a custom model for the traffic, and then be used to process future log files and find attacks (outliers / anomalies)&lt;br /&gt;
:&lt;br /&gt;
:Note that this project would extend work done in last year's GSOC to get an initial machine learning capability developed. &lt;br /&gt;
:&lt;br /&gt;
:''' Expected Results '''&lt;br /&gt;
:&lt;br /&gt;
:* User provides tool suite a set of web server logs (User has option to annotate data set with known attacks)&lt;br /&gt;
:* System is pre-coded with knowledge of certain anomalous patterns (attacks)&lt;br /&gt;
:* System builds ML model for processing future log files&lt;br /&gt;
:* System provides mechanism for processing future logs using trained model.&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:AppSensor is written in Java, so a good knowledge of this language is recommended. The toolset used previously for the ML effort was scala/spark, but this is not a hard requirement. The preference would be to use either the JVM (java/scala), or possibly python, as both of these stacks are well understood and have significant ML capabilities. &lt;br /&gt;
:&lt;br /&gt;
:''' Mentors '''&lt;br /&gt;
:[https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:jtmelton@gmail.com @] and the rest of the AppSensor Team&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
=== Your Idea ===&lt;br /&gt;
:&lt;br /&gt;
:'''Brief Explanation:'''&lt;br /&gt;
:&lt;br /&gt;
:AppSensor is a great tool and many organizations are starting to use it. If you have an idea that is not on this list, please submit it - we would love to give you the chance to work on an idea you came up with!&lt;br /&gt;
:&lt;br /&gt;
:''' Getting started '''&lt;br /&gt;
:* Get in touch with us :)&lt;br /&gt;
:&lt;br /&gt;
:'''Expected Results:'''&lt;br /&gt;
:* A new feature that makes AppSensor even better&lt;br /&gt;
:&lt;br /&gt;
:''' Knowledge Prerequisite: '''&lt;br /&gt;
:AppSensor is written in Java, so a good knowledge of this language is recommended. &lt;br /&gt;
:&lt;br /&gt;
:''' Mentors '''&lt;br /&gt;
:[https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:jtmelton@gmail.com @] and the rest of the AppSensor Team&lt;br /&gt;
:&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSOC2016_Ideas&amp;diff=210699</id>
		<title>GSOC2016 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSOC2016_Ideas&amp;diff=210699"/>
				<updated>2016-03-08T20:46:53Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: updating appsensor reverse proxy example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&lt;br /&gt;
&lt;br /&gt;
'''Tips to get you started in no particular order:''' &lt;br /&gt;
 * Read the [[GSoC SAT]]&lt;br /&gt;
 * Check the Hackademic wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list or irc channel.&lt;br /&gt;
 * Check our [https://github.com/Hackademic/hackademic github repository] and especially the [https://github.com/Hackademic/hackademic/issues open tickets]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Hackademic Challenges ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP Hackademic Challenges Project]]  helps you test your knowledge on web application security. You can use it to actually attack web applications in a realistic but also controllable and safe environment. After a wonderfull 2014 GSoC with 100 new challenges and a couple of new plugins we're mainly looking to get new features in and maybe a couple of challenges. Bellow is a list of proposed features.&lt;br /&gt;
&lt;br /&gt;
=== REST API for the sandbox ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
During the last summer code sprint Hackademic got challenge sandboxing in the form of vagrant and docker wrappers as well as an engine to start and stop the container or vm instances.&lt;br /&gt;
What is needed now is a rest api which supports endpoint authentication and authorization which enables the sandbox engine to be completely independed from the rest of the project.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
Since the sandbox is written in python, you will be using Django to implement the api.&lt;br /&gt;
The endpoint authorization can be done via certificates or plain signature or username/password type authentication. We would like to see what's your idea on the matter.&lt;br /&gt;
However the communication between the two has to be over a secure channel.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* A REST style api which allows an authenticated remote entity control the parts of the  sandbox engine it has access to.&lt;br /&gt;
* PEP8 compliant code&lt;br /&gt;
* Acceptable unit test coverage&lt;br /&gt;
&lt;br /&gt;
''' Getting started: '''&lt;br /&gt;
Since this has been a popular project here's a suggestion on how to get started.&lt;br /&gt;
* Check the excellent work done by mebjas and a0xnirudh in their respective brances in the project's repository&lt;br /&gt;
* Take a brief look at the code and try to get a feeling of the functionality included. (Essentially it's CRUD operations on vms or containers)&lt;br /&gt;
* Read on what Docker and Vagrant are and take a look at their respective py-libraries&lt;br /&gt;
* If you think that contributing helps perhaps it would be a good idea to start with lettuce tests on the current CRUD operations of the existing functionality(which won't change and can eventually be ported to the final project) &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
Python, test driven development, some idea what REST is, some security knowledge would be preferable.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New CMS ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The CMS part of the project is really old and has accumulated a significant amount of technical debt.&lt;br /&gt;
In addition many design decisions are either outdated or could be improved. &lt;br /&gt;
Therefore it may be a good idea to leverage the power of modern web frameworks to create a new CMS.&lt;br /&gt;
The new cms can be written in python using Django.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* New cms with same functionality as the old one (3 types of users -- student, teacher, admin--, 3 types of resources -- article challenge, class--, ACL type permissions, CRUD operations on every resource/user, all functionality can be extended by Plugins.&lt;br /&gt;
* REST endpoints in addition to classic ones&lt;br /&gt;
* tests covering all routes implemented, also complete ACL unit tests, it would be embarassing if a cms by OWASP has rights vulnerabilities.&lt;br /&gt;
* PEP 8 code&lt;br /&gt;
&lt;br /&gt;
''' Note: '''&lt;br /&gt;
This is a huge project, it is ok if the student implements a part of it. However whatever implemented must be up to spec.&lt;br /&gt;
If you decide to take on this project contact us and we can agree on a list of routes.&lt;br /&gt;
If you don't decide to take on this project contact us.&lt;br /&gt;
Generally contact us, we like it when students have insightful questions and the community is active&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Getting Started: '''&lt;br /&gt;
* Install and take a brief look around the old cms so you have an idea of the functionality needed&lt;br /&gt;
* It's ok to scream in frustration&lt;br /&gt;
* If you want to contribute to get a feeling of the platform a good idea would be lettuce tests for the current functionality (which won't change and you can port in the new cms eventually)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
Python, Django, what REST is, the technologies used, some security knowledge would be nice.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== First Course Type Challenge ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
We have a wonderful sandbox engine which allows for complex guided challenges to be implemented.&lt;br /&gt;
We'd like to build a challenge that guides the user through a series of steps to an end goal and teaches more information on the subject matter on the way.&lt;br /&gt;
This is a very open-ended project on purpose to allow creative student to come up with nice ideas.&lt;br /&gt;
Bellow you will find some examples that we thought might be interesting.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
* Purposefully vulnerable web page that guides the user via javascript tooltips and hints to exploiting it using ZAP. ( Bonus: using ZAP via the ZAP api). The challenge is solved when the the student submits the contents of a text file located on the disk (obtained by exploited an RCE)&lt;br /&gt;
&lt;br /&gt;
* Reversing a provided binary to extract information by providing step by step instructions to reversing using any popular reversing tool (well, you can't use IDA so gdb should have to do). Challenge is solved when the keys are extracted from the binary and submitted. Bonus points if each binary donwloaded has different keys.&lt;br /&gt;
&lt;br /&gt;
* Guide to exploiting the TOP10. (Using ZAP?)&lt;br /&gt;
&lt;br /&gt;
* Defensive Type challenges -- Here's how to create a patch for this kind of vulnerability -- Challenge is solved when the unit tests are run and the vulnerability isn't there.&lt;br /&gt;
&lt;br /&gt;
''' Getting started '''&lt;br /&gt;
* Check popular javascript guide tools such as: (http://introjs.com/ and http://github.hubspot.com/shepherd/docs/welcome/ )&lt;br /&gt;
* If you're more interested in system or non-web challenges check serverspec and definitely check quest (https://github.com/puppetlabs/quest)&lt;br /&gt;
* If you think contributing is a good idea to make yourself familiar with the project you can either port one of the existing simpler 1-page challenges to a docker container and submit a pull request or write a guide on how to create such a challenge&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* One or more Course - style challenges provided either as a docker container or as a vagrant box.&lt;br /&gt;
* Concrete documentation on how to build a challenge like this.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
The technologies used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Advanced Sandboxed Challenges ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
In the spirit of the challenges above, we're looking for true ctf type challenges.&lt;br /&gt;
This is an open ended task. We're expecting awesome fresh ideas.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
* An application vulnerable to one or more TOP 10 elements.&lt;br /&gt;
* A logic flaws based ctf&lt;br /&gt;
* Your idea here&lt;br /&gt;
&lt;br /&gt;
''' Getting started: '''&lt;br /&gt;
* Check what Vagrant/Docker is&lt;br /&gt;
* Port one simple 1-page challenge (you can use one we already have ) to docker or vagrant&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
Docker containers or Vagrant boxes that contain complete new challenges.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
Knowledge of the technologies used&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Your idea ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Amazing students, in our experience, the best, most creative and unique ideas show up when we let students suggest their own feature in relation to the project.&lt;br /&gt;
The above should give you a general idea where we're going but don't let them constrain you.&lt;br /&gt;
Do you wanna do something that would fit into Hackademic? Send us an email!&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
No idea, that's your turn to shine!&lt;br /&gt;
&lt;br /&gt;
''' Getting started '''&lt;br /&gt;
* Be awesome&lt;br /&gt;
* Have an idea&lt;br /&gt;
* Be a student&lt;br /&gt;
* Explain definite proof of the p vs np solution(jk, an algorithm that breaks RSA in polynomial time would be totally acceptable)&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
If it's code, code according to our coding standards.&lt;br /&gt;
If it's challenges, something new and interesting.&lt;br /&gt;
If it's something else, then written like the person who's going to maintain your code is a raging psychopath with an axe who knows where you live.&lt;br /&gt;
&lt;br /&gt;
In short we'd like some quality. ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
== OWASP OWTF  ==&lt;br /&gt;
&lt;br /&gt;
===OWASP OWTF - Web UI Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The current OWTF web interface is not very optimized and needs some work to reduce the number of clicks. The OWTF report uses accordion style components to render plugin outputs. This not very efficient in terms of number of clicks, horizontal and vertical scrolling.  React.js offers a simple way to build complex interfaces with the help of OWTF ReST APIs. Another part of the project will involve creating a maintainable CSS/JS system with latest frontend technologies like SASS, Compass, Gulp, and React.js (Flux).&lt;br /&gt;
As part of the project, you will learn about iterating your mockup designs and share those with the project leader(s) and the community for feedback. The existing stack is based on simple ReST APIs and vanilla Javascript. There are lots of features to be added, and you'll work with the project leader(s) and the community to build the most-needed and requested capabilities. &lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
*'''CRITICAL''': Excellent reliability and performance.&lt;br /&gt;
*Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
Python, HTML5/CSS3/JS and React.JS experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn.&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentors:'''&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Link to the repository: [https://github.com/owtf/http-request-translator/tree/dev]'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
'''Feature 8) PostgreSQL (DB) health monitor'''&lt;br /&gt;
&lt;br /&gt;
The pentester can should be able to see the metrics of how much RAM/CPU the DB operations like INSERT are taking so as to maintain a healthy DB (as all data is saved in DB)&lt;br /&gt;
&lt;br /&gt;
'''Feature 9) Component health like MiTM proxy metrics, cache I/O, Log files'''&lt;br /&gt;
&lt;br /&gt;
Ability to see the proxy metrics, cache files I/O, and point-and-click log files streaming&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, bash and Golang experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Intercepting proxy ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The OWTF MiTM proxy can proxify most of the traffic (inbound+outbound) but it doesn’t have an intercepting capability ie. it cannot pause the framework + let the user modify the transaction on the fly.&lt;br /&gt;
Most of the GUI proxy tools like Paros, mitmproxy, Burp and OWASP ZAP have this functionality.&lt;br /&gt;
&lt;br /&gt;
This project is about adding intercepting proxy capabilities to OWTF which can be used through the Web UI. Unlike Burp or ZAP, OWTF can be running multiple proxified tools while the user attempts to intercept an HTTP request, which makes interception significantly more difficult. For this reason, the user will be offered several interception options&lt;br /&gt;
&lt;br /&gt;
1)Intercept all the requests: Useful when user manually browses the target without any tools running in background &lt;br /&gt;
&lt;br /&gt;
2) Selective Interception (default):  The user here can select a number of conditions, similar to the &amp;quot;Break&amp;quot; menu in ZAP for selective interception. For example:&lt;br /&gt;
 - The request &amp;quot;User Agent&amp;quot; header contains &amp;quot;xyz&amp;quot;&lt;br /&gt;
 - The request &amp;quot;Accept&amp;quot; header contains &amp;quot;abc&amp;quot;&lt;br /&gt;
 - The request is a GET/POST/DELETE request &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, bash and experience with HTTP internals would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
ZAP is one of the top OWASP projects and the most active open source web security tools. &lt;br /&gt;
&lt;br /&gt;
You can follow (and join in) the GSoC discussions on the ZAP Developer Group: https://groups.google.com/d/msg/zaproxy-develop/Uy0JPkzsI_s/Bj7OTSkISCIJ&lt;br /&gt;
&lt;br /&gt;
=== Bug tracker support ===&lt;br /&gt;
&lt;br /&gt;
This would allow ZAP users to raise issues in bug trackers directly within ZAP. Ideally it would be implemented as an extension with a generic framework and then adaptors for specific trackers, like github and bugzilla.&lt;br /&gt;
&lt;br /&gt;
The info included in the issues raised should be as configurable as possible so that users can include whatever they want, and set things like custom fields.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* Raise issues in github and bugzilla from alerts within the ZAP UI&lt;br /&gt;
* Support for raising alerts using the ZAP API&lt;br /&gt;
* High level of customization so that users can tune to their requirements&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Field enumeration ===&lt;br /&gt;
&lt;br /&gt;
This would allow a user to iterate though a set of (user defined) characters in order to identify the ones that are filtered out and/or escaped.&lt;br /&gt;
&lt;br /&gt;
The user should be able to define the character sets to test and will probably need to configure the success and failure conditions, as well as valid values for other fields in the form.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* User able to specify a specific field to enumerate via the ZAP UI&lt;br /&gt;
* A list of all valid characters to be returned from the sets of characters the user specifies&lt;br /&gt;
* Ability to configure a wide range of success and failure conditions to cope with as many possible situations as possible&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Form Handling ===&lt;br /&gt;
&lt;br /&gt;
The ZAP traditional and Ajax spiders explore an application by putting basic default values in all forms. These may often not be valid values, for example using &amp;quot;ZAP&amp;quot; when an email address is required.&lt;br /&gt;
&lt;br /&gt;
The enhancement would allow the user to define default values based on pattern matching against the field names and/or ids.&lt;br /&gt;
&lt;br /&gt;
It would also be very useful if it could show the user all forms and their associated fields for an application, and then allow the user to update the default values.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* User able to specify default values for all forms used by the ZAP spiders&lt;br /&gt;
* Display all of the forms and fields for an application and allow the user to update the default values to be used&lt;br /&gt;
* Full support for defining default values via the API&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Automated authentication detection and configuration ===&lt;br /&gt;
&lt;br /&gt;
ZAP has extensive support for supporting application authentication, but configuring this is a manual process which can be tricky to get right.&lt;br /&gt;
&lt;br /&gt;
The enhancement would allow ZAP to detect as many forms of authentication as possible and automatically configure them using the existing ZAP functionality.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* Automatically detect a wide range of authentication mechanisms&lt;br /&gt;
* Automatically configure ZAP to handle them&lt;br /&gt;
* Full support via the API&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Advanced padding oracle testing and exploitation ===&lt;br /&gt;
&lt;br /&gt;
ZAP has currently has very minimal support in it's the (beta) [https://github.com/zaproxy/zap-extensions/blob/beta/src/org/zaproxy/zap/extension/ascanrulesBeta/PaddingOraclePlugin.java PaddingOraclePlugin] for identifying potential [https://en.wikipedia.org/wiki/Padding_oracle_attack padding oracle] vulnerabilities. Specifically, it only examines two indicators for possible oracles (changing the last byte of padding by XORing it with 0x1 and resubmitting the HTTP request with the new altered parameter to see if the HTTP response contains some error patter or to check if the returned HTTP status is a 500 error. Furthermore, it is limited to checking parameters, but encrypted values that may be susceptible to padding oracle attacks may also be in HTTP cookies or even HTTP request / response values. (In the latter case, these custom headers are usually manipulated via AJAX.) Lastly SOAP messages using [https://www.w3.org/TR/2002/REC-xmlenc-core-20021210/Overview.html W3C XML Encryption] and JSON are other potential sources of padding oracle vulnerabilities that might be examined.&lt;br /&gt;
&lt;br /&gt;
The enhancement would extend the support to more a broader attack surface such as new attack vectors like cookies, HTTP headers, and possibly XML or JSON and also expand the identification of potential new oracles to not just keywords, but to any minute difference in responses (at least for idempotent GETs) or significant variations in time. Lastly, we would like to add the ability to exploit padding oracle vulnerabilities discovered which could lead to whole lot of other interesting discoveries.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* Detect oracle padding vulnerabilities in more situations&lt;br /&gt;
** Expanded attack vectors: cookies, HTTP headers, XML, JSON&lt;br /&gt;
** Expanded variation of recognized potential oracles: ''any'' output differences when padding correct vs. incorrect (takes much more than flipping a single padding bit), significant differences in timing, etc.&lt;br /&gt;
* Add the option to actually attempt to exploit discovered potential padding oracle vulnerabilities and report additional subsequent findings once the ciphertext is actually decrypted.&lt;br /&gt;
* Build test code to illustrate a working proof of concept&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. Reading up on basic details of how padding oracle attacks operate would also be extremely helpful.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Kevin Wall (cryptography subject matter expert) and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Zest text representation and parser ===&lt;br /&gt;
&lt;br /&gt;
Zest is a graphical scripting language from the Mozilla Security team, and is used as the ZAP macro language.&lt;br /&gt;
&lt;br /&gt;
A standardized text representation and parser would be very useful and help its adoption.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* A documented definition of a text representation for Zest&lt;br /&gt;
* A parser that converts the text representation into a working Zest script&lt;br /&gt;
* An option in the Zest java implementation to output Zest scripts text format&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
The Zest reference implementation is written in Java, so a good knowledge of this language is recommended. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Your idea ===&lt;br /&gt;
&lt;br /&gt;
We're always open to students coming up with their own suggestions for ZAP projects, so if you have something you think would make ZAP better then please get in touch!&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* That depends on your project, but clearly defined goals will be necessary&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP AppSensor Project]] provides real-time application layer intrusion detection. &lt;br /&gt;
&lt;br /&gt;
 * Check the AppSensor wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list.&lt;br /&gt;
 * Check our [https://github.com/jtmelton/appsensor github repository] and the [https://github.com/jtmelton/appsensor/issues open tickets]&lt;br /&gt;
 * Also see our [http://www.appsensor.org appsensor website]&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI Expansion ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, and we currently have a minimal application for data display. This project will involve expanding the default/standard UI for the AppSensor project. As part of the project, you will learn about the domain model, iterating your mockup designs and share those with the project leader(s) and the community for feedback. The existing stack is based on spring boot and reactjs. There are lots of features to be added, and you'll work with the project leader(s) and the community to build the most-needed and requested capabilities.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The existing dashboard application will be expanded and will involve features like: &lt;br /&gt;
* Search (could involve significant back-end work to configure indexing, etc.)&lt;br /&gt;
* Policy Management (edit server configuration in real-time)&lt;br /&gt;
* Data visualization / dashboarding&lt;br /&gt;
&lt;br /&gt;
Source code, tests, and associated documentation for both the back-end and UI will be delivered for this effort.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable with UI design and development, particularly building dashboards. Comfortable with Java (with some assistance). Basic familiarity with security concepts related to intrusion detection and prevention as this is the domain.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Trend Monitoring Analysis Engine ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a basic policy-driven analysis engine to determine if a series of events represents an attack (if a user triggers 5 of this type of event in 10 minutes, it's an attack). While this supports many use cases, there are times when it would be helpful to know trending information. If a particular function of the application begins to see 10 times its normal amount of traffic, that might represent an attack. This project would add an additional analysis engine to support &amp;quot;trend monitoring&amp;quot;. Development of this feature would require some initial research on alternative implementation strategies, followed by the development and testing of the feature in AppSensor. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* A trend monitoring analysis engine to be used either in place of or in addition to the existing policy-driven analysis engine&lt;br /&gt;
* Associated configuration mechanism to specify the trending rules/policy&lt;br /&gt;
* A small full sample demo application showing usage of the trend monitoring feature&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Expand language support for clients ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor supports various modes for communication with the server. The language and framework of the client application are required only to support the given mode. This flexibility is desirable, but having pre-built clients in various languages is useful for our user-base. This project would involve working with various popular languages and frameworks to build support for communicating with the appsensor server backend.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* Clients in multiple popular languages for interaction with appsensor server&lt;br /&gt;
* Evaluate the possibility for generating clients from specification as opposed to writing and maintaining the code (ie. swagger for REST)&lt;br /&gt;
* At a minimum, coverage for the HTTP/REST mode should be supported. Other modes (thrift, soap, kafka, etc.) will be produced as time allows. &lt;br /&gt;
* Several small demo applications showing usage of the given APIs&lt;br /&gt;
&lt;br /&gt;
Source code and tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable working in multiple popular languages and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Implement Detection Points in Reverse Proxy ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor works by tracking events that are created by &amp;quot;detection points&amp;quot;, essentially locations in the processing pipeline where suspicious or malicious intent is observed. This often requires business-specific detection within the application. However, the project has defined a number of detection points (https://www.owasp.org/index.php/AppSensor_DetectionPoints) and responses (https://www.owasp.org/index.php/AppSensor_ResponseActions), some of which can be generically applied across a broader set of applications, including those that are common to an entire organization or even cross-organization. For that reason, a sub-project has been created (https://github.com/jtmelton/appsensor-reverse-proxy) that provides support for detection points and responses that are generic enough to be broadly applicable. This project would expand support for these detection points and responses.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* New detection points and responses&lt;br /&gt;
** Examples: &lt;br /&gt;
***Look at how many cookies a session has. There is a maximum between browsers. We need to check between browsers I think the max is 255 or something. The point of checking for more cookies than that is to prevent cookie overflow.&lt;br /&gt;
***Look at how many characters a cookie contains.&lt;br /&gt;
***Some header related checks.&lt;br /&gt;
* Documentation for how to deploy the project and any end-user considerations&lt;br /&gt;
* Load testing each function as this project front-ends applications, and traffic throughput characteristics are important to our user-base.&lt;br /&gt;
* A small sample demo application showing the utility of the proxy. A recording of the usage for community viewing would be beneficial.&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in golang and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
== OWASP Seraphimdroid [[OWASP_SeraphimDroid_Project| ]] ==&lt;br /&gt;
&lt;br /&gt;
=== Behavioral malware and intrusion analysis  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is an Android mobile app which already has a capability to statically analyze malware using machine learning (weka toolkit) relying on permissions. However, this is usually not enough and we intend to improve this with behavioral analysis. There are a number of paper in scientific literature describing how to detect malware and intrusions by dynamically analyzing its behavior (system calls, battery consumption, etc.). The idea of this project is to find the best approach that can be implemented on the device and implement it.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Reviewing scientific literature and find feasible approach we can take&lt;br /&gt;
*  Implement and possibly improve the approach in Seraphimdroid&lt;br /&gt;
*  Test the model and provide controls to switch algorithm on or off and possibly fine tune it&lt;br /&gt;
*  Documenting approach as a technical report&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
* Basic knowledge and interest in machine learning&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Framework for plugin development  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is well rounded security and privacy app, however, it lacks some components community can provide. We would like to provide community the way to develop plugins that can add features to OWASP Seraphimdroid app. However, the way of integrating external components into Android app may be challenge. The way of presenting GUI and integration between processes need to be examined and developed. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Examining the way of integrating third party apps through some provided API to OWASP Seraphimdroid&lt;br /&gt;
*  Providing GUI integration with third party components&lt;br /&gt;
*  Develop at least one test plugin&lt;br /&gt;
*  Document the development process and API&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Educational component  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is well rounded security and privacy app. The initial idea of the project was to provide educational platform for common users, where by using the application, users can learn about risks for their privacy and security. Some components already has some sort of explanation, which is educational. However, it lacks of uneatable knowledge source and some of the components that monitor user's behavior do not provide sufficient information. Idea of this project is to develop monitoring of user activity and an component that can warn user about risks if he does something risky. Also, mobile security knowledge base that can be updated remotely will be a huge new asset to the application.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Develop uneatable knowledge base and GUI for it&lt;br /&gt;
*  Develop web server where the knowledge base can be updated&lt;br /&gt;
*  Improve current educational reporting&lt;br /&gt;
*  Develop methodology for monitoring users and notifying them about risky activities&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
== OWASP ZSC Tool ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_ZSC_Tool_Project|OWASP ZSC]] is an open source software in python language which lets you generate customized shellcodes and convert scripts to an obfuscated script. This software can be run on Windows/Linux/OSX under python.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Please take a look of our TODO list in Github to get some ideas:&lt;br /&gt;
https://github.com/Ali-Razmjoo/OWASP-ZSC/issues&lt;br /&gt;
&lt;br /&gt;
Another ideas:&lt;br /&gt;
* Help us develop shellcode module for windows&lt;br /&gt;
* Develop shellcode module for OSX&lt;br /&gt;
&lt;br /&gt;
Read about the project here:&lt;br /&gt;
https://ali-razmjoo.gitbooks.io/owasp-zsc/content/&lt;br /&gt;
&lt;br /&gt;
Recommended reading:&lt;br /&gt;
http://www.vividmachines.com/shellcode/shellcode.html&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Python&lt;br /&gt;
* Basic knowledge about Shellcode and assembly language&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
*Christo and Timo Goosen and Brian Beaudry- OWASP ZSC Contributors&lt;br /&gt;
&lt;br /&gt;
Contact us through our mailing list for questions:&lt;br /&gt;
https://groups.google.com/d/forum/owasp-zsc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP-SKF (Security Knowledge Framework) ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
The OWASP Security Knowledge Framework is intended to be a tool that is used as a guide for building and verifying secure software. It can also be used to train developers about application security. Education is the first step in the Secure Software Development Lifecycle. This software can be run on Windows/Linux/OSX under python.&lt;br /&gt;
&lt;br /&gt;
The 4 Core usage of SKF:&lt;br /&gt;
&lt;br /&gt;
    Security Requirements OWASP ASVS for development and for third party vendor applications&lt;br /&gt;
    Security knowledge reference (Code examples/ Knowledge Base items)&lt;br /&gt;
    Security is part of design with the pre-development functionality in SKF&lt;br /&gt;
    Security post-development functionality in SKF for verification with the OWASP ASVS&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
    More code examples for different languages&lt;br /&gt;
    Better quality of the knowledge base items&lt;br /&gt;
    More items in the pre-development phase&lt;br /&gt;
    Editable checklists in the post-development phase&lt;br /&gt;
&lt;br /&gt;
We really would love to improve the quality of the knowledge base items further, also we would love to have more code examples in the different languages like: Perl, Hack, Go, Node.js and more.&lt;br /&gt;
&lt;br /&gt;
Please take a look of our TODO list in Github to get some ideas:&lt;br /&gt;
https://github.com/blabla1337/skf-flask/issues&lt;br /&gt;
&lt;br /&gt;
Another ideas:&lt;br /&gt;
* Help us with stuff you think is missing in the SKF project&lt;br /&gt;
&lt;br /&gt;
Read about the project here:&lt;br /&gt;
https://skf.readme.io&lt;br /&gt;
&lt;br /&gt;
Recommended reading (here you find a link to the Online Demo):&lt;br /&gt;
https://www.owasp.org/index.php/OWASP_Security_Knowledge_Framework&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Python, PHP, Hack, .NET, GO, Ruby, Perl, Java, Node.js&lt;br /&gt;
* Basic knowledge about programming in one of the above languages&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
*Glenn and Riccardo ten Cate- OWASP-SKF project leaders&lt;br /&gt;
*Martin Knobloch Chapter leader of OWASP NL&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSOC2016_Ideas&amp;diff=209203</id>
		<title>GSOC2016 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSOC2016_Ideas&amp;diff=209203"/>
				<updated>2016-02-19T06:32:46Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: adding brief comment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&lt;br /&gt;
&lt;br /&gt;
'''Tips to get you started in no particular order:''' &lt;br /&gt;
 * Read the [[GSoC SAT]]&lt;br /&gt;
 * Check the Hackademic wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list or irc channel.&lt;br /&gt;
 * Check our [https://github.com/Hackademic/hackademic github repository] and especially the [https://github.com/Hackademic/hackademic/issues open tickets]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Hackademic Challenges ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP Hackademic Challenges Project]]  helps you test your knowledge on web application security. You can use it to actually attack web applications in a realistic but also controllable and safe environment. After a wonderfull 2014 GSoC with 100 new challenges and a couple of new plugins we're mainly looking to get new features in and maybe a couple of challenges. Bellow is a list of proposed features.&lt;br /&gt;
&lt;br /&gt;
=== REST API for the sandbox ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
During the last summer code sprint Hackademic got challenge sandboxing in the form of vagrant and docker wrappers as well as an engine to start and stop the container or vm instances.&lt;br /&gt;
What is needed now is a rest api which supports endpoint authentication and authorization which enables the sandbox engine to be completely independed from the rest of the project.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
Since the sandbox is written in python, you can use microframeworks such as flask to implement the api.&lt;br /&gt;
The endpoint authorization can be done via certificates or plain signature or username/password type authentication.&lt;br /&gt;
However the communication between the two has to be over a secure channel.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* A REST style api which allows an authenticated remote entity control the sandbox engine.&lt;br /&gt;
* PEP8 compliant code&lt;br /&gt;
* Acceptable unit test coverage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Python, test driven developmen, some idea what REST is, some security knowledge would be preferable.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New CMS ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The CMS part of the project is really old and has accumulated a significant amount of technical debt.&lt;br /&gt;
In addition many design decisions are either outdated or could be improved. &lt;br /&gt;
Therefore it may be a good idea to leverage the power of modern web frameworks to create a new CMS.&lt;br /&gt;
The new cms can be written in php or python using any compoennts we agree are necesary and based on the framework we agree on.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* New cms with same functionality as the old one (3 types of users -- student, teacher, admin--, 3 types of resources -- article challenge, class--, ACL type permissions, CRUD operations on every resource/user, all functionality can be extended by Plugins.&lt;br /&gt;
* REST endpoints in addition to classic ones&lt;br /&gt;
* tests covering all routes implemented&lt;br /&gt;
* PSR/PEP 8 code&lt;br /&gt;
&lt;br /&gt;
''' Note: '''&lt;br /&gt;
This is a huge project, it is ok if the student implements a part of it. However whatever implemented must be up to spec.&lt;br /&gt;
If you decide to take on this project contact us and we can agree on a list of routes.&lt;br /&gt;
If you don't decide to take on this project contact us.&lt;br /&gt;
Generally contact us, we like it when students have insightful questions and the community is active&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
Python or PHP, the framework suggested, what REST is, the technologies used, some security knowledge would be nice.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== First Course Type Challenge ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
We have a wonderful sandbox engine which allows for complex guided challenges to be implemented.&lt;br /&gt;
We'd like to build a challenge that guides the user through a series of steps to an end goal and teaches more information on the subject matter on the way.&lt;br /&gt;
This is a very open-ended project on purpose to allow creative student to come up with nice ideas.&lt;br /&gt;
Bellow you will find some examples that we thought might be interesting.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
* Purposefully vulnerable web page that guides the user via javascript tooltips and hints to exploiting it using ZAP. ( Bonus: using ZAP via the ZAP api). The challenge is solved when the the student submits the contents of a text file located on the disk (obtained by exploited an RCE)&lt;br /&gt;
&lt;br /&gt;
* Reversing a provided binary to extract information by providing step by step instructions to reversing using any popular reversing tool (well, you can't use IDA so gdb should have to do). Challenge is solved when the keys are extracted from the binary and submitted. Bonus points if each binary donwloaded has different keys.&lt;br /&gt;
&lt;br /&gt;
* Guide to exploiting the TOP10. (Using ZAP?)&lt;br /&gt;
&lt;br /&gt;
* Defensive Type challenges -- Here's how to create a patch for this kind of vulnerability -- Challenge is solved when the unit tests are run and the vulnerability isn't there.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* One or more Course - style challenges provided either as a docker container or as a vagrant box.&lt;br /&gt;
* Concrete documentation on how to build a challenge like this.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
The technologies used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Advanced Sandboxed Challenges ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
In the spirit of the challenges above, we're looking for true ctf type challenges.&lt;br /&gt;
This is an open ended task. We're expecting awesome fresh ideas.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
* An application vulnerable to one or more TOP 10 elements.&lt;br /&gt;
* A logic flaws based ctf&lt;br /&gt;
* Your idea here&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
Docker containers or Vagrant boxes that contain complete new challenges.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
Knowledge of the technologies used&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Your idea ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Amazing students, in our experience the best, most creative and unique ideas show up when we let students suggest their own feature in relation to the project.&lt;br /&gt;
The above should give you a general idea where we're going but don't let them constrain you.&lt;br /&gt;
Do you wanna do something that would fit into Hackademic? Send us an email!&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
No idea, that's your turn to shine!&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
If it's code, code according to our coding standards.&lt;br /&gt;
If it's challenges, something new and interesting.&lt;br /&gt;
If it's something else, then written like the person who's going to maintain your code is a raging psychopath with an axe who knows where you live.&lt;br /&gt;
&lt;br /&gt;
In short we'd like some quality. ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
== OWASP OWTF  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
We are in the process of deciding the set of ZAP projects for Google Summer of Code 2015.&lt;br /&gt;
&lt;br /&gt;
You can follow (and join in) the discussions on the ZAP Developer Group: https://groups.google.com/d/msg/zaproxy-develop/Uy0JPkzsI_s/Bj7OTSkISCIJ&lt;br /&gt;
&lt;br /&gt;
=== Example Idea ===&lt;br /&gt;
&lt;br /&gt;
Currently ZAP provides only a limited set of report data. While this can be extended dynamically this feature is not currently used, and there is no way for users to choose what data they get back. It also provides a set of API calls, some of which return data that could be incorporated into reports, and some of which allow the fixed report to be accessed.&lt;br /&gt;
&lt;br /&gt;
==== Expected Results ====&lt;br /&gt;
&lt;br /&gt;
* Report data will be a distinct type of data returned via API calls&lt;br /&gt;
* An add-on that provides report data - so this becomes 'plug-able'&lt;br /&gt;
* Report data and meta data should be fully internationalized&lt;br /&gt;
* Users can specify which sites / contexts report data should apply to&lt;br /&gt;
&lt;br /&gt;
==== Knowledge Prerequisite: ====&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
==== Mentors ====&lt;br /&gt;
Simon Bennetts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP AppSensor Project]] provides real-time application layer intrusion detection. &lt;br /&gt;
&lt;br /&gt;
 * Check the AppSensor wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list.&lt;br /&gt;
 * Check our [https://github.com/jtmelton/appsensor github repository] and the [https://github.com/jtmelton/appsensor/issues open tickets]&lt;br /&gt;
 * Also see our [http://www.appsensor.org appsensor website]&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI Expansion ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, and we currently have a minimal application for data display. This project will involve expanding the default/standard UI for the AppSensor project. As part of the project, you will learn about the domain model, iterating your mockup designs and share those with the project leader(s) and the community for feedback. The existing stack is based on spring boot and reactjs. There are lots of features to be added, and you'll work with the project leader(s) and the community to build the most-needed and requested capabilities.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The existing dashboard application will be expanded and will involve features like: &lt;br /&gt;
* Search (could involve significant back-end work to configure indexing, etc.)&lt;br /&gt;
* Policy Management (edit server configuration in real-time)&lt;br /&gt;
* Data visualization / dashboarding&lt;br /&gt;
&lt;br /&gt;
Source code, tests, and associated documentation for both the back-end and UI will be delivered for this effort.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable with UI design and development, particularly building dashboards. Comfortable with Java (with some assistance). Basic familiarity with security concepts related to intrusion detection and prevention as this is the domain.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Trend Monitoring Analysis Engine ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a basic policy-driven analysis engine to determine if a series of events represents an attack (if a user triggers 5 of this type of event in 10 minutes, it's an attack). While this supports many use cases, there are times when it would be helpful to know trending information. If a particular function of the application begins to see 10 times its normal amount of traffic, that might represent an attack. This project would add an additional analysis engine to support &amp;quot;trend monitoring&amp;quot;. Development of this feature would require some initial research on alternative implementation strategies, followed by the development and testing of the feature in AppSensor. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* A trend monitoring analysis engine to be used either in place of or in addition to the existing policy-driven analysis engine&lt;br /&gt;
* Associated configuration mechanism to specify the trending rules/policy&lt;br /&gt;
* A small full sample demo application showing usage of the trend monitoring feature&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Expand language support for clients ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor supports various modes for communication with the server. The language and framework of the client application are required only to support the given mode. This flexibility is desirable, but having pre-built clients in various languages is useful for our user-base. This project would involve working with various popular languages and frameworks to build support for communicating with the appsensor server backend.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* Clients in multiple popular languages for interaction with appsensor server&lt;br /&gt;
* Evaluate the possibility for generating clients from specification as opposed to writing and maintaining the code (ie. swagger for REST)&lt;br /&gt;
* At a minimum, coverage for the HTTP/REST mode should be supported. Other modes (thrift, soap, kafka, etc.) will be produced as time allows. &lt;br /&gt;
* Several small demo applications showing usage of the given APIs&lt;br /&gt;
&lt;br /&gt;
Source code and tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable working in multiple popular languages and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Implement Detection Points in Reverse Proxy ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor works by tracking events that are created by &amp;quot;detection points&amp;quot;, essentially locations in the processing pipeline where suspicious or malicious intent is observed. This often requires business-specific detection within the application. However, the project has defined a number of detection points (https://www.owasp.org/index.php/AppSensor_DetectionPoints) and responses (https://www.owasp.org/index.php/AppSensor_ResponseActions), some of which can be generically applied across a broader set of applications, including those that are common to an entire organization or even cross-organization. For that reason, a sub-project has been created (https://github.com/jtmelton/appsensor-reverse-proxy) that provides support for detection points and responses that are generic enough to be broadly applicable. This project would expand support for these detection points and responses.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* New detection points and responses&lt;br /&gt;
* Documentation for how to deploy the project and any end-user considerations&lt;br /&gt;
* Load testing each function as this project front-ends applications, and traffic throughput characteristics are important to our user-base.&lt;br /&gt;
* A small sample demo application showing the utility of the proxy. A recording of the usage for community viewing would be beneficial.&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in golang and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
== OWASP Seraphimdroid [[OWASP_SeraphimDroid_Project| ]] ==&lt;br /&gt;
&lt;br /&gt;
=== Behavioral malware and intrusion analysis  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is an Android mobile app which already has a capability to statically analyze malware using machine learning (weka toolkit) relying on permissions. However, this is usually not enough and we intend to improve this with behavioral analysis. There are a number of paper in scientific literature describing how to detect malware and intrusions by dynamically analyzing its behavior (system calls, battery consumption, etc.). The idea of this project is to find the best approach that can be implemented on the device and implement it.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Reviewing scientific literature and find feasible approach we can take&lt;br /&gt;
*  Implement and possibly improve the approach in Seraphimdroid&lt;br /&gt;
*  Test the model and provide controls to switch algorithm on or off and possibly fine tune it&lt;br /&gt;
*  Documenting approach as a technical report&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
* Basic knowledge and interest in machine learning&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Framework for plugin development  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is well rounded security and privacy app, however, it lacks some components community can provide. We would like to provide community the way to develop plugins that can add features to OWASP Seraphimdroid app. However, the way of integrating external components into Android app may be challenge. The way of presenting GUI and integration between processes need to be examined and developed. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Examining the way of integrating third party apps through some provided API to OWASP Seraphimdroid&lt;br /&gt;
*  Providing GUI integration with third party components&lt;br /&gt;
*  Develop at least one test plugin&lt;br /&gt;
*  Document the development process and API&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Educational component  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is well rounded security and privacy app. The initial idea of the project was to provide educational platform for common users, where by using the application, users can learn about risks for their privacy and security. Some components already has some sort of explanation, which is educational. However, it lacks of uneatable knowledge source and some of the components that monitor user's behavior do not provide sufficient information. Idea of this project is to develop monitoring of user activity and an component that can warn user about risks if he does something risky. Also, mobile security knowledge base that can be updated remotely will be a huge new asset to the application.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Develop uneatable knowledge base and GUI for it&lt;br /&gt;
*  Develop web server where the knowledge base can be updated&lt;br /&gt;
*  Improve current educational reporting&lt;br /&gt;
*  Develop methodology for monitoring users and notifying them about risky activities&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
== OWASP ZSC Tool ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_ZSC_Tool_Project|OWASP ZSC]] is an open source software in python language which lets you generate customized shellcodes and convert scripts to an obfuscated script. This software can be run on Windows/Linux/OSX under python.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Please take a look of our TODO list in Github to get some ideas:&lt;br /&gt;
https://github.com/Ali-Razmjoo/OWASP-ZSC/issues&lt;br /&gt;
&lt;br /&gt;
Another ideas:&lt;br /&gt;
* Help us develop shellcode module for windows&lt;br /&gt;
* Develop shellcode module for OSX&lt;br /&gt;
&lt;br /&gt;
Read about the project here:&lt;br /&gt;
https://ali-razmjoo.gitbooks.io/owasp-zsc/content/&lt;br /&gt;
&lt;br /&gt;
Recommended reading:&lt;br /&gt;
http://www.vividmachines.com/shellcode/shellcode.html&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Python&lt;br /&gt;
* Basic knowledge about Shellcode and assembly language&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
*Christo and Timo Goosen and Brian Beaudry- OWASP ZSC Contributors&lt;br /&gt;
&lt;br /&gt;
Contact us through our mailing list for questions:&lt;br /&gt;
https://groups.google.com/d/forum/owasp-zsc&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSOC2016_Ideas&amp;diff=209202</id>
		<title>GSOC2016 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSOC2016_Ideas&amp;diff=209202"/>
				<updated>2016-02-19T06:30:20Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: adding appsensor proposals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&lt;br /&gt;
&lt;br /&gt;
'''Tips to get you started in no particular order:''' &lt;br /&gt;
 * Read the [[GSoC SAT]]&lt;br /&gt;
 * Check the Hackademic wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list or irc channel.&lt;br /&gt;
 * Check our [https://github.com/Hackademic/hackademic github repository] and especially the [https://github.com/Hackademic/hackademic/issues open tickets]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Hackademic Challenges ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP Hackademic Challenges Project]]  helps you test your knowledge on web application security. You can use it to actually attack web applications in a realistic but also controllable and safe environment. After a wonderfull 2014 GSoC with 100 new challenges and a couple of new plugins we're mainly looking to get new features in and maybe a couple of challenges. Bellow is a list of proposed features.&lt;br /&gt;
&lt;br /&gt;
=== REST API for the sandbox ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
During the last summer code sprint Hackademic got challenge sandboxing in the form of vagrant and docker wrappers as well as an engine to start and stop the container or vm instances.&lt;br /&gt;
What is needed now is a rest api which supports endpoint authentication and authorization which enables the sandbox engine to be completely independed from the rest of the project.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
Since the sandbox is written in python, you can use microframeworks such as flask to implement the api.&lt;br /&gt;
The endpoint authorization can be done via certificates or plain signature or username/password type authentication.&lt;br /&gt;
However the communication between the two has to be over a secure channel.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* A REST style api which allows an authenticated remote entity control the sandbox engine.&lt;br /&gt;
* PEP8 compliant code&lt;br /&gt;
* Acceptable unit test coverage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Python, test driven developmen, some idea what REST is, some security knowledge would be preferable.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New CMS ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The CMS part of the project is really old and has accumulated a significant amount of technical debt.&lt;br /&gt;
In addition many design decisions are either outdated or could be improved. &lt;br /&gt;
Therefore it may be a good idea to leverage the power of modern web frameworks to create a new CMS.&lt;br /&gt;
The new cms can be written in php or python using any compoennts we agree are necesary and based on the framework we agree on.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* New cms with same functionality as the old one (3 types of users -- student, teacher, admin--, 3 types of resources -- article challenge, class--, ACL type permissions, CRUD operations on every resource/user, all functionality can be extended by Plugins.&lt;br /&gt;
* REST endpoints in addition to classic ones&lt;br /&gt;
* tests covering all routes implemented&lt;br /&gt;
* PSR/PEP 8 code&lt;br /&gt;
&lt;br /&gt;
''' Note: '''&lt;br /&gt;
This is a huge project, it is ok if the student implements a part of it. However whatever implemented must be up to spec.&lt;br /&gt;
If you decide to take on this project contact us and we can agree on a list of routes.&lt;br /&gt;
If you don't decide to take on this project contact us.&lt;br /&gt;
Generally contact us, we like it when students have insightful questions and the community is active&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
Python or PHP, the framework suggested, what REST is, the technologies used, some security knowledge would be nice.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== First Course Type Challenge ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
We have a wonderful sandbox engine which allows for complex guided challenges to be implemented.&lt;br /&gt;
We'd like to build a challenge that guides the user through a series of steps to an end goal and teaches more information on the subject matter on the way.&lt;br /&gt;
This is a very open-ended project on purpose to allow creative student to come up with nice ideas.&lt;br /&gt;
Bellow you will find some examples that we thought might be interesting.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
* Purposefully vulnerable web page that guides the user via javascript tooltips and hints to exploiting it using ZAP. ( Bonus: using ZAP via the ZAP api). The challenge is solved when the the student submits the contents of a text file located on the disk (obtained by exploited an RCE)&lt;br /&gt;
&lt;br /&gt;
* Reversing a provided binary to extract information by providing step by step instructions to reversing using any popular reversing tool (well, you can't use IDA so gdb should have to do). Challenge is solved when the keys are extracted from the binary and submitted. Bonus points if each binary donwloaded has different keys.&lt;br /&gt;
&lt;br /&gt;
* Guide to exploiting the TOP10. (Using ZAP?)&lt;br /&gt;
&lt;br /&gt;
* Defensive Type challenges -- Here's how to create a patch for this kind of vulnerability -- Challenge is solved when the unit tests are run and the vulnerability isn't there.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* One or more Course - style challenges provided either as a docker container or as a vagrant box.&lt;br /&gt;
* Concrete documentation on how to build a challenge like this.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
The technologies used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Advanced Sandboxed Challenges ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
In the spirit of the challenges above, we're looking for true ctf type challenges.&lt;br /&gt;
This is an open ended task. We're expecting awesome fresh ideas.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
* An application vulnerable to one or more TOP 10 elements.&lt;br /&gt;
* A logic flaws based ctf&lt;br /&gt;
* Your idea here&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
Docker containers or Vagrant boxes that contain complete new challenges.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
Knowledge of the technologies used&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Your idea ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Amazing students, in our experience the best, most creative and unique ideas show up when we let students suggest their own feature in relation to the project.&lt;br /&gt;
The above should give you a general idea where we're going but don't let them constrain you.&lt;br /&gt;
Do you wanna do something that would fit into Hackademic? Send us an email!&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
No idea, that's your turn to shine!&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
If it's code, code according to our coding standards.&lt;br /&gt;
If it's challenges, something new and interesting.&lt;br /&gt;
If it's something else, then written like the person who's going to maintain your code is a raging psychopath with an axe who knows where you live.&lt;br /&gt;
&lt;br /&gt;
In short we'd like some quality. ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
== OWASP OWTF  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
We are in the process of deciding the set of ZAP projects for Google Summer of Code 2015.&lt;br /&gt;
&lt;br /&gt;
You can follow (and join in) the discussions on the ZAP Developer Group: https://groups.google.com/d/msg/zaproxy-develop/Uy0JPkzsI_s/Bj7OTSkISCIJ&lt;br /&gt;
&lt;br /&gt;
=== Example Idea ===&lt;br /&gt;
&lt;br /&gt;
Currently ZAP provides only a limited set of report data. While this can be extended dynamically this feature is not currently used, and there is no way for users to choose what data they get back. It also provides a set of API calls, some of which return data that could be incorporated into reports, and some of which allow the fixed report to be accessed.&lt;br /&gt;
&lt;br /&gt;
==== Expected Results ====&lt;br /&gt;
&lt;br /&gt;
* Report data will be a distinct type of data returned via API calls&lt;br /&gt;
* An add-on that provides report data - so this becomes 'plug-able'&lt;br /&gt;
* Report data and meta data should be fully internationalized&lt;br /&gt;
* Users can specify which sites / contexts report data should apply to&lt;br /&gt;
&lt;br /&gt;
==== Knowledge Prerequisite: ====&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
==== Mentors ====&lt;br /&gt;
Simon Bennetts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP AppSensor Project]] provides real-time application layer intrusion detection. &lt;br /&gt;
&lt;br /&gt;
 * Check the AppSensor wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list.&lt;br /&gt;
 * Check our [https://github.com/jtmelton/appsensor github repository] and the [https://github.com/jtmelton/appsensor/issues open tickets]&lt;br /&gt;
 * Also see our [http://www.appsensor.org appsensor website]&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI Expansion ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, and we currently have a minimal application for data display. This project will involve expanding the default/standard UI for the AppSensor project. As part of the project, you will learn about the domain model, iterating your mockup designs and share those with the project leader(s) and the community for feedback. The existing stack is based on spring boot and reactjs. There are lots of features to be added, and you'll work with the project leader(s) and the community to build the most-needed and requested capabilities.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The existing dashboard application will be expanded and will involve features like: &lt;br /&gt;
* Search (could involve significant back-end work to configure indexing, etc.)&lt;br /&gt;
* Policy Management (edit server configuration in real-time)&lt;br /&gt;
* Data visualization / dashboarding&lt;br /&gt;
&lt;br /&gt;
Source code, tests, and associated documentation for both the back-end and UI will be delivered for this effort.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable with UI design and development, particularly building dashboards. Comfortable with Java (with some assistance). Basic familiarity with security concepts related to intrusion detection and prevention as this is the domain.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Trend Monitoring Analysis Engine ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a basic policy-driven analysis engine to determine if a series of events represents an attack (if a user triggers 5 of this type of event in 10 minutes, it's an attack). While this supports many use cases, there are times when it would be helpful to know trending information. If a particular function of the application begins to see 10 times its normal amount of traffic, that might represent an attack. This project would add an additional analysis engine to support &amp;quot;trend monitoring&amp;quot;. Development of this feature would require some initial research on alternative implementation strategies, followed by the development and testing of the feature in AppSensor. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* A trend monitoring analysis engine to be used either in place of or in addition to the existing policy-driven analysis engine&lt;br /&gt;
* Associated configuration mechanism to specify the trending rules/policy&lt;br /&gt;
* A small full sample demo application showing usage of the trend monitoring feature&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Expand language support for clients ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor supports various modes for communication with the server. The language and framework of the client application are required only to support the given mode. This flexibility is desirable, but having pre-built clients in various languages is useful for our user-base. This project would involve working with various popular languages and frameworks to build support for communicating with the appsensor server backend.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* Clients in multiple popular languages for interaction with appsensor server&lt;br /&gt;
* At a minimum, coverage for the HTTP/REST mode should be supported. Other modes (thrift, soap, kafka, etc.) will be produced as time allows.&lt;br /&gt;
* Several small demo applications showing usage of the given APIs&lt;br /&gt;
&lt;br /&gt;
Source code and tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable working in multiple popular languages and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Implement Detection Points in Reverse Proxy ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor works by tracking events that are created by &amp;quot;detection points&amp;quot;, essentially locations in the processing pipeline where suspicious or malicious intent is observed. This often requires business-specific detection within the application. However, the project has defined a number of detection points (https://www.owasp.org/index.php/AppSensor_DetectionPoints) and responses (https://www.owasp.org/index.php/AppSensor_ResponseActions), some of which can be generically applied across a broader set of applications, including those that are common to an entire organization or even cross-organization. For that reason, a sub-project has been created (https://github.com/jtmelton/appsensor-reverse-proxy) that provides support for detection points and responses that are generic enough to be broadly applicable. This project would expand support for these detection points and responses.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* New detection points and responses&lt;br /&gt;
* Documentation for how to deploy the project and any end-user considerations&lt;br /&gt;
* Load testing each function as this project front-ends applications, and traffic throughput characteristics are important to our user-base.&lt;br /&gt;
* A small sample demo application showing the utility of the proxy. A recording of the usage for community viewing would be beneficial.&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in golang and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
== OWASP Seraphimdroid [[OWASP_SeraphimDroid_Project| ]] ==&lt;br /&gt;
&lt;br /&gt;
=== Behavioral malware and intrusion analysis  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is an Android mobile app which already has a capability to statically analyze malware using machine learning (weka toolkit) relying on permissions. However, this is usually not enough and we intend to improve this with behavioral analysis. There are a number of paper in scientific literature describing how to detect malware and intrusions by dynamically analyzing its behavior (system calls, battery consumption, etc.). The idea of this project is to find the best approach that can be implemented on the device and implement it.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Reviewing scientific literature and find feasible approach we can take&lt;br /&gt;
*  Implement and possibly improve the approach in Seraphimdroid&lt;br /&gt;
*  Test the model and provide controls to switch algorithm on or off and possibly fine tune it&lt;br /&gt;
*  Documenting approach as a technical report&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
* Basic knowledge and interest in machine learning&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Framework for plugin development  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is well rounded security and privacy app, however, it lacks some components community can provide. We would like to provide community the way to develop plugins that can add features to OWASP Seraphimdroid app. However, the way of integrating external components into Android app may be challenge. The way of presenting GUI and integration between processes need to be examined and developed. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Examining the way of integrating third party apps through some provided API to OWASP Seraphimdroid&lt;br /&gt;
*  Providing GUI integration with third party components&lt;br /&gt;
*  Develop at least one test plugin&lt;br /&gt;
*  Document the development process and API&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Educational component  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is well rounded security and privacy app. The initial idea of the project was to provide educational platform for common users, where by using the application, users can learn about risks for their privacy and security. Some components already has some sort of explanation, which is educational. However, it lacks of uneatable knowledge source and some of the components that monitor user's behavior do not provide sufficient information. Idea of this project is to develop monitoring of user activity and an component that can warn user about risks if he does something risky. Also, mobile security knowledge base that can be updated remotely will be a huge new asset to the application.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Develop uneatable knowledge base and GUI for it&lt;br /&gt;
*  Develop web server where the knowledge base can be updated&lt;br /&gt;
*  Improve current educational reporting&lt;br /&gt;
*  Develop methodology for monitoring users and notifying them about risky activities&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
== OWASP ZSC Tool ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_ZSC_Tool_Project|OWASP ZSC]] is an open source software in python language which lets you generate customized shellcodes and convert scripts to an obfuscated script. This software can be run on Windows/Linux/OSX under python.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Please take a look of our TODO list in Github to get some ideas:&lt;br /&gt;
https://github.com/Ali-Razmjoo/OWASP-ZSC/issues&lt;br /&gt;
&lt;br /&gt;
Another ideas:&lt;br /&gt;
* Help us develop shellcode module for windows&lt;br /&gt;
* Develop shellcode module for OSX&lt;br /&gt;
&lt;br /&gt;
Read about the project here:&lt;br /&gt;
https://ali-razmjoo.gitbooks.io/owasp-zsc/content/&lt;br /&gt;
&lt;br /&gt;
Recommended reading:&lt;br /&gt;
http://www.vividmachines.com/shellcode/shellcode.html&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Python&lt;br /&gt;
* Basic knowledge about Shellcode and assembly language&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
*Christo and Timo Goosen and Brian Beaudry- OWASP ZSC Contributors&lt;br /&gt;
&lt;br /&gt;
Contact us through our mailing list for questions:&lt;br /&gt;
https://groups.google.com/d/forum/owasp-zsc&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=209172</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=209172"/>
				<updated>2016-02-18T15:51:31Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: /* Road Map and Getting Involved */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:120px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: flagship_big.jpg|link=OWASP_Project_Stages#tab=Flagship_Projects]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers a comprehensive guide and a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Intro for Developers ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Two-sided US Letter or A4]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf 12-page US Letter booklet]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [25 Sep 2015] [http://appsecusa2015.sched.org/event/09495faf5cced352cb4a2acc16ce9158#.VaOSoHhfk2w Presentation] at AppSec USA 2015&lt;br /&gt;
* [27 Jul 2015] [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc AppSensor Guide v2.0.2] published&lt;br /&gt;
* [09 Jun 2015] AppSensor Code v2.1.0 [https://github.com/jtmelton/appsensor/releases/tag/v2.1.0 released]&lt;br /&gt;
* [20 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Code&lt;br /&gt;
* [19 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Documentation&lt;br /&gt;
* [09 Apr 2015] [https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf CISO Briefing] booklet published&lt;br /&gt;
* [22 Feb 2015] Proposal for [https://www.owasp.org/index.php/GSoC2015_Ideas#OWASP_AppSensor Google Summer of Code 2015]&lt;br /&gt;
* [13 Feb 2015] [https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Introduction for Developers] flyer published&lt;br /&gt;
* [13 Feb 2015] AppSensor project awarded OWASP flagship status&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-22290600.html AppSensor Guide] and [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html CISO Briefing] can be purchased at cost as print on demand books.&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot; | [[File:Mature projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Juan C Calderon&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*Sumanth Damaria&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
*Sean Fay&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Timo Goosen&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Benjamin-Hugo LeBlanc&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
*Mark Miller&lt;br /&gt;
* Rich Mogull&lt;br /&gt;
*Craig Munson&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Louis Nadeau&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Raphael Taban&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Stephen de Vries&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
==OWASP Code Sprint 2015==&lt;br /&gt;
Development work was also supported by the [https://www.owasp.org/index.php/Summer_Code_Sprint2015 OWASP Summer Code Sprint 2015].&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas ([http://lists.owasp.org/pipermail/owasp-appsensor-project/2015-February/000855.html see discussion and editable list of changes])&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. &lt;br /&gt;
v2.0.0 final was released in late January 2015.&lt;br /&gt;
v2.1.0 final was released in June 2015.&lt;br /&gt;
v2.2.0 final was released in September 2015&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== June 2015 (2.1) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/19 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Sample application / demo&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/9 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up developer documentation on github and appsensor.org&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/12 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Preparation for GSOC 2015 submission&amp;lt;/strike&amp;gt; -&amp;gt; DONE - see [[GSoC2015_Ideas]] - Update - OWASP not selected&lt;br /&gt;
&lt;br /&gt;
=== September 2015 (2.2) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;First version of administration UI for appsensor (monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/10 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== January 2016 (2.3) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* Video demo of setting up appsensor (screen capture) (related to sample apps)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
&lt;br /&gt;
=== May 2016 (2.4) === &lt;br /&gt;
* Trend monitoring implementation ([https://github.com/jtmelton/appsensor/issues/6 github issue])&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''September 2015''' Final release v2.2.0 code&lt;br /&gt;
&lt;br /&gt;
'''June 2015''' Final release v2.1.0 code&lt;br /&gt;
&lt;br /&gt;
'''April 2015''' CISO Briefing booklet published&lt;br /&gt;
&lt;br /&gt;
'''February 2015''' Introduction for Developers flyer published&lt;br /&gt;
&lt;br /&gt;
'''January 2015''' Final release v2.0.0 code&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== Introductory Briefings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Developers&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Architects&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | CISOs&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CISO briefing is also available to [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html buy at cost in print].&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
==Source Documents / Artwork==&lt;br /&gt;
&lt;br /&gt;
* Guide&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc Word (content only)], DOC 11Mb&lt;br /&gt;
** [https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Word, images, Lulu covers, diagrams], ZIP 96Mb&lt;br /&gt;
* Introduction for Developers&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-a4.zip A4 Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-usletter.zip US letter Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
* Poster&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-poster-a1.zip A1 Illustrator and PDF export] ZIP, 18Mb&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]] [[Category:SAMM-EH-3]] [[Category:SAMM-SA-2]] [[Category:SAMM-VM-3]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=198336</id>
		<title>Summer Code Sprint2015 Progress Reports</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=198336"/>
				<updated>2015-08-03T19:51:31Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: sumanth damarla week 3 appsensor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
== OWASP Summer Code Sprint 2015 Progress Reports ==&lt;br /&gt;
&lt;br /&gt;
This page will track the progress reports of the different selected projects for the OWASP Summer Code Sprint 2015 projects.&lt;br /&gt;
&lt;br /&gt;
= OWTF - Viyat Bhalodia =&lt;br /&gt;
&lt;br /&gt;
= OWTF - Arun Sori =&lt;br /&gt;
&lt;br /&gt;
= OWTF - Alexandra Sandulescu =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Anirudh Anand =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Minhaz AV =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Tapasweni Pathak =&lt;br /&gt;
&lt;br /&gt;
= AppSensor - Sumanth Damarla =&lt;br /&gt;
&lt;br /&gt;
== Week 1 (2015.07.13 - 2015.07.17) == &lt;br /&gt;
&lt;br /&gt;
Operating System: &lt;br /&gt;
Ubuntu 15.04 Desktop&lt;br /&gt;
Processor: Intel Core i3 -3227U CPU @ 1.90GHz x 4&lt;br /&gt;
OS Type : 64-bit&lt;br /&gt;
Disk: 17.5GB&lt;br /&gt;
(Server or Desktop?) + (What hardware?)&lt;br /&gt;
&lt;br /&gt;
Technologies researched on :&lt;br /&gt;
Overview of Time Series Databases.&lt;br /&gt;
Influxdb documentation. &lt;br /&gt;
Learnt InfluxQL (Query language for Influxdb).&lt;br /&gt;
Overview Elasticsearch and related tutorials.&lt;br /&gt;
Overview Logstash and related tutorials.&lt;br /&gt;
Overview Kibana and related tutorials.&lt;br /&gt;
&lt;br /&gt;
Environement Setup:&lt;br /&gt;
Installed ElasticSearch 1.4.4, Logstash and Kibana 4.0 and Nginx environment.(To set up a reverse proxy to allow external access) individually. What versions of each component?&lt;br /&gt;
		Working on linking all the three[how the logstash output be given to elasticsearch (the parameters to be mentioned) and how to generate metrics using Kibana from Elasticsearch inputs] but I need to configure it with private IP.(Linking all three what? )&lt;br /&gt;
Installed Appsensor environment.&lt;br /&gt;
&lt;br /&gt;
Links I referenced (Teaching Resources):&lt;br /&gt;
&lt;br /&gt;
InfluxDB Documentation: https://influxdb.com/docs/v0.9/introduction/overview.html&lt;br /&gt;
&lt;br /&gt;
Logstash Documentation: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html&lt;br /&gt;
&lt;br /&gt;
Elastic Search Documentation: https://www.elastic.co/guide/en/elasticsearch/guide/current/getting-started.html&lt;br /&gt;
&lt;br /&gt;
Kibana: https://www.elastic.co/webinars/whats-new-in-kibana-4&lt;br /&gt;
&lt;br /&gt;
Visualizing Logs Using ElasticSearch, Logstash and Kibana : https://www.youtube.com/watch?v=Kqs7UcCJquM&lt;br /&gt;
Logs &amp;amp; Metrics: Use the Force, Gain the Insight (Need to have pro access which I have xD )&lt;br /&gt;
https://teamtreehouse.com/library/logs-metrics-use-the-force-gain-the-insight&lt;br /&gt;
&lt;br /&gt;
Step by step installation on ELK Stack on Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-4-on-ubuntu-14-04&lt;br /&gt;
&lt;br /&gt;
== Week 2 (2015.07.20 - 2015.07.24) == &lt;br /&gt;
&lt;br /&gt;
Configured Simple Websocket Dashboard from Appsensor and deployed in Tomcat 7:&lt;br /&gt;
&lt;br /&gt;
Steps to Install Tomcat7 in Ubuntu 15.04:&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-7-on-ubuntu-14-04-via-apt-get&lt;br /&gt;
&lt;br /&gt;
Building AppSensor Environment:&lt;br /&gt;
AppSensor is a multi-module maven project. The project requires Java version 7 or higher. Building is generally handled by the following steps&lt;br /&gt;
&lt;br /&gt;
clone the repo (or your fork)&lt;br /&gt;
git clone https://github.com/jtmelton/appsensor.git&lt;br /&gt;
&lt;br /&gt;
get into appsensor directory&lt;br /&gt;
cd appsensor&lt;br /&gt;
&lt;br /&gt;
install multi-module parent - one time requirement per version&lt;br /&gt;
mvn -N install &lt;br /&gt;
or&lt;br /&gt;
sudo apt-get update &lt;br /&gt;
sudo apt-get install maven&lt;br /&gt;
&lt;br /&gt;
run the tests - done every time you make changes&lt;br /&gt;
mvn test&lt;br /&gt;
&lt;br /&gt;
Deploying Sample App in Standalone Container:&lt;br /&gt;
If you'd like to deploy one of these applications to a standalone application server or servlet container, follow these simple steps:&lt;br /&gt;
Download the source code (either zip download or git clone)&lt;br /&gt;
Go into the folder containing the application you want to deploy (e.g. 'simple-dashboard')&lt;br /&gt;
Execute 'mvn package'&lt;br /&gt;
Look in the 'target' folder that gets generated and find the '.war' file&lt;br /&gt;
Deploy this WAR file into your application server / servlet container and start it up&lt;br /&gt;
You should now be able to interact with the application locally&lt;br /&gt;
&lt;br /&gt;
Deploying Sample App in IDE-managed Container:&lt;br /&gt;
If you'd like to deploy one of these applications to a standalone application server or servlet container, follow these simple steps:&lt;br /&gt;
Download the source code (either zip download or git clone)&lt;br /&gt;
Import the application into your IDE (using 'import maven project' mechanism)&lt;br /&gt;
Setup an IDE managed container if you don't have one already&lt;br /&gt;
Add the application to your container&lt;br /&gt;
Startup the container&lt;br /&gt;
You should now be able to interact with the application locally&lt;br /&gt;
&lt;br /&gt;
Providing syslog as input for Logstash:&lt;br /&gt;
Syslog and its configuration options: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-syslog.html&lt;br /&gt;
&lt;br /&gt;
ELK STACK has been configured&lt;br /&gt;
&lt;br /&gt;
Ports used for ELK Stack:&lt;br /&gt;
Port 9200: Elasticsearch&lt;br /&gt;
Port 5610: Kibana&lt;br /&gt;
&lt;br /&gt;
Plugins Installed:&lt;br /&gt;
Marvel: Used as GUI for Elasticsearch.&lt;br /&gt;
Kopf: Used as GUI for Logstash.&lt;br /&gt;
&lt;br /&gt;
Sample Logs used in ELK Stack:&lt;br /&gt;
Manual logs are inserted from terminal.&lt;br /&gt;
&lt;br /&gt;
Ingesting CSV data with Logstash and analysing in Kibana.&lt;br /&gt;
&lt;br /&gt;
Current Tasks:&lt;br /&gt;
Researching on syslog format.&lt;br /&gt;
Working on importing syslog format logs into Logstash.&lt;br /&gt;
Learning the filters supported for syslog in ELK stack technology.&lt;br /&gt;
&lt;br /&gt;
Tasks ahead:&lt;br /&gt;
Extracting logs (syslog format) from the applications configured with AppSensor.&lt;br /&gt;
 &lt;br /&gt;
Reference Links:&lt;br /&gt;
Centralized logging with an &lt;br /&gt;
ELK stack (Elasticsearch-Logstash-Kibana) on Ubuntu: https://deviantony.wordpress.com/2014/05/19/centralized-logging-with-an-elk-stack-elasticsearch-logback-kibana/&lt;br /&gt;
About Marvel Plugin: https://www.elastic.co/guide/en/marvel/current/index.html&lt;br /&gt;
About Kopf Plugin: https://github.com/lmenezes/elasticsearch-kopf&lt;br /&gt;
Ingesting CSV Data with Logstash: http://www.rittmanmead.com/2015/04/using-the-elk-stack-to-analyse-donors-choose-data/&lt;br /&gt;
Download free CSV datasheets: http://data.donorschoose.org/open-data/overview/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Week 3 (2015.07.27 - 2015.07.31) == &lt;br /&gt;
&lt;br /&gt;
Parsed syslog with the help of  “Grok” and “syslog-pri” filters.&lt;br /&gt;
Built sample dashboards for Appsensor logs.&lt;br /&gt;
Working on kv{} filter&lt;br /&gt;
&lt;br /&gt;
Building Custom Dashboards using Kibana:&lt;br /&gt;
Follow this guide: http://blog.trifork.com/2014/05/20/advanced-kibana-dashboard/&lt;br /&gt;
&lt;br /&gt;
Successfully running “simple-websocket-dashboard” but working on executing “DemoDataPopulator.java”.&lt;br /&gt;
&lt;br /&gt;
Reference Links:&lt;br /&gt;
About Grok Filter: https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html&lt;br /&gt;
About Syslog_pri Filter: https://www.elastic.co/guide/en/logstash/current/plugins-filters-syslog_pri.html&lt;br /&gt;
About KV{} Filter: https://www.elastic.co/guide/en/logstash/current/plugins-filters-kv.html&lt;br /&gt;
&lt;br /&gt;
== Week 4 == &lt;br /&gt;
&lt;br /&gt;
== Week 5 == &lt;br /&gt;
&lt;br /&gt;
== Week 6 == &lt;br /&gt;
&lt;br /&gt;
== Week 7 == &lt;br /&gt;
&lt;br /&gt;
= Seraphimdroid - Kartik Kohli =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Week one==&lt;br /&gt;
&lt;br /&gt;
The student fixed bug regarding locking of application on Android 5+.&lt;br /&gt;
&lt;br /&gt;
==Week two==&lt;br /&gt;
&lt;br /&gt;
No activity. Student also said that he was home, so thats the reason of his slow progress, but that he will catch up from monday.&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=198037</id>
		<title>Summer Code Sprint2015 Progress Reports</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=198037"/>
				<updated>2015-07-28T17:56:31Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
== OWASP Summer Code Sprint 2015 Progress Reports ==&lt;br /&gt;
&lt;br /&gt;
This page will track the progress reports of the different selected projects for the OWASP Summer Code Sprint 2015 projects.&lt;br /&gt;
&lt;br /&gt;
= OWTF - Viyat Bhalodia =&lt;br /&gt;
&lt;br /&gt;
= OWTF - Arun Sori =&lt;br /&gt;
&lt;br /&gt;
= OWTF - Alexandra Sandulescu =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Anirudh Anand =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Minhaz AV =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Tapasweni Pathak =&lt;br /&gt;
&lt;br /&gt;
= AppSensor - Sumanth Damarla =&lt;br /&gt;
&lt;br /&gt;
== Week 1 (2015.07.13 - 2015.07.17) == &lt;br /&gt;
&lt;br /&gt;
Operating System: &lt;br /&gt;
Ubuntu 15.04 Desktop&lt;br /&gt;
Processor: Intel Core i3 -3227U CPU @ 1.90GHz x 4&lt;br /&gt;
OS Type : 64-bit&lt;br /&gt;
Disk: 17.5GB&lt;br /&gt;
(Server or Desktop?) + (What hardware?)&lt;br /&gt;
&lt;br /&gt;
Technologies researched on :&lt;br /&gt;
Overview of Time Series Databases.&lt;br /&gt;
Influxdb documentation. &lt;br /&gt;
Learnt InfluxQL (Query language for Influxdb).&lt;br /&gt;
Overview Elasticsearch and related tutorials.&lt;br /&gt;
Overview Logstash and related tutorials.&lt;br /&gt;
Overview Kibana and related tutorials.&lt;br /&gt;
&lt;br /&gt;
Environement Setup:&lt;br /&gt;
Installed ElasticSearch 1.4.4, Logstash and Kibana 4.0 and Nginx environment.(To set up a reverse proxy to allow external access) individually. What versions of each component?&lt;br /&gt;
		Working on linking all the three[how the logstash output be given to elasticsearch (the parameters to be mentioned) and how to generate metrics using Kibana from Elasticsearch inputs] but I need to configure it with private IP.(Linking all three what? )&lt;br /&gt;
Installed Appsensor environment.&lt;br /&gt;
&lt;br /&gt;
Links I referenced (Teaching Resources):&lt;br /&gt;
&lt;br /&gt;
InfluxDB Documentation: https://influxdb.com/docs/v0.9/introduction/overview.html&lt;br /&gt;
&lt;br /&gt;
Logstash Documentation: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html&lt;br /&gt;
&lt;br /&gt;
Elastic Search Documentation: https://www.elastic.co/guide/en/elasticsearch/guide/current/getting-started.html&lt;br /&gt;
&lt;br /&gt;
Kibana: https://www.elastic.co/webinars/whats-new-in-kibana-4&lt;br /&gt;
&lt;br /&gt;
Visualizing Logs Using ElasticSearch, Logstash and Kibana : https://www.youtube.com/watch?v=Kqs7UcCJquM&lt;br /&gt;
Logs &amp;amp; Metrics: Use the Force, Gain the Insight (Need to have pro access which I have xD )&lt;br /&gt;
https://teamtreehouse.com/library/logs-metrics-use-the-force-gain-the-insight&lt;br /&gt;
&lt;br /&gt;
Step by step installation on ELK Stack on Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-4-on-ubuntu-14-04&lt;br /&gt;
&lt;br /&gt;
== Week 2 (2015.07.20 - 2015.07.24) == &lt;br /&gt;
&lt;br /&gt;
Configured Simple Websocket Dashboard from Appsensor and deployed in Tomcat 7:&lt;br /&gt;
&lt;br /&gt;
Steps to Install Tomcat7 in Ubuntu 15.04:&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-7-on-ubuntu-14-04-via-apt-get&lt;br /&gt;
&lt;br /&gt;
Building AppSensor Environment:&lt;br /&gt;
AppSensor is a multi-module maven project. The project requires Java version 7 or higher. Building is generally handled by the following steps&lt;br /&gt;
&lt;br /&gt;
clone the repo (or your fork)&lt;br /&gt;
git clone https://github.com/jtmelton/appsensor.git&lt;br /&gt;
&lt;br /&gt;
get into appsensor directory&lt;br /&gt;
cd appsensor&lt;br /&gt;
&lt;br /&gt;
install multi-module parent - one time requirement per version&lt;br /&gt;
mvn -N install &lt;br /&gt;
or&lt;br /&gt;
sudo apt-get update &lt;br /&gt;
sudo apt-get install maven&lt;br /&gt;
&lt;br /&gt;
run the tests - done every time you make changes&lt;br /&gt;
mvn test&lt;br /&gt;
&lt;br /&gt;
Deploying Sample App in Standalone Container:&lt;br /&gt;
If you'd like to deploy one of these applications to a standalone application server or servlet container, follow these simple steps:&lt;br /&gt;
Download the source code (either zip download or git clone)&lt;br /&gt;
Go into the folder containing the application you want to deploy (e.g. 'simple-dashboard')&lt;br /&gt;
Execute 'mvn package'&lt;br /&gt;
Look in the 'target' folder that gets generated and find the '.war' file&lt;br /&gt;
Deploy this WAR file into your application server / servlet container and start it up&lt;br /&gt;
You should now be able to interact with the application locally&lt;br /&gt;
&lt;br /&gt;
Deploying Sample App in IDE-managed Container:&lt;br /&gt;
If you'd like to deploy one of these applications to a standalone application server or servlet container, follow these simple steps:&lt;br /&gt;
Download the source code (either zip download or git clone)&lt;br /&gt;
Import the application into your IDE (using 'import maven project' mechanism)&lt;br /&gt;
Setup an IDE managed container if you don't have one already&lt;br /&gt;
Add the application to your container&lt;br /&gt;
Startup the container&lt;br /&gt;
You should now be able to interact with the application locally&lt;br /&gt;
&lt;br /&gt;
Providing syslog as input for Logstash:&lt;br /&gt;
Syslog and its configuration options: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-syslog.html&lt;br /&gt;
&lt;br /&gt;
ELK STACK has been configured&lt;br /&gt;
&lt;br /&gt;
Ports used for ELK Stack:&lt;br /&gt;
Port 9200: Elasticsearch&lt;br /&gt;
Port 5610: Kibana&lt;br /&gt;
&lt;br /&gt;
Plugins Installed:&lt;br /&gt;
Marvel: Used as GUI for Elasticsearch.&lt;br /&gt;
Kopf: Used as GUI for Logstash.&lt;br /&gt;
&lt;br /&gt;
Sample Logs used in ELK Stack:&lt;br /&gt;
Manual logs are inserted from terminal.&lt;br /&gt;
&lt;br /&gt;
Ingesting CSV data with Logstash and analysing in Kibana.&lt;br /&gt;
&lt;br /&gt;
Current Tasks:&lt;br /&gt;
Researching on syslog format.&lt;br /&gt;
Working on importing syslog format logs into Logstash.&lt;br /&gt;
Learning the filters supported for syslog in ELK stack technology.&lt;br /&gt;
&lt;br /&gt;
Tasks ahead:&lt;br /&gt;
Extracting logs (syslog format) from the applications configured with AppSensor.&lt;br /&gt;
 &lt;br /&gt;
Reference Links:&lt;br /&gt;
Centralized logging with an &lt;br /&gt;
ELK stack (Elasticsearch-Logstash-Kibana) on Ubuntu: https://deviantony.wordpress.com/2014/05/19/centralized-logging-with-an-elk-stack-elasticsearch-logback-kibana/&lt;br /&gt;
About Marvel Plugin: https://www.elastic.co/guide/en/marvel/current/index.html&lt;br /&gt;
About Kopf Plugin: https://github.com/lmenezes/elasticsearch-kopf&lt;br /&gt;
Ingesting CSV Data with Logstash: http://www.rittmanmead.com/2015/04/using-the-elk-stack-to-analyse-donors-choose-data/&lt;br /&gt;
Download free CSV datasheets: http://data.donorschoose.org/open-data/overview/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Week 3 == &lt;br /&gt;
&lt;br /&gt;
== Week 4 == &lt;br /&gt;
&lt;br /&gt;
== Week 5 == &lt;br /&gt;
&lt;br /&gt;
== Week 6 == &lt;br /&gt;
&lt;br /&gt;
== Week 7 == &lt;br /&gt;
&lt;br /&gt;
= Seraphimdroid - Kartik Kohli =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Week one==&lt;br /&gt;
&lt;br /&gt;
The student fixed bug regarding locking of application on Android 5+.&lt;br /&gt;
&lt;br /&gt;
==Week two==&lt;br /&gt;
&lt;br /&gt;
No activity. Student also said that he was home, so thats the reason of his slow progress, but that he will catch up from monday.&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=198036</id>
		<title>Summer Code Sprint2015 Progress Reports</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=198036"/>
				<updated>2015-07-28T17:55:45Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: adding appsensor week 2 report&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
== OWASP Summer Code Sprint 2015 Progress Reports ==&lt;br /&gt;
&lt;br /&gt;
This page will track the progress reports of the different selected projects for the OWASP Summer Code Sprint 2015 projects.&lt;br /&gt;
&lt;br /&gt;
= OWTF - Viyat Bhalodia =&lt;br /&gt;
&lt;br /&gt;
= OWTF - Arun Sori =&lt;br /&gt;
&lt;br /&gt;
= OWTF - Alexandra Sandulescu =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Anirudh Anand =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Minhaz AV =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Tapasweni Pathak =&lt;br /&gt;
&lt;br /&gt;
= AppSensor - Sumanth Damarla =&lt;br /&gt;
&lt;br /&gt;
== Week 1 (2015.07.13 - 2015.07.17) == &lt;br /&gt;
&lt;br /&gt;
Operating System: &lt;br /&gt;
Ubuntu 15.04 Desktop&lt;br /&gt;
Processor: Intel Core i3 -3227U CPU @ 1.90GHz x 4&lt;br /&gt;
OS Type : 64-bit&lt;br /&gt;
Disk: 17.5GB&lt;br /&gt;
(Server or Desktop?) + (What hardware?)&lt;br /&gt;
&lt;br /&gt;
Technologies researched on :&lt;br /&gt;
Overview of Time Series Databases.&lt;br /&gt;
Influxdb documentation. &lt;br /&gt;
Learnt InfluxQL (Query language for Influxdb).&lt;br /&gt;
Overview Elasticsearch and related tutorials.&lt;br /&gt;
Overview Logstash and related tutorials.&lt;br /&gt;
Overview Kibana and related tutorials.&lt;br /&gt;
&lt;br /&gt;
Environement Setup:&lt;br /&gt;
Installed ElasticSearch 1.4.4, Logstash and Kibana 4.0 and Nginx environment.(To set up a reverse proxy to allow external access) individually. What versions of each component?&lt;br /&gt;
		Working on linking all the three[how the logstash output be given to elasticsearch (the parameters to be mentioned) and how to generate metrics using Kibana from Elasticsearch inputs] but I need to configure it with private IP.(Linking all three what? )&lt;br /&gt;
Installed Appsensor environment.&lt;br /&gt;
&lt;br /&gt;
Links I referenced (Teaching Resources):&lt;br /&gt;
&lt;br /&gt;
InfluxDB Documentation: https://influxdb.com/docs/v0.9/introduction/overview.html&lt;br /&gt;
&lt;br /&gt;
Logstash Documentation: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html&lt;br /&gt;
&lt;br /&gt;
Elastic Search Documentation: https://www.elastic.co/guide/en/elasticsearch/guide/current/getting-started.html&lt;br /&gt;
&lt;br /&gt;
Kibana: https://www.elastic.co/webinars/whats-new-in-kibana-4&lt;br /&gt;
&lt;br /&gt;
Visualizing Logs Using ElasticSearch, Logstash and Kibana : https://www.youtube.com/watch?v=Kqs7UcCJquM&lt;br /&gt;
Logs &amp;amp; Metrics: Use the Force, Gain the Insight (Need to have pro access which I have xD )&lt;br /&gt;
https://teamtreehouse.com/library/logs-metrics-use-the-force-gain-the-insight&lt;br /&gt;
&lt;br /&gt;
Step by step installation on ELK Stack on Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-4-on-ubuntu-14-04&lt;br /&gt;
&lt;br /&gt;
== Week 2 == &lt;br /&gt;
&lt;br /&gt;
Configured Simple Websocket Dashboard from Appsensor and deployed in Tomcat 7:&lt;br /&gt;
&lt;br /&gt;
Steps to Install Tomcat7 in Ubuntu 15.04:&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-7-on-ubuntu-14-04-via-apt-get&lt;br /&gt;
&lt;br /&gt;
Building AppSensor Environment:&lt;br /&gt;
AppSensor is a multi-module maven project. The project requires Java version 7 or higher. Building is generally handled by the following steps&lt;br /&gt;
&lt;br /&gt;
clone the repo (or your fork)&lt;br /&gt;
git clone https://github.com/jtmelton/appsensor.git&lt;br /&gt;
&lt;br /&gt;
get into appsensor directory&lt;br /&gt;
cd appsensor&lt;br /&gt;
&lt;br /&gt;
install multi-module parent - one time requirement per version&lt;br /&gt;
mvn -N install &lt;br /&gt;
or&lt;br /&gt;
sudo apt-get update &lt;br /&gt;
sudo apt-get install maven&lt;br /&gt;
&lt;br /&gt;
run the tests - done every time you make changes&lt;br /&gt;
mvn test&lt;br /&gt;
&lt;br /&gt;
Deploying Sample App in Standalone Container:&lt;br /&gt;
If you'd like to deploy one of these applications to a standalone application server or servlet container, follow these simple steps:&lt;br /&gt;
Download the source code (either zip download or git clone)&lt;br /&gt;
Go into the folder containing the application you want to deploy (e.g. 'simple-dashboard')&lt;br /&gt;
Execute 'mvn package'&lt;br /&gt;
Look in the 'target' folder that gets generated and find the '.war' file&lt;br /&gt;
Deploy this WAR file into your application server / servlet container and start it up&lt;br /&gt;
You should now be able to interact with the application locally&lt;br /&gt;
&lt;br /&gt;
Deploying Sample App in IDE-managed Container:&lt;br /&gt;
If you'd like to deploy one of these applications to a standalone application server or servlet container, follow these simple steps:&lt;br /&gt;
Download the source code (either zip download or git clone)&lt;br /&gt;
Import the application into your IDE (using 'import maven project' mechanism)&lt;br /&gt;
Setup an IDE managed container if you don't have one already&lt;br /&gt;
Add the application to your container&lt;br /&gt;
Startup the container&lt;br /&gt;
You should now be able to interact with the application locally&lt;br /&gt;
&lt;br /&gt;
Providing syslog as input for Logstash:&lt;br /&gt;
Syslog and its configuration options: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-syslog.html&lt;br /&gt;
&lt;br /&gt;
ELK STACK has been configured&lt;br /&gt;
&lt;br /&gt;
Ports used for ELK Stack:&lt;br /&gt;
Port 9200: Elasticsearch&lt;br /&gt;
Port 5610: Kibana&lt;br /&gt;
&lt;br /&gt;
Plugins Installed:&lt;br /&gt;
Marvel: Used as GUI for Elasticsearch.&lt;br /&gt;
Kopf: Used as GUI for Logstash.&lt;br /&gt;
&lt;br /&gt;
Sample Logs used in ELK Stack:&lt;br /&gt;
Manual logs are inserted from terminal.&lt;br /&gt;
&lt;br /&gt;
Ingesting CSV data with Logstash and analysing in Kibana.&lt;br /&gt;
&lt;br /&gt;
Current Tasks:&lt;br /&gt;
Researching on syslog format.&lt;br /&gt;
Working on importing syslog format logs into Logstash.&lt;br /&gt;
Learning the filters supported for syslog in ELK stack technology.&lt;br /&gt;
&lt;br /&gt;
Tasks ahead:&lt;br /&gt;
Extracting logs (syslog format) from the applications configured with AppSensor.&lt;br /&gt;
 &lt;br /&gt;
Reference Links:&lt;br /&gt;
Centralized logging with an &lt;br /&gt;
ELK stack (Elasticsearch-Logstash-Kibana) on Ubuntu: https://deviantony.wordpress.com/2014/05/19/centralized-logging-with-an-elk-stack-elasticsearch-logback-kibana/&lt;br /&gt;
About Marvel Plugin: https://www.elastic.co/guide/en/marvel/current/index.html&lt;br /&gt;
About Kopf Plugin: https://github.com/lmenezes/elasticsearch-kopf&lt;br /&gt;
Ingesting CSV Data with Logstash: http://www.rittmanmead.com/2015/04/using-the-elk-stack-to-analyse-donors-choose-data/&lt;br /&gt;
Download free CSV datasheets: http://data.donorschoose.org/open-data/overview/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Week 3 == &lt;br /&gt;
&lt;br /&gt;
== Week 4 == &lt;br /&gt;
&lt;br /&gt;
== Week 5 == &lt;br /&gt;
&lt;br /&gt;
== Week 6 == &lt;br /&gt;
&lt;br /&gt;
== Week 7 == &lt;br /&gt;
&lt;br /&gt;
= Seraphimdroid - Kartik Kohli =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Week one==&lt;br /&gt;
&lt;br /&gt;
The student fixed bug regarding locking of application on Android 5+.&lt;br /&gt;
&lt;br /&gt;
==Week two==&lt;br /&gt;
&lt;br /&gt;
No activity. Student also said that he was home, so thats the reason of his slow progress, but that he will catch up from monday.&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=197603</id>
		<title>Summer Code Sprint2015 Progress Reports</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=197603"/>
				<updated>2015-07-20T17:19:07Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
== OWASP Summer Code Sprint 2015 Progress Reports ==&lt;br /&gt;
&lt;br /&gt;
This page will track the progress reports of the different selected projects for the OWASP Summer Code Sprint 2015 projects.&lt;br /&gt;
&lt;br /&gt;
= OWTF - Viyat Bhalodia =&lt;br /&gt;
&lt;br /&gt;
= OWTF - Arun Sori =&lt;br /&gt;
&lt;br /&gt;
= OWTF - Alexandra Sandulescu =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Anirudh Anand =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Minhaz AV =&lt;br /&gt;
&lt;br /&gt;
= Hackademic - Tapasweni Pathak =&lt;br /&gt;
&lt;br /&gt;
= AppSensor - Sumanth Damarla =&lt;br /&gt;
&lt;br /&gt;
== Week 1 (2015.07.13 - 2015.07.17) == &lt;br /&gt;
&lt;br /&gt;
Operating System: &lt;br /&gt;
Ubuntu 15.04 Desktop&lt;br /&gt;
Processor: Intel Core i3 -3227U CPU @ 1.90GHz x 4&lt;br /&gt;
OS Type : 64-bit&lt;br /&gt;
Disk: 17.5GB&lt;br /&gt;
(Server or Desktop?) + (What hardware?)&lt;br /&gt;
&lt;br /&gt;
Technologies researched on :&lt;br /&gt;
Overview of Time Series Databases.&lt;br /&gt;
Influxdb documentation. &lt;br /&gt;
Learnt InfluxQL (Query language for Influxdb).&lt;br /&gt;
Overview Elasticsearch and related tutorials.&lt;br /&gt;
Overview Logstash and related tutorials.&lt;br /&gt;
Overview Kibana and related tutorials.&lt;br /&gt;
&lt;br /&gt;
Environement Setup:&lt;br /&gt;
Installed ElasticSearch 1.4.4, Logstash and Kibana 4.0 and Nginx environment.(To set up a reverse proxy to allow external access) individually. What versions of each component?&lt;br /&gt;
		Working on linking all the three[how the logstash output be given to elasticsearch (the parameters to be mentioned) and how to generate metrics using Kibana from Elasticsearch inputs] but I need to configure it with private IP.(Linking all three what? )&lt;br /&gt;
Installed Appsensor environment.&lt;br /&gt;
&lt;br /&gt;
Links I referenced (Teaching Resources):&lt;br /&gt;
&lt;br /&gt;
InfluxDB Documentation: https://influxdb.com/docs/v0.9/introduction/overview.html&lt;br /&gt;
&lt;br /&gt;
Logstash Documentation: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html&lt;br /&gt;
&lt;br /&gt;
Elastic Search Documentation: https://www.elastic.co/guide/en/elasticsearch/guide/current/getting-started.html&lt;br /&gt;
&lt;br /&gt;
Kibana: https://www.elastic.co/webinars/whats-new-in-kibana-4&lt;br /&gt;
&lt;br /&gt;
Visualizing Logs Using ElasticSearch, Logstash and Kibana : https://www.youtube.com/watch?v=Kqs7UcCJquM&lt;br /&gt;
Logs &amp;amp; Metrics: Use the Force, Gain the Insight (Need to have pro access which I have xD )&lt;br /&gt;
https://teamtreehouse.com/library/logs-metrics-use-the-force-gain-the-insight&lt;br /&gt;
&lt;br /&gt;
Step by step installation on ELK Stack on Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-4-on-ubuntu-14-04&lt;br /&gt;
&lt;br /&gt;
== Week 2 == &lt;br /&gt;
&lt;br /&gt;
== Week 3 == &lt;br /&gt;
&lt;br /&gt;
== Week 4 == &lt;br /&gt;
&lt;br /&gt;
== Week 5 == &lt;br /&gt;
&lt;br /&gt;
== Week 6 == &lt;br /&gt;
&lt;br /&gt;
== Week 7 == &lt;br /&gt;
&lt;br /&gt;
= Seraphimdroid - Kartik Kohli =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=197602</id>
		<title>Summer Code Sprint2015 Progress Reports</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=197602"/>
				<updated>2015-07-20T17:18:32Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: fixing typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
== OWASP Summer Code Sprint 2015 Progress Reports ==&lt;br /&gt;
&lt;br /&gt;
This page will track the progress reports of the different selected projects for the OWASP Summer Code Sprint 2015 projects.&lt;br /&gt;
&lt;br /&gt;
= OWTF Viyat Bhalodia =&lt;br /&gt;
&lt;br /&gt;
= OWTF Arun Sori =&lt;br /&gt;
&lt;br /&gt;
= OWTF Alexandra Sandulescu =&lt;br /&gt;
&lt;br /&gt;
= Hackademic Anirudh Anand =&lt;br /&gt;
&lt;br /&gt;
= Hackademic Minhaz AV =&lt;br /&gt;
&lt;br /&gt;
= Hackademic Tapasweni Pathak =&lt;br /&gt;
&lt;br /&gt;
= AppSensor Sumanth Damarla =&lt;br /&gt;
&lt;br /&gt;
== Week 1 (2015.07.13 - 2015.07.17) == &lt;br /&gt;
&lt;br /&gt;
Operating System: &lt;br /&gt;
Ubuntu 15.04 Desktop&lt;br /&gt;
Processor: Intel Core i3 -3227U CPU @ 1.90GHz x 4&lt;br /&gt;
OS Type : 64-bit&lt;br /&gt;
Disk: 17.5GB&lt;br /&gt;
(Server or Desktop?) + (What hardware?)&lt;br /&gt;
&lt;br /&gt;
Technologies researched on :&lt;br /&gt;
Overview of Time Series Databases.&lt;br /&gt;
Influxdb documentation. &lt;br /&gt;
Learnt InfluxQL (Query language for Influxdb).&lt;br /&gt;
Overview Elasticsearch and related tutorials.&lt;br /&gt;
Overview Logstash and related tutorials.&lt;br /&gt;
Overview Kibana and related tutorials.&lt;br /&gt;
&lt;br /&gt;
Environement Setup:&lt;br /&gt;
Installed ElasticSearch 1.4.4, Logstash and Kibana 4.0 and Nginx environment.(To set up a reverse proxy to allow external access) individually. What versions of each component?&lt;br /&gt;
		Working on linking all the three[how the logstash output be given to elasticsearch (the parameters to be mentioned) and how to generate metrics using Kibana from Elasticsearch inputs] but I need to configure it with private IP.(Linking all three what? )&lt;br /&gt;
Installed Appsensor environment.&lt;br /&gt;
&lt;br /&gt;
Links I referenced (Teaching Resources):&lt;br /&gt;
&lt;br /&gt;
InfluxDB Documentation: https://influxdb.com/docs/v0.9/introduction/overview.html&lt;br /&gt;
&lt;br /&gt;
Logstash Documentation: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html&lt;br /&gt;
&lt;br /&gt;
Elastic Search Documentation: https://www.elastic.co/guide/en/elasticsearch/guide/current/getting-started.html&lt;br /&gt;
&lt;br /&gt;
Kibana: https://www.elastic.co/webinars/whats-new-in-kibana-4&lt;br /&gt;
&lt;br /&gt;
Visualizing Logs Using ElasticSearch, Logstash and Kibana : https://www.youtube.com/watch?v=Kqs7UcCJquM&lt;br /&gt;
Logs &amp;amp; Metrics: Use the Force, Gain the Insight (Need to have pro access which I have xD )&lt;br /&gt;
https://teamtreehouse.com/library/logs-metrics-use-the-force-gain-the-insight&lt;br /&gt;
&lt;br /&gt;
Step by step installation on ELK Stack on Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-4-on-ubuntu-14-04&lt;br /&gt;
&lt;br /&gt;
== Week 2 == &lt;br /&gt;
&lt;br /&gt;
== Week 3 == &lt;br /&gt;
&lt;br /&gt;
== Week 4 == &lt;br /&gt;
&lt;br /&gt;
== Week 5 == &lt;br /&gt;
&lt;br /&gt;
== Week 6 == &lt;br /&gt;
&lt;br /&gt;
== Week 7 == &lt;br /&gt;
&lt;br /&gt;
= Seraphimdroid Kartik Kohli =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015&amp;diff=197601</id>
		<title>Summer Code Sprint2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015&amp;diff=197601"/>
				<updated>2015-07-20T17:08:43Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: add link to progress report tracking.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Summer_of_Code_Sprint_2015.png|link=https://soundcloud.com/owasp-podcast/owasp-summerofcodesprint2015-final|Listen to the OWASP 24/7 Broadcast]]&lt;br /&gt;
&lt;br /&gt;
== OWASP Summer Code Sprint 2015 ==&lt;br /&gt;
&lt;br /&gt;
== Progress ==&lt;br /&gt;
&lt;br /&gt;
Update: Track progress on the [[Summer_Code_Sprint2015_Progress_Reports]]&lt;br /&gt;
&lt;br /&gt;
== Goal == &lt;br /&gt;
&lt;br /&gt;
The OWASP Summer Code Sprint 2015 is a program that aims to provide incentives to students to contribute to OWASP projects. By participating in the OWASP Summer Code Sprint a student can get real life experience while contributing to an open source project. A student that successfully completes the program will receive in total $1500.&lt;br /&gt;
&lt;br /&gt;
== Program details ==&lt;br /&gt;
&lt;br /&gt;
''Projects that are eligible:'' All code/tools projects. Documentation projects are excluded.&lt;br /&gt;
&lt;br /&gt;
''Duration:'' 2 months of full-time engagement.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
Any code/tool project can participate in the OWASP Summer Code Sprint. Each project will be guided by an OWASP mentor. Students are evaluated in the middle and at the end of the coding period, based on success criteria identified at the beginning of the project. Successful students will receive $750 after each evaluation, a total of $1500 per student.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. &lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language. &lt;br /&gt;
&lt;br /&gt;
== How you can participate ==&lt;br /&gt;
&lt;br /&gt;
=== As a student: ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in the OWASP Summer Code Sprint 2015.&lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Summer 2015.&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
ALL STUDENTS PLEASE APPLY HERE &amp;gt;&amp;gt; [http://goo.gl/forms/jUFTcXVDEY FORM]&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader: ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
== Timeplan ==&lt;br /&gt;
&lt;br /&gt;
'''Phase 1: Proposals'''&lt;br /&gt;
&lt;br /&gt;
Project leaders who want to include their project to the program should submit some initial proposal ideas on this page. These ideas serve as guidance to the students; they are things that project leaders would like to get done, like new features, improvements, etc.&lt;br /&gt;
&lt;br /&gt;
Subsequently students are invited to submit detailed proposals that can (but do not necessarily have to) be based on these ideas. Students are strongly encouraged to engage with project leaders and each project's community (e.g. through the project's mailing list) in order to discuss the details of their proposal. Proposals should provide details about the implementation, time plan, milestones, etc.&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Scoring of proposals'''&lt;br /&gt;
&lt;br /&gt;
After the submission of proposals, project leaders and contributors/mentors are required to review the submitted proposals and score them (on a 1 to 5 scale). Each proposal should receive at least 3 assessments/scores from different mentors. Each mentor, contributor or leader can score only proposals for their OWN project. All assessments should provide justification. Reviewers are strongly encouraged to provide constructive comments for students so that they can improve in the future.&lt;br /&gt;
&lt;br /&gt;
Project leaders are responsible to attract a sufficient number of volunteer mentors to score proposals and subsequently supervise those that will get selected.&lt;br /&gt;
&lt;br /&gt;
'''Phase 3: Slot allocation.'''&lt;br /&gt;
&lt;br /&gt;
When proposal scoring has been completed, each project leader requests a specific number of slots. This number should be based on:&lt;br /&gt;
The number of truly outstanding proposals according to submitted scores.&lt;br /&gt;
The importance of the proposal to the project's roadmap.&lt;br /&gt;
The number of available mentors for the project. At least 2 mentors are needed for each proposal that gets accepted.&lt;br /&gt;
If the total number of requested slots is less than or equal to the available number of slots, then all projects get the requested slots. If not, the following rules apply:&lt;br /&gt;
All projects that have requested a slot get at least 1 slot, provided they have a high quality proposal and sufficient number of mentors.&lt;br /&gt;
Two mentors are required per slot allocated to the project.&lt;br /&gt;
The program's administrators get in touch with project leaders, especially those that have requested a large number of slots to receive additional feedback on the requested slots and explore any available possibilities for reducing the requested number of slots. A project leader might choose to donate one or more requested slots back to the pool so that other projects can get more slots. The program administrators can choose to initiate a public discussion between projects in need of more slots and projects that have requested a lot of slots in order to determine the best possible outcome for everyone.&lt;br /&gt;
If all else fails, slots are equally allocated to projects, i.e. all projects get 1 slot; projects that have requested 2 or more slots get an extra slot if available; projects that have requested 3 or more slots get an extra slot if available, etc. When there are no more slots available for all projects that have requested them a draw is used to allocate the remaining slots.&lt;br /&gt;
&lt;br /&gt;
In any case, the program's administrators should perform a final review of the selected proposals to ensure that they are of high quality. If concerns arise they should request additional information from project leaders.&lt;br /&gt;
&lt;br /&gt;
'''Phase 4: Coding.'''&lt;br /&gt;
&lt;br /&gt;
This is the main phase of the program. Students implement their proposal according to the submitted timeplan and under the supervision &lt;br /&gt;
of their mentors.&lt;br /&gt;
&lt;br /&gt;
== Evaluations ==&lt;br /&gt;
&lt;br /&gt;
In the middle of the coding period, mentors should submit an evaluation of their students to ensure that they are on track and provide some feedback both to OWASP and the students.&lt;br /&gt;
&lt;br /&gt;
If no/little progress has been made up to this point, the mentors could decide to fail the student in which case the student does not receive money. If successful, OWASP will pay half the amount ($750). The final evaluations are submitted at the end of the coding period and the second installment ($750) is paid to the student if all agreed deliverables are met. If the student has failed to demonstrate progress during the second period, then the second installment will not be paid and the student will get only half of the amount.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deadlines == &lt;br /&gt;
Program announcement: June 19th, 2015&lt;br /&gt;
&lt;br /&gt;
Deadline for Student Applications: July 3rd, 2015&lt;br /&gt;
&lt;br /&gt;
Proposal Evaluations: from July 6th until July 10th.&lt;br /&gt;
&lt;br /&gt;
Successful proposals announcement: July 10th, 2015&lt;br /&gt;
&lt;br /&gt;
Coding Period Starts: July 13th, 2015&lt;br /&gt;
&lt;br /&gt;
Mid-term evaluations: Submitted from August 3rd  until August 7th.&lt;br /&gt;
&lt;br /&gt;
Coding period ends: August 28th, 2015.&lt;br /&gt;
&lt;br /&gt;
Final evaluations: Until September 4th, 2015.&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/d/forum/owasp-summer-code-sprint OWASP Summer Code Sprint Mailing List]&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic  ===&lt;br /&gt;
&lt;br /&gt;
=== Hackademic Docker Sandboxed for challenges ===&lt;br /&gt;
&lt;br /&gt;
''' Brief explanation: '''&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to enable users to freely upload vulnerable applications to the platform. &lt;br /&gt;
After some research we concluded that writing a python application that uses docker to deploy challenges would be the best way to go about it.&lt;br /&gt;
Also, we need to provide a frontend to manage the deployed containers and integrate our existing analytics gathering system into the dockerized challenges.&lt;br /&gt;
The installer of the application should take care of initializing both the cms and the containers without introducing too much complexity.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
There is an easy to use python library for docker and there should be a frontend managing the containers we can use off the self with minimal modifications.&lt;br /&gt;
The feature has already had a poc using linux containers, you can find it in the open merge requests of the project's github page.&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
* Integrate dockerized challenges in the platform.&lt;br /&gt;
* PEP-8 compliant code in all provided python code&lt;br /&gt;
* PSR compliant code in all php provided code&lt;br /&gt;
* Sphinx/phpdoc friendly comments&lt;br /&gt;
* Excellent reliability&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation &lt;br /&gt;
&lt;br /&gt;
''' Prerequisites '''&lt;br /&gt;
&lt;br /&gt;
Some knowledge of test driven development, php, python, docker&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
Spyros Gasteratos (spyros.gasteratos@owasp.org)&lt;br /&gt;
&lt;br /&gt;
=== Hackademic: Javascript Based Development Challenges ===&lt;br /&gt;
&lt;br /&gt;
Brief explanation:&lt;br /&gt;
Background Problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are looking for challenges which are aimed towards secure coding.&lt;br /&gt;
The user should be served with a piece of vulnerable javascript which fails the unit tests provided.&lt;br /&gt;
The user has to fix the vulnerability in a way that makes the unit tests pass.&lt;br /&gt;
&lt;br /&gt;
Example Solution of one of the challenges:&lt;br /&gt;
Provide the user with the following code:&lt;br /&gt;
''&lt;br /&gt;
function sayHi(string userInput){&lt;br /&gt;
var hiField = document.getElementById(&amp;quot;hiField&amp;quot;);&lt;br /&gt;
hiField.innerHtml = userInput;&lt;br /&gt;
}&lt;br /&gt;
''&lt;br /&gt;
Use any javascript unit - testing framework to design a set of unit tests which call the function with all sorts of payloads and test if the user seems to have escaped userInput correctly,&lt;br /&gt;
we're not looking for completeness a solid proof of concept implementation for future reference is acceptable.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
A complete implementation of challenges covering the top 10 according to our coding standards.&lt;br /&gt;
&lt;br /&gt;
=== Hackademic - Migrate old code to the new coding standards ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
In the last project summit we decided to introduce code style and standards compliance checking for new commits and slowly migrate the old ones to the new setting.&lt;br /&gt;
We also decided to prefer contributions with unit tests.&lt;br /&gt;
&lt;br /&gt;
So far we have a testing framework which allows us to setup and test things easily and thus makes writing new tests less painful, but the tests cover only a few files and we don't provide line coverage yet.&lt;br /&gt;
We want coverage reports and as much line coverage as possible.&lt;br /&gt;
&lt;br /&gt;
We're looking for someone to assist in this migration.&lt;br /&gt;
&lt;br /&gt;
''''What you will have to do:'''&lt;br /&gt;
* Introduce PSR-4 autoloading&lt;br /&gt;
* Migrate all the existing code into PSR-1, PSR-2 naming and code style&lt;br /&gt;
* Use tools like php_codeSniffer to automate the checks for standards compliance&lt;br /&gt;
* If necessary, automate the use of these tools with pre-commit hooks and create a &amp;quot;Check everything&amp;quot; script&lt;br /&gt;
* Add code coverage reports into the testing pipeline.&lt;br /&gt;
* Add the remaining tests.&lt;br /&gt;
* Write a travis.yml file to integrate the platform to travis ci.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites: '''&lt;br /&gt;
* Php and bash experience&lt;br /&gt;
* Writing unit and functional tests&lt;br /&gt;
* Familiarity with Git is a plus&lt;br /&gt;
* Familiar or willing and able to quickly learn concepts like autoloading, the psr standard, the sniff file syntax and travis&lt;br /&gt;
&lt;br /&gt;
''' Mentor''': Spyros Gasteratos (spyros.gasteratos@owasp.org)&lt;br /&gt;
&lt;br /&gt;
=== Hackademic: New Frontend ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation'''&lt;br /&gt;
&lt;br /&gt;
Our current theme is written using Smarty Templates and basic html/css.&lt;br /&gt;
It covers all of the platform's functionality but it's  from 2012 and it needs both visual and usability improvements.&lt;br /&gt;
&lt;br /&gt;
Your job will be to design and implement a new shiny theme using the latest in frontend technology.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results'''&lt;br /&gt;
&lt;br /&gt;
* Come up with suggestions on which parts of the current frontend need usability improvements.&lt;br /&gt;
* Write the new smarty-based template using the css and javascript frameworks you thing necessary.&lt;br /&gt;
* Code must be consistent with javascript and css coding standards and style.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
&lt;br /&gt;
* Experience in Javascript, CSS + experience or willing and able to learn  Frameworks such as bootstrap, foundation, semantic ui or Angular, jquery etc&lt;br /&gt;
* Experience in web design and implementation&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP  ===&lt;br /&gt;
ZAP is an OWASP Flagship project and is currently the most active open source web security scanner.&lt;br /&gt;
&lt;br /&gt;
There are a number of ZAP related projects students can work on, including:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Bug tracker support ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This would allow ZAP users to raise issues in bug trackers directly within ZAP.&lt;br /&gt;
&lt;br /&gt;
This should be implemented as an extension with a generic framework and then adaptors for specific trackers, like github and bugzilla.&lt;br /&gt;
&lt;br /&gt;
The info included in the issues raised should be as configurable as possible so that users can include whatever they want, and set things like custom fields.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A new ZAP add-on which would provide:&lt;br /&gt;
* A generic framework for raising ZAP issues in bug trackers controllable via the UI, API and configuration&lt;br /&gt;
* A full implementation for github issues&lt;br /&gt;
* Optionally additional support for other trackers such as bugzilla&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Field enumeration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This would allow a user to iterate though a set of (user defined) characters in order to identify the ones that are filtered out and/or escaped.&lt;br /&gt;
&lt;br /&gt;
The user should be able to define the character sets to test and will probably need to configure the success and failure conditions, as well as valid values for other fields in the form.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A new ZAP add-on which would allow the user to:&lt;br /&gt;
* Select a specific field within a form&lt;br /&gt;
* Define success and failure conditions&lt;br /&gt;
* Define default values for other fields&lt;br /&gt;
* Specify character sets and ranges&lt;br /&gt;
* Report all of the valid and/or invalid characters of for that field&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Form handling ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The ZAP traditional and Ajax spiders explore an application by putting basic default values in all forms. These may often not be valid values, for example using &amp;quot;ZAP&amp;quot; when an email address is required.&lt;br /&gt;
&lt;br /&gt;
The enhancement would allow the user to define default values based on pattern matching against the field names and/or ids.&lt;br /&gt;
&lt;br /&gt;
It would also be very useful if it could show the user all forms and their associated fields for an application, and then allow the user to update the default values.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* New screens that allow the user to specify default values based on pattern matching against the field names and/or ids&lt;br /&gt;
* API support for configuring the default values&lt;br /&gt;
* The traditional and Ajax spiders changed to use those default values&lt;br /&gt;
* Optionally new screens which show all of the forms and their associated fields for an application&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Gauntlet integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gauntlt is a framework for controlling security tools for testing web apps.&lt;br /&gt;
&lt;br /&gt;
It is increasingly being used in 'secdevops' and therefore providing a plugin which allows ZAP to be run would be very desirable.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A Gauntlt plugin that provides ZAP integration to support:&lt;br /&gt;
* Spidering an application&lt;br /&gt;
* Actively scanning an application&lt;br /&gt;
* Reporting the vulnerabilities found&lt;br /&gt;
* Optionally configuring context information, eg to support authentication&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Gauntlt is written in Ruby, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Script console code completion ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP provides a very powerful scripting interface. Unfortunately to use it effectively is only really possible with a good knowledge of the ZAP internals. Adding code completion (eg using a project like https://github.com/bobbylight/AutoComplete) would significantly help users.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
AutoComplete supported in the ZAP Script Console for:&lt;br /&gt;
* Javascript&lt;br /&gt;
* Jython&lt;br /&gt;
* JRuby&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Support java as a scripting language ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
It would be very useful to support Java in addition to the JSR223 scripting languages within the ZAP script console'&lt;br /&gt;
&lt;br /&gt;
It should be possible to provide much better auto complete support than will be possible with dynamically typed scripting languages.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* The ability to run Java code in the ZAP Script Console to the same leval as other supported scripting languages&lt;br /&gt;
* Templates for all of the current script types&lt;br /&gt;
* Optionally auto complete supported&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Zest text representation and parser ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Zest is a graphical scripting language from the Mozilla Security team, and is used as the ZAP macro language.&lt;br /&gt;
&lt;br /&gt;
A standardized text representation and parser would be very useful and help its adoption.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* A fully documented and reviewed text representation for Zest&lt;br /&gt;
* The Java Zest runtime changed to generate the text representation for all statements&lt;br /&gt;
* A parser written in java that converts the text representation into Zest JSON&lt;br /&gt;
* Optionally parsers written in other languages&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/OWASP_AppSensor_Project OWASP AppSensor] Enterprise Integrations - Reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a feature request that's been driven by the community. AppSensor provides great utility by allowing applications to defend themselves. AppSensor can/will also provide a UI (another possible GSOC project) to view and manage the information produced by the applications. However, larger organizations often already have a system in place for managing system security alerts. It would provide a lot of value if we can integrate with those systems and data formats. This project will involve a bit of up-front research, then primarily systems integration work. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
We want  to support a number of integrations. Some that have been requested by our community are:  &lt;br /&gt;
* SNMP&lt;br /&gt;
* SCOM&lt;br /&gt;
* syslog&lt;br /&gt;
* AppDynamics&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for these integrations will be created, along with the associated end user documentation for how to setup and configure them. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing. &lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/OWASP_AppSensor_Project OWASP AppSensor] Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
We want  to support a number of integrations. Some that have been proposed are:  &lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for these integrations will be created, along with the associated end user documentation for how to setup and configure them. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/OWASP_AppSensor_Project OWASP AppSensor] Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating the default/standard UI for the AppSensor project. As part of the project, you will learn about the domain model, iterating your mockup designs and share those with the project leader(s) and the community for feedback. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable with UI design and development, particularly building dashboards. Comfortable with Java (with some assistance). Basic familiarity with security concepts related to intrusion detection and prevention as this is the basic domain.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/OWASP_AppSensor_Project OWASP AppSensor] Trend Monitoring Analysis Engine ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a basic policy-driven analysis engine to determine if a series of events represents an attack (if a user triggers 5 of this type of event in 10 minutes, it's an attack). While this supports many use cases, there are times when it would be helpful to know trending information. If a particular function of the application begins to see 10 times its normal amount of traffic, that might represent an attack. This project would add an additional analysis engine to support &amp;quot;trend monitoring&amp;quot;. Development of this feature would require some initial research on alternative implementation strategies, followed by the development and testing of the feature in AppSensor. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* A trend monitoring analysis engine to be used either in place of or in addition to the existing policy-driven analysis engine&lt;br /&gt;
* Associated configuration mechanism to specify the trending rules/policy&lt;br /&gt;
* A small full sample demo application showing usage of the trend monitoring feature&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/OWASP_SeraphimDroid_Project  OWASP Seraphimdroid]  - Open Seraphimdroid for external plugin development ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
SeraphimDroid is an privacy protection and educational application for android devices that helps users learn about risks and threats coming from other android applications. SeraphimDroid scans your devices and teaches you about risks and threats coming from application permissions. In the last version SeraphimDroid evolved to application firewall for android devices not allowing malicious SMS or MMS to be sent, USSD codes to be executed or calls to be called without user permission and knowledge. Now we want to open the application for plugin development and improve some protection mechanisms.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* Application should be modified to a platform that will allow other developers to create android application and services as a plugins to OWASP Seraphimdroid, where the collected data on data leaks, security breaches and other things application are doing could be viewed through OWASP Seraphimdroid application.&lt;br /&gt;
* Create a plugin application that showcases how the plugin will work&lt;br /&gt;
* Create a documentation on how to create new plugin (guide) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java, XML and android development.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' [[User:Nikola Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/OWASP_SeraphimDroid_Project  OWASP Seraphimdroid]  - Settings checker and improving permission ranking algorithm ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
SeraphimDroid is an privacy protection and educational application for android devices that helps users learn about risks and threats coming from other android applications. SeraphimDroid scans your devices and teaches you about risks and threats coming from application permissions. In the last version SeraphimDroid evolved to application firewall for android devices not allowing malicious SMS or MMS to be sent, USSD codes to be executed or calls to be called without user permission and knowledge. Now we want improve some protection mechanisms, like check for settings and improve the ranking of application by how dangerous their permissions are. We also look for new ideas on how to improve privacy and security of mobile device users.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* We are also looking for a new ideas how to evaluate the dangers coming from the permissions applications are requesting. Currently there is a simple algorithm that is labelling red, yellow and green apps, but in many cases red apps just request multiple permissions. We are looking for a solution that will somehow give a weight to permissions and based on it evaluate it more realistically.&lt;br /&gt;
* Create a settings check - check whether settings are set according to best practices (development options turned off, debugging off, etc.)&lt;br /&gt;
* Fix some bugs like fixing application locker on Lollipop, update and improve recieving SMS alarming, etc.&lt;br /&gt;
* Document the improvements&lt;br /&gt;
* Bonus: Create a widget&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java, XML and android development.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' [[User:Nikola Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=197600</id>
		<title>Summer Code Sprint2015 Progress Reports</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015_Progress_Reports&amp;diff=197600"/>
				<updated>2015-07-20T16:41:40Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: creating new summer code sprint 2015 progress reports page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
== OWASP Summer Code Sprint 2015 Progress Reports ==&lt;br /&gt;
&lt;br /&gt;
This page will track the progress reports of the different selected projects for the OWASP Summer Code Sprint 2015 projects.&lt;br /&gt;
&lt;br /&gt;
= OWTF Viyat Bhalodia =&lt;br /&gt;
&lt;br /&gt;
= OWTF Arun Sori =&lt;br /&gt;
&lt;br /&gt;
= OWTF Alexandra Sandulescu =&lt;br /&gt;
&lt;br /&gt;
= Hackademic Anirudh Anand =&lt;br /&gt;
&lt;br /&gt;
= Hackademic Minhaz AV =&lt;br /&gt;
&lt;br /&gt;
= Hackademic Tapasweni Pathak =&lt;br /&gt;
&lt;br /&gt;
= AppSensor Sumanth Damaria =&lt;br /&gt;
&lt;br /&gt;
== Week 1 (2015.07.13 - 2015.07.17) == &lt;br /&gt;
&lt;br /&gt;
Operating System: &lt;br /&gt;
Ubuntu 15.04 Desktop&lt;br /&gt;
Processor: Intel Core i3 -3227U CPU @ 1.90GHz x 4&lt;br /&gt;
OS Type : 64-bit&lt;br /&gt;
Disk: 17.5GB&lt;br /&gt;
(Server or Desktop?) + (What hardware?)&lt;br /&gt;
&lt;br /&gt;
Technologies researched on :&lt;br /&gt;
Overview of Time Series Databases.&lt;br /&gt;
Influxdb documentation. &lt;br /&gt;
Learnt InfluxQL (Query language for Influxdb).&lt;br /&gt;
Overview Elasticsearch and related tutorials.&lt;br /&gt;
Overview Logstash and related tutorials.&lt;br /&gt;
Overview Kibana and related tutorials.&lt;br /&gt;
&lt;br /&gt;
Environement Setup:&lt;br /&gt;
Installed ElasticSearch 1.4.4, Logstash and Kibana 4.0 and Nginx environment.(To set up a reverse proxy to allow external access) individually. What versions of each component?&lt;br /&gt;
		Working on linking all the three[how the logstash output be given to elasticsearch (the parameters to be mentioned) and how to generate metrics using Kibana from Elasticsearch inputs] but I need to configure it with private IP.(Linking all three what? )&lt;br /&gt;
Installed Appsensor environment.&lt;br /&gt;
&lt;br /&gt;
Links I referenced (Teaching Resources):&lt;br /&gt;
&lt;br /&gt;
InfluxDB Documentation: https://influxdb.com/docs/v0.9/introduction/overview.html&lt;br /&gt;
&lt;br /&gt;
Logstash Documentation: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html&lt;br /&gt;
&lt;br /&gt;
Elastic Search Documentation: https://www.elastic.co/guide/en/elasticsearch/guide/current/getting-started.html&lt;br /&gt;
&lt;br /&gt;
Kibana: https://www.elastic.co/webinars/whats-new-in-kibana-4&lt;br /&gt;
&lt;br /&gt;
Visualizing Logs Using ElasticSearch, Logstash and Kibana : https://www.youtube.com/watch?v=Kqs7UcCJquM&lt;br /&gt;
Logs &amp;amp; Metrics: Use the Force, Gain the Insight (Need to have pro access which I have xD )&lt;br /&gt;
https://teamtreehouse.com/library/logs-metrics-use-the-force-gain-the-insight&lt;br /&gt;
&lt;br /&gt;
Step by step installation on ELK Stack on Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-4-on-ubuntu-14-04&lt;br /&gt;
&lt;br /&gt;
== Week 2 == &lt;br /&gt;
&lt;br /&gt;
== Week 3 == &lt;br /&gt;
&lt;br /&gt;
== Week 4 == &lt;br /&gt;
&lt;br /&gt;
== Week 5 == &lt;br /&gt;
&lt;br /&gt;
== Week 6 == &lt;br /&gt;
&lt;br /&gt;
== Week 7 == &lt;br /&gt;
&lt;br /&gt;
= Seraphimdroid Kartik Kohli =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015&amp;diff=196321</id>
		<title>Summer Code Sprint2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015&amp;diff=196321"/>
				<updated>2015-06-18T15:35:06Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: adding appsensor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== OWASP Summer Code Sprint 2015 ==&lt;br /&gt;
&lt;br /&gt;
== Goal == &lt;br /&gt;
&lt;br /&gt;
The OWASP Summer Code Sprint 2015 is a program that aims to provide incentives to students to contribute to OWASP projects. By participating in the OWASP Summer Code Sprint a student can get real life experience while contributing to an open source project. A student that successfully completes the program will receive in total $1500.&lt;br /&gt;
&lt;br /&gt;
== Program details ==&lt;br /&gt;
&lt;br /&gt;
''Projects that are eligible:'' All code/tools projects. Documentation projects are excluded.&lt;br /&gt;
&lt;br /&gt;
''Duration:'' 2 months of full-time engagement.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
Any code/tool project can participate in the OWASP Summer Code Sprint. Each project will be guided by an OWASP mentor. Students are evaluated in the middle and at the end of the coding period, based on success criteria identified at the beginning of the project. Successful students will receive $750 after each evaluation, a total of $1500 per student.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. &lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language. &lt;br /&gt;
&lt;br /&gt;
== How you can participate ==&lt;br /&gt;
&lt;br /&gt;
=== As a student: ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in the OWASP Summer Code Sprint 2015.&lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Summer 2015.&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
ALL STUDENTS PLEASE APPLY HERE &amp;gt;&amp;gt; [http://goo.gl/forms/jUFTcXVDEY FORM]&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader: ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
== Timeplan ==&lt;br /&gt;
&lt;br /&gt;
'''Phase 1: Proposals'''&lt;br /&gt;
&lt;br /&gt;
Project leaders who want to include their project to the program should submit some initial proposal ideas on this page. These ideas serve as guidance to the students; they are things that project leaders would like to get done, like new features, improvements, etc.&lt;br /&gt;
&lt;br /&gt;
Subsequently students are invited to submit detailed proposals that can (but do not necessarily have to) be based on these ideas. Students are strongly encouraged to engage with project leaders and each project's community (e.g. through the project's mailing list) in order to discuss the details of their proposal. Proposals should provide details about the implementation, time plan, milestones, etc.&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Scoring of proposals'''&lt;br /&gt;
&lt;br /&gt;
After the submission of proposals, project leaders and contributors/mentors are required to review the submitted proposals and score them (on a 1 to 5 scale). Each proposal should receive at least 3 assessments/scores from different mentors. Each mentor, contributor or leader can score only proposals for their OWN project. All assessments should provide justification. Reviewers are strongly encouraged to provide constructive comments for students so that they can improve in the future.&lt;br /&gt;
&lt;br /&gt;
Project leaders are responsible to attract a sufficient number of volunteer mentors to score proposals and subsequently supervise those that will get selected.&lt;br /&gt;
&lt;br /&gt;
'''Phase 3: Slot allocation.'''&lt;br /&gt;
&lt;br /&gt;
When proposal scoring has been completed, each project leader requests a specific number of slots. This number should be based on:&lt;br /&gt;
The number of truly outstanding proposals according to submitted scores.&lt;br /&gt;
The importance of the proposal to the project's roadmap.&lt;br /&gt;
The number of available mentors for the project. At least 2 mentors are needed for each proposal that gets accepted.&lt;br /&gt;
If the total number of requested slots is less than or equal to the available number of slots, then all projects get the requested slots. If not, the following rules apply:&lt;br /&gt;
All projects that have requested a slot get at least 1 slot, provided they have a high quality proposal and sufficient number of mentors.&lt;br /&gt;
Two mentors are required per slot allocated to the project.&lt;br /&gt;
The program's administrators get in touch with project leaders, especially those that have requested a large number of slots to receive additional feedback on the requested slots and explore any available possibilities for reducing the requested number of slots. A project leader might choose to donate one or more requested slots back to the pool so that other projects can get more slots. The program administrators can choose to initiate a public discussion between projects in need of more slots and projects that have requested a lot of slots in order to determine the best possible outcome for everyone.&lt;br /&gt;
If all else fails, slots are equally allocated to projects, i.e. all projects get 1 slot; projects that have requested 2 or more slots get an extra slot if available; projects that have requested 3 or more slots get an extra slot if available, etc. When there are no more slots available for all projects that have requested them a draw is used to allocate the remaining slots.&lt;br /&gt;
&lt;br /&gt;
In any case, the program's administrators should perform a final review of the selected proposals to ensure that they are of high quality. If concerns arise they should request additional information from project leaders.&lt;br /&gt;
&lt;br /&gt;
'''Phase 4: Coding.'''&lt;br /&gt;
&lt;br /&gt;
This is the main phase of the program. Students implement their proposal according to the submitted timeplan and under the supervision &lt;br /&gt;
of their mentors.&lt;br /&gt;
&lt;br /&gt;
== Evaluations ==&lt;br /&gt;
&lt;br /&gt;
In the middle of the coding period, mentors should submit an evaluation of their students to ensure that they are on track and provide some feedback both to OWASP and the students.&lt;br /&gt;
&lt;br /&gt;
If no/little progress has been made up to this point, the mentors could decide to fail the student in which case the student does not receive money. If successful, OWASP will pay half the amount ($750). The final evaluations are submitted at the end of the coding period and the second installment ($750) is paid to the student if all agreed deliverables are met. If the student has failed to demonstrate progress during the second period, then the second installment will not be paid and the student will get only half of the amount.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deadlines == &lt;br /&gt;
Program announcement: June 19th, 2015&lt;br /&gt;
&lt;br /&gt;
Deadline for Student Applications: July 3rd, 2015&lt;br /&gt;
&lt;br /&gt;
Proposal Evaluations: from July 6th until July 10th.&lt;br /&gt;
&lt;br /&gt;
Successful proposals announcement: July 10th, 2015&lt;br /&gt;
&lt;br /&gt;
Coding Period Starts: July 13th, 2015&lt;br /&gt;
&lt;br /&gt;
Mid-term evaluations: Submitted from August 3rd  until August 7th.&lt;br /&gt;
&lt;br /&gt;
Coding period ends: August 28th, 2015.&lt;br /&gt;
&lt;br /&gt;
Final evaluations: Until September 4th, 2015.&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/d/forum/owasp-summer-code-sprint OWASP Summer Code Sprint Mailing List]&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic  ===&lt;br /&gt;
&lt;br /&gt;
=== Hackademic Docker Sandboxed for challenges ===&lt;br /&gt;
&lt;br /&gt;
''' Brief explanation: '''&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to enable users to freely upload vulnerable applications to the platform. &lt;br /&gt;
After some research we concluded that writing a python application that uses docker to deploy challenges would be the best way to go about it.&lt;br /&gt;
Also, we need to provide a frontend to manage the deployed containers and integrate our existing analytics gathering system into the dockerized challenges.&lt;br /&gt;
The installer of the application should take care of initializing both the cms and the containers without introducing too much complexity.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
There is an easy to use python library for docker and there should be a frontend managing the containers we can use off the self with minimal modifications.&lt;br /&gt;
The feature has already had a poc using linux containers, you can find it in the open merge requests of the project's github page.&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
* Integrate dockerized challenges in the platform.&lt;br /&gt;
* PEP-8 compliant code in all provided python code&lt;br /&gt;
* PSR compliant code in all php provided code&lt;br /&gt;
* Sphinx/phpdoc friendly comments&lt;br /&gt;
* Excellent reliability&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation &lt;br /&gt;
&lt;br /&gt;
''' Prerequisites '''&lt;br /&gt;
&lt;br /&gt;
Some knowledge of test driven development, php, python, docker&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
Spyros Gasteratos (spyros.gasteratos@owasp.org)&lt;br /&gt;
&lt;br /&gt;
=== Hackademic: Javascript Based Development Challenges ===&lt;br /&gt;
&lt;br /&gt;
Brief explanation:&lt;br /&gt;
Background Problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are looking for challenges which are aimed towards secure coding.&lt;br /&gt;
The user should be served with a piece of vulnerable javascript which fails the unit tests provided.&lt;br /&gt;
The user has to fix the vulnerability in a way that makes the unit tests pass.&lt;br /&gt;
&lt;br /&gt;
Example Solution of one of the challenges:&lt;br /&gt;
Provide the user with the following code:&lt;br /&gt;
''&lt;br /&gt;
function sayHi(string userInput){&lt;br /&gt;
var hiField = document.getElementById(&amp;quot;hiField&amp;quot;);&lt;br /&gt;
hiField.innerHtml = userInput;&lt;br /&gt;
}&lt;br /&gt;
''&lt;br /&gt;
Use any javascript unit - testing framework to design a set of unit tests which call the function with all sorts of payloads and test if the user seems to have escaped userInput correctly,&lt;br /&gt;
we're not looking for completeness a solid proof of concept implementation for future reference is acceptable.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
A complete implementation of challenges covering the top 10 according to our coding standards.&lt;br /&gt;
&lt;br /&gt;
=== Hackademic - Migrate old code to the new coding standards ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
In the last project summit we decided to introduce code style and standards compliance checking for new commits and slowly migrate the old ones to the new setting.&lt;br /&gt;
We also decided to prefer contributions with unit tests.&lt;br /&gt;
&lt;br /&gt;
So far we have a testing framework which allows us to setup and test things easily and thus makes writing new tests less painful, but the tests cover only a few files and we don't provide line coverage yet.&lt;br /&gt;
We want coverage reports and as much line coverage as possible.&lt;br /&gt;
&lt;br /&gt;
We're looking for someone to assist in this migration.&lt;br /&gt;
&lt;br /&gt;
''''What you will have to do:'''&lt;br /&gt;
* Introduce PSR-4 autoloading&lt;br /&gt;
* Migrate all the existing code into PSR-1, PSR-2 naming and code style&lt;br /&gt;
* Use tools like php_codeSniffer to automate the checks for standards compliance&lt;br /&gt;
* If necessary, automate the use of these tools with pre-commit hooks and create a &amp;quot;Check everything&amp;quot; script&lt;br /&gt;
* Add code coverage reports into the testing pipeline.&lt;br /&gt;
* Add the remaining tests.&lt;br /&gt;
* Write a travis.yml file to integrate the platform to travis ci.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites: '''&lt;br /&gt;
* Php and bash experience&lt;br /&gt;
* Writing unit and functional tests&lt;br /&gt;
* Familiarity with Git is a plus&lt;br /&gt;
* Familiar or willing and able to quickly learn concepts like autoloading, the psr standard, the sniff file syntax and travis&lt;br /&gt;
&lt;br /&gt;
''' Mentor''': Spyros Gasteratos (spyros.gasteratos@owasp.org)&lt;br /&gt;
&lt;br /&gt;
=== Hackademic: New Frontend ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation'''&lt;br /&gt;
&lt;br /&gt;
Our current theme is written using Smarty Templates and basic html/css.&lt;br /&gt;
It covers all of the platform's functionality but it's  from 2012 and it needs both visual and usability improvements.&lt;br /&gt;
&lt;br /&gt;
Your job will be to design and implement a new shiny theme using the latest in frontend technology.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results'''&lt;br /&gt;
&lt;br /&gt;
* Come up with suggestions on which parts of the current frontend need usability improvements.&lt;br /&gt;
* Write the new smarty-based template using the css and javascript frameworks you thing necessary.&lt;br /&gt;
* Code must be consistent with javascript and css coding standards and style.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
&lt;br /&gt;
* Experience in Javascript, CSS + experience or willing and able to learn  Frameworks such as bootstrap, foundation, semantic ui or Angular, jquery etc&lt;br /&gt;
* Experience in web design and implementation&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP  ===&lt;br /&gt;
ZAP is an OWASP Flagship project and is currently the most active open source web security scanner.&lt;br /&gt;
&lt;br /&gt;
There are a number of ZAP related projects students can work on, including:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Bug tracker support ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This would allow ZAP users to raise issues in bug trackers directly within ZAP.&lt;br /&gt;
&lt;br /&gt;
This should be implemented as an extension with a generic framework and then adaptors for specific trackers, like github and bugzilla.&lt;br /&gt;
&lt;br /&gt;
The info included in the issues raised should be as configurable as possible so that users can include whatever they want, and set things like custom fields.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A new ZAP add-on which would provide:&lt;br /&gt;
* A generic framework for raising ZAP issues in bug trackers controllable via the UI, API and configuration&lt;br /&gt;
* A full implementation for github issues&lt;br /&gt;
* Optionally additional support for other trackers such as bugzilla&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Field enumeration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This would allow a user to iterate though a set of (user defined) characters in order to identify the ones that are filtered out and/or escaped.&lt;br /&gt;
&lt;br /&gt;
The user should be able to define the character sets to test and will probably need to configure the success and failure conditions, as well as valid values for other fields in the form.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A new ZAP add-on which would allow the user to:&lt;br /&gt;
* Select a specific field within a form&lt;br /&gt;
* Define success and failure conditions&lt;br /&gt;
* Define default values for other fields&lt;br /&gt;
* Specify character sets and ranges&lt;br /&gt;
* Report all of the valid and/or invalid characters of for that field&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Form handling ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The ZAP traditional and Ajax spiders explore an application by putting basic default values in all forms. These may often not be valid values, for example using &amp;quot;ZAP&amp;quot; when an email address is required.&lt;br /&gt;
&lt;br /&gt;
The enhancement would allow the user to define default values based on pattern matching against the field names and/or ids.&lt;br /&gt;
&lt;br /&gt;
It would also be very useful if it could show the user all forms and their associated fields for an application, and then allow the user to update the default values.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* New screens that allow the user to specify default values based on pattern matching against the field names and/or ids&lt;br /&gt;
* API support for configuring the default values&lt;br /&gt;
* The traditional and Ajax spiders changed to use those default values&lt;br /&gt;
* Optionally new screens which show all of the forms and their associated fields for an application&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Gauntlet integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gauntlt is a framework for controlling security tools for testing web apps.&lt;br /&gt;
&lt;br /&gt;
It is increasingly being used in 'secdevops' and therefore providing a plugin which allows ZAP to be run would be very desirable.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A Gauntlt plugin that provides ZAP integration to support:&lt;br /&gt;
* Spidering an application&lt;br /&gt;
* Actively scanning an application&lt;br /&gt;
* Reporting the vulnerabilities found&lt;br /&gt;
* Optionally configuring context information, eg to support authentication&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Gauntlt is written in Ruby, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Script console code completion ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP provides a very powerful scripting interface. Unfortunately to use it effectively is only really possible with a good knowledge of the ZAP internals. Adding code completion (eg using a project like https://github.com/bobbylight/AutoComplete) would significantly help users.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
AutoComplete supported in the ZAP Script Console for:&lt;br /&gt;
* Javascript&lt;br /&gt;
* Jython&lt;br /&gt;
* JRuby&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Support java as a scripting language ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
It would be very useful to support Java in addition to the JSR223 scripting languages within the ZAP script console'&lt;br /&gt;
&lt;br /&gt;
It should be possible to provide much better auto complete support than will be possible with dynamically typed scripting languages.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* The ability to run Java code in the ZAP Script Console to the same leval as other supported scripting languages&lt;br /&gt;
* Templates for all of the current script types&lt;br /&gt;
* Optionally auto complete supported&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/ZAP OWASP ZAP] - Zest text representation and parser ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Zest is a graphical scripting language from the Mozilla Security team, and is used as the ZAP macro language.&lt;br /&gt;
&lt;br /&gt;
A standardized text representation and parser would be very useful and help its adoption.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* A fully documented and reviewed text representation for Zest&lt;br /&gt;
* The Java Zest runtime changed to generate the text representation for all statements&lt;br /&gt;
* A parser written in java that converts the text representation into Zest JSON&lt;br /&gt;
* Optionally parsers written in other languages&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''Mentor: [https://www.owasp.org/index.php/User:Simon_Bennetts Simon Bennetts] - OWASP ZAP Project Leader'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/OWASP_AppSensor_Project OWASP AppSensor] Enterprise Integrations - Reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a feature request that's been driven by the community. AppSensor provides great utility by allowing applications to defend themselves. AppSensor can/will also provide a UI (another possible GSOC project) to view and manage the information produced by the applications. However, larger organizations often already have a system in place for managing system security alerts. It would provide a lot of value if we can integrate with those systems and data formats. This project will involve a bit of up-front research, then primarily systems integration work. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
We want  to support a number of integrations. Some that have been requested by our community are:  &lt;br /&gt;
* SNMP&lt;br /&gt;
* SCOM&lt;br /&gt;
* syslog&lt;br /&gt;
* AppDynamics&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for these integrations will be created, along with the associated end user documentation for how to setup and configure them. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing. &lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/OWASP_AppSensor_Project OWASP AppSensor] Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
We want  to support a number of integrations. Some that have been proposed are:  &lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for these integrations will be created, along with the associated end user documentation for how to setup and configure them. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/OWASP_AppSensor_Project OWASP AppSensor] Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating the default/standard UI for the AppSensor project. As part of the project, you will learn about the domain model, iterating your mockup designs and share those with the project leader(s) and the community for feedback. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable with UI design and development, particularly building dashboards. Comfortable with Java (with some assistance). Basic familiarity with security concepts related to intrusion detection and prevention as this is the basic domain.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [https://www.owasp.org/index.php/OWASP_AppSensor_Project OWASP AppSensor] Trend Monitoring Analysis Engine ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a basic policy-driven analysis engine to determine if a series of events represents an attack (if a user triggers 5 of this type of event in 10 minutes, it's an attack). While this supports many use cases, there are times when it would be helpful to know trending information. If a particular function of the application begins to see 10 times its normal amount of traffic, that might represent an attack. This project would add an additional analysis engine to support &amp;quot;trend monitoring&amp;quot;. Development of this feature would require some initial research on alternative implementation strategies, followed by the development and testing of the feature in AppSensor. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* A trend monitoring analysis engine to be used either in place of or in addition to the existing policy-driven analysis engine&lt;br /&gt;
* Associated configuration mechanism to specify the trending rules/policy&lt;br /&gt;
* A small full sample demo application showing usage of the trend monitoring feature&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=195956</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=195956"/>
				<updated>2015-06-09T15:49:08Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: /* Past activities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:120px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: flagship_big.jpg|link=OWASP_Project_Stages#tab=Flagship_Projects]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Intro for Developers ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Two-sided US Letter or A4]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf 12-page US Letter booklet]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [9 June 2015] AppSensor Code v2.1.0 [https://github.com/jtmelton/appsensor/releases/tag/v2.1.0 released]&lt;br /&gt;
* [20 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Code&lt;br /&gt;
* [19 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Documentation&lt;br /&gt;
* [09 Apr 2015] [https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf CISO Briefing] booklet published&lt;br /&gt;
* [22 Feb 2015] Proposal for [https://www.owasp.org/index.php/GSoC2015_Ideas#OWASP_AppSensor Google Summer of Code 2015]&lt;br /&gt;
* [13 Feb 2015] [https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Introduction for Developers] flyer published&lt;br /&gt;
* [13 Feb 2015] AppSensor project awarded OWASP flagship status&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
* [18 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html AppSensor Guide] and [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html CISO Briefing] can be purchased at cost as a print on demand books.&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot; | [[File:Mature projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Juan C Calderon&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Timo Goosen&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Benjamin-Hugo LeBlanc&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Mark Miller&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Louis Nadeau&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Raphael Taban&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas ([http://lists.owasp.org/pipermail/owasp-appsensor-project/2015-February/000855.html see discussion and editable list of changes])&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. &lt;br /&gt;
v2.0.0 final was released in late January 2015.&lt;br /&gt;
v2.1.0 final was released in June 2015.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== June 2015 (2.1) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/19 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Sample application / demo&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/9 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up developer documentation on github and appsensor.org&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/12 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Preparation for GSOC 2015 submission&amp;lt;/strike&amp;gt; -&amp;gt; DONE - see [[GSoC2015_Ideas]] - Update - OWASP not selected&lt;br /&gt;
&lt;br /&gt;
=== September 2015 (2.2) === &lt;br /&gt;
* First version of administration UI for appsensor (monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/10 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
&lt;br /&gt;
=== January 2016 (2.3) === &lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture) (related to sample apps)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
&lt;br /&gt;
=== May 2016 (2.4) === &lt;br /&gt;
* Trend monitoring implementation ([https://github.com/jtmelton/appsensor/issues/6 github issue])&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''June 2015''' Final release v2.1.0 code&lt;br /&gt;
&lt;br /&gt;
'''April 2015''' CISO Briefing booklet published&lt;br /&gt;
&lt;br /&gt;
'''February 2015''' Introduction for Developers flyer published&lt;br /&gt;
&lt;br /&gt;
'''January 2015''' Final release v2.0.0 code&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== Introductory Briefings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Developers&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Architects&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | CISOs&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CISO briefing is also available to [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html buy at cost in print].&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
==Source Documents / Artwork==&lt;br /&gt;
&lt;br /&gt;
* Guide&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc Word (content only)], DOC 11Mb&lt;br /&gt;
** [https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Word, images, Lulu covers, diagrams], ZIP 96Mb&lt;br /&gt;
* Introduction for Developers&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-a4.zip A4 Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-usletter.zip US letter Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
* Poster&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-poster-a1.zip A1 Illustrator and PDF export] ZIP, 18Mb&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]] [[Category:SAMM-EH-3]] [[Category:SAMM-SA-2]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=195955</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=195955"/>
				<updated>2015-06-09T15:48:24Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: /* v2 Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:120px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: flagship_big.jpg|link=OWASP_Project_Stages#tab=Flagship_Projects]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Intro for Developers ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Two-sided US Letter or A4]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf 12-page US Letter booklet]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [9 June 2015] AppSensor Code v2.1.0 [https://github.com/jtmelton/appsensor/releases/tag/v2.1.0 released]&lt;br /&gt;
* [20 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Code&lt;br /&gt;
* [19 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Documentation&lt;br /&gt;
* [09 Apr 2015] [https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf CISO Briefing] booklet published&lt;br /&gt;
* [22 Feb 2015] Proposal for [https://www.owasp.org/index.php/GSoC2015_Ideas#OWASP_AppSensor Google Summer of Code 2015]&lt;br /&gt;
* [13 Feb 2015] [https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Introduction for Developers] flyer published&lt;br /&gt;
* [13 Feb 2015] AppSensor project awarded OWASP flagship status&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
* [18 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html AppSensor Guide] and [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html CISO Briefing] can be purchased at cost as a print on demand books.&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot; | [[File:Mature projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Juan C Calderon&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Timo Goosen&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Benjamin-Hugo LeBlanc&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Mark Miller&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Louis Nadeau&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Raphael Taban&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas ([http://lists.owasp.org/pipermail/owasp-appsensor-project/2015-February/000855.html see discussion and editable list of changes])&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. &lt;br /&gt;
v2.0.0 final was released in late January 2015.&lt;br /&gt;
v2.1.0 final was released in June 2015.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== June 2015 (2.1) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/19 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Sample application / demo&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/9 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up developer documentation on github and appsensor.org&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/12 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Preparation for GSOC 2015 submission&amp;lt;/strike&amp;gt; -&amp;gt; DONE - see [[GSoC2015_Ideas]] - Update - OWASP not selected&lt;br /&gt;
&lt;br /&gt;
=== September 2015 (2.2) === &lt;br /&gt;
* First version of administration UI for appsensor (monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/10 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
&lt;br /&gt;
=== January 2016 (2.3) === &lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture) (related to sample apps)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
&lt;br /&gt;
=== May 2016 (2.4) === &lt;br /&gt;
* Trend monitoring implementation ([https://github.com/jtmelton/appsensor/issues/6 github issue])&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''April 2015''' CISO Briefing booklet published&lt;br /&gt;
&lt;br /&gt;
'''February 2015''' Introduction for Developers flyer published&lt;br /&gt;
&lt;br /&gt;
'''January 2015''' Final release v2.0.0 code&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== Introductory Briefings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Developers&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Architects&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | CISOs&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CISO briefing is also available to [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html buy at cost in print].&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
==Source Documents / Artwork==&lt;br /&gt;
&lt;br /&gt;
* Guide&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc Word (content only)], DOC 11Mb&lt;br /&gt;
** [https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Word, images, Lulu covers, diagrams], ZIP 96Mb&lt;br /&gt;
* Introduction for Developers&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-a4.zip A4 Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-usletter.zip US letter Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
* Poster&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-poster-a1.zip A1 Illustrator and PDF export] ZIP, 18Mb&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]] [[Category:SAMM-EH-3]] [[Category:SAMM-SA-2]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=195954</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=195954"/>
				<updated>2015-06-09T15:47:15Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: /* News and Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:120px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: flagship_big.jpg|link=OWASP_Project_Stages#tab=Flagship_Projects]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Intro for Developers ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Two-sided US Letter or A4]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf 12-page US Letter booklet]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [9 June 2015] AppSensor Code v2.1.0 [https://github.com/jtmelton/appsensor/releases/tag/v2.1.0 released]&lt;br /&gt;
* [20 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Code&lt;br /&gt;
* [19 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Documentation&lt;br /&gt;
* [09 Apr 2015] [https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf CISO Briefing] booklet published&lt;br /&gt;
* [22 Feb 2015] Proposal for [https://www.owasp.org/index.php/GSoC2015_Ideas#OWASP_AppSensor Google Summer of Code 2015]&lt;br /&gt;
* [13 Feb 2015] [https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Introduction for Developers] flyer published&lt;br /&gt;
* [13 Feb 2015] AppSensor project awarded OWASP flagship status&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
* [18 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html AppSensor Guide] and [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html CISO Briefing] can be purchased at cost as a print on demand books.&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot; | [[File:Mature projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Juan C Calderon&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Timo Goosen&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Benjamin-Hugo LeBlanc&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Mark Miller&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Louis Nadeau&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Raphael Taban&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas ([http://lists.owasp.org/pipermail/owasp-appsensor-project/2015-February/000855.html see discussion and editable list of changes])&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. v2.0.0 final was released in late January 2015.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== June 2015 (2.1) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/19 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Sample application / demo&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/9 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up developer documentation on github and appsensor.org&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/12 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Preparation for GSOC 2015 submission&amp;lt;/strike&amp;gt; -&amp;gt; DONE - see [[GSoC2015_Ideas]] - Update - OWASP not selected&lt;br /&gt;
&lt;br /&gt;
=== September 2015 (2.2) === &lt;br /&gt;
* First version of administration UI for appsensor (monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/10 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
&lt;br /&gt;
=== January 2016 (2.3) === &lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture) (related to sample apps)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
&lt;br /&gt;
=== May 2016 (2.4) === &lt;br /&gt;
* Trend monitoring implementation ([https://github.com/jtmelton/appsensor/issues/6 github issue])&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''April 2015''' CISO Briefing booklet published&lt;br /&gt;
&lt;br /&gt;
'''February 2015''' Introduction for Developers flyer published&lt;br /&gt;
&lt;br /&gt;
'''January 2015''' Final release v2.0.0 code&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== Introductory Briefings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Developers&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Architects&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | CISOs&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CISO briefing is also available to [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html buy at cost in print].&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
==Source Documents / Artwork==&lt;br /&gt;
&lt;br /&gt;
* Guide&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc Word (content only)], DOC 11Mb&lt;br /&gt;
** [https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Word, images, Lulu covers, diagrams], ZIP 96Mb&lt;br /&gt;
* Introduction for Developers&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-a4.zip A4 Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-usletter.zip US letter Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
* Poster&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-poster-a1.zip A1 Illustrator and PDF export] ZIP, 18Mb&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]] [[Category:SAMM-EH-3]] [[Category:SAMM-SA-2]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project/Releases/AppSensor_0.1.3&amp;diff=195951</id>
		<title>Projects/OWASP AppSensor Project/Releases/AppSensor 0.1.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project/Releases/AppSensor_0.1.3&amp;diff=195951"/>
				<updated>2015-06-09T15:45:04Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template: &amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Release About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP AppSensor Project&lt;br /&gt;
| project_home_page = OWASP AppSensor Project &lt;br /&gt;
&lt;br /&gt;
| release_name = AppSensor v2&lt;br /&gt;
| release_date = June 2015 (code / final, v2.1) &amp;amp; May 2014 (doc / final)&lt;br /&gt;
| release_description = &lt;br /&gt;
| release_license = [http://creativecommons.org/licenses/by-sa/3.0/ '''Creative Commons Attribution Share Alike 3.0''' for documentation] &amp;amp; [http://opensource.org/licenses/MIT '''MIT License''' for Tools].  &lt;br /&gt;
| release_download_link = https://github.com/jtmelton/appsensor&lt;br /&gt;
 &lt;br /&gt;
| leader_name1 = Michael Coates&lt;br /&gt;
| leader_email1 = michael.coates@owasp.org&lt;br /&gt;
| leader_username1 = MichaelCoates&lt;br /&gt;
&lt;br /&gt;
| leader_name[2-10] = &lt;br /&gt;
| leader_email[2-10] =&lt;br /&gt;
| leader_username[2-10] =&lt;br /&gt;
&lt;br /&gt;
| contributor_name[1-10] = &lt;br /&gt;
| contributor_email[1-10] = &lt;br /&gt;
| contributor_username[1-10] =  &lt;br /&gt;
&lt;br /&gt;
| release_notes = https://github.com/jtmelton/appsensor&lt;br /&gt;
&lt;br /&gt;
| links_url1 = http://www.brighttalk.com/webcast/20680&lt;br /&gt;
| links_name1 = Automated Application Defenses to Thwart Advanced Attackers&lt;br /&gt;
&lt;br /&gt;
| links_url2 = https://www.owasp.org/index.php/File:Appsensor-pid.pdf&lt;br /&gt;
| links_name2 = Diagram&lt;br /&gt;
&lt;br /&gt;
| links_url3 = http://www.youtube.com/watch?v=8ItfuwvLxRk&lt;br /&gt;
| links_name3 = Live Demo&lt;br /&gt;
&lt;br /&gt;
| links_url4 = https://github.com/jtmelton/appsensor&lt;br /&gt;
| links_name4 = AppSensor Code&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=195242</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=195242"/>
				<updated>2015-05-26T04:45:29Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: updating roadmap dates - concentrating on admin UI for v2.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:120px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: flagship_big.jpg|link=OWASP_Project_Stages#tab=Flagship_Projects]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Intro for Developers ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Two-sided US Letter or A4]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf 12-page US Letter booklet]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [20 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Code&lt;br /&gt;
* [19 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Documentation&lt;br /&gt;
* [09 Apr 2015] [https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf CISO Briefing] booklet published&lt;br /&gt;
* [22 Feb 2015] Proposal for [https://www.owasp.org/index.php/GSoC2015_Ideas#OWASP_AppSensor Google Summer of Code 2015]&lt;br /&gt;
* [13 Feb 2015] [https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Introduction for Developers] flyer published&lt;br /&gt;
* [13 Feb 2015] AppSensor project awarded OWASP flagship status&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
* [18 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html AppSensor Guide] and [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html CISO Briefing] can be purchased at cost as a print on demand books.&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot; | [[File:Mature projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Juan C Calderon&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Timo Goosen&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Benjamin-Hugo LeBlanc&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Mark Miller&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Louis Nadeau&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Raphael Taban&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas ([http://lists.owasp.org/pipermail/owasp-appsensor-project/2015-February/000855.html see discussion and editable list of changes])&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. v2.0.0 final was released in late January 2015.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== June 2015 (2.1) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/19 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Sample application / demo&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/9 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up developer documentation on github and appsensor.org&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/12 github issue]) -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Preparation for GSOC 2015 submission&amp;lt;/strike&amp;gt; -&amp;gt; DONE - see [[GSoC2015_Ideas]] - Update - OWASP not selected&lt;br /&gt;
&lt;br /&gt;
=== September 2015 (2.2) === &lt;br /&gt;
* First version of administration UI for appsensor (monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/10 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
&lt;br /&gt;
=== January 2016 (2.3) === &lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture) (related to sample apps)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
&lt;br /&gt;
=== May 2016 (2.4) === &lt;br /&gt;
* Trend monitoring implementation ([https://github.com/jtmelton/appsensor/issues/6 github issue])&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''April 2015''' CISO Briefing booklet published&lt;br /&gt;
&lt;br /&gt;
'''February 2015''' Introduction for Developers flyer published&lt;br /&gt;
&lt;br /&gt;
'''January 2015''' Final release v2.0.0 code&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== Introductory Briefings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Developers&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Architects&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | CISOs&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-cisobriefing-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor-ciso-briefing.pdf]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CISO briefing is also available to [http://www.lulu.com/shop/owasp-foundation/appsensor-ciso-briefing/paperback/product-22121723.html buy at cost in print].&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
==Source Documents / Artwork==&lt;br /&gt;
&lt;br /&gt;
* Guide&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc Word (content only)], DOC 11Mb&lt;br /&gt;
** [https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Word, images, Lulu covers, diagrams], ZIP 96Mb&lt;br /&gt;
* Introduction for Developers&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-a4.zip A4 Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-usletter.zip US letter Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
* Poster&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-poster-a1.zip A1 Illustrator and PDF export] ZIP, 18Mb&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]] [[Category:SAMM-EH-3]] [[Category:SAMM-SA-2]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=192226</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=192226"/>
				<updated>2015-03-26T03:29:24Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: small updates to milestones to mark 1 done, remove GSOC (not selected), and remove another that was a duplicate.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Intro for Developers ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Two-sided US Letter or A4]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [20 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Code&lt;br /&gt;
* [19 May 2015] Working session at [http://2015.appsec.eu/project-summit/ OWASP Project Summit] - Documentation&lt;br /&gt;
* [22 Feb 2015] Proposal for [https://www.owasp.org/index.php/GSoC2015_Ideas#OWASP_AppSensor Google Summer of Code 2015]&lt;br /&gt;
* [13 Feb 2015] [https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Introduction for Developers] flyer published&lt;br /&gt;
* [13 Feb 2015] AppSensor project awarded OWASP flagship status&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
* [18 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot; | [[File:Mature projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Benjamin-Hugo LeBlanc&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Louis Nadeau&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas ([http://lists.owasp.org/pipermail/owasp-appsensor-project/2015-February/000855.html see discussion and editable list of changes])&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. v2.0.0 final was released in late January 2015.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== May 2015 (2.1) === &lt;br /&gt;
* First version of administration UI for appsensor (monitoring UI) ([https://github.com/jtmelton/appsensor/issues/5 github issue])&lt;br /&gt;
* &amp;lt;strike&amp;gt;Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&amp;lt;/strike&amp;gt; ([https://github.com/jtmelton/appsensor/issues/19 github issue]) -&amp;gt; DONE&lt;br /&gt;
* Sample application / demo ([https://github.com/jtmelton/appsensor/issues/9 github issue])&lt;br /&gt;
* Finish up developer documentation on github and appsensor.org ([https://github.com/jtmelton/appsensor/issues/12 github issue])&lt;br /&gt;
* &amp;lt;strike&amp;gt;Preparation for GSOC 2015 submission&amp;lt;/strike&amp;gt; -&amp;gt; DONE - see [[GSoC2015_Ideas]] - Update - OWASP not selected&lt;br /&gt;
&lt;br /&gt;
=== September 2015 (2.2) === &lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Extend reporting APIs / UI (github issues [https://github.com/jtmelton/appsensor/issues/10 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture) (related to sample apps)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
&lt;br /&gt;
=== January 2016 (2.3) === &lt;br /&gt;
* Trend monitoring implementation &lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''February 2015''' Introduction for Developers flyer published&lt;br /&gt;
&lt;br /&gt;
'''January 2015''' Final release v2.0.0 code&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== Introductory Briefings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Developers&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Architects&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | CISOs&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Coming soon!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
==Source Documents / Artwork==&lt;br /&gt;
&lt;br /&gt;
* Guide&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc Word (content only)], DOC 11Mb&lt;br /&gt;
** [https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Word, images, Lulu covers, diagrams], ZIP 96Mb&lt;br /&gt;
* Introduction for Developers&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-a4.zip A4 Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-usletter.zip US letter Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
* Poster&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-poster-a1.zip A1 Illustrator and PDF export] ZIP, 18Mb&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=190359</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=190359"/>
				<updated>2015-02-27T03:17:04Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: Updating milestone for some issues - to help groupings make more sense. Also updating based on feedback from users on mailing list of what issues are most important to them.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Intro for Developers ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Two-sided US Letter or A4]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [22 Feb 2015] Proposal for [https://www.owasp.org/index.php/GSoC2015_Ideas#OWASP_AppSensor Google Summer of Code 2015]&lt;br /&gt;
* [13 Feb 2015] [https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Introduction for Developers] flyer published&lt;br /&gt;
* [13 Feb 2015] AppSensor project awarded OWASP flagship status&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
* [18 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [13 Sep 2014] AppSensor Code v2.0.0 beta [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta released] &lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [08 May 2014] AppSensor Guide v2.0.1 released&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot; | [[File:Mature projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Benjamin-Hugo LeBlanc&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Louis Nadeau&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas ([http://lists.owasp.org/pipermail/owasp-appsensor-project/2015-February/000855.html see discussion and editable list of changes])&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. v2.0.0 final was released in late January 2015.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== May 2015 (2.1) === &lt;br /&gt;
* First version of administration UI for appsensor (monitoring UI) ([https://github.com/jtmelton/appsensor/issues/5 github issue])&lt;br /&gt;
* Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something) ([https://github.com/jtmelton/appsensor/issues/19 github issue])&lt;br /&gt;
* Workup example integration with ModSecurity CRS ([https://github.com/jtmelton/appsensor/issues/9 github issue])&lt;br /&gt;
* Finish up developer documentation on github and appsensor.org ([https://github.com/jtmelton/appsensor/issues/12 github issue])&lt;br /&gt;
* &amp;lt;strike&amp;gt;Preparation for GSOC 2015 submission&amp;lt;/strike&amp;gt; -&amp;gt; DONE - see [[GSoC2015_Ideas]]&lt;br /&gt;
&lt;br /&gt;
=== September 2015 (2.2) === &lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Extend reporting APIs / UI (github issues [https://github.com/jtmelton/appsensor/issues/10 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
* Sample applications - simple implementations of the different execution modes&lt;br /&gt;
* Video demo of setting up appsensor (screen capture) (related to sample apps)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
* GSOC 2015 mentoring (if selected)&lt;br /&gt;
&lt;br /&gt;
=== January 2016 (2.3) === &lt;br /&gt;
* Trend monitoring implementation (good for GSOC project possibly)&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''February 2015''' Introduction for Developers flyer published&lt;br /&gt;
&lt;br /&gt;
'''January 2015''' Final release v2.0.0 code&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== Introductory Briefings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Developers&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Architects&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | CISOs&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Coming soon!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
==Source Documents / Artwork==&lt;br /&gt;
&lt;br /&gt;
* Guide&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc Word (content only)], DOC 11Mb&lt;br /&gt;
** [https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Word, images, Lulu covers, diagrams], ZIP 96Mb&lt;br /&gt;
* Introduction for Developers&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-a4.zip A4 Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Appsensor-intro-for-developers-usletter.zip US letter Illustrator and PDF exports], ZIP 19Mb&lt;br /&gt;
* Poster&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-poster-a1.zip A1 Illustrator and PDF export] ZIP, 18Mb&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=190060</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=190060"/>
				<updated>2015-02-22T05:31:18Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: Moved GSOC prep up to 2.1 and marked it as complete&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Intro for Developers ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
&lt;br /&gt;
Flyer sheet [https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf 2-sided-US Letter]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [13 Feb 2015] [https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf Introduction for Developers] flyer published&lt;br /&gt;
* [13 Feb 2015] AppSensor project awarded OWASP flagship status&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
* [18 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [13 Sep 2014] AppSensor Code v2.0.0 beta [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta released] &lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [08 May 2014] AppSensor Guide v2.0.1 released&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot; | [[File:Mature projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Benjamin-Hugo LeBlanc&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Louis Nadeau&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas ([http://lists.owasp.org/pipermail/owasp-appsensor-project/2015-February/000855.html see discussion and editable list of changes])&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. v2.0.0 final was released in late January 2015.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== May 2015 (2.1) === &lt;br /&gt;
* First version of administration UI for appsensor (reporting / monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/5 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
* Extend reporting APIs (github issues [[https://github.com/jtmelton/appsensor/issues/10 github issue])&lt;br /&gt;
* Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&lt;br /&gt;
* Workup example integration with ModSecurity CRS ([https://github.com/jtmelton/appsensor/issues/9 github issue])&lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Finish up developer documentation on github and appsensor.org ([https://github.com/jtmelton/appsensor/issues/12 github issue])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture)&lt;br /&gt;
* &amp;lt;strike&amp;gt;Preparation for GSOC 2015 submission&amp;lt;/strike&amp;gt; -&amp;gt; DONE - see [[GSoC2015_Ideas]]&lt;br /&gt;
&lt;br /&gt;
=== September 2015 (2.2) === &lt;br /&gt;
* Sample applications - simple implementations of the different execution modes)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
* GSOC 2015 mentoring (if selected)&lt;br /&gt;
&lt;br /&gt;
=== January 2016 (2.3) === &lt;br /&gt;
* Trend monitoring implementation (good for GSOC project possibly)&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''February 2015''' Introduction for Developers flyer published&lt;br /&gt;
&lt;br /&gt;
'''January 2015''' Final release v2.0.0 code&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== Introductory Briefings ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Developers&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Architects&lt;br /&gt;
|&lt;br /&gt;
| align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | CISOs&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor-developer-small.jpg|link=https://www.owasp.org/index.php/File:Appsensor_intro_for_developers.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | [[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
| width=&amp;quot;20&amp;quot; |&lt;br /&gt;
| width=&amp;quot;200&amp;quot; align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; | Coming soon!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190059</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190059"/>
				<updated>2015-02-22T05:05:53Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: Adding AppSensor Projects&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&lt;br /&gt;
&lt;br /&gt;
== OWASP Hackademic Challenges ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP Hackademic Challenges Project]]  helps you test your knowledge on web application security. You can use it to actually attack web applications in a realistic but also controllable and safe environment. After a wonderfull 2014 GSoC with 100 new challenges and a couple of new plugins we're mainly looking to get new features in and maybe a couple of challenges. Bellow is a list of proposed features.&lt;br /&gt;
&lt;br /&gt;
'''Tips to get you started in no particular order:''' &lt;br /&gt;
 * Read the [[GSoC SAT]]&lt;br /&gt;
 * Check the Hackademic wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list or irc channel.&lt;br /&gt;
 * Check our [https://github.com/Hackademic/hackademic github repository] and especially the [https://github.com/Hackademic/hackademic/issues open tickets]&lt;br /&gt;
&lt;br /&gt;
=== Web Sandbox ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
After a very successfull OWASP Winter Code Sprint we have a brand new Sandbox feature which uses Linux Containers to create virtual space for each user. So we can host properly vulnerable challenges and maybe execute some code server side. However, the sandbox is not fully complete, we need many features here and there to make it easily deployable and improve it's administration.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
* Simple sandbox administration frontend for the web. -- An admin console to start and kill sandboxes manually and to list the status and resources used by each one.&lt;br /&gt;
* Secure the implementation -- Now we have a functioning prototype, we know that Linux Containers are quite safe but we haven't explicitly tested our configuration and use of them.&lt;br /&gt;
* Your idea here...&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Better sandboxing&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Linux administration and some security knowledge depending on the specific project.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Source Code testing environment - Defensive Challenges ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Student performance analytics ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a better way to measure the student's performance and how it varies depending on the problem. You will write a plugin (or make changes to the core depending on your implementation proposal) to gather all sorts of performance data and present them in a meaningfull way.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A page to view performance metrics of differenct students.&lt;br /&gt;
( Hackalytics )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML, javascript. Some understanding of analytics.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New Template ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a cool new template since the old one is getting pretty old.&lt;br /&gt;
You can do it  using the latest frontend bells and whistles (like angular,bootstrap or the tools of your choice).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A new template.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Gamification ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gamification is a feature widely used in many learning platforms out there and it would be nice if we could have it too.&lt;br /&gt;
You will need to design and implement the awards, badges and whatever other feature you have in mind. You will also implement the front and backend changes necessary to present the results.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Gamification of the platform. ( Hackademicification )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Your idea ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Hackademic is it's community, we always welcome new ideas and cool features. Come over to the irc channel or mailing list and propose something.&lt;br /&gt;
We'd be happy to help you get it done.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Features we didn't know we needed. ;-)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in whatever tools and languages you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
== OWASP WebGoat .NET - Vulnerable Website ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The actual WebGoat .NET is a vulnerable website built in ASP.NET using C#. There are some challenges already built in but we would like to add more vulnerable features&lt;br /&gt;
https://www.owasp.org/index.php/Category:OWASP_WebGoat.NET#tab=Overview&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
We want  to add more modules such as &lt;br /&gt;
*WebSockets&lt;br /&gt;
*CSRF challenge&lt;br /&gt;
*Finalise testing an upgrade to the .NET framework 4.5&lt;br /&gt;
*Retest and clean up actual modules&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in .NET, HTML and C#. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Johanna Curiel, Jerry Hoff - OWASP WebGoat Project Leaders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP WebGoatPHP==&lt;br /&gt;
===OWASP WebGoatPHP===&lt;br /&gt;
'''Description:'''&lt;br /&gt;
[[Webgoat]] is a deliberately insecure open source software made by OWASP using Java programming language. It has a set of challenges and steps, each providing the user with one or more web application vulnerability which user tries to solve. There are also hints and auto-detection of correct solutions. &lt;br /&gt;
Since Java is not the most common web application programming language, and it doesn't have many of the bugs other languages such as PHP have when it comes to security, OWASP has [[OWASP_WebGoat_Reboot2012|dedicated in 2012]] an amount of $5000 for promotion of WebGoatPHP.&lt;br /&gt;
&lt;br /&gt;
If you want to know more about WebGoatPHP, I suggest downloading and giving WebGoat a try. It is one of OWASP prides (about 200000 downloads).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' WebGoatPHP first version is ready, it needs thorough testing and delivery. It also needs new challenges added and a CTF hosted on it.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' You just need to know PHP and SQL. Familiarity with web application security is recommended.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP PureCaptcha==&lt;br /&gt;
===OWASP PureCaptcha===&lt;br /&gt;
'''Description:''' &lt;br /&gt;
[[OWASP PureCaptcha]] is an OWASP project aiming to simplify CAPTCHA usage. Instead of proving rigorous APIs and many dependencies, it is a single source code file (library) that does not depend on anything and generates secure and fast CAPTCHAs, with little memory and processor footprint.&lt;br /&gt;
PureCaptcha is currently released for PHP. The candidate will port this to several other programming languages (priority on web languages) and provide full test coverage.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' PureCaptcha library for at least 3 new programming languages. Unit testing for the core version. A study on security of the generated captcha can also be performed.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisites:''' Any programming language you want to port into, as well as PHP.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]], Jesse Burns&lt;br /&gt;
&lt;br /&gt;
==OWASP PHP Framework==&lt;br /&gt;
===OWASP PHP Framework===&lt;br /&gt;
&lt;br /&gt;
'''Description:'''&lt;br /&gt;
OWASP PHP Security project plans to gather around secure PHP libraries, and provide a full featured framework of libraries for secure web applications in PHP, both as separate de-coupled libraries and as a whole secure web application framework. Many aspects of this project are already handled, and are being added to OWASP.&lt;br /&gt;
The project has been done in the last two years, and now a framework has been built upon these libraries and security best practices. The framework intends to merge security practices with practical frameworks, and aims to be simple and lightweight.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results: ''' A secure yet robust and practical framework for PHP developers.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' This project requires at least one year of experience working with different PHP projects and frameworks. It will be too hard for someone with average PHP experience.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]], Rahul Chaudhary&lt;br /&gt;
&lt;br /&gt;
'''Skill Level:''' Advanced&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP RBAC Project==&lt;br /&gt;
===OWASP RBAC Project===&lt;br /&gt;
'''Description:''' ''For the last 7 years, improper access control has been the issue behind two of the Top Ten lists''. &lt;br /&gt;
&lt;br /&gt;
RBAC stands for Role Based Access Control and is the de-facto access control and authorization standard. It simplifies access control and its maintenance for small and enterprise systems alike. NIST RBAC standard has four levels, the second level hierarchical RBAC is intended for this project.&lt;br /&gt;
&lt;br /&gt;
Unfortunately because of many performance and development problems, no suitable RBAC implementation was available until recently, so developers and admins mostly used ACLs and other forms of simple access control methods, which leads to broken and unmaintainable access control over the time. &lt;br /&gt;
&lt;br /&gt;
[[OWASP RBAC project]] has already implemented this, has a wide audience and has released several minor and two major versions. Many new features and modifications are expected by the community behind this.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' OWASP RBAC project more mature by porting from PHP to other programming languages, OR adding new features and testing on the PHP version.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' Good SQL knowledge, library development skills, familiarity with one of the programming languages as well as PHP. We recommend average experience and high skills.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]], Rahul Chaudhary, Jesse Burns&lt;br /&gt;
&lt;br /&gt;
'''Skill Level:''' Advanced&lt;br /&gt;
&lt;br /&gt;
For more info, visit [http://phprbac.net phprbac.net]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP PHP Widgets==&lt;br /&gt;
===OWASP PHP Widgets===&lt;br /&gt;
'''Description:''' Pull MVC (widget-based web views) has been available for many years on all major web programming languages, and even for Javascript. PHP on the other hand, lacks these and suffers a lot from forcing push MVC on its developers. There are a few libraries around, not secure and not mature at all. Providing a robust set of widgets for PHP developers not only smoothes web development process, it automatically mitigates a lot of web attacks that are based on user inputs to forms and other web elements (e.g CSRF, SQL Injection, XSS).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' OWASP PHP Widgets is currently in beta, and the candidate will spend time testing the functionalities, providing test coverage, adding new widgets and features, and building a user community.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' Average PHP programming. Good experience with web applications.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Seraphimdroid==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' SeraphimDroid is educational application for android devices that helps users learn about risks and threats coming from other android applications. SeraphimDroid scans your devices and teaches you about risks and threats coming from application permissions. Also this project will deliver paper on android permissions, their regular use, risks and malicious use. In second version SeraphimDroid will evolve to application firewall for android devices not allowing malicious SMS or MMS to be sent, USSD codes to be executed or calls to be called without user permission and knowledge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' After last year's GSoC first version of project was released on Google play. However, educational component, setting check, potential android widgets are still missing and would be beneficial. Also, malicious behavior prevention mechanisms should be added and some bugs should be fixed.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' Average Android and JAVA programming. Knowledge of XML and SQLite Good experience with mobile applications.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Nikola Milosevic|Nikola Milosevic]]&lt;br /&gt;
&lt;br /&gt;
== OWASP OWTF ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
We are in the process of deciding the set of ZAP projects for Google Summer of Code 2015.&lt;br /&gt;
&lt;br /&gt;
You can follow (and join in) the discussions on the ZAP Developer Group: https://groups.google.com/d/msg/zaproxy-develop/Uy0JPkzsI_s/Bj7OTSkISCIJ&lt;br /&gt;
&lt;br /&gt;
== OWASP Testing Guide ==&lt;br /&gt;
&lt;br /&gt;
=== OTG Web Testing Tool Integration ===&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
We would like the OWASP Testing Guide to be much more easily consumable by web testing tools (such as ZAP). This would require adjustments to the Testing Guide, or separate Testing with X Guides, to explain how testing is completed with given tools. The tools would of course need to be changed to make full use of OTG  and this project could include such changes to OWASP tools like ZAP. &lt;br /&gt;
&lt;br /&gt;
'''Expected outputs:'''&lt;br /&gt;
&lt;br /&gt;
Amended OTG or Testing with X Guides. Either option would require the document to integrate with all web testing tools (Using ZAP as the baseline).&lt;br /&gt;
Optional ZAP changes or add-on to make better use of the OTGs&lt;br /&gt;
&lt;br /&gt;
'''Knowledge required:'''&lt;br /&gt;
&lt;br /&gt;
Writing skills&lt;br /&gt;
&lt;br /&gt;
'''OTG Web Testing Tool Integration mentor:''' &lt;br /&gt;
&lt;br /&gt;
Andrew Muller - OTG Project Co-Leader - Contact: Andrew.muller@owasp.org&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP AppSensor Project]] provides real-time application layer intrusion detection. The software has recently hit v2.0. We have some ambitious plans across a variety of areas for the next year to build on the recent momentum.&lt;br /&gt;
&lt;br /&gt;
 * Check the AppSensor wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list.&lt;br /&gt;
 * Check our [https://github.com/jtmelton/appsensor github repository] and the [https://github.com/jtmelton/appsensor/issues open tickets]&lt;br /&gt;
 * Also see our [http://www.appsensor.org appsensor website]&lt;br /&gt;
&lt;br /&gt;
=== Enterprise Integrations - Reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a feature request that's been driven by the community. AppSensor provides great utility by allowing applications to defend themselves. AppSensor can/will also provide a UI (another possible GSOC project) to view and manage the information produced by the applications. However, larger organizations often already have a system in place for managing system security alerts. It would provide a lot of value if we can integrate with those systems and data formats. This project will involve a bit of up-front research, then primarily systems integration work. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
We want  to support a number of integrations. Some that have been requested by our community are:  &lt;br /&gt;
* SNMP&lt;br /&gt;
* JMX&lt;br /&gt;
* SCOM&lt;br /&gt;
* syslog&lt;br /&gt;
* CEF&lt;br /&gt;
* AppDynamics&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for these integrations will be created, along with the associated end user documentation for how to setup and configure them. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing. &lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
We want  to support a number of integrations. Some that have been proposed are:  &lt;br /&gt;
* Kafka&lt;br /&gt;
* RabbitMQ&lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for these integrations will be created, along with the associated end user documentation for how to setup and configure them. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating the default/standard UI for the AppSensor project. As part of the project, you will learn about the domain model, iterating your mockup designs and share those with the project leader(s) and the community for feedback. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable with UI design and development, particularly building dashboards. Comfortable with Java (with some assistance). Basic familiarity with security concepts related to intrusion detection and prevention as this is the basic domain.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Trend Monitoring Analysis Engine ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a basic policy-driven analysis engine to determine if a series of events represents an attack (if a user triggers 5 of this type of event in 10 minutes, it's an attack). While this supports many use cases, there are times when it would be helpful to know trending information. If a particular function of the application begins to see 10 times its normal amount of traffic, that might represent an attack. This project would add an additional analysis engine to support &amp;quot;trend monitoring&amp;quot;. Development of this feature would require some initial research on alternative implementation strategies, followed by the development and testing of the feature in AppSensor. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* A trend monitoring analysis engine to be used either in place of or in addition to the existing policy-driven analysis engine&lt;br /&gt;
* Associated configuration mechanism to specify the trending rules/policy&lt;br /&gt;
* A small full sample demo application showing usage of the trend monitoring feature&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=File:Appsensor_intro_for_developers.pdf&amp;diff=189660</id>
		<title>File:Appsensor intro for developers.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=File:Appsensor_intro_for_developers.pdf&amp;diff=189660"/>
				<updated>2015-02-14T05:37:02Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: This doc is a 1-page intro guide for developers.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This doc is a 1-page intro guide for developers.&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=188763</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=188763"/>
				<updated>2015-01-30T03:56:00Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: /* Code Roadmap */ adjust roadmap dates based on expected availability&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
* [08 Jan 2015] AppSensor Code v2.0.0 RC3 [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-RC3 released]&lt;br /&gt;
* [04 Nov 2014] AppSensor Code v2.0.0 RC2 [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-RC2 released]&lt;br /&gt;
* [05 Oct 2014] AppSensor Code v2.0.0 RC1 [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-RC1 released]&lt;br /&gt;
* [18 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [13 Sep 2014] AppSensor Code v2.0.0 beta [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta released] &lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [08 May 2014] AppSensor Guide v2.0.1 released&lt;br /&gt;
* [02 May 2014] AppSensor Guide v2.0 released&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas.&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. v2.0.0 final was released in late January 2015.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== May 2015 (2.1) === &lt;br /&gt;
* First version of administration UI for appsensor (reporting / monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/5 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
* Extend reporting APIs (github issues [[https://github.com/jtmelton/appsensor/issues/10 github issue])&lt;br /&gt;
* Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&lt;br /&gt;
* Workup example integration with ModSecurity CRS ([https://github.com/jtmelton/appsensor/issues/9 github issue])&lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Finish up developer documentation on github and appsensor.org ([https://github.com/jtmelton/appsensor/issues/12 github issue])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture)&lt;br /&gt;
&lt;br /&gt;
=== September 2015 (2.2) === &lt;br /&gt;
* Sample applications - simple implementations of the different execution modes)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
* Preparation for GSOC 2015 submission&lt;br /&gt;
* GSOC 2015 mentoring (if selected)&lt;br /&gt;
&lt;br /&gt;
=== January 2016 (2.3) === &lt;br /&gt;
* Trend monitoring implementation (good for GSOC project possibly)&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=188739</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=188739"/>
				<updated>2015-01-29T16:39:32Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: /* Code Roadmap */ completed v2 push&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
* [08 Jan 2015] AppSensor Code v2.0.0 RC3 [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-RC3 released]&lt;br /&gt;
* [04 Nov 2014] AppSensor Code v2.0.0 RC2 [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-RC2 released]&lt;br /&gt;
* [05 Oct 2014] AppSensor Code v2.0.0 RC1 [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-RC1 released]&lt;br /&gt;
* [18 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [13 Sep 2014] AppSensor Code v2.0.0 beta [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta released] &lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [08 May 2014] AppSensor Guide v2.0.1 released&lt;br /&gt;
* [02 May 2014] AppSensor Guide v2.0 released&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== Non code ===&lt;br /&gt;
&lt;br /&gt;
* Update AppSensor Guide to keep in step with code changes and improvements to ideas.&lt;br /&gt;
* Create demo&lt;br /&gt;
* Develop training materials&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. v2.0.0 final was released in late January 2015.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2015 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan - v 2.0.0 final release &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Jan 2015 (delay due to bug) - v 2.0.0 final &amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q1 2015 (2.1) === &lt;br /&gt;
* First version of administration UI for appsensor (reporting / monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/5 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
* Extend reporting APIs (github issues [[https://github.com/jtmelton/appsensor/issues/10 github issue])&lt;br /&gt;
* Push v 2.1 when admin UI complete &lt;br /&gt;
* Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&lt;br /&gt;
* Workup example integration with ModSecurity CRS ([https://github.com/jtmelton/appsensor/issues/9 github issue])&lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Finish up developer documentation on github and appsensor.org ([https://github.com/jtmelton/appsensor/issues/12 github issue])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture)&lt;br /&gt;
&lt;br /&gt;
=== Q2 2015 (2.2) === &lt;br /&gt;
* Sample applications - simple implementations of the different execution modes)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
* Preparation for GSOC 2015 submission&lt;br /&gt;
&lt;br /&gt;
=== Q3 2015 (2.3) === &lt;br /&gt;
* GSOC 2015 mentoring (if selected)&lt;br /&gt;
* Trend monitoring implementation (good for GSOC project possibly)&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project/Releases/AppSensor_0.1.3&amp;diff=188725</id>
		<title>Projects/OWASP AppSensor Project/Releases/AppSensor 0.1.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project/Releases/AppSensor_0.1.3&amp;diff=188725"/>
				<updated>2015-01-29T03:38:31Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: v2 update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template: &amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Release About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP AppSensor Project&lt;br /&gt;
| project_home_page = OWASP AppSensor Project &lt;br /&gt;
&lt;br /&gt;
| release_name = AppSensor v2&lt;br /&gt;
| release_date = Jan 2015 (code / final) &amp;amp; May 2014 (doc / final)&lt;br /&gt;
| release_description = &lt;br /&gt;
| release_license = [http://creativecommons.org/licenses/by-sa/3.0/ '''Creative Commons Attribution Share Alike 3.0''' for documentation] &amp;amp; [http://opensource.org/licenses/MIT '''MIT License''' for Tools].  &lt;br /&gt;
| release_download_link = https://github.com/jtmelton/appsensor&lt;br /&gt;
 &lt;br /&gt;
| leader_name1 = Michael Coates&lt;br /&gt;
| leader_email1 = michael.coates@owasp.org&lt;br /&gt;
| leader_username1 = MichaelCoates&lt;br /&gt;
&lt;br /&gt;
| leader_name[2-10] = &lt;br /&gt;
| leader_email[2-10] =&lt;br /&gt;
| leader_username[2-10] =&lt;br /&gt;
&lt;br /&gt;
| contributor_name[1-10] = &lt;br /&gt;
| contributor_email[1-10] = &lt;br /&gt;
| contributor_username[1-10] =  &lt;br /&gt;
&lt;br /&gt;
| release_notes = https://github.com/jtmelton/appsensor&lt;br /&gt;
&lt;br /&gt;
| links_url1 = http://www.brighttalk.com/webcast/20680&lt;br /&gt;
| links_name1 = Automated Application Defenses to Thwart Advanced Attackers&lt;br /&gt;
&lt;br /&gt;
| links_url2 = https://www.owasp.org/index.php/File:Appsensor-pid.pdf&lt;br /&gt;
| links_name2 = Diagram&lt;br /&gt;
&lt;br /&gt;
| links_url3 = http://www.youtube.com/watch?v=8ItfuwvLxRk&lt;br /&gt;
| links_name3 = Live Demo&lt;br /&gt;
&lt;br /&gt;
| links_url4 = https://github.com/jtmelton/appsensor&lt;br /&gt;
| links_name4 = AppSensor Code&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=188724</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=188724"/>
				<updated>2015-01-29T03:36:57Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: /* News and Events */ added v2 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [28 Jan 2015] AppSensor Code v2.0.0 final [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0 released]&lt;br /&gt;
* [08 Jan 2015] AppSensor Code v2.0.0 RC3 [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-RC3 released]&lt;br /&gt;
* [04 Nov 2014] AppSensor Code v2.0.0 RC2 [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-RC2 released]&lt;br /&gt;
* [05 Oct 2014] AppSensor Code v2.0.0 RC1 [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-RC1 released]&lt;br /&gt;
* [18 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [13 Sep 2014] AppSensor Code v2.0.0 beta [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta released] &lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [08 May 2014] AppSensor Guide v2.0.1 released&lt;br /&gt;
* [02 May 2014] AppSensor Guide v2.0 released&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. v2.0.0 RC3 was released in early January 2015.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* Jan 2015 (delay due to bug) - v 2.0.0 final &lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q1 2015 (2.1) === &lt;br /&gt;
* First version of administration UI for appsensor (reporting / monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/5 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
* Extend reporting APIs (github issues [[https://github.com/jtmelton/appsensor/issues/10 github issue])&lt;br /&gt;
* Push v 2.1 when admin UI complete &lt;br /&gt;
* Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&lt;br /&gt;
* Workup example integration with ModSecurity CRS ([https://github.com/jtmelton/appsensor/issues/9 github issue])&lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Finish up developer documentation on github and appsensor.org ([https://github.com/jtmelton/appsensor/issues/12 github issue])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture)&lt;br /&gt;
&lt;br /&gt;
=== Q2 2015 (2.2) === &lt;br /&gt;
* Sample applications - simple implementations of the different execution modes)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
* Preparation for GSOC 2015 submission&lt;br /&gt;
&lt;br /&gt;
=== Q3 2015 (2.3) === &lt;br /&gt;
* GSOC 2015 mentoring (if selected)&lt;br /&gt;
* Trend monitoring implementation (good for GSOC project possibly)&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proposed Documentation Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 === &lt;br /&gt;
&lt;br /&gt;
Update AppSensor Guide to keep in step with code changes and improvements to ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=187497</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=187497"/>
				<updated>2015-01-04T04:13:58Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: /* Q4 2014 (2.0) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [18-19 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [13 Sep 2014] AppSensor Code v2.0.0 beta [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta released] &lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [08 May 2014] AppSensor Guide v2.0.1 released&lt;br /&gt;
* [02 May 2014] AppSensor Guide v2.0 released&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. A [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta v2.0.0 beta was released for review] on 13 September 2014.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* Jan 2015 (delay due to bug) - v 2.0.0 final &lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Move appsensor.org site over from static html to python&amp;lt;/strike&amp;gt; -&amp;gt; NOT NECESSARY&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q1 2015 (2.1) === &lt;br /&gt;
* First version of administration UI for appsensor (reporting / monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/5 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
* Extend reporting APIs (github issues [[https://github.com/jtmelton/appsensor/issues/10 github issue])&lt;br /&gt;
* Push v 2.1 when admin UI complete &lt;br /&gt;
* Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&lt;br /&gt;
* Workup example integration with ModSecurity CRS ([https://github.com/jtmelton/appsensor/issues/9 github issue])&lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Finish up developer documentation on github and appsensor.org ([https://github.com/jtmelton/appsensor/issues/12 github issue])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture)&lt;br /&gt;
&lt;br /&gt;
=== Q2 2015 (2.2) === &lt;br /&gt;
* Sample applications - simple implementations of the different execution modes)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
* Preparation for GSOC 2015 submission&lt;br /&gt;
&lt;br /&gt;
=== Q3 2015 (2.3) === &lt;br /&gt;
* GSOC 2015 mentoring (if selected)&lt;br /&gt;
* Trend monitoring implementation (good for GSOC project possibly)&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proposed Documentation Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 === &lt;br /&gt;
&lt;br /&gt;
Update AppSensor Guide to keep in step with code changes and improvements to ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project/Releases/AppSensor_0.1.3&amp;diff=184983</id>
		<title>Projects/OWASP AppSensor Project/Releases/AppSensor 0.1.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project/Releases/AppSensor_0.1.3&amp;diff=184983"/>
				<updated>2014-11-08T03:37:46Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: updating versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template: &amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Release About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP AppSensor Project&lt;br /&gt;
| project_home_page = OWASP AppSensor Project &lt;br /&gt;
&lt;br /&gt;
| release_name = AppSensor v2&lt;br /&gt;
| release_date = Nov 2014 (code / rc2) &amp;amp; May 2014 (doc / final)&lt;br /&gt;
| release_description = &lt;br /&gt;
| release_license = [http://creativecommons.org/licenses/by-sa/3.0/ '''Creative Commons Attribution Share Alike 3.0''' for documentation] &amp;amp; [http://opensource.org/licenses/MIT '''MIT License''' for Tools].  &lt;br /&gt;
| release_download_link = https://github.com/jtmelton/appsensor&lt;br /&gt;
 &lt;br /&gt;
| leader_name1 = Michael Coates&lt;br /&gt;
| leader_email1 = michael.coates@owasp.org&lt;br /&gt;
| leader_username1 = MichaelCoates&lt;br /&gt;
&lt;br /&gt;
| leader_name[2-10] = &lt;br /&gt;
| leader_email[2-10] =&lt;br /&gt;
| leader_username[2-10] =&lt;br /&gt;
&lt;br /&gt;
| contributor_name[1-10] = &lt;br /&gt;
| contributor_email[1-10] = &lt;br /&gt;
| contributor_username[1-10] =  &lt;br /&gt;
&lt;br /&gt;
| release_notes = https://github.com/jtmelton/appsensor&lt;br /&gt;
&lt;br /&gt;
| links_url1 = http://www.brighttalk.com/webcast/20680&lt;br /&gt;
| links_name1 = Automated Application Defenses to Thwart Advanced Attackers&lt;br /&gt;
&lt;br /&gt;
| links_url2 = https://www.owasp.org/index.php/File:Appsensor-pid.pdf&lt;br /&gt;
| links_name2 = Diagram&lt;br /&gt;
&lt;br /&gt;
| links_url3 = http://www.youtube.com/watch?v=8ItfuwvLxRk&lt;br /&gt;
| links_name3 = Live Demo&lt;br /&gt;
&lt;br /&gt;
| links_url4 = https://github.com/jtmelton/appsensor&lt;br /&gt;
| links_name4 = AppSensor Code&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=184982</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=184982"/>
				<updated>2014-11-08T03:31:54Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: roadmap updates: link to github issues, mark things that are complete, and add semantic version numbers for quarterly releases&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [18-19 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [13 Sep 2014] AppSensor Code v2.0.0 beta [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta released] &lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [08 May 2014] AppSensor Guide v2.0.1 released&lt;br /&gt;
* [02 May 2014] AppSensor Guide v2.0 released&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. A [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta v2.0.0 beta was released for review] on 13 September 2014.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 (2.0) === &lt;br /&gt;
* &amp;lt;strike&amp;gt;Oct - v 2.0.0 release candidate&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* Nov - v 2.0.0 final &lt;br /&gt;
* &amp;lt;strike&amp;gt;Additional unit tests&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
* Move appsensor.org site over from static html to python&lt;br /&gt;
* &amp;lt;strike&amp;gt;Finish up user documentation at appsensor.org&amp;lt;/strike&amp;gt; -&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
=== Q1 2015 (2.1) === &lt;br /&gt;
* First version of administration UI for appsensor (reporting / monitoring UI) (github issues [https://github.com/jtmelton/appsensor/issues/5 here] and [https://github.com/jtmelton/appsensor/issues/11 here])&lt;br /&gt;
* Extend reporting APIs (github issues [[https://github.com/jtmelton/appsensor/issues/10 github issue])&lt;br /&gt;
* Push v 2.1 when admin UI complete &lt;br /&gt;
* Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&lt;br /&gt;
* Workup example integration with ModSecurity CRS ([https://github.com/jtmelton/appsensor/issues/9 github issue])&lt;br /&gt;
* Get CI server (cloudbees?) setup ([https://github.com/jtmelton/appsensor/issues/15 github issue])&lt;br /&gt;
* Finish up developer documentation on github and appsensor.org ([https://github.com/jtmelton/appsensor/issues/12 github issue])&lt;br /&gt;
* Video demo of setting up appsensor (screen capture)&lt;br /&gt;
&lt;br /&gt;
=== Q2 2015 (2.2) === &lt;br /&gt;
* Sample applications - simple implementations of the different execution modes)&lt;br /&gt;
* New detection point implementations ([https://github.com/jtmelton/appsensor/issues/8 github issue])&lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
* Preparation for GSOC 2015 submission&lt;br /&gt;
&lt;br /&gt;
=== Q3 2015 (2.3) === &lt;br /&gt;
* GSOC 2015 mentoring (if selected)&lt;br /&gt;
* Trend monitoring implementation (good for GSOC project possibly)&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proposed Documentation Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 === &lt;br /&gt;
&lt;br /&gt;
Update AppSensor Guide to keep in step with code changes and improvements to ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=183307</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=183307"/>
				<updated>2014-10-05T02:19:21Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: updating code roadmap to be final - not in review&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [18-19 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [13 Sep 2014] AppSensor Code v2.0.0 beta [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta released] &lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [08 May 2014] AppSensor Guide v2.0.1 released&lt;br /&gt;
* [02 May 2014] AppSensor Guide v2.0 released&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
* Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. A [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta v2.0.0 beta was released for review] on 13 September 2014.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Code Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 === &lt;br /&gt;
* Oct - v 2.0.0 release candidate&lt;br /&gt;
* Nov - v 2.0.0 final &lt;br /&gt;
* Additional unit tests&lt;br /&gt;
* Move appsensor.org site over from static html to python&lt;br /&gt;
* Finish up user documentation at appsensor.org&lt;br /&gt;
&lt;br /&gt;
=== Q1 2015 === &lt;br /&gt;
* First version of administration UI for appsensor (reporting / monitoring UI) &lt;br /&gt;
* Extend reporting APIs&lt;br /&gt;
* Push v 2.1 when admin UI complete&lt;br /&gt;
* Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&lt;br /&gt;
* Workup example integration with ModSecurity CRS&lt;br /&gt;
* Get CI server (cloudbees?) setup &lt;br /&gt;
* Finish up developer documentation on github and appsensor.org&lt;br /&gt;
* Video demo of setting up appsensor (screen capture)&lt;br /&gt;
&lt;br /&gt;
=== Q2 2015 === &lt;br /&gt;
* Sample applications - simple implementations of the different execution modes)&lt;br /&gt;
* New detection point implementations &lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
* Preparation for GSOC 2015 submission&lt;br /&gt;
&lt;br /&gt;
=== Q3 2015 === &lt;br /&gt;
* GSOC 2015 mentoring (if selected)&lt;br /&gt;
* Trend monitoring implementation (good for GSOC project possibly)&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proposed Documentation Roadmap ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 === &lt;br /&gt;
&lt;br /&gt;
Update AppSensor Guide to keep in step with code changes and improvements to ideas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project/Releases/AppSensor_0.1.3&amp;diff=182734</id>
		<title>Projects/OWASP AppSensor Project/Releases/AppSensor 0.1.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project/Releases/AppSensor_0.1.3&amp;diff=182734"/>
				<updated>2014-09-23T02:31:28Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: updating links and updated alpha to beta version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template: &amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Release About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP AppSensor Project&lt;br /&gt;
| project_home_page = OWASP AppSensor Project &lt;br /&gt;
&lt;br /&gt;
| release_name = AppSensor v2 (beta)&lt;br /&gt;
| release_date = June 2014 (code) &amp;amp; May 2014 (doc)&lt;br /&gt;
| release_description = &lt;br /&gt;
| release_license = [http://creativecommons.org/licenses/by-sa/3.0/ '''Creative Commons Attribution Share Alike 3.0''' for documentation] &amp;amp; [http://opensource.org/licenses/MIT '''MIT License''' for Tools].  &lt;br /&gt;
| release_download_link = https://github.com/jtmelton/appsensor&lt;br /&gt;
 &lt;br /&gt;
| leader_name1 = Michael Coates&lt;br /&gt;
| leader_email1 = michael.coates@owasp.org&lt;br /&gt;
| leader_username1 = MichaelCoates&lt;br /&gt;
&lt;br /&gt;
| leader_name[2-10] = &lt;br /&gt;
| leader_email[2-10] =&lt;br /&gt;
| leader_username[2-10] =&lt;br /&gt;
&lt;br /&gt;
| contributor_name[1-10] = &lt;br /&gt;
| contributor_email[1-10] = &lt;br /&gt;
| contributor_username[1-10] =  &lt;br /&gt;
&lt;br /&gt;
| release_notes = https://github.com/jtmelton/appsensor&lt;br /&gt;
&lt;br /&gt;
| links_url1 = http://www.brighttalk.com/webcast/20680&lt;br /&gt;
| links_name1 = Automated Application Defenses to Thwart Advanced Attackers&lt;br /&gt;
&lt;br /&gt;
| links_url2 = https://www.owasp.org/index.php/File:Appsensor-pid.pdf&lt;br /&gt;
| links_name2 = Diagram&lt;br /&gt;
&lt;br /&gt;
| links_url3 = http://www.youtube.com/watch?v=8ItfuwvLxRk&lt;br /&gt;
| links_name3 = Live Demo&lt;br /&gt;
&lt;br /&gt;
| links_url4 = https://github.com/jtmelton/appsensor&lt;br /&gt;
| links_name4 = AppSensor Code&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=182733</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=182733"/>
				<updated>2014-09-23T02:27:45Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: /* Proposed Code Roadmap (IN REVIEW) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [18-19 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [13 Sep 2014] AppSensor Code v2.0.0 beta [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta released] &lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [08 May 2014] AppSensor Guide v2.0.1 released&lt;br /&gt;
* [02 May 2014] AppSensor Guide v2.0 released&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. A [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta v2.0.0 beta was released for review] on 13 September 2014.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Proposed Code Roadmap (IN REVIEW) ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 === &lt;br /&gt;
* Oct - v 2.0.0 release candidate&lt;br /&gt;
* Nov - v 2.0.0 final &lt;br /&gt;
* Additional unit tests&lt;br /&gt;
* Move appsensor.org site over from static html to python&lt;br /&gt;
* Finish up user documentation at appsensor.org&lt;br /&gt;
&lt;br /&gt;
=== Q1 2015 === &lt;br /&gt;
* First version of administration UI for appsensor (reporting / monitoring UI) &lt;br /&gt;
* Extend reporting APIs&lt;br /&gt;
* Push v 2.1 when admin UI complete&lt;br /&gt;
* Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&lt;br /&gt;
* Workup example integration with ModSecurity CRS&lt;br /&gt;
* Get CI server (cloudbees?) setup &lt;br /&gt;
* Finish up developer documentation on github and appsensor.org&lt;br /&gt;
* Video demo of setting up appsensor (screen capture)&lt;br /&gt;
&lt;br /&gt;
=== Q2 2015 === &lt;br /&gt;
* Sample applications - simple implementations of the different execution modes)&lt;br /&gt;
* New detection point implementations &lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
* Preparation for GSOC 2015 submission&lt;br /&gt;
&lt;br /&gt;
=== Q3 2015 === &lt;br /&gt;
* GSOC 2015 mentoring (if selected)&lt;br /&gt;
* Trend monitoring implementation (good for GSOC project possibly)&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=182732</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=182732"/>
				<updated>2014-09-23T02:26:03Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: /* Road Map and Getting Involved */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application. This project includes both a well documented idea (the Guide) and a reference implementation (the Code). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-small.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
See the [http://appsensor.org/ new AppSensor website] for an introduction and quick start instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
&lt;br /&gt;
* [18-19 Sep 2014] Guide book giveaway and signing at [http://2014.appsecusa.org/2014/ AppSecUSA 2014]&lt;br /&gt;
* [17 Sep 2014] Presentation at [http://www.meetup.com/London-API-Group/events/200768922/ London API Group]&lt;br /&gt;
* [13 Sep 2014] AppSensor Code v2.0.0 beta [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta released] &lt;br /&gt;
* [12 Sep 2014] [http://appsensor.org/ AppSensor website] launched&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [08 May 2014] AppSensor Guide v2.0.1 released&lt;br /&gt;
* [02 May 2014] AppSensor Guide v2.0 released&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Repository ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. A [https://github.com/jtmelton/appsensor/releases/tag/v2.0.0-beta v2.0.0 beta was released for review] on 13 September 2014.&lt;br /&gt;
&lt;br /&gt;
The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
== Proposed Code Roadmap (IN REVIEW) ==&lt;br /&gt;
&lt;br /&gt;
=== Q4 2014 === &lt;br /&gt;
* Oct - v 2.0.0 release candidate&lt;br /&gt;
* Nov - v 2.0.0 final &lt;br /&gt;
* Additional unit tests&lt;br /&gt;
* Move appsensor.org site over from static html to python&lt;br /&gt;
* Finish up user documentation at appsensor.org&lt;br /&gt;
&lt;br /&gt;
=== Q1 2015 === &lt;br /&gt;
* First version of administration UI for appsensor (reporting / monitoring UI) &lt;br /&gt;
* Extend reporting APIs&lt;br /&gt;
* Push v 2.1 when admin UI complete&lt;br /&gt;
* Add at least 1 attack emitter for DEVOPS visualization (JMX -&amp;gt; SNMP, syslog, SNMP, .. something)&lt;br /&gt;
* Get CI server (cloudbees?) setup &lt;br /&gt;
* Finish up developer documentation on github and appsensor.org&lt;br /&gt;
* Video demo of setting up appsensor (screen capture)&lt;br /&gt;
&lt;br /&gt;
=== Q2 2015 === &lt;br /&gt;
* Sample applications - simple implementations of the different execution modes)&lt;br /&gt;
* New detection point implementations &lt;br /&gt;
* AOP examples of detection point implementations&lt;br /&gt;
* Preparation for GSOC 2015 submission&lt;br /&gt;
&lt;br /&gt;
=== Q3 2015 === &lt;br /&gt;
* GSOC 2015 mentoring (if selected)&lt;br /&gt;
* Trend monitoring implementation (good for GSOC project possibly)&lt;br /&gt;
* Additional integrations for reporting (graphite, ganglia -&amp;gt; see list supported by codahale metrics)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Website ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor-website-large.jpg|link=http://appsensor.org/]]&lt;br /&gt;
&lt;br /&gt;
[http://appsensor.org/ http://appsensor.org/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=180378</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=180378"/>
				<updated>2014-08-10T04:41:35Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: Remove unused links and tag old version as legacy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [06 May 2014] AppSensor Guide v2.0 announced&lt;br /&gt;
* [01 May 2014] AppSensor Guide v2.0 in final production stages&lt;br /&gt;
* [21 Nov 2013] [http://appsecusa2013.sched.org/event/6dddc818ce383f9f16c93a6942194fcc?iframe=no&amp;amp;w=990&amp;amp;sidebar=yes&amp;amp;bg=no AppSensor Project presentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Repositories ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
* (LEGACY) v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project&amp;diff=180377</id>
		<title>Projects/OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project&amp;diff=180377"/>
				<updated>2014-08-10T04:37:25Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: updated versions of various things and removed old links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:&amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Project About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP AppSensor Project&lt;br /&gt;
| project_home_page = :Category:OWASP AppSensor Project&lt;br /&gt;
| project_description = &lt;br /&gt;
Real Time Application Attack Detection and Response&lt;br /&gt;
'''Overview''' &lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement intrusion detection and automated response into an existing application. Current efforts are underway to create the AppSensor tool which can be utilized by any existing application interested in adding detection and response capabilities.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Detection''' &lt;br /&gt;
AppSensor defines over 50 different [http://www.owasp.org/index.php/AppSensor_DetectionPoints detection points] which can be used to identify a malicious attacker.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Response'''&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator.  More than a dozen [http://www.owasp.org/index.php/AppSensor_ResponseActions response actions] are described.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Defending the Application'''&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
| project_license = [http://creativecommons.org/licenses/by-sa/3.0/ '''Creative Commons Attribution Share Alike 3.0''' for documentation] &amp;amp; [http://opensource.org/licenses/MIT '''MIT License''' for Tools]  &lt;br /&gt;
&lt;br /&gt;
| leader_name1 = Michael Coates&lt;br /&gt;
| leader_email1 = michael.coates@owasp.org&lt;br /&gt;
| leader_username1 = MichaelCoates&lt;br /&gt;
&lt;br /&gt;
| leader_name2 = John Melton&lt;br /&gt;
| leader_email2 = john.melton@owasp.org&lt;br /&gt;
| leader_username2 = John Melton&lt;br /&gt;
&lt;br /&gt;
| leader_name3 = Colin Watson&lt;br /&gt;
| leader_email3 = colin.watson@owasp.org&lt;br /&gt;
| leader_username3 = Clerkendweller&lt;br /&gt;
&lt;br /&gt;
| leader_name4 = Dennis Groves&lt;br /&gt;
| leader_email4 = dennis.groves@owasp.org&lt;br /&gt;
| leader_username4 = Dennis Groves&lt;br /&gt;
&lt;br /&gt;
| contributor_name1 = Ryan Barnett&lt;br /&gt;
| contributor_email1 = ryan.barnett@owasp.org&lt;br /&gt;
| contributor_username1 = Rcbarnett&lt;br /&gt;
&lt;br /&gt;
| contributor_name2 = Simon Bennetts&lt;br /&gt;
| contributor_email2 = &lt;br /&gt;
| contributor_username2 = Simon Bennetts&lt;br /&gt;
&lt;br /&gt;
| contributor_name3 = August Detlefsen&lt;br /&gt;
| contributor_email3 = &lt;br /&gt;
| contributor_username3 = &lt;br /&gt;
&lt;br /&gt;
| contributor_name4 = Randy Janida&lt;br /&gt;
| contributor_email4 = &lt;br /&gt;
| contributor_username4 =&lt;br /&gt;
&lt;br /&gt;
| contributor_name5 = Jim Manico&lt;br /&gt;
| contributor_email5 = jim.manico@owasp.org&lt;br /&gt;
| contributor_username5 = Jmanico&lt;br /&gt;
&lt;br /&gt;
| contributor_name6 = Giri Nambari&lt;br /&gt;
| contributor_email6 = &lt;br /&gt;
| contributor_username6 = &lt;br /&gt;
&lt;br /&gt;
| contributor_name7 = Eric Sheridan&lt;br /&gt;
| contributor_email7 = &lt;br /&gt;
| contributor_username7 = Esheridan&lt;br /&gt;
&lt;br /&gt;
| contributor_name8 = John Stevens&lt;br /&gt;
| contributor_email8 = &lt;br /&gt;
| contributor_username8 = jsteven@cigital.com&lt;br /&gt;
&lt;br /&gt;
| contributor_name8 = Kevin Wall&lt;br /&gt;
| contributor_email8 = &lt;br /&gt;
| contributor_username8 =&lt;br /&gt;
&lt;br /&gt;
| contributor_name9 = Dennis Groves&lt;br /&gt;
| contributor_email9 = &lt;br /&gt;
| contributor_username9 =&lt;br /&gt;
&lt;br /&gt;
| pamphlet_link = http://code.google.com/p/appsensor/downloads/detail?name=Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
| presentation_link = http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf&lt;br /&gt;
&lt;br /&gt;
| mailing_list_name = https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project&lt;br /&gt;
&lt;br /&gt;
| project_road_map = http://www.owasp.org/index.php/OWASP_AppSensor_Project#tab=Project_Roadmap&lt;br /&gt;
&lt;br /&gt;
| links_url1 = http://www.brighttalk.com/webcast/20680&lt;br /&gt;
| links_name1 = Automated Application Defenses to Thwart Advanced Attackers&lt;br /&gt;
&lt;br /&gt;
| links_url2 = https://www.owasp.org/index.php/File:Appsensor-pid.pdf&lt;br /&gt;
| links_name2 = Diagram&lt;br /&gt;
&lt;br /&gt;
| links_url3 = https://github.com/jtmelton/appsensor&lt;br /&gt;
| links_name3 = AppSensor v2 Code&lt;br /&gt;
&lt;br /&gt;
| links_url4 = https://www.owasp.org/index.php/Project_Information:template_AppSensor_Project&lt;br /&gt;
| links_name4 = Former Project About&lt;br /&gt;
&lt;br /&gt;
| release_1 = 	AppSensor v2 (alpha)&lt;br /&gt;
&lt;br /&gt;
| release_2 = &lt;br /&gt;
&lt;br /&gt;
| release_3 =&lt;br /&gt;
&lt;br /&gt;
| release_4 =&lt;br /&gt;
&amp;lt;!--- The line below is for GPC usage only. Please do not edit it ---&amp;gt;&lt;br /&gt;
| project_about_page = Projects/OWASP AppSensor Project&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project/Releases/AppSensor_0.1.3&amp;diff=180376</id>
		<title>Projects/OWASP AppSensor Project/Releases/AppSensor 0.1.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project/Releases/AppSensor_0.1.3&amp;diff=180376"/>
				<updated>2014-08-10T04:36:24Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: updated versions of various things and removed old links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template: &amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Release About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP AppSensor Project&lt;br /&gt;
| project_home_page = OWASP AppSensor Project &lt;br /&gt;
&lt;br /&gt;
| release_name = AppSensor v2 (alpha)&lt;br /&gt;
| release_date = June 2014 (code) &amp;amp; May 2014 (doc)&lt;br /&gt;
| release_description = &lt;br /&gt;
| release_license = [http://creativecommons.org/licenses/by-sa/3.0/ '''Creative Commons Attribution Share Alike 3.0''' for documentation] &amp;amp; [http://opensource.org/licenses/MIT '''MIT License''' for Tools].  &lt;br /&gt;
| release_download_link = https://github.com/jtmelton/appsensor&lt;br /&gt;
 &lt;br /&gt;
| leader_name1 = Michael Coates&lt;br /&gt;
| leader_email1 = michael.coates@owasp.org&lt;br /&gt;
| leader_username1 = MichaelCoates&lt;br /&gt;
&lt;br /&gt;
| leader_name[2-10] = &lt;br /&gt;
| leader_email[2-10] =&lt;br /&gt;
| leader_username[2-10] =&lt;br /&gt;
&lt;br /&gt;
| contributor_name[1-10] = &lt;br /&gt;
| contributor_email[1-10] = &lt;br /&gt;
| contributor_username[1-10] =  &lt;br /&gt;
&lt;br /&gt;
| release_notes = https://github.com/jtmelton/appsensor&lt;br /&gt;
&lt;br /&gt;
| links_url1 = http://www.brighttalk.com/webcast/20680&lt;br /&gt;
| links_name1 = Automated Application Defenses to Thwart Advanced Attackers&lt;br /&gt;
&lt;br /&gt;
| links_url2 = https://www.owasp.org/index.php/File:Appsensor-pid.pdf&lt;br /&gt;
| links_name2 = Diagram&lt;br /&gt;
&lt;br /&gt;
| links_url3 = http://www.youtube.com/watch?v=8ItfuwvLxRk&lt;br /&gt;
| links_name3 = Live Demo&lt;br /&gt;
&lt;br /&gt;
| links_url4 = http://code.google.com/p/appsensor/&lt;br /&gt;
| links_name4 = AppSensor Code&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=180374</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=180374"/>
				<updated>2014-08-10T03:53:11Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: adding slight update to overview statement to specify consumers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
The project offers 1) a comprehensive guide and 2) a reference implementation. These resources can be used by architects, developers, security analyst and system administrators to plan, implement and monitor an AppSensor system.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [06 May 2014] AppSensor Guide v2.0 announced&lt;br /&gt;
* [01 May 2014] AppSensor Guide v2.0 in final production stages&lt;br /&gt;
* [21 Nov 2013] [http://appsecusa2013.sched.org/event/6dddc818ce383f9f16c93a6942194fcc?iframe=no&amp;amp;w=990&amp;amp;sidebar=yes&amp;amp;bg=no AppSensor Project presentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Repositories ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.owasp.org/index.php/AppSensor_Developer_Guide Developer Guide]&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
*v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/appsensor/source/browse/trunk/AppSensor-Tutorial/ AppSensorTutorial]&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=180373</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=180373"/>
				<updated>2014-08-10T03:47:52Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: updating license info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. &lt;br /&gt;
&lt;br /&gt;
=== Guide ===&lt;br /&gt;
The guide is 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.&lt;br /&gt;
&lt;br /&gt;
=== Reference Implementation ===&lt;br /&gt;
The reference implementation is licensed under the [http://opensource.org/licenses/MIT MIT License], which is a permissive (commercial-friendly) license only requiring you to include a copy of the license upon distribution or copying.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [06 May 2014] AppSensor Guide v2.0 announced&lt;br /&gt;
* [01 May 2014] AppSensor Guide v2.0 in final production stages&lt;br /&gt;
* [21 Nov 2013] [http://appsecusa2013.sched.org/event/6dddc818ce383f9f16c93a6942194fcc?iframe=no&amp;amp;w=990&amp;amp;sidebar=yes&amp;amp;bg=no AppSensor Project presentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Repositories ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.owasp.org/index.php/AppSensor_Developer_Guide Developer Guide]&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
*v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/appsensor/source/browse/trunk/AppSensor-Tutorial/ AppSensorTutorial]&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project&amp;diff=180372</id>
		<title>Projects/OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_AppSensor_Project&amp;diff=180372"/>
				<updated>2014-08-10T03:43:41Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: clean up email addresses&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:&amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Project About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP AppSensor Project&lt;br /&gt;
| project_home_page = :Category:OWASP AppSensor Project&lt;br /&gt;
| project_description = &lt;br /&gt;
Real Time Application Attack Detection and Response&lt;br /&gt;
'''Overview''' &lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement intrusion detection and automated response into an existing application. Current efforts are underway to create the AppSensor tool which can be utilized by any existing application interested in adding detection and response capabilities.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Detection''' &lt;br /&gt;
AppSensor defines over 50 different [http://www.owasp.org/index.php/AppSensor_DetectionPoints detection points] which can be used to identify a malicious attacker.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Response'''&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator.  More than a dozen [http://www.owasp.org/index.php/AppSensor_ResponseActions response actions] are described.&lt;br /&gt;
&amp;lt;br&amp;gt;'''Defending the Application'''&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
| project_license = [http://creativecommons.org/licenses/by-sa/3.0/ '''Creative Commons Attribution Share Alike 3.0''' for documentation] &amp;amp; [http://www.opensource.org/licenses/bsd-license.php '''New BSD License''' for Tools]  &lt;br /&gt;
&lt;br /&gt;
| leader_name1 = Michael Coates&lt;br /&gt;
| leader_email1 = michael.coates@owasp.org&lt;br /&gt;
| leader_username1 = MichaelCoates&lt;br /&gt;
&lt;br /&gt;
| leader_name2 = John Melton&lt;br /&gt;
| leader_email2 = john.melton@owasp.org&lt;br /&gt;
| leader_username2 = John Melton&lt;br /&gt;
&lt;br /&gt;
| leader_name3 = Colin Watson&lt;br /&gt;
| leader_email3 = colin.watson@owasp.org&lt;br /&gt;
| leader_username3 = Clerkendweller&lt;br /&gt;
&lt;br /&gt;
| leader_name4 = Dennis Groves&lt;br /&gt;
| leader_email4 = dennis.groves@owasp.org&lt;br /&gt;
| leader_username4 = Dennis Groves&lt;br /&gt;
&lt;br /&gt;
| contributor_name1 = Ryan Barnett&lt;br /&gt;
| contributor_email1 = ryan.barnett@owasp.org&lt;br /&gt;
| contributor_username1 = Rcbarnett&lt;br /&gt;
&lt;br /&gt;
| contributor_name2 = Simon Bennetts&lt;br /&gt;
| contributor_email2 = &lt;br /&gt;
| contributor_username2 = Simon Bennetts&lt;br /&gt;
&lt;br /&gt;
| contributor_name3 = August Detlefsen&lt;br /&gt;
| contributor_email3 = &lt;br /&gt;
| contributor_username3 = &lt;br /&gt;
&lt;br /&gt;
| contributor_name4 = Randy Janida&lt;br /&gt;
| contributor_email4 = &lt;br /&gt;
| contributor_username4 =&lt;br /&gt;
&lt;br /&gt;
| contributor_name5 = Jim Manico&lt;br /&gt;
| contributor_email5 = jim.manico@owasp.org&lt;br /&gt;
| contributor_username5 = Jmanico&lt;br /&gt;
&lt;br /&gt;
| contributor_name6 = Giri Nambari&lt;br /&gt;
| contributor_email6 = &lt;br /&gt;
| contributor_username6 = &lt;br /&gt;
&lt;br /&gt;
| contributor_name7 = Eric Sheridan&lt;br /&gt;
| contributor_email7 = &lt;br /&gt;
| contributor_username7 = Esheridan&lt;br /&gt;
&lt;br /&gt;
| contributor_name8 = John Stevens&lt;br /&gt;
| contributor_email8 = &lt;br /&gt;
| contributor_username8 = jsteven@cigital.com&lt;br /&gt;
&lt;br /&gt;
| contributor_name8 = Kevin Wall&lt;br /&gt;
| contributor_email8 = &lt;br /&gt;
| contributor_username8 =&lt;br /&gt;
&lt;br /&gt;
| contributor_name9 = Dennis Groves&lt;br /&gt;
| contributor_email9 = &lt;br /&gt;
| contributor_username9 =&lt;br /&gt;
&lt;br /&gt;
| pamphlet_link = http://code.google.com/p/appsensor/downloads/detail?name=Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
| presentation_link = http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf&lt;br /&gt;
&lt;br /&gt;
| mailing_list_name = https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project&lt;br /&gt;
&lt;br /&gt;
| project_road_map = http://www.owasp.org/index.php/OWASP_AppSensor_Project#tab=Project_Roadmap&lt;br /&gt;
&lt;br /&gt;
| links_url1 = http://www.owasp.org/index.php/AppSensor_Developer_Guide&lt;br /&gt;
| links_name1 = AppSensor &amp;amp; ESAPI Developer's Guide&lt;br /&gt;
&lt;br /&gt;
| links_url2 = http://code.google.com/p/appsensor/source/browse/trunk/AppSensor-Tutorial/&lt;br /&gt;
| links_name2 = AppSensor Tutorial&lt;br /&gt;
&lt;br /&gt;
| links_url3 = https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf&lt;br /&gt;
| links_name3 = Download AppSensor Book - PDF&lt;br /&gt;
&lt;br /&gt;
| links_url4 = https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc&lt;br /&gt;
| links_name4 = Download AppSensor Book - Word&lt;br /&gt;
&lt;br /&gt;
| links_url5 = http://www.brighttalk.com/webcast/20680&lt;br /&gt;
| links_name5 = Automated Application Defenses to Thwart Advanced Attackers&lt;br /&gt;
&lt;br /&gt;
| links_url6 = https://www.owasp.org/index.php/File:Appsensor-pid.pdf&lt;br /&gt;
| links_name6 = Diagram&lt;br /&gt;
&lt;br /&gt;
| links_url7 = http://www.youtube.com/watch?v=8ItfuwvLxRk&lt;br /&gt;
| links_name7 = Live Demo&lt;br /&gt;
&lt;br /&gt;
| links_url8 = http://code.google.com/p/appsensor/&lt;br /&gt;
| links_name8 = AppSensor Code&lt;br /&gt;
&lt;br /&gt;
| links_url9 = https://www.owasp.org/index.php/Project_Information:template_AppSensor_Project&lt;br /&gt;
| links_name9 = Former Project About&lt;br /&gt;
&lt;br /&gt;
| release_1 = 	AppSensor 0.1.3&lt;br /&gt;
&lt;br /&gt;
| release_2 = &lt;br /&gt;
&lt;br /&gt;
| release_3 =&lt;br /&gt;
&lt;br /&gt;
| release_4 =&lt;br /&gt;
&amp;lt;!--- The line below is for GPC usage only. Please do not edit it ---&amp;gt;&lt;br /&gt;
| project_about_page = Projects/OWASP AppSensor Project&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=180371</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=180371"/>
				<updated>2014-08-10T03:42:57Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. It is 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.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:MichaelCoates Michael Coates] [mailto:michael.coates@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Dennis_Groves Dennis Groves] [mailto:dennis.groves@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:John_Melton John Melton] [mailto:john.melton@owasp.org @]&lt;br /&gt;
* [https://www.owasp.org/index.php/User:Clerkendweller Colin Watson] [mailto:colin.watson@owasp.org @]&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [06 May 2014] AppSensor Guide v2.0 announced&lt;br /&gt;
* [01 May 2014] AppSensor Guide v2.0 in final production stages&lt;br /&gt;
* [21 Nov 2013] [http://appsecusa2013.sched.org/event/6dddc818ce383f9f16c93a6942194fcc?iframe=no&amp;amp;w=990&amp;amp;sidebar=yes&amp;amp;bg=no AppSensor Project presentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Repositories ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.owasp.org/index.php/AppSensor_Developer_Guide Developer Guide]&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
*v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/appsensor/source/browse/trunk/AppSensor-Tutorial/ AppSensorTutorial]&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=180370</id>
		<title>OWASP AppSensor Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_AppSensor_Project&amp;diff=180370"/>
				<updated>2014-08-10T03:34:42Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Appsensor-header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement [https://www.owasp.org/index.php/ApplicationLayerIntrustionDetection intrusion detection and automated response] into applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
If you walk into a bank and try opening random doors, you will be identified, led out of the building and possibly arrested. However, if you log into an online banking application and start looking for vulnerabilities no one will say anything. This needs to change!  As critical applications continue to become more accessible and inter-connected, it is paramount that critical information is sufficiently protected. We must also realize that our defenses may not be perfect. Given enough time, attackers can identify security flaws in the design or implementation of an application. &lt;br /&gt;
&lt;br /&gt;
In addition to implementing layers of defense within an application, we must identify malicious individuals before they are able to identify any gaps in our defenses. The best place to identify malicious activity against the application is within the application itself. Network based intrusion detection systems are not appropriate to handle the custom and intricate workings of an enterprise application and are ill-suited to detect attacks focusing on application logic such as authentication, access control, etc. This project delivers a framework which can be used to build a robust system of attack detection, analysis, and response within an enterprise application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detect and Respond to Attacks from Within the Application ==&lt;br /&gt;
&lt;br /&gt;
=== Detection ===&lt;br /&gt;
AppSensor defines over 50 different detection points which can be used to identify a malicious attacker.&lt;br /&gt;
=== Response===&lt;br /&gt;
AppSensor provides guidance on how to respond once a malicious attacker has been identified. Possible actions include: logging out the user, locking the account or notifying an administrator. More than a dozen response actions are described.&lt;br /&gt;
===Defending the Application===&lt;br /&gt;
An attacker often requires numerous probes and attack attempts in order to locate an exploitable vulnerability within the application. By using AppSensor it is possible to identify and eliminate the threat of an attacker before they are able to successfully identify an exploitable flaw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Citations==&lt;br /&gt;
&lt;br /&gt;
* [http://www.crosstalkonline.org/ CrossTalk], The Journal of Defense Software Engineering&lt;br /&gt;
** Creating Attack-Aware Software Applications with Real Time Defenses, Vol. 24, No. 5, Sep/Oct 2011&lt;br /&gt;
&lt;br /&gt;
* Norwegian University of Science and Technology in Tronheim&lt;br /&gt;
** [http://ntnu.diva-portal.org/smash/record.jsf?pid=diva2:566091 AppSensor: Attack-Aware Applications Compared Against a Web Application Firewall and an Intrusion Detection System], Thomassen P, 2012&lt;br /&gt;
&lt;br /&gt;
*US Department of Homeland Security&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/topics/resilient-software/ Resilient Software]&lt;br /&gt;
** [https://buildsecurityin.us-cert.gov/swa/resources Software Assurance Resources]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP AppSensor is free to use. It is 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.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;copy; OWASP Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is AppSensor? ==&lt;br /&gt;
&lt;br /&gt;
Detect and respond to attacks from within the application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[File:Appsensor_crosstalk_small.jpg|link=http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf]]&lt;br /&gt;
&lt;br /&gt;
Download the [http://www.crosstalkonline.org/storage/issue-archives/2011/201109/201109-Watson.pdf PDF] from CrossTalk Magazine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Founder ==&lt;br /&gt;
&lt;br /&gt;
* Michael Coates&lt;br /&gt;
&lt;br /&gt;
| leader_name1 = Michael Coates&lt;br /&gt;
| leader_email1 = Michael.Coates@owasp.org&lt;br /&gt;
| leader_username1 = MichaelCoates&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leaders ==&lt;br /&gt;
&lt;br /&gt;
* Dennis Groves&lt;br /&gt;
* John Melton&lt;br /&gt;
* Colin Watson&lt;br /&gt;
&lt;br /&gt;
| leader_name1 = Michael Coates&lt;br /&gt;
| leader_email1 = Michael.Coates@owasp.org&lt;br /&gt;
| leader_username1 = MichaelCoates&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:OWASP_ModSecurity_Core_Rule_Set_Project|OWASP ModSecurity Core Rule Set]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide v2.0.1 EN&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Hard copy]&lt;br /&gt;
* OWASP AppSensor Reference Implementation&lt;br /&gt;
** [https://github.com/jtmelton/appsensor v2 Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* [15 May 2014] Presentation at [https://www.owasp.org/index.php/London OWASP London]&lt;br /&gt;
* [06 May 2014] AppSensor Guide v2.0 announced&lt;br /&gt;
* [01 May 2014] AppSensor Guide v2.0 in final production stages&lt;br /&gt;
* [21 Nov 2013] [http://appsecusa2013.sched.org/event/6dddc818ce383f9f16c93a6942194fcc?iframe=no&amp;amp;w=990&amp;amp;sidebar=yes&amp;amp;bg=no AppSensor Project presentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code Repositories ==&lt;br /&gt;
* AppSensor v2 https://github.com/jtmelton/appsensor (Current)&lt;br /&gt;
Note: LEGACY AppSensor v1 https://code.google.com/p/appsensor/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
[[File:AppSensor2_small.jpg|link=]]&lt;br /&gt;
&lt;br /&gt;
The AppSensor Guide v2.0 can be purchased at cost as a [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html print on demand book] from Lulu.com.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Owasp-labs-trans-85.png|link=:Category:OWASP_Project#tab=Terminology]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=Builders]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=Defenders]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_DOC.jpg|link=]]   &lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
&lt;br /&gt;
== Volunteers ==&lt;br /&gt;
&lt;br /&gt;
All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, make introductions, produce demonstration code, promote the concept, and provide OWASP support. They participated via the project’s mailing lists, by developing code, by updating the wiki, by undertaking research studies, and through contributions during the AppSensor working session at the OWASP Summit 2011 in Portugal and the AppSensor Summit at AppSec USA 2011. Without all their efforts, the project would not have progressed to this point, and this guide would not have been completed.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Josh Amishav-Zlatin&lt;br /&gt;
*Ryan Barnett&lt;br /&gt;
*Simon Bennetts&lt;br /&gt;
*Joe Bernik&lt;br /&gt;
*Rex Booth&lt;br /&gt;
*Luke Briner&lt;br /&gt;
*Rauf Butt&lt;br /&gt;
*Fabio Cerullo&lt;br /&gt;
*Marc Chisinevski&lt;br /&gt;
*Robert Chojnacki&lt;br /&gt;
*Michael Coates&lt;br /&gt;
*Dinis Cruz&lt;br /&gt;
*August Detlefsen&lt;br /&gt;
*Ryan Dewhurst&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Erlend Oftedal&lt;br /&gt;
*Sean Fay&lt;br /&gt;
*Dennis Groves&lt;br /&gt;
*Randy Janida&lt;br /&gt;
*Chetan Karande&lt;br /&gt;
*Eoin Keary&lt;br /&gt;
*Alex Lauerman&lt;br /&gt;
*Junior Lazuardi&lt;br /&gt;
*Jason Li&lt;br /&gt;
*Manuel López Arredondo&lt;br /&gt;
*Bob Maier&lt;br /&gt;
*Jim Manico&lt;br /&gt;
*Sherif Mansour Farag&lt;br /&gt;
*John Melton&lt;br /&gt;
&lt;br /&gt;
   | width=&amp;quot;200&amp;quot; align=&amp;quot;left&amp;quot; valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
*Craig Munson&lt;br /&gt;
*Giri Nambari&lt;br /&gt;
*Jay Reynolds&lt;br /&gt;
*Chris Schmidt&lt;br /&gt;
*Sahil Shah&lt;br /&gt;
*Eric Sheridan&lt;br /&gt;
*John Steven&lt;br /&gt;
*Alex Thissen&lt;br /&gt;
*Don Thomas&lt;br /&gt;
*Christopher Tidball&lt;br /&gt;
*Kevin W Wall&lt;br /&gt;
*Colin Watson&lt;br /&gt;
*Mehmet Yilmaz&lt;br /&gt;
&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Summer of Code 2008==&lt;br /&gt;
The AppSensor Project  was initially supported by the [https://www.owasp.org/index.php/OWASP_Summer_of_Code_2008 OWASP Summer of Code 2008], leading to the publication of the book AppSensor v1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Google Summer of Code 2012==&lt;br /&gt;
Additional development work on [http://www.google-melange.com/gsoc/project/google/gsoc2012/edil/60002 SOAP web services] was kindly supported by the [http://www.google-melange.com/gsoc/program/home/google/gsoc2012 Google Summer of Code 2012].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Acknowledgements ==&lt;br /&gt;
The project has also benefitted greatly from the generous contribution of time and effort by many volunteers in the OWASP community including those listed above, and contributors to the OWASP ESAPI project, members of the former OWASP Global Projects Committee, the OWASP Board, OWASP staff and support from the OWASP Project Reboot initiative. The v2 code and documentation were conceived during the AppSensor Summit held during AppSec USA 2011 in Minneapolis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
&lt;br /&gt;
Please join the project's mailing lists to keep up-to-date with what's going on, and to contribute your ideas, feedback, and experience:&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-project General project]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp-appsensor-dev Code development]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current activities ==&lt;br /&gt;
&lt;br /&gt;
=== v2 Code ===&lt;br /&gt;
&lt;br /&gt;
The current code being worked on is located on [https://github.com/jtmelton/appsensor GitHub]&lt;br /&gt;
&lt;br /&gt;
The code has been fully rewritten. The main reason for the rewrite was to allow a client-server style model as opposed to requiring AppSensor be fully embedded in the application. You can now have a central server collecting events from multiple applications and performing analysis. These front-end applications can be in any language as long as they speak rest/soap. There's been a host of other changes, but this was the primary one. A number of starter ideas for coding, user interface and documentation have been outlined via the mailing list at [http://lists.owasp.org/pipermail/owasp-appsensor-project/2014-March/000682.html 17th March 2014].&lt;br /&gt;
&lt;br /&gt;
if you want to work on ANYTHING, please let jtmelton[@]gmail.com know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Past activities ==&lt;br /&gt;
&lt;br /&gt;
'''May 2014''' Finalisation and publication of the AppSensor Guide v2.0&lt;br /&gt;
&lt;br /&gt;
'''November, 2013''' - AppSensor 2.0 hackathon, and document writing &amp;amp; review at AppSecUSA 2013, New York&lt;br /&gt;
&lt;br /&gt;
'''2012-2013''' - Active Development of next AppSensor book&lt;br /&gt;
&lt;br /&gt;
'''September, 2011''' - AppSensor Summit at AppSec USA 2011, Minneapolis&lt;br /&gt;
&lt;br /&gt;
'''September, 2010''' - Presented at AppSecUSA [http://www.slideshare.net/michael_coates/real-time-application-defenses-the-reality-of-appsensor-esapi-5181743 slides]&lt;br /&gt;
&lt;br /&gt;
'''June, 2010''' - Active ESAPI Integration Underway&lt;br /&gt;
&lt;br /&gt;
'''November, 2009''' [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf OWASP DC, November 2009]&lt;br /&gt;
&lt;br /&gt;
'''2009''' v1.2 in the works, demo application in development &lt;br /&gt;
&lt;br /&gt;
'''May, 2009''' - AppSec EU Poland - Presentation ([http://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx PPT]) ([http://blip.tv/file/2198771 Video]) &lt;br /&gt;
&lt;br /&gt;
'''January, 2009''' - v1.1 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - AppSensor Talk at OWASP Portugal &lt;br /&gt;
&lt;br /&gt;
'''November, 2008''' - v1.0 Released - Beta Status &lt;br /&gt;
&lt;br /&gt;
'''April 16, 2008''' - Project Begins&lt;br /&gt;
&lt;br /&gt;
= Detection Points =&lt;br /&gt;
&lt;br /&gt;
Below are the primary detection points defined within AppSensor. These are just the titles; the document contains descriptions, examples and considerations for implementing these detection points. &lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_DetectionPoints Detailed Detection Point Information Here] '''&lt;br /&gt;
&lt;br /&gt;
 '''[http://www.owasp.org/index.php/AppSensor_ResponseActions Response Action Information Here]'''&lt;br /&gt;
&lt;br /&gt;
'''Summary of Information'''&lt;br /&gt;
'''Detection Categories:''' &lt;br /&gt;
&lt;br /&gt;
RE - Request&lt;br /&gt;
&lt;br /&gt;
AE - Authentication&lt;br /&gt;
&lt;br /&gt;
SE - Session&lt;br /&gt;
&lt;br /&gt;
ACE - Access Control&lt;br /&gt;
&lt;br /&gt;
IE - Input&lt;br /&gt;
&lt;br /&gt;
EE - Encoding&lt;br /&gt;
&lt;br /&gt;
CIE - Command Injection&lt;br /&gt;
&lt;br /&gt;
FIO - File IO&lt;br /&gt;
&lt;br /&gt;
HT - Honey Trap&lt;br /&gt;
&lt;br /&gt;
UT - User Trend&lt;br /&gt;
&lt;br /&gt;
STE - System Trend&lt;br /&gt;
&lt;br /&gt;
RP - Reputation&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Signature Based Event Titles''' &lt;br /&gt;
&lt;br /&gt;
ID Event&lt;br /&gt;
&lt;br /&gt;
RE1 Unexpected HTTP Command&lt;br /&gt;
&lt;br /&gt;
RE2 Attempt to Invoke Unsupported HTTP Method&lt;br /&gt;
&lt;br /&gt;
RE3 GET When Expecting POST&lt;br /&gt;
&lt;br /&gt;
RE4 POST When Expecting GET&lt;br /&gt;
&lt;br /&gt;
RE5 Additional/Duplicated Data in Request&lt;br /&gt;
&lt;br /&gt;
RE6 Data Missing from Request&lt;br /&gt;
&lt;br /&gt;
RE7 Unexpected Quantity of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
RE8 Unexpected Type of Characters in Parameter&lt;br /&gt;
&lt;br /&gt;
AE1 Use Of Multiple Usernames&lt;br /&gt;
&lt;br /&gt;
AE2 Multiple Failed Passwords&lt;br /&gt;
&lt;br /&gt;
AE3 High Rate of Login Attempts&lt;br /&gt;
&lt;br /&gt;
AE4 Unexpected Quantity of Characters in Username&lt;br /&gt;
&lt;br /&gt;
AE5 Unexpected Quantity of Characters in Password&lt;br /&gt;
&lt;br /&gt;
AE6 Unexpected Type of Character in Username&lt;br /&gt;
&lt;br /&gt;
AE7 Unexpected Type of Character in Password&lt;br /&gt;
&lt;br /&gt;
AE8 Providing Only the Username&lt;br /&gt;
&lt;br /&gt;
AE9 Providing Only the Password&lt;br /&gt;
&lt;br /&gt;
AE10 Adding POST Variable&lt;br /&gt;
&lt;br /&gt;
AE11 Missing POST Variable&lt;br /&gt;
&lt;br /&gt;
AE12 Utilization of Common Usernames&lt;br /&gt;
&lt;br /&gt;
SE1 Modifying Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE2 Adding New Cookie&lt;br /&gt;
&lt;br /&gt;
SE3 Deleting Existing Cookie&lt;br /&gt;
&lt;br /&gt;
SE4 Substituting Another User's Valid Session ID or Cookie&lt;br /&gt;
&lt;br /&gt;
SE5 Source IP Address Changes During Session&lt;br /&gt;
&lt;br /&gt;
SE6 Change Of User Agent Mid Session&lt;br /&gt;
&lt;br /&gt;
ACE1 Modifying URL Argument Within a GET for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE2 Modifying Parameter Within a POST for Direct Object Access Attempt&lt;br /&gt;
&lt;br /&gt;
ACE3 Force Browsing Attempt&lt;br /&gt;
&lt;br /&gt;
ACE4 Evading Presentation Access Control Through Custom POST&lt;br /&gt;
&lt;br /&gt;
IE1 Cross Site Scripting Attempt&lt;br /&gt;
&lt;br /&gt;
IE2 Violation of Implemented White Lists&lt;br /&gt;
&lt;br /&gt;
IE3 Violation Of Implemented Black Lists&lt;br /&gt;
&lt;br /&gt;
IE4 Violation of Input Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE5 Violation of Stored Business Data Integrity&lt;br /&gt;
&lt;br /&gt;
IE6 Violation of Security Log Integrity&lt;br /&gt;
&lt;br /&gt;
EE1 Double Encoded Character&lt;br /&gt;
&lt;br /&gt;
EE2 Unexpected Encoding Used&lt;br /&gt;
&lt;br /&gt;
CIE1 Blacklist Inspection for Common SQL Injection Values&lt;br /&gt;
&lt;br /&gt;
CIE2 Detect Abnormal Quantity of Returned Records&lt;br /&gt;
&lt;br /&gt;
CIE3 Null Byte Character in File Request&lt;br /&gt;
&lt;br /&gt;
CIE4 Carriage Return or Line Feed Character In File Request&lt;br /&gt;
&lt;br /&gt;
FIO1 Detect Large Individual File &lt;br /&gt;
&lt;br /&gt;
FIO2 Detect Large Number of File Uploads&lt;br /&gt;
&lt;br /&gt;
HT1 Alteration to Honey Trap Data&lt;br /&gt;
&lt;br /&gt;
HT2 Honey Trap Resource Requested&lt;br /&gt;
&lt;br /&gt;
HT3 Honey Trap Data Used&lt;br /&gt;
&lt;br /&gt;
'''Behavior Based Event Titles'''&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
UT1 Irregular Use of Application&lt;br /&gt;
&lt;br /&gt;
UT2 Speed of Application Use&lt;br /&gt;
&lt;br /&gt;
UT3 Frequency of Site Use&lt;br /&gt;
&lt;br /&gt;
UT4 Frequency of Feature Use&lt;br /&gt;
&lt;br /&gt;
STE1 High Number of Logouts Across The Site&lt;br /&gt;
&lt;br /&gt;
STE2 High Number of Logins Across The Site&lt;br /&gt;
&lt;br /&gt;
STE3 Significant Change in Usage of Same Transaction Across The Site&lt;br /&gt;
&lt;br /&gt;
RP1 Suspicious or Disallowed User IP Address&lt;br /&gt;
&lt;br /&gt;
RP2 Suspicious External User Behavior&lt;br /&gt;
&lt;br /&gt;
RP3 Suspicious Client-Side Behavior&lt;br /&gt;
&lt;br /&gt;
RP4 Change to Environment Threat Level&lt;br /&gt;
&lt;br /&gt;
= Media =&lt;br /&gt;
&lt;br /&gt;
== AppSensor Guide ==&lt;br /&gt;
&lt;br /&gt;
* OWASP AppSensor Guide &lt;br /&gt;
** v2.0 EN&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appsensor-guide-v2.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/index.php/File:Owasp-appensor-guide-v2.doc DOC]&lt;br /&gt;
*** [http://www.lulu.com/shop/owasp-foundation/appsensor-guide/paperback/product-21608107.html Print on demand at cost hard copy]&lt;br /&gt;
*** ([https://4ed64fe7f7e3f627b8d0-bc104063a9fe564c2d8a75b1e218477a.ssl.cf2.rackcdn.com/appsensor-guide-2v0-owasp.zip Source files for all of above]) 96Mb zip&lt;br /&gt;
** v1.1 EN&lt;br /&gt;
*** [https://www.owasp.org/images/2/2f/OWASP_AppSensor_Beta_1.1.pdf PDF]&lt;br /&gt;
*** [https://www.owasp.org/images/b/b0/OWASP_AppSensor_Beta_1.1.doc DOC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.owasp.org/index.php/AppSensor_Developer_Guide Developer Guide]&lt;br /&gt;
*v2 [https://github.com/jtmelton/appsensor Github Code]&lt;br /&gt;
*v1 [http://code.google.com/p/appsensor/ Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/appsensor/source/browse/trunk/AppSensor-Tutorial/ AppSensorTutorial]&lt;br /&gt;
&lt;br /&gt;
[http://www.brighttalk.com/webcast/20680 Automated Application Defenses to Thwart Advanced Attackers (Slides &amp;amp; Audio)]&lt;br /&gt;
&lt;br /&gt;
July, 2010 - OWASP London (UK) - [http://www.owasp.org/index.php/File:Owasp-london-20100715-appsensor-3.pdf Real Time Application Attack Detection and Response with OWASP AppSensor]&lt;br /&gt;
&lt;br /&gt;
June, 2010 - OWASP Leeds/North (UK) - OWASP AppSensor - The Self-Aware Web Application&lt;br /&gt;
&lt;br /&gt;
June, 2010 - Video presentation - [http://michael-coates.blogspot.com/2010/06/online-presentation-thursday-automated.html Automated Application Defenses to Thwart Advanced Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2009 -  AppSec DC - [http://www.owasp.org/images/0/06/Defend_Yourself-Integrating_Real_Time_Defenses_into_Online_Applications-Michael_Coates.pdf Defend Yourself: Integrating Real Time Defenses into Online Applications]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - [http://www.owasp.org/download/jmanico/owasp_podcast_51.mp3 OWASP Podcast #51 ]&lt;br /&gt;
&lt;br /&gt;
May, 2009 - AppSec EU Poland - [https://www.owasp.org/images/b/b7/AppsecEU09_MichaelCoates.pptx Real Time Defenses against Application Worms and Malicious Attackers]&lt;br /&gt;
&lt;br /&gt;
November, 2008 - [https://www.owasp.org/images/7/77/Presentation_AppSensor.ppt OWASP Summit Portugal 2008 PPT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Demos of AppSensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8ItfuwvLxRk Detecting Multiple Attacks &amp;amp; Logging Out Attacker]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=CekUMk_VRV8 Detecting XSS Probes]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=LfD4y67qdWE Detecting URL Tampering]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=1D6nTlmYjhY Detecting Verb Tampering]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Project About =&lt;br /&gt;
{{:Projects/OWASP_AppSensor_Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|AppSensor Project]] [[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]] [[Category:OWASP_Document]] [[Category:OWASP_Download]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2012_Ideas&amp;diff=125546</id>
		<title>GSoC2012 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2012_Ideas&amp;diff=125546"/>
				<updated>2012-03-04T05:54:24Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: fixing formatting of appsensor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Guidelines==&lt;br /&gt;
===Information for Students===&lt;br /&gt;
The ideas below were contributed by OWASP project leaders and users. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you may wish to contact the corresponding project leaders and find out more about the particular suggestion you're looking at.&lt;br /&gt;
Being accepted as a Google Summer of Code student is quite competitive. Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. Simply copying and pasting an idea here will not work. On the other hand, creating a completely new idea without first consulting potential mentors is unlikely to work out.&lt;br /&gt;
&lt;br /&gt;
===Adding a Proposal===&lt;br /&gt;
&lt;br /&gt;
'''Project:'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
'''Mentor:'''&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
How to find ideas? Obvious sources of projects are the OWASP project wiki, bugs database, and project mailing lists.&lt;br /&gt;
&lt;br /&gt;
=== Generic Sample Proposal===&lt;br /&gt;
&lt;br /&gt;
'''Accepted for GSoC 2011'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
KDE has developed a number of very interesting and powerful technologies, libraries and components but there is no easy way to show them to other people.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Something like Qt Demo but with KDE technologies.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
C++ is the main language of KDE, therefore the demo should be in C++. The more you know about C++, Qt, KDE and scripting (for Kross and KDE bindings demos), the better.&lt;br /&gt;
This idea encompasses so much different stuff the student is not expected to know everything before he starts coding (but will certainly know a lot when he's done!).&lt;br /&gt;
&lt;br /&gt;
'''Skill level:''' medium&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Pau Garcia i Quiles as general mentor and someone to ask for directions. Specific help for each technology will probably require help from its developers.&lt;br /&gt;
&lt;br /&gt;
==OWASP Project Requests==&lt;br /&gt;
&lt;br /&gt;
=== ZAP Proxy ===&lt;br /&gt;
&lt;br /&gt;
The Zed Attack Proxy (ZAP) is an easy to use integrated penetration testing tool for finding vulnerabilities in web applications.&lt;br /&gt;
&lt;br /&gt;
It is designed to be used by people with a wide range of security experience and as such is ideal for developers and functional testers who are new to penetration testing.&lt;br /&gt;
&lt;br /&gt;
ZAP provides automated scanners as well as a set of tools that allow you to find security vulnerabilities manually.&lt;br /&gt;
&lt;br /&gt;
'''Website:''' https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project&lt;br /&gt;
&lt;br /&gt;
'''Mailing List:''' http://groups.google.com/group/zaproxy-develop&lt;br /&gt;
&lt;br /&gt;
====Project 001 - Compare crawling sessions for authentication issues ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:''' Develop a ZAP session crawler to be able to compare two crawling sessions of two logged in users and see what URLs or Actions could be performed from the other session.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
ZAP will be able to recognise when requests are associated with different sessions.&lt;br /&gt;
&lt;br /&gt;
ZAP should allow the user to view the crawled URLs for each session independantly, and show which URLs are unique to each session.&lt;br /&gt;
&lt;br /&gt;
It should also be able to check if any of the 'unique' pages can in fact be accessed by the other session.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:''' &lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of crawlers and/or aplication security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Simon Bennetts - OWASP ZAP Project Leader | Skyler Onken - OWASP ZAP Developer&lt;br /&gt;
&lt;br /&gt;
====Project 002 - Dynamically Configurable actions ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:''' &lt;br /&gt;
&lt;br /&gt;
ZAP provides various mechanisms which allow HTTP requests and responses to be changed dynamically. So (for example) a string in an HTTP request can automatically be changed to another string.&lt;br /&gt;
&lt;br /&gt;
It also supports a scripting interface, which is very powerful but at the moment difficult to use.&lt;br /&gt;
&lt;br /&gt;
This project would introduce something inbetween thess 2 options - a powerful way of defining (potentially) complex rules using a wizard based interface.&lt;br /&gt;
&lt;br /&gt;
The challenge will be to make it as usable as possible while still providing a wide range of functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
This component would provide a set of highly configurable 'actions' which the user would see up via a wizard.&lt;br /&gt;
&lt;br /&gt;
So they would initially define when the action applies, based on things like regex matching on request elements. And they should be able to define multiple criteria with ANDs and ORs.&lt;br /&gt;
&lt;br /&gt;
Then they would define the actions, which could include:&lt;br /&gt;
* Changing the request (adding, removing or replacing strings)&lt;br /&gt;
* Raising alerts&lt;br /&gt;
* Breaking (to replace existing break points)&lt;br /&gt;
* Running custom scripts (which could do pretty much anything)&lt;br /&gt;
They would then be able to switch the actions on and off from the full list of defined actions using checkboxes&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Simon Bennetts - OWASP ZAP Project Leader | Skyler Onken - OWASP ZAP Developer&lt;br /&gt;
&lt;br /&gt;
====Project 003 - Extend Web API to cover all of the ZAP functionality ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:''' &lt;br /&gt;
&lt;br /&gt;
ZAP provides a REST based API which can be used to control core aspects of the functionality provided by ZAP.&lt;br /&gt;
&lt;br /&gt;
This project would extend that API to cover all/most of the ZAP functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:''' Comprehensive Web API that will cover all of the ZAP Proxy functionality.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Simon Bennetts - OWASP ZAP Project Leader | Skyler Onken - OWASP ZAP Developer&lt;br /&gt;
&lt;br /&gt;
====Project 004 - Closer integration with OWASP AJAX ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP provides a basic spider that can be used to explore an application, however it is very limited, especially when used with AJAX based applications.&lt;br /&gt;
&lt;br /&gt;
The OWASP AJAX crawling tool (https://www.owasp.org/index.php/OWASP_AJAX_Crawling_Tool) is specifically designed to crawl AJAX applications and can already use ZAP as a proxy.&lt;br /&gt;
&lt;br /&gt;
This project would develop a ZAP plugin which integrates ZAP with the OWASP AJAX crawling Tool.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A new ZAP plugin would be produced which allows ZAP to crawl AJAX applications using the OWASP AJAX crawling tool.&lt;br /&gt;
&lt;br /&gt;
The plugin would allow the 2 tools to be tightly integrated, while still allowing them to work completely independently.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Both ZAP and the AJAX tool are written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of crawlers and/or aplication security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Simon Bennetts - OWASP ZAP Project Leader | Skyler Onken - OWASP AJAX Tool Project Leader&lt;br /&gt;
&lt;br /&gt;
=== ESAPI Swingset Interactive ===&lt;br /&gt;
&lt;br /&gt;
The ESAPI Swingset Interactive is a web application which demonstrates common security vulnerabilities and asks users to secure the application against these vulnerabilities using the ESAPI library. The application is intended for Java Developers. The goal of the application is to teach developers about the functionality of the ESAPI library and give users a practical understanding of how it can be used to protect web applications against common security vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
'''Website:''' https://www.owasp.org/index.php/Projects/OWASP_ESAPI_Swingset_Interactive_Project&lt;br /&gt;
&lt;br /&gt;
'''Mailing List:''' http://lists.owasp.org/pipermail/owasp-esapi-swingset/&lt;br /&gt;
&lt;br /&gt;
====Project 001 - Implement a solid Authenticator class ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Provide Swingset Interactive with a simple but fully functional implementation of the ESAPI Authenticator Interface.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Swingset Interactive comes with a rudimentary implementation of the ESAPI Authenticator Interface, a FileBasedAuthenticator. This implementation needs to be fixed or replaced in order to allow users of the Swingset Interactive application all of the ESAPI Authenticator methods, including registration, login, a &amp;quot;remember me&amp;quot; feature and a persistence beyond server restart.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
A basic knowledge of Java, Java Servlets is necessary, as is knowledge of HTML.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Fabio Cerullo - OWASP ESAPI Swingset Interactive Project Leader&lt;br /&gt;
&lt;br /&gt;
====Project 002 - Upgrade to ESAPI 2.0.x ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Adapt Swingset Interactive to work with ESAPI 2.0.x. libraries.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Make the current Swingset Interactive application compatible with ESAPI 2.0.x. Swingset Interactive currently comes with ESAPI 1.4.Various changes and improvements were made with ESAPI 2.0.x and it is generally recommended not to use 1.4 any more for Java EE Projects.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
A basic knowledge of Java, Java Servlets is necessary, as is knowledge of HTML.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Fabio Cerullo - OWASP ESAPI Swingset Interactive Project Leader&lt;br /&gt;
&lt;br /&gt;
====Project 003 - Improve the Swingset look and feel ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Various minor bug fixes and improvements.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Fix and solve a number of documented bug fixes and improvement suggestions for the Swingset Interactive and bring in your own improvement suggestions.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
A basic knowledge of Java, Java Servlets is necessary, as is knowledge of HTML.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Fabio Cerullo - OWASP ESAPI Swingset Interactive Project Leader&lt;br /&gt;
&lt;br /&gt;
====Project 004 - Platform-independent Swingset Interactive ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Adapt Swingset Interactive to work with any OS.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Swingset Interactive currently runs only under Windows. Modify the Eclipse project and installation scripts to be easily installed on any OS that runs Eclipse. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Good knowledge of Java, Apache Tomcat and a broad knowledge of various Operating Systems are required.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Fabio Cerullo - OWASP ESAPI Swingset Interactive Project Leader&lt;br /&gt;
&lt;br /&gt;
====Project 005 - Mavenize the Swingset ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Create a new Swingset Interactive Maven Archetype.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Offer the Swingset Interactive as a Maven Archetype.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Good knowledge of Java, and Maven are required.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Fabio Cerullo - OWASP ESAPI Swingset Interactive Project Leader&lt;br /&gt;
&lt;br /&gt;
=== AntiSamy ===&lt;br /&gt;
&lt;br /&gt;
The AntiSamy project provides a Java library for developers to accept innocent HTML markup without exposing themselves to possible cross-site scripting (XSS) vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
'''Website:''' https://www.owasp.org/index.php/AntiSamy&lt;br /&gt;
&lt;br /&gt;
'''Mailing List:''' https://lists.owasp.org/mailman/listinfo/owasp-antisamy&lt;br /&gt;
&lt;br /&gt;
====Project 001 - Add a Functional Testing Suite ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Create a set of positive test cases designed to generate assurance that AntiSamy correctly processes inert HTML.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
As of today, AntiSamy has a large set of test cases that prove that AntiSamy is resistant to a number of known attacks. There are also test cases that make sure it doesn't crash when given bad data. There are very few test cases that ensure that it properly handles good HTML. A set of test cases that confirm how expected good data is processed by AntiSamy generates a lot of assurance that it is functional as well as secure.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Comfort with Java, Maven, SVN and JUnit are required.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Arshan Dabirsiaghi - OWASP AntiSamy Project Leader&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Project 002 - Various Bug Fixes ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
There are around 30 open defects from the issue tracker.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A set of patches that address defects or implement features from the accepted issues in the issue tracker.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Comfort with Java, Maven, SVN and JUnit are required.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Arshan Dabirsiaghi - OWASP AntiSamy Project Leader&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AppSensor ===&lt;br /&gt;
&lt;br /&gt;
==== Project 001 - SOAP web service server implementation ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor is implementing a new service based architecture for the next version. This project would involve implementing a SOAP based web service (based on the WS-I Basic Profile standard) as a front-end to the AppSensor processing engine. &lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A new SOAP based web service would be produced which provides a front-end to the existing processing core built into AppSensor.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor is written in Java, so a good knowledge of this language is recommended. Additionally, some knowledge of SOAP-based web services (particularly the WS-I Basic Profile standard) would be useful, but not essential. Finally, basic knowledge of application security would be very helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 002 - REST web service server implementation ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor is implementing a new service based architecture for the next version. This project would involve implementing a REST based web service as a front-end to the AppSensor processing engine. &lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A new REST based web service would be produced which provides a front-end to the existing processing core built into AppSensor.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor is written in Java, so a good knowledge of this language is recommended. Additionally, some knowledge of REST-based web services would be useful, but not essential. Finally, basic knowledge of application security would be very helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 003 - SOAP/REST web service client implementation ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor is implementing a new service based architecture for the next version. This project would involve implementing SOAP and REST based web service clients in various languages to communicate to a back-end server that represents the AppSensor core engine. &lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
New SOAP and REST based web service clients would be produced which communicate to a back-end server that represents the AppSensor core engine.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor is written in Java, and the initial client will be for Java, so a good knowledge of this language is recommended. Proficiency in one or more of the following languages would also be beneficial: C#, PHP, Python, Ruby. Additionally, some knowledge of REST and SOAP based web services would be useful, but not essential. Finally, basic knowledge of application security would be very helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 004 - Detection Point Implementation Expansion ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor has documentation outlining around 50 different detection points. We currently have an existing implementation that supports a small handful (5-7) of those. Implementing additional detection points would increase the value of the project. &lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Implementations of existing detection points would be produced. This could be done in any number of languages.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor is written in Java, and the initial client will be for Java, so a good knowledge of this language is recommended. Proficiency in one or more of the following languages would also be beneficial: C#, PHP, Python, Ruby. Finally, basic knowledge of application security would be very helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 005 - Implement new configuration file format ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently uses a properties file format for configuration. A new XML file format is planned. Moving to an XML format would simplify the configuration and make it easier to extend.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A new implementation of the configuration file would be created. An XML file format would be created, along with the code to process that file format, as well as an XSD to validate the file.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor is written in Java, so a good knowledge of this language is recommended. Additionally, a basic understanding of XML and XSD would be useful, though not required.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 006 - Trend Monitoring ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Several of the detection point concepts for AppSensor revolve around the idea of trend monitoring within an application. There is a trivial implementation currently that provides very little utility. An enhanced trend monitoring capability would allow for the implementation of more detection points and expand the capabilities of AppSensor.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A new implementation of the trend monitoring module would be implemented.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor is written in Java, so a good knowledge of this language is recommended. Additionally, basic knowledge of application security would be very helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 007 - Reporting ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently has very weak reporting capabilities. Enhanced reporting would provide users with better insight into the health of the applications being protected by AppSensor&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
New APIs for reporting would be implemented as SOAP and/or REST based web services. Additionally, a reference implementation of a reporting client UI would be developed.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor is written in Java, and the initial client will be for Java, so a good knowledge of this language is recommended. Some knowledge of REST and SOAP based web services would also be useful, but not essential. Additionally, some experience in a modern UI development framework would be beneficial, presumably an RIA style framework. Finally, basic knowledge of application security would be very helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2012_Ideas&amp;diff=125545</id>
		<title>GSoC2012 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2012_Ideas&amp;diff=125545"/>
				<updated>2012-03-04T05:52:33Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: adding appsensor ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Guidelines==&lt;br /&gt;
===Information for Students===&lt;br /&gt;
The ideas below were contributed by OWASP project leaders and users. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you may wish to contact the corresponding project leaders and find out more about the particular suggestion you're looking at.&lt;br /&gt;
Being accepted as a Google Summer of Code student is quite competitive. Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. Simply copying and pasting an idea here will not work. On the other hand, creating a completely new idea without first consulting potential mentors is unlikely to work out.&lt;br /&gt;
&lt;br /&gt;
===Adding a Proposal===&lt;br /&gt;
&lt;br /&gt;
'''Project:'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
'''Mentor:'''&lt;br /&gt;
&lt;br /&gt;
'''Ideas'''&lt;br /&gt;
How to find ideas? Obvious sources of projects are the OWASP project wiki, bugs database, and project mailing lists.&lt;br /&gt;
&lt;br /&gt;
=== Generic Sample Proposal===&lt;br /&gt;
&lt;br /&gt;
'''Accepted for GSoC 2011'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
KDE has developed a number of very interesting and powerful technologies, libraries and components but there is no easy way to show them to other people.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Something like Qt Demo but with KDE technologies.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
C++ is the main language of KDE, therefore the demo should be in C++. The more you know about C++, Qt, KDE and scripting (for Kross and KDE bindings demos), the better.&lt;br /&gt;
This idea encompasses so much different stuff the student is not expected to know everything before he starts coding (but will certainly know a lot when he's done!).&lt;br /&gt;
&lt;br /&gt;
'''Skill level:''' medium&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Pau Garcia i Quiles as general mentor and someone to ask for directions. Specific help for each technology will probably require help from its developers.&lt;br /&gt;
&lt;br /&gt;
==OWASP Project Requests==&lt;br /&gt;
&lt;br /&gt;
=== ZAP Proxy ===&lt;br /&gt;
&lt;br /&gt;
The Zed Attack Proxy (ZAP) is an easy to use integrated penetration testing tool for finding vulnerabilities in web applications.&lt;br /&gt;
&lt;br /&gt;
It is designed to be used by people with a wide range of security experience and as such is ideal for developers and functional testers who are new to penetration testing.&lt;br /&gt;
&lt;br /&gt;
ZAP provides automated scanners as well as a set of tools that allow you to find security vulnerabilities manually.&lt;br /&gt;
&lt;br /&gt;
'''Website:''' https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project&lt;br /&gt;
&lt;br /&gt;
'''Mailing List:''' http://groups.google.com/group/zaproxy-develop&lt;br /&gt;
&lt;br /&gt;
====Project 001 - Compare crawling sessions for authentication issues ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:''' Develop a ZAP session crawler to be able to compare two crawling sessions of two logged in users and see what URLs or Actions could be performed from the other session.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
ZAP will be able to recognise when requests are associated with different sessions.&lt;br /&gt;
&lt;br /&gt;
ZAP should allow the user to view the crawled URLs for each session independantly, and show which URLs are unique to each session.&lt;br /&gt;
&lt;br /&gt;
It should also be able to check if any of the 'unique' pages can in fact be accessed by the other session.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:''' &lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of crawlers and/or aplication security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Simon Bennetts - OWASP ZAP Project Leader | Skyler Onken - OWASP ZAP Developer&lt;br /&gt;
&lt;br /&gt;
====Project 002 - Dynamically Configurable actions ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:''' &lt;br /&gt;
&lt;br /&gt;
ZAP provides various mechanisms which allow HTTP requests and responses to be changed dynamically. So (for example) a string in an HTTP request can automatically be changed to another string.&lt;br /&gt;
&lt;br /&gt;
It also supports a scripting interface, which is very powerful but at the moment difficult to use.&lt;br /&gt;
&lt;br /&gt;
This project would introduce something inbetween thess 2 options - a powerful way of defining (potentially) complex rules using a wizard based interface.&lt;br /&gt;
&lt;br /&gt;
The challenge will be to make it as usable as possible while still providing a wide range of functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
This component would provide a set of highly configurable 'actions' which the user would see up via a wizard.&lt;br /&gt;
&lt;br /&gt;
So they would initially define when the action applies, based on things like regex matching on request elements. And they should be able to define multiple criteria with ANDs and ORs.&lt;br /&gt;
&lt;br /&gt;
Then they would define the actions, which could include:&lt;br /&gt;
* Changing the request (adding, removing or replacing strings)&lt;br /&gt;
* Raising alerts&lt;br /&gt;
* Breaking (to replace existing break points)&lt;br /&gt;
* Running custom scripts (which could do pretty much anything)&lt;br /&gt;
They would then be able to switch the actions on and off from the full list of defined actions using checkboxes&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Simon Bennetts - OWASP ZAP Project Leader | Skyler Onken - OWASP ZAP Developer&lt;br /&gt;
&lt;br /&gt;
====Project 003 - Extend Web API to cover all of the ZAP functionality ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:''' &lt;br /&gt;
&lt;br /&gt;
ZAP provides a REST based API which can be used to control core aspects of the functionality provided by ZAP.&lt;br /&gt;
&lt;br /&gt;
This project would extend that API to cover all/most of the ZAP functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:''' Comprehensive Web API that will cover all of the ZAP Proxy functionality.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Simon Bennetts - OWASP ZAP Project Leader | Skyler Onken - OWASP ZAP Developer&lt;br /&gt;
&lt;br /&gt;
====Project 004 - Closer integration with OWASP AJAX ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP provides a basic spider that can be used to explore an application, however it is very limited, especially when used with AJAX based applications.&lt;br /&gt;
&lt;br /&gt;
The OWASP AJAX crawling tool (https://www.owasp.org/index.php/OWASP_AJAX_Crawling_Tool) is specifically designed to crawl AJAX applications and can already use ZAP as a proxy.&lt;br /&gt;
&lt;br /&gt;
This project would develop a ZAP plugin which integrates ZAP with the OWASP AJAX crawling Tool.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A new ZAP plugin would be produced which allows ZAP to crawl AJAX applications using the OWASP AJAX crawling tool.&lt;br /&gt;
&lt;br /&gt;
The plugin would allow the 2 tools to be tightly integrated, while still allowing them to work completely independently.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Both ZAP and the AJAX tool are written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of crawlers and/or aplication security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Simon Bennetts - OWASP ZAP Project Leader | Skyler Onken - OWASP AJAX Tool Project Leader&lt;br /&gt;
&lt;br /&gt;
=== ESAPI Swingset Interactive ===&lt;br /&gt;
&lt;br /&gt;
The ESAPI Swingset Interactive is a web application which demonstrates common security vulnerabilities and asks users to secure the application against these vulnerabilities using the ESAPI library. The application is intended for Java Developers. The goal of the application is to teach developers about the functionality of the ESAPI library and give users a practical understanding of how it can be used to protect web applications against common security vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
'''Website:''' https://www.owasp.org/index.php/Projects/OWASP_ESAPI_Swingset_Interactive_Project&lt;br /&gt;
&lt;br /&gt;
'''Mailing List:''' http://lists.owasp.org/pipermail/owasp-esapi-swingset/&lt;br /&gt;
&lt;br /&gt;
====Project 001 - Implement a solid Authenticator class ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Provide Swingset Interactive with a simple but fully functional implementation of the ESAPI Authenticator Interface.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Swingset Interactive comes with a rudimentary implementation of the ESAPI Authenticator Interface, a FileBasedAuthenticator. This implementation needs to be fixed or replaced in order to allow users of the Swingset Interactive application all of the ESAPI Authenticator methods, including registration, login, a &amp;quot;remember me&amp;quot; feature and a persistence beyond server restart.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
A basic knowledge of Java, Java Servlets is necessary, as is knowledge of HTML.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Fabio Cerullo - OWASP ESAPI Swingset Interactive Project Leader&lt;br /&gt;
&lt;br /&gt;
====Project 002 - Upgrade to ESAPI 2.0.x ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Adapt Swingset Interactive to work with ESAPI 2.0.x. libraries.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Make the current Swingset Interactive application compatible with ESAPI 2.0.x. Swingset Interactive currently comes with ESAPI 1.4.Various changes and improvements were made with ESAPI 2.0.x and it is generally recommended not to use 1.4 any more for Java EE Projects.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
A basic knowledge of Java, Java Servlets is necessary, as is knowledge of HTML.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Fabio Cerullo - OWASP ESAPI Swingset Interactive Project Leader&lt;br /&gt;
&lt;br /&gt;
====Project 003 - Improve the Swingset look and feel ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Various minor bug fixes and improvements.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Fix and solve a number of documented bug fixes and improvement suggestions for the Swingset Interactive and bring in your own improvement suggestions.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
A basic knowledge of Java, Java Servlets is necessary, as is knowledge of HTML.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Fabio Cerullo - OWASP ESAPI Swingset Interactive Project Leader&lt;br /&gt;
&lt;br /&gt;
====Project 004 - Platform-independent Swingset Interactive ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Adapt Swingset Interactive to work with any OS.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Swingset Interactive currently runs only under Windows. Modify the Eclipse project and installation scripts to be easily installed on any OS that runs Eclipse. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Good knowledge of Java, Apache Tomcat and a broad knowledge of various Operating Systems are required.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Fabio Cerullo - OWASP ESAPI Swingset Interactive Project Leader&lt;br /&gt;
&lt;br /&gt;
====Project 005 - Mavenize the Swingset ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Create a new Swingset Interactive Maven Archetype.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
Offer the Swingset Interactive as a Maven Archetype.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Good knowledge of Java, and Maven are required.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Fabio Cerullo - OWASP ESAPI Swingset Interactive Project Leader&lt;br /&gt;
&lt;br /&gt;
=== AntiSamy ===&lt;br /&gt;
&lt;br /&gt;
The AntiSamy project provides a Java library for developers to accept innocent HTML markup without exposing themselves to possible cross-site scripting (XSS) vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
'''Website:''' https://www.owasp.org/index.php/AntiSamy&lt;br /&gt;
&lt;br /&gt;
'''Mailing List:''' https://lists.owasp.org/mailman/listinfo/owasp-antisamy&lt;br /&gt;
&lt;br /&gt;
====Project 001 - Add a Functional Testing Suite ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Create a set of positive test cases designed to generate assurance that AntiSamy correctly processes inert HTML.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
As of today, AntiSamy has a large set of test cases that prove that AntiSamy is resistant to a number of known attacks. There are also test cases that make sure it doesn't crash when given bad data. There are very few test cases that ensure that it properly handles good HTML. A set of test cases that confirm how expected good data is processed by AntiSamy generates a lot of assurance that it is functional as well as secure.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Comfort with Java, Maven, SVN and JUnit are required.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Arshan Dabirsiaghi - OWASP AntiSamy Project Leader&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Project 002 - Various Bug Fixes ====&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
There are around 30 open defects from the issue tracker.&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
A set of patches that address defects or implement features from the accepted issues in the issue tracker.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Comfort with Java, Maven, SVN and JUnit are required.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' Arshan Dabirsiaghi - OWASP AntiSamy Project Leader&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AppSensor ===&lt;br /&gt;
&lt;br /&gt;
==== Project 001 - SOAP web service server implementation ====&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
AppSensor is implementing a new service based architecture for the next version. This project would involve implementing a SOAP based web service (based on the WS-I Basic Profile standard) as a front-end to the AppSensor processing engine. &lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
A new SOAP based web service would be produced which provides a front-end to the existing processing core built into AppSensor.&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
AppSensor is written in Java, so a good knowledge of this language is recommended. Additionally, some knowledge of SOAP-based web services (particularly the WS-I Basic Profile standard) would be useful, but not essential. Finally, basic knowledge of application security would be very helpful.&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 002 - REST web service server implementation ====&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
AppSensor is implementing a new service based architecture for the next version. This project would involve implementing a REST based web service as a front-end to the AppSensor processing engine. &lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
A new REST based web service would be produced which provides a front-end to the existing processing core built into AppSensor.&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
AppSensor is written in Java, so a good knowledge of this language is recommended. Additionally, some knowledge of REST-based web services would be useful, but not essential. Finally, basic knowledge of application security would be very helpful.&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 003 - SOAP/REST web service client implementation ====&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
AppSensor is implementing a new service based architecture for the next version. This project would involve implementing SOAP and REST based web service clients in various languages to communicate to a back-end server that represents the AppSensor core engine. &lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
New SOAP and REST based web service clients would be produced which communicate to a back-end server that represents the AppSensor core engine.&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
AppSensor is written in Java, and the initial client will be for Java, so a good knowledge of this language is recommended. Proficiency in one or more of the following languages would also be beneficial: C#, PHP, Python, Ruby. Additionally, some knowledge of REST and SOAP based web services would be useful, but not essential. Finally, basic knowledge of application security would be very helpful.&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 004 - Detection Point Implementation Expansion ====&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
AppSensor has documentation outlining around 50 different detection points. We currently have an existing implementation that supports a small handful (5-7) of those. Implementing additional detection points would increase the value of the project. &lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
Implementations of existing detection points would be produced. This could be done in any number of languages.&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
AppSensor is written in Java, and the initial client will be for Java, so a good knowledge of this language is recommended. Proficiency in one or more of the following languages would also be beneficial: C#, PHP, Python, Ruby. Finally, basic knowledge of application security would be very helpful.&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 005 - Implement new configuration file format ====&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
AppSensor currently uses a properties file format for configuration. A new XML file format is planned. Moving to an XML format would simplify the configuration and make it easier to extend.&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
A new implementation of the configuration file would be created. An XML file format would be created, along with the code to process that file format, as well as an XSD to validate the file.&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
AppSensor is written in Java, so a good knowledge of this language is recommended. Additionally, a basic understanding of XML and XSD would be useful, though not required.&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 006 - Trend Monitoring ====&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
Several of the detection point concepts for AppSensor revolve around the idea of trend monitoring within an application. There is a trivial implementation currently that provides very little utility. An enhanced trend monitoring capability would allow for the implementation of more detection points and expand the capabilities of AppSensor.&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
A new implementation of the trend monitoring module would be implemented.&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
AppSensor is written in Java, so a good knowledge of this language is recommended. Additionally, basic knowledge of application security would be very helpful.&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader &lt;br /&gt;
&lt;br /&gt;
==== Project 007 - Reporting ====&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
AppSensor currently has very weak reporting capabilities. Enhanced reporting would provide users with better insight into the health of the applications being protected by AppSensor&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
New APIs for reporting would be implemented as SOAP and/or REST based web services. Additionally, a reference implementation of a reporting client UI would be developed.&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
AppSensor is written in Java, and the initial client will be for Java, so a good knowledge of this language is recommended. Some knowledge of REST and SOAP based web services would also be useful, but not essential. Additionally, some experience in a modern UI development framework would be beneficial, presumably an RIA style framework. Finally, basic knowledge of application security would be very helpful.&lt;br /&gt;
'''Mentor:''' John Melton - OWASP AppSensor Development Leader&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=AppSensor_Developer_Guide&amp;diff=91637</id>
		<title>AppSensor Developer Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=AppSensor_Developer_Guide&amp;diff=91637"/>
				<updated>2010-10-19T05:16:45Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: Removed one step from the maven process (adding ESAPI to local repo) now that ESAPI is hosted in the central repo.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= AppSensor Developer Guide =&lt;br /&gt;
&lt;br /&gt;
The [[:Category:OWASP AppSensor Project|AppSensor Project]] describes an application layer intrusion detection system.  There is a Java implementation of this system whose basic usage can be found in the [[AppSensor_GettingStarted|Getting Started]] guide. This document describes in more technical detail for developers how to use and extend AppSensor for a specific environment and application.&lt;br /&gt;
&lt;br /&gt;
== Developer Overview ==&lt;br /&gt;
AppSensor is an application layer intrusion detection system.  The concept in implementation is roughly analogous to an intrusion detection (and prevention) system in the network security world.  However, this concept can be applied inside of an application in a more specific way that (importantly) reduces false positives, which is an issue that often plagues network intrusion detection systems.  This means that the core of the AppSensor system performs detection, monitoring, and (possibly) response depending on configuration settings.  &lt;br /&gt;
&lt;br /&gt;
AppSensor has been built to be quite extensible from the ground up.  Most of the system can be appreciably modified to your needs by simply extending certain key interfaces, and modifying the appsensor configuration file appropriately.  This extensible design makes it possible for various configurations to be applied depending upon the application.  For instance, in a small application, you may choose to use a simple file-based model for storing intrusions that are detected, whereas for a larger application, you may have a relational database serving as your data store.  See the '''Extending AppSensor''' section below for specifics on what can be extended.&lt;br /&gt;
&lt;br /&gt;
A fuller description of the [http://www.owasp.org/index.php/AppSensor_DetectionPoints detection points] and [http://www.owasp.org/index.php/AppSensor_ResponseActions responses] are available - note that not all of these ideas are implemented here.  The selection of detection points, where they are added, and how the application responds is application and organisation dependent.&lt;br /&gt;
&lt;br /&gt;
== Obtaining AppSensor ==&lt;br /&gt;
The appsensor.jar can be downloaded here - [http://repo2.maven.org/maven2/org/owasp/appsensor/AppSensor/0.1.3/AppSensor-0.1.3.jar AppSensor-0.1.3.jar]&lt;br /&gt;
&lt;br /&gt;
The source is available [http://code.google.com/p/appsensor/source/browse/#svn/trunk/AppSensor%3Fstate%3Dclosed here]&lt;br /&gt;
&lt;br /&gt;
== Extending AppSensor ==&lt;br /&gt;
Below you will find the individual interfaces you are likely to extend in order to modify AppSensor for your environment. &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== IntrusionStore ====&lt;br /&gt;
The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/IntrusionStore.java IntrusionStore] interface represents, simply enough, the storage mechanism for any intrusions that occur in the system.  The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/AppSensorIntrusionDetector.java AppSensorIntrusionDetector] takes care of adding the intrusions to the intrusion store.  The current [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/reference/DefaultIntrusionStore.java DefaultIntrusionStore] class stores all of the intrusions in a simple HashMap.  The class is fairly small and simple, though, so it is trivial to understand it's inner workings and to use similar concepts to build an implementation that suits your environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The setting you'll need to modify in appsensor.properties to enable your own implementation is:&lt;br /&gt;
&lt;br /&gt;
# This is the class that handles the intrusion store&lt;br /&gt;
AppSensor.intrusionStore=org.owasp.appsensor.intrusiondetection.reference.DefaultIntrusionStore&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== ResponseAction ====&lt;br /&gt;
The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/ResponseAction.java ResponseAction] interface is used to simply respond to an intrusion once a threshold has been crossed.  The decision for when to respond is handled by the [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/AppSensorIntrusionDetector.java AppSensorIntrusionDetector], but the actual handling of the response is delegated to implementations of this interface.  The only reason to not use the [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/reference/DefaultResponseAction.java DefaultResponseAction] would be if you have additional response actions you need to take, or if you need to modify the handling of one of the existing responses.  Again, the [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/reference/DefaultResponseAction.java DefaultResponseAction] should give you a good starting point for creating your own implementation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The setting you'll need to modify in appsensor.properties to enable your own implementation is:&lt;br /&gt;
&lt;br /&gt;
# This is the class that handles the response actions&lt;br /&gt;
AppSensor.responseAction=org.owasp.appsensor.intrusiondetection.reference.DefaultResponseAction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/reference/DefaultResponseAction.java DefaultResponseAction] supports the following actions:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;log&amp;quot; - logs the activity&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;logout&amp;quot; - logs the currently logged in user out (if one exists)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;disable&amp;quot; - disables the account of the currently logged in user (if one exists)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;disableComponent&amp;quot; - disables access to the location of the intrusion using the AppSensorServiceController&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;disableComponentForUser&amp;quot; - disables access to the location of the intrusion using the AppSensorServiceController for the currently logged in user(if one exists)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;emailAdmin&amp;quot; - Email administrator to notify of what action has occurred&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;smsAdmin&amp;quot; - SMS administrator (via email to sms account) to notify of what action has occurred&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Response actions can be configured for individual detection points using properties like: IntrusionDetector.&amp;lt;detection point&amp;gt;.actions=&lt;br /&gt;
&lt;br /&gt;
# list of actions you want executed in the specified order as the threshold for this intrusion is met - &lt;br /&gt;
# ie. log the first time, logout the user the second time, etc.&lt;br /&gt;
IntrusionDetector.IE99.actions=log,logout,disable,disableComponent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== ASUtilities ====&lt;br /&gt;
The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/ASUtilities.java ASUtilities] interface handles a collection of concerns.  It handles retrieving the current user of the application (ie. the user that made the current request and/or caused the current intrusion).  In addition, it handles the retrieval of the logger as well as the current HTTP request.  The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/reference/DefaultASUtilities.java DefaultASUtilities] implementation simply delegates to the equivalent ESAPI method calls to retrieve the appropriate data.  If you are not using ESAPI's logging and/or authentication and/or request binding utilities, you'll need to create your own implementation of this class. ''' ''Note: This is the interface you'll need to implement if you are not using ESAPI.'' '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The setting you'll need to modify in appsensor.properties to enable your own implementation is:&lt;br /&gt;
&lt;br /&gt;
# This is the class that handles the utility retriever&lt;br /&gt;
AppSensor.asUtilities=org.owasp.appsensor.reference.DefaultASUtilities&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== TrendLogger ====&lt;br /&gt;
The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/trendmonitoring/TrendLogger.java TrendLogger] interface is in place to handle the logging of events in order to monitor trends.  The techniques for doing this vary widely depending upon environment.  You'll most likely not want to use the existing [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/trendmonitoring/reference/InMemoryTrendLogger.java InMemoryTrendLogger] as it will scale very poorly.  It is simply in place as a starting point for other implementations.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The setting you'll need to modify in appsensor.properties to enable your own implementation is:&lt;br /&gt;
&lt;br /&gt;
# This is the class that handles the trend logging&lt;br /&gt;
AppSensor.trendLogger=org.owasp.appsensor.trendmonitoring.reference.InMemoryTrendLogger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Adding AppSensor to your project ==&lt;br /&gt;
&lt;br /&gt;
==== Dependencies ====&lt;br /&gt;
AppSensor has the following dependencies: &lt;br /&gt;
*OWASP ESAPI Java library&lt;br /&gt;
*JavaMail libraries (activation and mail jar files)&lt;br /&gt;
*Servlet/JSP libraries&lt;br /&gt;
*Logging API library (log4j by default)&lt;br /&gt;
----&lt;br /&gt;
==== With Maven ====&lt;br /&gt;
If you use maven as the build system for your application, then adding AppSensor to your project is very simple and requires 4 basic steps. &lt;br /&gt;
# Add the following configuration into the '''dependencies''' section of your POM: &lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#:&amp;lt;dependency&amp;gt;&lt;br /&gt;
#:  &amp;lt;groupId&amp;gt;org.owasp.appsensor&amp;lt;/groupId&amp;gt;&lt;br /&gt;
#:  &amp;lt;artifactId&amp;gt;AppSensor&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
#:  &amp;lt;version&amp;gt;PUT_YOUR_VERSION_HERE&amp;lt;/version&amp;gt;&lt;br /&gt;
#:&amp;lt;/dependency&amp;gt;&lt;br /&gt;
#:&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Add the '''.esapi''' folder to your project in a location that ESAPI can find it.  The easiest way to do this is to add the folder under the root of your '''src''' folder.  Additionally, you will need to place 3 files in the .esapi folder:&lt;br /&gt;
#* ESAPI.properties&lt;br /&gt;
#* validation.properties&lt;br /&gt;
#* appsensor.properties &lt;br /&gt;
# Modify the following line in the ESAPI.properties file:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.esapi.reference.DefaultIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The line above should be changed to: &lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.appsensor.intrusiondetection.AppSensorIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Customize the configuration files listed above (those in the .esapi folder) to suit your own project.  &lt;br /&gt;
# '''TODO:''' Add example appsensor configuration or examples&lt;br /&gt;
At this point you should have the project configured to work properly.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Without Maven ====&lt;br /&gt;
If you use some mechanism other than maven as the build system for your application, then adding AppSensor requires downloading and adding all required libraries to your project manually in addition to the other basic steps, and this process is outlined below: &lt;br /&gt;
# Download the libraries described as dependencies above, and add them to your project (likely in the '''WEB-INF/lib''' folder of your application).&lt;br /&gt;
# Add the '''.esapi''' folder to your project in a location that ESAPI can find it.  The easiest way to do this is to add the folder under the root of your '''src''' folder.  Additionally, you will need to place 3 files in the .esapi folder:&lt;br /&gt;
#* ESAPI.properties&lt;br /&gt;
#* validation.properties&lt;br /&gt;
#* appsensor.properties &lt;br /&gt;
# Modify the following line in the ESAPI.properties file:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.esapi.reference.DefaultIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The line above should be changed to&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.appsensor.intrusiondetection.AppSensorIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Customize the configuration files listed above (those in the .esapi folder) to suit your own project.  &lt;br /&gt;
At this point you should have the project configured to work properly.&lt;br /&gt;
----&lt;br /&gt;
== Using AppSensor in your project ==&lt;br /&gt;
Once your project is properly configured to use AppSensor, using AppSensor is very simple.  It takes only 2 basic steps: '''Intrusion Detection Code''' and '''Intrusion Threshold Configuration'''. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Intrusion Detection Code ====&lt;br /&gt;
Here are a couple of very simple examples.&lt;br /&gt;
&lt;br /&gt;
The following example involves creating an AppSensorException by hand in your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//This example snippet might be placed on a jsp that handles HTTP 404 errors.  &lt;br /&gt;
//When the page is accessed, this code notifies AppSensor that an invalid page request was made.&lt;br /&gt;
//Notice that the exception is created, not thrown&lt;br /&gt;
&lt;br /&gt;
new AppSensorException(&amp;quot;ACE3&amp;quot;, &amp;quot;Invalid request&amp;quot;, &amp;quot;Attacker is requesting a non-existent (404) page (&amp;quot; + requestedURI + &amp;quot;)&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following example relies on the AttackDetectorUtils class to create the exception. This class contains various methods that handle common detection points.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//This example snippet might be placed in request handling code that expects a form POST to occur (not a GET, not a PUT, etc).   &lt;br /&gt;
//This code notifies AppSensor that an type of HTTP request was made.&lt;br /&gt;
&lt;br /&gt;
AttackDetectorUtils.verifyValidRequestMethod(request, AttackDetectorUtils.POST);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Intrusion Threshold Configuration ====&lt;br /&gt;
Here the salient points to note are that the configuration can vary depending on what response actions are desired as well as what threshold is required.  Additionally, you have control over these settings and can tune them to produce the desired effect.  These configurations can be set in the appsensor.properties file in your .esapi folder.  ''Note: While these threshold configurations can be set in the ESAPI.properties in the .esapi folder, it is not recommended for AppSensor so that the configuration can be kept together in one place.  Also note some thresholds may already be configured for subclasses of ESAPI's EnterpriseSecurityException in the ESAPI.properties file - please be aware of that when setting up the configuration for your application.''&lt;br /&gt;
&lt;br /&gt;
Below are two sample threshold configurations for two separate detection points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# http://www.owasp.org/index.php/AppSensor_DetectionPoints#ACE2:_Modifying_Parameters_Within_A_POST_For_Direct_Object_Access_Attempts&lt;br /&gt;
# number of intrusions in a specified segment of time that constitutes the upper threshold - once crossed, it's considered an &amp;quot;attack&amp;quot;&lt;br /&gt;
IntrusionDetector.ACE2.count=3&lt;br /&gt;
# segment of time (in seconds)&lt;br /&gt;
IntrusionDetector.ACE2.interval=3&lt;br /&gt;
# list of actions you want executed in the specified order as the threshold for this intrusion is met - ie. log the first time, logout the user the second time, etc.&lt;br /&gt;
IntrusionDetector.ACE2.actions=log,logout,disable,disableComponent&lt;br /&gt;
# some integer - duration of time to disable&lt;br /&gt;
IntrusionDetector.ACE2.disableComponent.duration=30&lt;br /&gt;
# some measure of time, currently supported are s,m,h,d (second, minute, hour, day)&lt;br /&gt;
IntrusionDetector.ACE2.disableComponent.timeScale=m&lt;br /&gt;
# some integer - duration of time to disable&lt;br /&gt;
IntrusionDetector.ACE2.disableComponentForUser.duration=30&lt;br /&gt;
# some measure of time, currently supported are s,m,h,d (second, minute, hour, day)&lt;br /&gt;
IntrusionDetector.ACE2.disableComponentForUser.timeScale=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# http://www.owasp.org/index.php/AppSensor_DetectionPoints#RE3:_GET_When_Expecting_POST&lt;br /&gt;
# number of intrusions in a specified segment of time that constitutes the upper threshold - once crossed, it's considered an &amp;quot;attack&amp;quot;&lt;br /&gt;
IntrusionDetector.RE3.count=3&lt;br /&gt;
# segment of time (in seconds)&lt;br /&gt;
IntrusionDetector.RE3.interval=300&lt;br /&gt;
# list of actions you want executed in the specified order as the threshold for this intrusion is met - ie. log the first time, logout the user the second time, etc.&lt;br /&gt;
IntrusionDetector.RE3.actions=log,logout,disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This document shows that AppSensor is very simple to configure as well as to use.  Once setup, you simply add detection points to your code and add and/or modify the appropriate configuration information in the ESAPI.properties and appsensor.properties files in order to let AppSensor know your appropriate thresholds for each detection point.  That's it!&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=AppSensor_Developer_Guide&amp;diff=91636</id>
		<title>AppSensor Developer Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=AppSensor_Developer_Guide&amp;diff=91636"/>
				<updated>2010-10-19T05:14:50Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: fixing appsensor version - adding link to latest&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= AppSensor Developer Guide =&lt;br /&gt;
&lt;br /&gt;
The [[:Category:OWASP AppSensor Project|AppSensor Project]] describes an application layer intrusion detection system.  There is a Java implementation of this system whose basic usage can be found in the [[AppSensor_GettingStarted|Getting Started]] guide. This document describes in more technical detail for developers how to use and extend AppSensor for a specific environment and application.&lt;br /&gt;
&lt;br /&gt;
== Developer Overview ==&lt;br /&gt;
AppSensor is an application layer intrusion detection system.  The concept in implementation is roughly analogous to an intrusion detection (and prevention) system in the network security world.  However, this concept can be applied inside of an application in a more specific way that (importantly) reduces false positives, which is an issue that often plagues network intrusion detection systems.  This means that the core of the AppSensor system performs detection, monitoring, and (possibly) response depending on configuration settings.  &lt;br /&gt;
&lt;br /&gt;
AppSensor has been built to be quite extensible from the ground up.  Most of the system can be appreciably modified to your needs by simply extending certain key interfaces, and modifying the appsensor configuration file appropriately.  This extensible design makes it possible for various configurations to be applied depending upon the application.  For instance, in a small application, you may choose to use a simple file-based model for storing intrusions that are detected, whereas for a larger application, you may have a relational database serving as your data store.  See the '''Extending AppSensor''' section below for specifics on what can be extended.&lt;br /&gt;
&lt;br /&gt;
A fuller description of the [http://www.owasp.org/index.php/AppSensor_DetectionPoints detection points] and [http://www.owasp.org/index.php/AppSensor_ResponseActions responses] are available - note that not all of these ideas are implemented here.  The selection of detection points, where they are added, and how the application responds is application and organisation dependent.&lt;br /&gt;
&lt;br /&gt;
== Obtaining AppSensor ==&lt;br /&gt;
The appsensor.jar can be downloaded here - [http://repo2.maven.org/maven2/org/owasp/appsensor/AppSensor/0.1.3/AppSensor-0.1.3.jar AppSensor-0.1.3.jar]&lt;br /&gt;
&lt;br /&gt;
The source is available [http://code.google.com/p/appsensor/source/browse/#svn/trunk/AppSensor%3Fstate%3Dclosed here]&lt;br /&gt;
&lt;br /&gt;
== Extending AppSensor ==&lt;br /&gt;
Below you will find the individual interfaces you are likely to extend in order to modify AppSensor for your environment. &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== IntrusionStore ====&lt;br /&gt;
The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/IntrusionStore.java IntrusionStore] interface represents, simply enough, the storage mechanism for any intrusions that occur in the system.  The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/AppSensorIntrusionDetector.java AppSensorIntrusionDetector] takes care of adding the intrusions to the intrusion store.  The current [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/reference/DefaultIntrusionStore.java DefaultIntrusionStore] class stores all of the intrusions in a simple HashMap.  The class is fairly small and simple, though, so it is trivial to understand it's inner workings and to use similar concepts to build an implementation that suits your environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The setting you'll need to modify in appsensor.properties to enable your own implementation is:&lt;br /&gt;
&lt;br /&gt;
# This is the class that handles the intrusion store&lt;br /&gt;
AppSensor.intrusionStore=org.owasp.appsensor.intrusiondetection.reference.DefaultIntrusionStore&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== ResponseAction ====&lt;br /&gt;
The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/ResponseAction.java ResponseAction] interface is used to simply respond to an intrusion once a threshold has been crossed.  The decision for when to respond is handled by the [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/AppSensorIntrusionDetector.java AppSensorIntrusionDetector], but the actual handling of the response is delegated to implementations of this interface.  The only reason to not use the [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/reference/DefaultResponseAction.java DefaultResponseAction] would be if you have additional response actions you need to take, or if you need to modify the handling of one of the existing responses.  Again, the [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/reference/DefaultResponseAction.java DefaultResponseAction] should give you a good starting point for creating your own implementation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The setting you'll need to modify in appsensor.properties to enable your own implementation is:&lt;br /&gt;
&lt;br /&gt;
# This is the class that handles the response actions&lt;br /&gt;
AppSensor.responseAction=org.owasp.appsensor.intrusiondetection.reference.DefaultResponseAction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/intrusiondetection/reference/DefaultResponseAction.java DefaultResponseAction] supports the following actions:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;log&amp;quot; - logs the activity&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;logout&amp;quot; - logs the currently logged in user out (if one exists)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;disable&amp;quot; - disables the account of the currently logged in user (if one exists)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;disableComponent&amp;quot; - disables access to the location of the intrusion using the AppSensorServiceController&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;disableComponentForUser&amp;quot; - disables access to the location of the intrusion using the AppSensorServiceController for the currently logged in user(if one exists)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;emailAdmin&amp;quot; - Email administrator to notify of what action has occurred&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;quot;smsAdmin&amp;quot; - SMS administrator (via email to sms account) to notify of what action has occurred&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Response actions can be configured for individual detection points using properties like: IntrusionDetector.&amp;lt;detection point&amp;gt;.actions=&lt;br /&gt;
&lt;br /&gt;
# list of actions you want executed in the specified order as the threshold for this intrusion is met - &lt;br /&gt;
# ie. log the first time, logout the user the second time, etc.&lt;br /&gt;
IntrusionDetector.IE99.actions=log,logout,disable,disableComponent&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== ASUtilities ====&lt;br /&gt;
The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/ASUtilities.java ASUtilities] interface handles a collection of concerns.  It handles retrieving the current user of the application (ie. the user that made the current request and/or caused the current intrusion).  In addition, it handles the retrieval of the logger as well as the current HTTP request.  The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/reference/DefaultASUtilities.java DefaultASUtilities] implementation simply delegates to the equivalent ESAPI method calls to retrieve the appropriate data.  If you are not using ESAPI's logging and/or authentication and/or request binding utilities, you'll need to create your own implementation of this class. ''' ''Note: This is the interface you'll need to implement if you are not using ESAPI.'' '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The setting you'll need to modify in appsensor.properties to enable your own implementation is:&lt;br /&gt;
&lt;br /&gt;
# This is the class that handles the utility retriever&lt;br /&gt;
AppSensor.asUtilities=org.owasp.appsensor.reference.DefaultASUtilities&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== TrendLogger ====&lt;br /&gt;
The [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/trendmonitoring/TrendLogger.java TrendLogger] interface is in place to handle the logging of events in order to monitor trends.  The techniques for doing this vary widely depending upon environment.  You'll most likely not want to use the existing [http://code.google.com/p/appsensor/source/browse/trunk/AppSensor/src/main/java/org/owasp/appsensor/trendmonitoring/reference/InMemoryTrendLogger.java InMemoryTrendLogger] as it will scale very poorly.  It is simply in place as a starting point for other implementations.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The setting you'll need to modify in appsensor.properties to enable your own implementation is:&lt;br /&gt;
&lt;br /&gt;
# This is the class that handles the trend logging&lt;br /&gt;
AppSensor.trendLogger=org.owasp.appsensor.trendmonitoring.reference.InMemoryTrendLogger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Adding AppSensor to your project ==&lt;br /&gt;
&lt;br /&gt;
==== Dependencies ====&lt;br /&gt;
AppSensor has the following dependencies: &lt;br /&gt;
*OWASP ESAPI Java library&lt;br /&gt;
*JavaMail libraries (activation and mail jar files)&lt;br /&gt;
*Servlet/JSP libraries&lt;br /&gt;
*Logging API library (log4j by default)&lt;br /&gt;
----&lt;br /&gt;
==== With Maven ====&lt;br /&gt;
If you use maven as the build system for your application, then adding AppSensor to your project is very simple and requires 4 basic steps. &lt;br /&gt;
# Add the following configuration into the '''dependencies''' section of your POM: &lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#:&amp;lt;dependency&amp;gt;&lt;br /&gt;
#:  &amp;lt;groupId&amp;gt;org.owasp.appsensor&amp;lt;/groupId&amp;gt;&lt;br /&gt;
#:  &amp;lt;artifactId&amp;gt;AppSensor&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
#:  &amp;lt;version&amp;gt;PUT_YOUR_VERSION_HERE&amp;lt;/version&amp;gt;&lt;br /&gt;
#:&amp;lt;/dependency&amp;gt;&lt;br /&gt;
#:&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Add the ESAPI jar into your local maven repository manually using the '''mvn install''' command. This will add ESAPI to the project. ''Note: This process will change in the future once ESAPI is fully setup in the central maven repository.  At that time, AppSensor's POM will add ESAPI as a dependency, and this step will go away.''&lt;br /&gt;
# Add the '''.esapi''' folder to your project in a location that ESAPI can find it.  The easiest way to do this is to add the folder under the root of your '''src''' folder.  Additionally, you will need to place 3 files in the .esapi folder:&lt;br /&gt;
#* ESAPI.properties&lt;br /&gt;
#* validation.properties&lt;br /&gt;
#* appsensor.properties &lt;br /&gt;
# Modify the following line in the ESAPI.properties file:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.esapi.reference.DefaultIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The line above should be changed to: &lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.appsensor.intrusiondetection.AppSensorIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Customize the configuration files listed above (those in the .esapi folder) to suit your own project.  &lt;br /&gt;
# '''TODO:''' Add example appsensor configuration or examples&lt;br /&gt;
At this point you should have the project configured to work properly.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Without Maven ====&lt;br /&gt;
If you use some mechanism other than maven as the build system for your application, then adding AppSensor requires downloading and adding all required libraries to your project manually in addition to the other basic steps, and this process is outlined below: &lt;br /&gt;
# Download the libraries described as dependencies above, and add them to your project (likely in the '''WEB-INF/lib''' folder of your application).&lt;br /&gt;
# Add the '''.esapi''' folder to your project in a location that ESAPI can find it.  The easiest way to do this is to add the folder under the root of your '''src''' folder.  Additionally, you will need to place 3 files in the .esapi folder:&lt;br /&gt;
#* ESAPI.properties&lt;br /&gt;
#* validation.properties&lt;br /&gt;
#* appsensor.properties &lt;br /&gt;
# Modify the following line in the ESAPI.properties file:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.esapi.reference.DefaultIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The line above should be changed to&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.appsensor.intrusiondetection.AppSensorIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Customize the configuration files listed above (those in the .esapi folder) to suit your own project.  &lt;br /&gt;
At this point you should have the project configured to work properly.&lt;br /&gt;
----&lt;br /&gt;
== Using AppSensor in your project ==&lt;br /&gt;
Once your project is properly configured to use AppSensor, using AppSensor is very simple.  It takes only 2 basic steps: '''Intrusion Detection Code''' and '''Intrusion Threshold Configuration'''. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Intrusion Detection Code ====&lt;br /&gt;
Here are a couple of very simple examples.&lt;br /&gt;
&lt;br /&gt;
The following example involves creating an AppSensorException by hand in your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//This example snippet might be placed on a jsp that handles HTTP 404 errors.  &lt;br /&gt;
//When the page is accessed, this code notifies AppSensor that an invalid page request was made.&lt;br /&gt;
//Notice that the exception is created, not thrown&lt;br /&gt;
&lt;br /&gt;
new AppSensorException(&amp;quot;ACE3&amp;quot;, &amp;quot;Invalid request&amp;quot;, &amp;quot;Attacker is requesting a non-existent (404) page (&amp;quot; + requestedURI + &amp;quot;)&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following example relies on the AttackDetectorUtils class to create the exception. This class contains various methods that handle common detection points.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//This example snippet might be placed in request handling code that expects a form POST to occur (not a GET, not a PUT, etc).   &lt;br /&gt;
//This code notifies AppSensor that an type of HTTP request was made.&lt;br /&gt;
&lt;br /&gt;
AttackDetectorUtils.verifyValidRequestMethod(request, AttackDetectorUtils.POST);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Intrusion Threshold Configuration ====&lt;br /&gt;
Here the salient points to note are that the configuration can vary depending on what response actions are desired as well as what threshold is required.  Additionally, you have control over these settings and can tune them to produce the desired effect.  These configurations can be set in the appsensor.properties file in your .esapi folder.  ''Note: While these threshold configurations can be set in the ESAPI.properties in the .esapi folder, it is not recommended for AppSensor so that the configuration can be kept together in one place.  Also note some thresholds may already be configured for subclasses of ESAPI's EnterpriseSecurityException in the ESAPI.properties file - please be aware of that when setting up the configuration for your application.''&lt;br /&gt;
&lt;br /&gt;
Below are two sample threshold configurations for two separate detection points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# http://www.owasp.org/index.php/AppSensor_DetectionPoints#ACE2:_Modifying_Parameters_Within_A_POST_For_Direct_Object_Access_Attempts&lt;br /&gt;
# number of intrusions in a specified segment of time that constitutes the upper threshold - once crossed, it's considered an &amp;quot;attack&amp;quot;&lt;br /&gt;
IntrusionDetector.ACE2.count=3&lt;br /&gt;
# segment of time (in seconds)&lt;br /&gt;
IntrusionDetector.ACE2.interval=3&lt;br /&gt;
# list of actions you want executed in the specified order as the threshold for this intrusion is met - ie. log the first time, logout the user the second time, etc.&lt;br /&gt;
IntrusionDetector.ACE2.actions=log,logout,disable,disableComponent&lt;br /&gt;
# some integer - duration of time to disable&lt;br /&gt;
IntrusionDetector.ACE2.disableComponent.duration=30&lt;br /&gt;
# some measure of time, currently supported are s,m,h,d (second, minute, hour, day)&lt;br /&gt;
IntrusionDetector.ACE2.disableComponent.timeScale=m&lt;br /&gt;
# some integer - duration of time to disable&lt;br /&gt;
IntrusionDetector.ACE2.disableComponentForUser.duration=30&lt;br /&gt;
# some measure of time, currently supported are s,m,h,d (second, minute, hour, day)&lt;br /&gt;
IntrusionDetector.ACE2.disableComponentForUser.timeScale=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# http://www.owasp.org/index.php/AppSensor_DetectionPoints#RE3:_GET_When_Expecting_POST&lt;br /&gt;
# number of intrusions in a specified segment of time that constitutes the upper threshold - once crossed, it's considered an &amp;quot;attack&amp;quot;&lt;br /&gt;
IntrusionDetector.RE3.count=3&lt;br /&gt;
# segment of time (in seconds)&lt;br /&gt;
IntrusionDetector.RE3.interval=300&lt;br /&gt;
# list of actions you want executed in the specified order as the threshold for this intrusion is met - ie. log the first time, logout the user the second time, etc.&lt;br /&gt;
IntrusionDetector.RE3.actions=log,logout,disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This document shows that AppSensor is very simple to configure as well as to use.  Once setup, you simply add detection points to your code and add and/or modify the appropriate configuration information in the ESAPI.properties and appsensor.properties files in order to let AppSensor know your appropriate thresholds for each detection point.  That's it!&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=AppSensor_GettingStarted&amp;diff=85451</id>
		<title>AppSensor GettingStarted</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=AppSensor_GettingStarted&amp;diff=85451"/>
				<updated>2010-06-25T19:32:43Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting Started with AppSensor=&lt;br /&gt;
The [[:Category:OWASP AppSensor Project|AppSensor Project]] describes an application layer intrusion detection system, both the concepts involved as well as offering a collection of helpful detection points to be implemented into your application. This document describes how to begin using the Java implementation of AppSensor as part of your application.&lt;br /&gt;
&lt;br /&gt;
''Note: This document assumes you are planning to use ESAPI as your authentication/authorization system.  This is absolutely NOT required by AppSensor, but there are reference implementations that come with AppSensor that make this usage simple and it works &amp;quot;out-of-the-box&amp;quot;.  If you choose to use some other mechanism to provide these functions, please also see the documentation regarding [[AppSensor_Developer_Guide|AppSensor Developer Guide]].''&lt;br /&gt;
&lt;br /&gt;
== Adding AppSensor to your project ==&lt;br /&gt;
&lt;br /&gt;
==== Dependencies ====&lt;br /&gt;
AppSensor has the following dependencies: &lt;br /&gt;
*OWASP ESAPI Java library&lt;br /&gt;
*JavaMail libraries (activation and mail jar files)&lt;br /&gt;
*Servlet/JSP libraries&lt;br /&gt;
*Logging API library (log4j by default)&lt;br /&gt;
----&lt;br /&gt;
==== With Maven ====&lt;br /&gt;
If you use maven as the build system for your application, then adding AppSensor to your project is very simple and requires 4 basic steps. &lt;br /&gt;
# Add the following configuration into the '''dependencies''' section of your POM: &lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#:&amp;lt;dependency&amp;gt;&lt;br /&gt;
#:  &amp;lt;groupId&amp;gt;org.owasp.appsensor&amp;lt;/groupId&amp;gt;&lt;br /&gt;
#:  &amp;lt;artifactId&amp;gt;AppSensor&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
#:  &amp;lt;version&amp;gt;PUT_YOUR_VERSION_HERE&amp;lt;/version&amp;gt;&lt;br /&gt;
#:&amp;lt;/dependency&amp;gt;&lt;br /&gt;
#:&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Add the ESAPI jar into your local maven repository manually using the '''mvn install''' command. This will add ESAPI to the project. ''Note: This process will change in the future once ESAPI is fully setup in the central maven repository.  At that time, AppSensor's POM will add ESAPI as a dependency, and this step will go away.''&lt;br /&gt;
# Add the '''.esapi''' folder to your project in a location that ESAPI can find it.  The easiest way to do this is to add the folder under the root of your '''src''' folder.  Additionally, you will need to place 3 files in the .esapi folder:&lt;br /&gt;
#* ESAPI.properties&lt;br /&gt;
#* validation.properties&lt;br /&gt;
#* appsensor.properties &lt;br /&gt;
# Modify the following line in the ESAPI.properties file:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.esapi.reference.DefaultIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The line above should be changed to: &lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.appsensor.intrusiondetection.AppSensorIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Customize the configuration files listed above (those in the .esapi folder) to suit your own project.  &lt;br /&gt;
# '''TODO:''' Add example appsensor configuration or examples&lt;br /&gt;
At this point you should have the project configured to work properly.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Without Maven ====&lt;br /&gt;
If you use some mechanism other than maven as the build system for your application, then adding AppSensor requires downloading and adding all required libraries to your project manually in addition to the other basic steps, and this process is outlined below: &lt;br /&gt;
# Download the libraries described as dependencies above, and add them to your project (likely in the '''WEB-INF/lib''' folder of your application).&lt;br /&gt;
# Add the '''.esapi''' folder to your project in a location that ESAPI can find it.  The easiest way to do this is to add the folder under the root of your '''src''' folder.  Additionally, you will need to place 3 files in the .esapi folder:&lt;br /&gt;
#* ESAPI.properties&lt;br /&gt;
#* validation.properties&lt;br /&gt;
#* appsensor.properties &lt;br /&gt;
# Modify the following line in the ESAPI.properties file:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.esapi.reference.DefaultIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The line above should be changed to&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.appsensor.intrusiondetection.AppSensorIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Customize the configuration files listed above (those in the .esapi folder) to suit your own project.  &lt;br /&gt;
At this point you should have the project configured to work properly.&lt;br /&gt;
----&lt;br /&gt;
== Using AppSensor in your project ==&lt;br /&gt;
Once your project is properly configured to use AppSensor, using AppSensor is very simple.  It takes only 2 basic steps: '''Intrusion Detection Code''' and '''Intrusion Threshold Configuration'''. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Intrusion Detection Code ====&lt;br /&gt;
Here are a couple of very simple examples.&lt;br /&gt;
&lt;br /&gt;
The following example involves creating an AppSensorException by hand in your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//This example snippet might be placed on a jsp that handles HTTP 404 errors.  &lt;br /&gt;
//When the page is accessed, this code notifies AppSensor that an invalid page request was made.&lt;br /&gt;
//Notice that the exception is created, not thrown&lt;br /&gt;
&lt;br /&gt;
new AppSensorException(&amp;quot;ACE3&amp;quot;, &amp;quot;Invalid request&amp;quot;, &amp;quot;Attacker is requesting a non-existent (404) page (&amp;quot; + requestedURI + &amp;quot;)&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following example relies on the AttackDetectorUtils class to create the exception. This class contains various methods that handle common detection points.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//This example snippet might be placed in request handling code that expects a form POST to occur (not a GET, not a PUT, etc).   &lt;br /&gt;
//This code notifies AppSensor that an type of HTTP request was made.&lt;br /&gt;
&lt;br /&gt;
AttackDetectorUtils.verifyValidRequestMethod(request, AttackDetectorUtils.POST);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Intrusion Threshold Configuration ====&lt;br /&gt;
Here the salient points to note are that the configuration can vary depending on what response actions are desired as well as what threshold is required.  Additionally, you have control over these settings and can tune them to produce the desired effect.  These configurations can be set in the appsensor.properties file in your .esapi folder.  ''Note: While these threshold configurations can be set in the ESAPI.properties in the .esapi folder, it is not recommended for AppSensor so that the configuration can be kept together in one place.  Also note some thresholds may already be configured for subclasses of ESAPI's EnterpriseSecurityException in the ESAPI.properties file - please be aware of that when setting up the configuration for your application.''&lt;br /&gt;
&lt;br /&gt;
Below are two sample threshold configurations for two separate detection points.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# http://www.owasp.org/index.php/AppSensor_DetectionPoints#ACE2:_Modifying_Parameters_Within_A_POST_For_Direct_Object_Access_Attempts&lt;br /&gt;
# number of intrusions in a specified segment of time that constitutes the upper threshold - once crossed, it's considered an &amp;quot;attack&amp;quot;&lt;br /&gt;
IntrusionDetector.ACE2.count=3&lt;br /&gt;
# segment of time (in seconds)&lt;br /&gt;
IntrusionDetector.ACE2.interval=3&lt;br /&gt;
# list of actions you want executed in the specified order as the threshold for this intrusion is met - ie. log the first time, logout the user the second time, etc.&lt;br /&gt;
IntrusionDetector.ACE2.actions=log,logout,disable,disableComponent&lt;br /&gt;
# some integer - duration of time to disable&lt;br /&gt;
IntrusionDetector.ACE2.disableComponent.duration=30&lt;br /&gt;
# some measure of time, currently supported are s,m,h,d (second, minute, hour, day)&lt;br /&gt;
IntrusionDetector.ACE2.disableComponent.timeScale=m&lt;br /&gt;
# some integer - duration of time to disable&lt;br /&gt;
IntrusionDetector.ACE2.disableComponentForUser.duration=30&lt;br /&gt;
# some measure of time, currently supported are s,m,h,d (second, minute, hour, day)&lt;br /&gt;
IntrusionDetector.ACE2.disableComponentForUser.timeScale=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# http://www.owasp.org/index.php/AppSensor_DetectionPoints#RE3:_GET_When_Expecting_POST&lt;br /&gt;
# number of intrusions in a specified segment of time that constitutes the upper threshold - once crossed, it's considered an &amp;quot;attack&amp;quot;&lt;br /&gt;
IntrusionDetector.RE3.count=3&lt;br /&gt;
# segment of time (in seconds)&lt;br /&gt;
IntrusionDetector.RE3.interval=300&lt;br /&gt;
# list of actions you want executed in the specified order as the threshold for this intrusion is met - ie. log the first time, logout the user the second time, etc.&lt;br /&gt;
IntrusionDetector.RE3.actions=log,logout,disable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This document shows that AppSensor is very simple to configure as well as to use.  Once setup, you simply add detection points to your code and add and/or modify the appropriate configuration information in the ESAPI.properties and appsensor.properties files in order to let AppSensor know your appropriate thresholds for each detection point.  That's it!&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP AppSensor Project]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=AppSensor_GettingStarted&amp;diff=85450</id>
		<title>AppSensor GettingStarted</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=AppSensor_GettingStarted&amp;diff=85450"/>
				<updated>2010-06-25T19:22:42Z</updated>
		
		<summary type="html">&lt;p&gt;John Melton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting Started with AppSensor=&lt;br /&gt;
The [[:Category:OWASP AppSensor Project|AppSensor Project]] describes an application layer intrusion detection system, both the concepts involved as well as offering a collection of helpful detection points to be implemented into your application. This document describes how to begin using the Java implementation of AppSensor as part of your application.&lt;br /&gt;
&lt;br /&gt;
''Note: This document assumes you are planning to use ESAPI as your authentication/authorization system.  This is absolutely NOT required by AppSensor, but there are reference implementations that come with AppSensor that make this usage simple and it works &amp;quot;out-of-the-box&amp;quot;.  If you choose to use some other mechanism to provide these functions, please also see the documentation regarding [[AppSensor_Developer_Guide|AppSensor Developer Guide]].''&lt;br /&gt;
&lt;br /&gt;
== Adding AppSensor to your project ==&lt;br /&gt;
&lt;br /&gt;
==== Dependencies ====&lt;br /&gt;
AppSensor has the following dependencies: &lt;br /&gt;
*OWASP ESAPI Java library&lt;br /&gt;
*JavaMail libraries (activation and mail jar files)&lt;br /&gt;
*Servlet/JSP libraries&lt;br /&gt;
*Logging API library (log4j by default)&lt;br /&gt;
----&lt;br /&gt;
==== With Maven ====&lt;br /&gt;
If you use maven as the build system for your application, then adding AppSensor to your project is very simple and requires 4 basic steps. &lt;br /&gt;
# Add the following configuration into the '''dependencies''' section of your POM: &lt;br /&gt;
#:&amp;lt;pre&amp;gt;&lt;br /&gt;
#:&amp;lt;dependency&amp;gt;&lt;br /&gt;
#:  &amp;lt;groupId&amp;gt;org.owasp.appsensor&amp;lt;/groupId&amp;gt;&lt;br /&gt;
#:  &amp;lt;artifactId&amp;gt;AppSensor&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
#:  &amp;lt;version&amp;gt;PUT_YOUR_VERSION_HERE&amp;lt;/version&amp;gt;&lt;br /&gt;
#:&amp;lt;/dependency&amp;gt;&lt;br /&gt;
#:&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Add the ESAPI jar into your local maven repository manually using the '''mvn install''' command. This will add ESAPI to the project. ''Note: This process will change in the future once ESAPI is fully setup in the central maven repository.  At that time, AppSensor's POM will add ESAPI as a dependency, and this step will go away.''&lt;br /&gt;
# Add the '''.esapi''' folder to your project in a location that ESAPI can find it.  The easiest way to do this is to add the folder under the root of your '''src''' folder.  Additionally, you will need to place 3 files in the .esapi folder:&lt;br /&gt;
#* ESAPI.properties&lt;br /&gt;
#* validation.properties&lt;br /&gt;
#* appsensor.properties &lt;br /&gt;
# Modify the following line in the ESAPI.properties file:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.esapi.reference.DefaultIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The line above should be changed to: &lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.appsensor.intrusiondetection.AppSensorIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Customize the configuration files listed above (those in the .esapi folder) to suit your own project.  &lt;br /&gt;
# '''TODO:''' Add example appsensor configuration or examples&lt;br /&gt;
At this point you should have the project configured to work properly.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Without Maven ====&lt;br /&gt;
If you use some mechanism other than maven as the build system for your application, then adding AppSensor requires downloading and adding all required libraries to your project manually in addition to the other basic steps, and this process is outlined below: &lt;br /&gt;
# Download the libraries described as dependencies above, and add them to your project (likely in the '''WEB-INF/lib''' folder of your application).&lt;br /&gt;
# Add the '''.esapi''' folder to your project in a location that ESAPI can find it.  The easiest way to do this is to add the folder under the root of your '''src''' folder.  Additionally, you will need to place 3 files in the .esapi folder:&lt;br /&gt;
#* ESAPI.properties&lt;br /&gt;
#* validation.properties&lt;br /&gt;
#* appsensor.properties &lt;br /&gt;
# Modify the following line in the ESAPI.properties file:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.esapi.reference.DefaultIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:The line above should be changed to&lt;br /&gt;
#:&amp;lt;pre&amp;gt;ESAPI.IntrusionDetector=org.owasp.appsensor.intrusiondetection.AppSensorIntrusionDetector&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Customize the configuration files listed above (those in the .esapi folder) to suit your own project.  &lt;br /&gt;
At this point you should have the project configured to work properly.&lt;br /&gt;
----&lt;br /&gt;
== Using AppSensor in your project ==&lt;br /&gt;
Once your project is properly configured to use AppSensor, using AppSensor is very simple.  It takes only 2 basic steps: ''Intrusion Detection Code'' and ''Intrusion Threshold Configuration''. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Intrusion Detection Code ====&lt;br /&gt;
Here are a couple of very simple examples.&lt;br /&gt;
&lt;br /&gt;
The following example involves creating an AppSensorException by hand in your application:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//This example snippet might be placed on a jsp that handles HTTP 404 errors.  &lt;br /&gt;
//When the page is accessed, this code notifies AppSensor that an invalid page request was made.&lt;br /&gt;
//Notice that the exception is created, not thrown&lt;br /&gt;
&lt;br /&gt;
new AppSensorException(&amp;quot;ACE3&amp;quot;, &amp;quot;Invalid request&amp;quot;, &amp;quot;Attacker is requesting a non-existent (404) page (&amp;quot; + requestedURI + &amp;quot;)&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following example relies on the AttackDetectorUtils class to create the exception. This class contains various methods that handle common detection points.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//This example snippet might be placed in request handling code that expects a form POST to occur (not a GET, not a PUT, etc).   &lt;br /&gt;
//This code notifies AppSensor that an type of HTTP request was made.&lt;br /&gt;
&lt;br /&gt;
AttackDetectorUtils.verifyValidRequestMethod(request, AttackDetectorUtils.POST);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Intrusion Threshold Configuration ====&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This document shows that AppSensor is very simple to configure as well as to use.  Once setup, you simply add detection points to your code and add and/or modify the appropriate configuration information in the ESAPI.properties and appsensor.properties files in order to let AppSensor know your appropriate thresholds for each detection point.  That's it!&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP AppSensor Project]]&lt;/div&gt;</summary>
		<author><name>John Melton</name></author>	</entry>

	</feed>