OWASPAU08_Session_3_Abighanem

Download Report

Transcript OWASPAU08_Session_3_Abighanem

OWASP Asia Pacific Conference 2008
Considerations for application
security testing in enterprise
projects
Jean-Marie Abighanem
OWASP – Melbourne Chapter President
OWASP
28 February 2008
Deloitte Touche Tohmatsu
Director – Security & Privacy Services
[email protected]
Mobile: 04 3311 8551
Copyright © The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the OWASP License.
The OWASP Foundation
http://www.owasp.org
Agenda
What is online application?
Security Testing Scope
When to test?
How do you test web applications?
Regression testing
Test data
Defect management
Finer points for application pen testing
OWASP
2
What is online application?
OWASP
3
What can consumers do online these days?
Financial Services
Consumer Business
Pay a bill with Internet Banking
Buy and sell some shares
Change your superannuation
portfolio allocation
Choose your health insurer by a
search of costs and features
Purchase of goods or services from
web site at fixed price
Purchase of goods or services via
auction (e.g. ebay)
Advertising (e.g. trading post)
Telecommunications, Media and
Technology
Transport, Hospitality and Leisure
Sign up for and change mobile
phone and internet plans
Retrieve and pay bills
Book a flight
Book a hotel
Track a flight’s arrival in real-time!
Energy, Mining and Resources
Public Sector
Retrieve and pay bills
Lodge your tax return
Pay a parking fine
Pay council rates
Find lost super
OWASP
4
What can business do online these days?
Financial Services
Sell financial products via extranet
and brokers
Consumer Business
Outsource product delivery in real
time to a logistics partner
Telecommunications, Media and
Technology
Transport, Hospitality and Leisure
Resell available international
bandwidth to third parties
Energy, Mining and Resources
Tender electronically for the supply of
goods and services amongst business
partners
Modify costs and prices of flights and
accommodation in real time
Public Sector
Centralise change of name and
address amongst agencies and
departments
OWASP
5
Security Testing Scope
OWASP
6
Security Testing Scope
 State what you will and will not cover e.g. DoS
 Write it down
 Delineate between functional and security testing
 authentication
 authorisation and access control
 session management
 input validation
 Etc
 Define boundaries between web application and
supporting infrastructure e.g. two factor authentication,
Active Directory
OWASP
7
When to test?
OWASP
8
When to test?
Classic approach to testing
Last brick in foundation after building built
Gatekeeper/rubberstamping role maybe?
At what stage should security testing be done?
Define
Design
Develop
Deploy
Maintain
OWASP
9
When to test?
Project Based
Development
TES
T
TES
T
TES
T
TES
T
HER
E?
HER
E?
HER
E?
HER
E?
Functiona
l
Testing
NonFunction
al Testing
User
Acceptan
ce
Testing
Pilot
Pre
Production
Production
TES
T
HER
E?
BAU
testing
Thank God its
gone live
party.
Feature
requests
BAU
development
OWASP
10
When to test?
Costs of bug fixing usually go up
Cost of bug fixing
25
Cost of fixing
20
15
10
5
0
Define
Design
Develop Deploy Maintain
SDLC phase
Source: OWASP Testing Guide v2
OWASP
11
When to test?
Inverse relationship between fixing costs and
security testing costs
Bug fixing cost
80
70
60
50
40
30
20
10
0
Security
testing
cost
2
3
5
7
10
OWASP
12
How do you test Web Applications?
OWASP
13
How do you test web applications?
Source code reviews:
Pros
Possibly more complete
Possibly faster
Cons
Presumes code availability
False positives and false negatives
Cannot find run-time bugs easily
Requires skilled resources
OWASP
14
How do you test web applications?
Application security scanners:
Pros
Faster
Provide useful reporting tools
Good for testing input validation
Limited skill sets required by tester
Cons
Limitations around business logic testing as each
application is unique
False positives
Only tests what is accessible
OWASP
15
How do you test web applications?
Manual penetration testing
Pros:
Looks at dynamic code
Tests the code that is actually running
Can examine business logic
Cons:
Effectiveness depends on skill of tester
Done at tail end of project
Only tests what is accessible
OWASP
16
How do you test web applications?
All techniques have their place
“…you need a hammer, saw and tape to build a
house…neither is more important than the
other…imagine a house only built using a
hammer?”
[Paraphrasing Jeff Williams, OWASP Chair
http://www.owasp.org/index.php/Category:OWASP_Code_Review_Project]
OWASP
17
Regression testing
Fixing security defects in one area may create
defects in other areas
Test cases should be re-performed when
impacted by defect remediation elsewhere in
application
Need to discuss what was changed with
developers and how
OWASP
18
Test data
Don’t use production data!
Privacy implications (NPP #2 and NPP #9 from
http://privacy.gov.au/publications/npps01.html)
PCI-DSS requirement 6.4 specifically prohibits
use of production data in testing
Use accounts with varying privileges
Consider use of a test administrator account to
do password resets or permission changes
during testing
OWASP
19
Defect management
Communicate your assessment of potential
likelihood and impact of attack
Document defects for repeatability
Let application owner decide the fate of defects
Record decisions made
If app already in production, monitor for attacks
or pull app
Restrict access to defect information
OWASP
20
Finer points for application pen testing
Which browser are you using to test?
Track the application version which was tested
Use an end-to-end environment for testing
Vulnerabilities in commercial off the shelf
applications (‘COTS’) can be researched
Customised code usually has the highest
frequency of bugs/flaw
Think outside the box
OWASP
21
Questions?
OWASP
22