This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "OWASP Proactive Controls"

From OWASP
Jump to: navigation, search
m
m
Line 231: Line 231:
 
== 7) Logging, Error Handling and Intrusion Detection TODO JIMBIRD ==
 
== 7) Logging, Error Handling and Intrusion Detection TODO JIMBIRD ==
  
Application logging should be consistent within the application, consistent across an organization's application portfolio and use industry standards where relevant, so the logged event data can be consumed, correlated, analyzed and managed by a wide variety of systems.
+
Application logging should not be an afterthought. Logging is not just important in debugging and troubleshooting. Logging also drives
 +
 
 +
* Application monitoring
 +
* Business analytics and insight
 +
* Activity auditing and compliance monitoring
 +
* System intrusion detection
 +
* Forensics
 +
 
 +
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement intrusion detection and automated response into an existing application. For more information please see the [[OWASP AppSensor Project]].
  
 
Application logging should be always be included for security events. Application logs are invaluable data for:
 
Application logging should be always be included for security events. Application logs are invaluable data for:
Line 242: Line 250:
 
* Helping defend against vulnerability identification and exploitation through attack detection
 
* Helping defend against vulnerability identification and exploitation through attack detection
  
Application logging might also be used to record other types of events too such as:
+
Process monitoring, audit and transaction logs/trails etc are usually collected for different purposes than security event logging, and this often means they should be kept separate. The types of events and details collected will tend to be different. For example a PCIDSS audit log will contain a chronological record of activities to provide an independently verifiable trail that permits reconstruction, review and examination to determine the original sequence of attributable transactions.  
 
 
* Security events
 
* Business process monitoring e.g. sales process abandonment, transactions, connections
 
* Audit trails e.g. data addition, modification and deletion, data exports
 
* Performance monitoring e.g. data load time, page timeouts
 
* Compliance monitoring
 
* Data for subsequent requests for information e.g. data subject access, freedom of information, litigation, police and other regulatory investigations
 
* Legally sanctioned interception of data e.g application-layer wire-tapping
 
* Other business-specific requirements
 
 
 
Process monitoring, audit and transaction logs/trails etc are usually collected for different purposes than security event logging, and this often means they should be kept separate. The types of events and details collected will tend to be different. For example a PCIDSS audit log will contain a chronological record of activities to provide an independently verifiable trail that permits reconstruction, review and examination to determine the original sequence of attributable transactions. It is important not to log too much, or too little. Use knowledge of the intended purposes to guide what, when and how much.
 
 
 
For more information, please see the [[Logging Cheat Sheet]].
 
 
 
The AppSensor project defines a conceptual framework and methodology that offers prescriptive guidance to implement intrusion detection and automated response into an existing application. For more information please see the [[OWASP AppSensor Project]].
 
  
TODO: Log Injection
+
It is important not to log too much, or too little - be careful not to log private or confidential data or secrets. Use knowledge of the intended purposes to guide what, when and how much. To protect the system from Log Injection, make sure to perform validation or encoding on untrusted data before logging it.
  
JIM BIRD: Talks about logging of “security events” but doesn’t explain or give examples of what a security event is. Reminder to obey privacy/confidentiality requirements – do not log private/confidential information Maybe should include something brief about protection from log injection (reminder to perform validation/encoding on user input fields that are logged)
+
For more information on how to properly implement logging in an application, please see the [[Logging Cheat Sheet]].
  
 
== 8) Leverage Security Features of Frameworks and Security Libraries ==
 
== 8) Leverage Security Features of Frameworks and Security Libraries ==

Revision as of 20:03, 11 March 2014

OWASP Project Header.jpg

OWASP Proactive Controls

architecture

As software developers author the code that makes up a web application, they need to do so in a secure manner. All tiers of a web application, the user interface, the business logic, the controller, the database code and more – all need to be developed with security in mind. This can be a very difficult task and developers are often set up for failure. Most developers did not learn about secure coding or crypto in school. The languages and frameworks that developers use to build web applications are often lacking critical core controls or are insecure by default in some way. There may be inherent flaws in requirements and designs. It is also very rare when organizations provide developers with prescriptive requirements that guide them down the path of secure software. When it comes to web security, developers are often set up to lose the security game.

This document was written by developers for developers, to assist those new to secure development. It aims to guide developers and other software development professionals down the path of secure web application software development.

Licensing

The OWASP Proactive Controls document is free to use under the Creative Commons ShareAlike 3 License.

What is this?

The OWASP Proactive Controls

  • This document was written by developers for developers, to assist those new to secure development.

Email List

Project Email List

Project Leader

Project Leaders:
Jim Manico
Andrew Van Der Stock
Jim Bird

Contributors:
Stephen de Vries

Related Projects

News and Events

  • [Feb 4 2014] New Wiki Template!


Classifications

Owasp-incubator-trans-85.png Owasp-builders-small.png
Owasp-defenders-small.png
CC BY-SA 3.0 US
Project Type Files DOC.jpg