Difference between revisions of "AppSecEU08 Input validation: the Good, the Bad and the Ugly"

From OWASP
Jump to: navigation, search
Line 1: Line 1:
This talk discusses input validation design choices and recommends practices that will give you a fighting chance to survive architectural decay as the application matures.
+
This talk discusses input validation design choices and recommends practices that provide developers a fighting chance to survive architectural decay as an application matures.
  
The OWASP 2004 Top Ten adviced to never trust user input. The advice is sound, but led many web application developer to write code that is a maintenance nightmare and insecure. This talk argues that the enthusiasm for input validation must be tempered by a resolve to eliminate code duplication to maintain sanity and security. I will show that it is possible to do so, even in the face of apparently conflicting objectives: usability and protection against malicious users.
+
The OWASP 2004 Top Ten adviced never to trust user input. Although fundamentally sound, it led to many maintenance nightmares and insecure web applications. This talk argues that the enthusiasm for input validation must be tempered by a resolve to eliminate code duplication to maintain sanity and security. I will show this is possible, even in the face of apparently conflicting objectives, namely usability and protection against malicious users.
  
The talk's discussion takes place against the backdrop of a case study
+
The discussion is illustrated by a case study
 
of a well-intentioned but flawed attempt at implementing meticulous
 
of a well-intentioned but flawed attempt at implementing meticulous
input validation and goes on to suggest some architectural
+
input validation. Architectural
refactoring, often mundane but often neglected, to get rid of the
+
refactoring, arguably mundane, but often neglected, will be employed to get rid of the
 
worst code smells. For those who favor life on the bleeding edge, the
 
worst code smells. For those who favor life on the bleeding edge, the
 
discussion also ambles into some more tentative territory.
 
discussion also ambles into some more tentative territory.

Revision as of 15:39, 30 March 2008

This talk discusses input validation design choices and recommends practices that provide developers a fighting chance to survive architectural decay as an application matures.

The OWASP 2004 Top Ten adviced never to trust user input. Although fundamentally sound, it led to many maintenance nightmares and insecure web applications. This talk argues that the enthusiasm for input validation must be tempered by a resolve to eliminate code duplication to maintain sanity and security. I will show this is possible, even in the face of apparently conflicting objectives, namely usability and protection against malicious users.

The discussion is illustrated by a case study of a well-intentioned but flawed attempt at implementing meticulous input validation. Architectural refactoring, arguably mundane, but often neglected, will be employed to get rid of the worst code smells. For those who favor life on the bleeding edge, the discussion also ambles into some more tentative territory.