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 "Summit 2011 Working Sessions/Session025"

From OWASP
Jump to: navigation, search
 
(2 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
| summit_session_attendee_name1 = Nishi Kumar
 
| summit_session_attendee_name1 = Nishi Kumar
 
| summit_session_attendee_email1 = [email protected]   
 
| summit_session_attendee_email1 = [email protected]   
 +
| summit_session_attendee_username1 =
 
| summit_session_attendee_company1= FIS
 
| summit_session_attendee_company1= FIS
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed1=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed1=
  
| summit_session_attendee_name2 = Colin Watson
+
| summit_session_attendee_name2 =  
 
| summit_session_attendee_email2 =  
 
| summit_session_attendee_email2 =  
 +
| summit_session_attendee_username2 =
 
| summit_session_attendee_company2=
 
| summit_session_attendee_company2=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed2=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed2=
Line 14: Line 16:
 
| summit_session_attendee_name3 = Justin Clarke
 
| summit_session_attendee_name3 = Justin Clarke
 
| summit_session_attendee_email3 = [email protected]
 
| summit_session_attendee_email3 = [email protected]
 +
| summit_session_attendee_username3 =
 
| summit_session_attendee_company3=Gotham Digital Science
 
| summit_session_attendee_company3=Gotham Digital Science
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed3=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed3=
Line 19: Line 22:
 
| summit_session_attendee_name4 = John Steven
 
| summit_session_attendee_name4 = John Steven
 
| summit_session_attendee_email4 = [email protected]
 
| summit_session_attendee_email4 = [email protected]
 +
| summit_session_attendee_username4 =
 
| summit_session_attendee_company4=Cigital
 
| summit_session_attendee_company4=Cigital
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed4=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed4=
Line 24: Line 28:
 
| summit_session_attendee_name5 =  
 
| summit_session_attendee_name5 =  
 
| summit_session_attendee_email5 =  
 
| summit_session_attendee_email5 =  
 +
| summit_session_attendee_username5 =
 
| summit_session_attendee_company5=
 
| summit_session_attendee_company5=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed5=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed5=
Line 29: Line 34:
 
| summit_session_attendee_name6 =  
 
| summit_session_attendee_name6 =  
 
| summit_session_attendee_email6 =  
 
| summit_session_attendee_email6 =  
 +
| summit_session_attendee_username6 =
 
| summit_session_attendee_company6=
 
| summit_session_attendee_company6=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed6=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed6=
Line 34: Line 40:
 
| summit_session_attendee_name7 =  
 
| summit_session_attendee_name7 =  
 
| summit_session_attendee_email7 =  
 
| summit_session_attendee_email7 =  
 +
| summit_session_attendee_username7 =
 
| summit_session_attendee_company7=
 
| summit_session_attendee_company7=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed7=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed7=
Line 39: Line 46:
 
| summit_session_attendee_name8 =  
 
| summit_session_attendee_name8 =  
 
| summit_session_attendee_email8 =  
 
| summit_session_attendee_email8 =  
 +
| summit_session_attendee_username8 =
 
| summit_session_attendee_company8=
 
| summit_session_attendee_company8=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed8=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed8=
Line 44: Line 52:
 
| summit_session_attendee_name9 =  
 
| summit_session_attendee_name9 =  
 
| summit_session_attendee_email9 =  
 
| summit_session_attendee_email9 =  
 +
| summit_session_attendee_username9 =
 
| summit_session_attendee_company9=
 
| summit_session_attendee_company9=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed9=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed9=
Line 49: Line 58:
 
| summit_session_attendee_name10 =  
 
| summit_session_attendee_name10 =  
 
| summit_session_attendee_email10 =  
 
| summit_session_attendee_email10 =  
 +
| summit_session_attendee_username10 =
 
| summit_session_attendee_company10=
 
| summit_session_attendee_company10=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed10=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed10=
Line 54: Line 64:
 
| summit_session_attendee_name11 =  
 
| summit_session_attendee_name11 =  
 
| summit_session_attendee_email11 =  
 
| summit_session_attendee_email11 =  
 +
| summit_session_attendee_username11 =
 
| summit_session_attendee_company11=
 
| summit_session_attendee_company11=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed11=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed11=
Line 59: Line 70:
 
| summit_session_attendee_name12 =  
 
| summit_session_attendee_name12 =  
 
| summit_session_attendee_email12 =  
 
| summit_session_attendee_email12 =  
 +
| summit_session_attendee_username12 =
 
| summit_session_attendee_company12=
 
| summit_session_attendee_company12=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed12=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed12=
Line 64: Line 76:
 
| summit_session_attendee_name13 =  
 
| summit_session_attendee_name13 =  
 
| summit_session_attendee_email13 =  
 
| summit_session_attendee_email13 =  
 +
| summit_session_attendee_username13 =
 
| summit_session_attendee_company13=
 
| summit_session_attendee_company13=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed13=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed13=
Line 69: Line 82:
 
| summit_session_attendee_name14 =  
 
| summit_session_attendee_name14 =  
 
| summit_session_attendee_email14 =  
 
| summit_session_attendee_email14 =  
 +
| summit_session_attendee_username14 =
 
| summit_session_attendee_company14=
 
| summit_session_attendee_company14=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed14=  
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed14=  
Line 74: Line 88:
 
| summit_session_attendee_name15 =  
 
| summit_session_attendee_name15 =  
 
| summit_session_attendee_email15 =  
 
| summit_session_attendee_email15 =  
 +
| summit_session_attendee_username15 =
 
| summit_session_attendee_company15=
 
| summit_session_attendee_company15=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed15=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed15=
Line 79: Line 94:
 
| summit_session_attendee_name16 =  
 
| summit_session_attendee_name16 =  
 
| summit_session_attendee_email16 =  
 
| summit_session_attendee_email16 =  
 +
| summit_session_attendee_username16 =
 
| summit_session_attendee_company16=
 
| summit_session_attendee_company16=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed16=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed16=
Line 84: Line 100:
 
| summit_session_attendee_name17 =  
 
| summit_session_attendee_name17 =  
 
| summit_session_attendee_email17 =  
 
| summit_session_attendee_email17 =  
 +
| summit_session_attendee_username17 =
 
| summit_session_attendee_company17=
 
| summit_session_attendee_company17=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed17=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed17=
Line 89: Line 106:
 
| summit_session_attendee_name18 =  
 
| summit_session_attendee_name18 =  
 
| summit_session_attendee_email18 =  
 
| summit_session_attendee_email18 =  
 +
| summit_session_attendee_username18 =
 
| summit_session_attendee_company18=
 
| summit_session_attendee_company18=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed18=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed18=
Line 94: Line 112:
 
| summit_session_attendee_name19 =  
 
| summit_session_attendee_name19 =  
 
| summit_session_attendee_email19 =  
 
| summit_session_attendee_email19 =  
 +
| summit_session_attendee_username19 =
 
| summit_session_attendee_company19=
 
| summit_session_attendee_company19=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed19=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed19=
Line 99: Line 118:
 
| summit_session_attendee_name20 =  
 
| summit_session_attendee_name20 =  
 
| summit_session_attendee_email20 =  
 
| summit_session_attendee_email20 =  
 +
| summit_session_attendee_username20 =
 
| summit_session_attendee_company20=
 
| summit_session_attendee_company20=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed20=
 
| summit_session_attendee_notes,_reason_for_participating_and_issues_to_be discussed20=
Line 229: Line 249:
 
| summit_session_leader_name2 =  
 
| summit_session_leader_name2 =  
 
| summit_session_leader_email2 =  
 
| summit_session_leader_email2 =  
 +
| summit_session_leader_username2 =
  
 
| summit_session_leader_name3 =  
 
| summit_session_leader_name3 =  
 
| summit_session_leader_email3 =  
 
| summit_session_leader_email3 =  
 +
| summit_session_leader_username3 =
  
 
|-
 
|-

Latest revision as of 06:21, 1 February 2011

Global Summit 2011 Home Page
Global Summit 2011 Tracks

WS. secure coding.jpg Applying ESAPI Input Validation
Please see/use the 'discussion' page for more details about this Working Session
Working Sessions Operational Rules - Please see here the general frame of rules.
WORKING SESSION IDENTIFICATION
Short Work Session Description This will be a "NO FLUFF" track where we pull out ourlaptops (not for email/IM), and show people how to develop securecode. Chris Schmidt referred to this here: http://yet-another-dev.blogspot.com/2010/11/cross-pollination-its-not-just-for-bees.html The Global Summit in Portugal will be a prototype for this new type of "track" and hopefully we can continue it in Minnesota for AppSec USA 2011. Pravir led something like this with SAMM (but regarding process) in Portugal the first time around and it was incredibly valuable.
Related Projects (if any)


Email Contacts & Roles Chair
Chris Schmidt @

Operational Manager
Mailing list
Subscription Page
WORKING SESSION SPECIFICS
Objectives
  1. Serial Decomp: Decode, canonicalize, filter
  2. Structured data (SSN, CC, etc.)
  3. Unstructured data (comments, blogs, etc.)
  4. Other input exaples (ws-, database, etc.)

Venue/Date&Time/Model Venue/Room
OWASP Global Summit Portugal 2011
Date & Time


Discussion Model
participants and attendees

WORKING SESSION OPERATIONAL RESOURCES
Projector, whiteboards, markers, Internet connectivity, power

WORKING SESSION ADDITIONAL DETAILS
Rules of Engagement
*Facilitator role replaces "speaker". They lead the session, but the session is a working session, laptops open, whiteboards filling. This is not a lecture.
  • Other facilitators adopt the present facilitator's goal as their own and we drive the concept/design/code forward Dissenting views are for drinks later.
  • Sessions are open to all participants provided they have at least the ability to read the chosen language, and have the following things installed when they arrive:
    • Our victim app
    • All session dependencies
    • Dev tools sufficient to build and run the app and our dependencies
  • Facilitators must agree to attend six (6) out of eight (8) sessions. Failing that, they're booted from the next venue
  • The objective of each session is split between educating participants and bringing the state of the practice forward.
  • Participants may bring whatever code they like, provided they contribute it to OWASP.
  • Facilitators should seek to absorb any new developments into the next conference session. IE: each session should have some new and unique content
  • Facilitators don't 'own' topics, in fact, I'd like them to rotate between cons. if possible.

1. Applying ESAPI Input Validation

  • Serial Decomp: Decode, canonicalize, filter
  • Structured data (SSN, CC, etc.)
  • Unstructured data (comments, blogs, etc.)
  • Other input exaples (ws-, database, etc.)

2. Defining AppSensor Sensors for:

  • Forced Browsing
  • Request Velocity
  • Unexpected encodings
  • Impersonation (Sudden user switch)

3. Managing Sessions

  • Across requests
  • Across containers
  • Invalidating sessions (Timeout, attack event, logout)
  • Invalidating sessions (across containers, SSO token invalidation, user termination)

4. Protecting Information Stored Client-Side

  • Threat Modeling the problem
  • Protecting theft and re-playability of application-specific info (on client & in flight)
  • Protecting theft and re-playability of session-specific info (in flight)
  • Protecting session-specific information from attack on the client

5. Protecting against CSRF - Dan Cornell, Eric Sheridan

  • Hygiene: Discuss/show frames-busting, cross-domain policy; Discuss referrer and other red herrings
  • Tokens (crafting, scoping, and checking)
  • Discussions, techniques on scale
  • Discussions, techniquest on CAPTCHA, re-auth, etc.

6. Providing Access to Persisted Data

  • Controlling visibility of tables by role
  • Providing access to safe SQL-like query through DAO layer
  • Discussions, techniques for providing secure'auto-wiring' / marshaling
  • Encoding and canonicalization for storage (or alternatively: Security concerns with heirarchical caching and object pooling)

7. and 8. TBD

There also will be a session to process the "Future" of a "NO FLUFF" OWASP Secure Coding Working Group -- How do we scale this idea and how can we get sponsorship for it? We hope to schedule at least two more "No Fluff" days for 2011.

WORKING SESSION OUTCOMES / DELIVERABLES
Proposed by Working Group Approved by OWASP Board

A clear and concise user guide for getting ESAPI input validation up and running.

After the Board Meeting - fill in here.

After the Board Meeting - fill in here.

After the Board Meeting - fill in here.

After the Board Meeting - fill in here.

After the Board Meeting - fill in here.

After the Board Meeting - fill in here.

After the Board Meeting - fill in here.

After the Board Meeting - fill in here.

Working Session Participants

(Add you name by clicking "edit" on the tab on the upper left side of this page)

WORKING SESSION PARTICIPANTS
Name Company Notes & reason for participating, issues to be discussed/addressed
Nishi Kumar @
FIS




Justin Clarke @
Gotham Digital Science

John Steven @
Cigital