use to implement: input validation page-level authorization session management audit logging use to...

21
Use to Implement: • Input validation • Page-Level authorization • Session Management • Audit Logging Avoid: • Relying Only on Blacklist Validation • Output Encoding in Filter • Overly Generous Whitelist Validation • XML Denial of Service • Logging Arbitrary HTTP Parameters Intercepting Filter

Upload: britney-lynch

Post on 28-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Use to Implement:• Input validation• Page-Level authorization• Session Management• Audit Logging

Avoid:• Relying Only on Blacklist Validation• Output Encoding in Filter• Overly Generous Whitelist Validation• XML Denial of Service• Logging Arbitrary HTTP Parameters

Intercepting Filter

Page 2: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Avoid:• Physical Resource Mapping• Unhandled Mappings in Multiplexed Resource Mapping strategy• Logging of Arbitrary HTTP Parameters• Duplicating Common Logic Across Multiple Front Controllers

Avoid:• Invoking Commands Without Sufficient Authorization

Front Controller

Use to Implement:• Logical Resource Mapping• Session Management• Audit Logging

Page 3: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Use to Implement:• Whitelist Input Validation• Flagging Tainted Variables

Avoid:• Context Auto-Population Strategy• Assuming Security Context Reflects All Security Concerns

Context Object

Page 4: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Use to Implement:• Synchronization Tokens as Anti-CSRF Mechanism• Page-level Authorization

Avoid:• Unauthorized Commands

Avoid:• Unhandled Commands

Avoid:• XSLT and Xpath Vulnerabilities• XML Denial of Service•Disclosure of Information in Soap Faults•Publishing WSDL files

Application Controller

Page 5: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Use to Implement:• Output Encoding in Custom Tag Helper

Avoid:• XSLT and Xpath Vulnerabilities•Unencoded User Supplied Data

View Helper

Page 6: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Use to Implement:• Output Encoding in Custom Tags

Avoid:• XSLT and Xpath Vulnerabiliites

Avoid:• Skipping Authorization Check Within SubViews

Composite View

Page 7: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Avoid:•Dispatching Error Pages Without a Default Error Handler

Service to Worker

Page 8: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Avoid:•Using User Supplied Forward Values• Assuming User’s Navigation History

Dispatcher View

Page 9: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Use to Implement:• Whitelist Input Validation

Business Delegate

Page 10: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Avoid:•Memory Leaks in Caching

Avoid:•Open Access to UDDIs

Service Locator

Page 11: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Use to Implement:• Middle-tier Authorization

Avoid:• Unauthenticated Client Calls• Deserializing Objects from Untrusted Sources

Session Facade

Page 12: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Avoid:•Unauthenticated Client Calls

Application Service

Page 13: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Business Object

Page 14: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Avoid:•Plaintext Transmission of Confidential Data

Composite Entity

Avoid:•Interpreter Injection

Page 15: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Avoid:•Plaintext Transmission of Confidential Data

Transfer Object

Page 16: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Transfer Object Assembler

Page 17: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Value List Handler

Page 18: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Avoid:• Interpreter Injection• Improper Resource Closing• Unencrypted Connection String Storage

Data Access Object

Page 19: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Service Activator

Avoid:• Denial of Service in Message Queues• Unauthenticated Messages• Unauthorized Messages• Dynamic SQL in Database Response Strategy• Unvalidated Email Addresses in Email Response Strategy

Page 20: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Domain Store

Avoid:• Interpreter Injection• Improper Closing of Resources• Unencrypted Storage of Connection Strings

Page 21: Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization

Avoid:• Sending stack trace and other detailed information in SOAP faults• Publishing WSDL files• Using DTDs• Unauthenticated or unauthorized web service requests• Using user-supplied data without input validation• Excessively large XML messages

Web Services Broker