Canike - OWASP AppSec DC 2005

advertisement
Establishing an Enterprise
Application Security Program
OWASP
AppSec
DC
October 2005
Tony Canike, CISSP, GCIH
Manager, Application Security,
The Vanguard Group
anthony_c_canike@vanguard.com
610-503-6525
Copyright © 2005 - The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License.
The OWASP Foundation
http://www.owasp.org/
What today’s talk is about
What is an Application Security program?
 The need for an Application Security program in
your organization
Detailed look at the components of an
Application Security program
Roadmap to establish your own Application
Security program
This talk presumes the existence of network, server,
physical, and organizational security efforts.
Canike - OWASP AppSec DC 2005
2
Setting the Stage
In my organization…
Application Security is an IT function
Information Security is a business function
 Close cooperation and some overlap
Mix of purchased and in-house developed business
applications
 Many business applications developed in-house
Canike - OWASP AppSec DC 2005
3
What is an Application Security Program?
Def. 1: An integrated approach to Application
Security in your organization
Not scattershot
Not tools with shiny red buttons
Def. 2: A corporate initiative to define, promote,
assure, and measure the security of critical
business applications.
So what does that really mean…
Canike - OWASP AppSec DC 2005
4
People, Process, and Technology all aligned to
ensure secure business applications.
People
 Policy
 Standards
 Awareness
 Training
 Roles
 Priority
 Expert
Assistance
Process
 SDLC
 App Inventory
 Standard
Requirements
 Risk
Management
 Risk Rating
 Reviews
 Governance
Technology
 Standard
Controls
 Input
Validation
 Tools
Canike - OWASP AppSec DC 2005
5
Application Security: Part of the Big Picture
Conceptual Information Security Dashboard
Business Applications
Data Security
Vendors & Partners
Business Processes
Computing Infrastructure
Intrusion Detection
Network & Telecom Infra
Physical Security
Compliance
Business Continuity
Incident Response
Fraud Prevention
Simplified example only. A complete dashboard could have 20-30 indicators.
Canike - OWASP AppSec DC 2005
6
Benefits of an Application Security program
Knowledge to…
keep the C-suite informed
communicate areas of opportunity
develop high-level action plans
assist the application development teams
optimally allocate resources and funds
protect client and corporate assets
Canike - OWASP AppSec DC 2005
7
Why do you need an Application Security program?
 What are your big application security issues, anyway?
 Can you back up recommendations with data?
 Can you justify expenditures?
 Security is more then securing the network perimeter…
 …do you have data to support that?
 Your network security colleagues have numbers, you need
numbers too.
 Use Data, Metrics, Numbers, Facts
 Data-driven decision making
 Really know what is working and what is not
 Motivate actions
Suggestions for metrics collection throughout
presentation
Canike - OWASP AppSec DC 2005
8
Knowledge in multiple dimensions
 Training and Awareness
Leading Indicator
 Are IT Staff trained and aware of security issues?
Leading Indicator
 SDLC Maturity and Compliance
 Is security baked-in to your Software Development Life Cycle?
 Are you following your SDLC?
 Reference Architectures and Standard Controls Provided?
 Security Assessment Coverage of the Application Space
 Are you doing enough assessments? Frequently enough?
 Anything you don’t know you don’t know?
 Application Risks and Vulnerabilities
Post Indicator
 When are security problems found? During Code? Test? Prod?
 Are you mitigating risks in a timely fashion?
Canike - OWASP AppSec DC 2005
9
How much security do we need?

Canike - OWASP AppSec DC 2005
10
Components of an Application Security program
People
 Policy
 Standards
 Awareness
 Training
 Roles
 Priority
 Expert
Assistance
Process
 SDLC
 App Inventory
 Standard
Requirements
 Risk
Management
 Risk Rating
 Reviews
 Governance
Technology
 Standard
Controls
 Input
Validation
 Tools
Canike - OWASP AppSec DC 2005
11
People: Policies and Standards
Information Security Policies
IT Architecture Standards
Reference application architectures (w/security)
Standard security controls identified
SDLC Defined
Standard Application Security Requirements
Use reviews to govern and enforce
Dashboard Indicators, Metrics
Canike - OWASP AppSec DC 2005
12
People: Awareness and Training
 Awareness of policies and standards
 Information Security
 Corporate intranet or newsletter articles
 Web-based training
 Training
 Security architects
 Managers
 Technical leads
 Developers
 Testers
 Etc…
Dashboard Indicators, Metrics
Canike - OWASP AppSec DC 2005
13
People: Define Specialized Roles
Security Architects
Understand standard application controls and how to
implement them
Directly supporting application development
Setting enterprise-wide standard security architecture
Application Security Assessment Team
Small, quasi-independent team
Assess architectures and test for vulnerabilities
Access Management Team
Business group grants access to business applications
 Keeper of the keys (literally and figuratively)
 Not developers, not users, not system admins
Canike - OWASP AppSec DC 2005
14
People: Prioritize Security
Time to market, business functionality, and cost
all compete with security concerns.
Executive attention
One suggestion: IT VP’s present their security
metrics/dashboard to an executive committee
quarterly
Report security vulnerabilities as defects
Defect-elimination mentality already engrained?
 If so, leverage it.
 If not,…
Canike - OWASP AppSec DC 2005
15
People: Expert Assistance
Security experts are available to application
development teams
Security Architects
Central team to maintain standard security controls
 Eval, purchase, development, support of technical controls
Access management team
Information Security
Product Vendor resources
Consultants as necessary
Canike - OWASP AppSec DC 2005
16
Components of an Application Security Program
People
 Policy
 Standards
 Awareness
 Training
 Roles
 Priority
 Expert
Assistance
Process
 SDLC
 App Inventory
 Standard
Requirements
 Risk
Management
 Risk Rating
 Reviews
 Governance
Technology
 Standard
Controls
 Input
Validation
 Tools
Canike - OWASP AppSec DC 2005
17
Process: Software Development Life Cycle
 Integrate security steps into your SDLC
 Will take a few iterations to mature.
 Baked-in, not bolted-on
 End-game penetration test is not sufficient
 Find security issues early
 Much easier, cheaper to fix
 Measure compliance
 Self-reporting
 Audit a sampling
 Voice of Practitioners
 Are the processes working?
Dashboard Indicators, Metrics
Canike - OWASP AppSec DC 2005
18
Process: Application Development Life Cycle
Business Arch &
Planning
Requirements
Application
Categorization
Security
Requirements
Analysis, Design & Implementation
Access
Control
Input
Validation
Security
Architecture
Review
Design &
Code
Review
Unit &
Integration
Test
Test
Elevation
System Test
Categorize
Define Requirements
Build Controls
Vulnerability
Test
Governance
Review
Verify Controls
Governance
Review
Risk Management
Pre-Elev
Risk Review
Track Security Metrics
Track and Manage Defects and Risks
Canike - OWASP AppSec DC 2005
19
Process: Inventory and Categorize your Applications
 List all your business applications, the business owner,
and the IT owner (might be hard)
 Categorize applications w.r.t. criticality of security
 Potential Business Impact
 Quick Technical Assessment – surface area, complexity, data
classification
 Ref. NIST 800-64 and FIPS 199
 Use categorization to prioritize security attention and
assessments.
 Assessments Performed? How recently?
Dashboard Indicators, Metrics
Canike - OWASP AppSec DC 2005
20
Process: Standard Security Requirements
Define Security Requirements Standards for your
business applications.
Which controls are necessary
When are they necessary (applicability)
Why are they necessary (e.g. SEC, SOX, etc.)
 Easy to use reference for requirements teams
Standard method to implement each control
 Provide reference on how to implement
Requirements for requirements
 E.g. The need to specify functional business requirements for
access control
Canike - OWASP AppSec DC 2005
21
Process: Security Assessments of Applications
 Choose types of assessments that fit your organization.
 Security Architecture/Design Reviews
 Security Code Reviews
 Application Vulnerability Tests
 Risk Acceptance Review
 External Penetration Test of Production Applications
 White Box Philosophy – look inside the application
 Use all the advantages you have
 Past reviews, design documents, code, logs, interviews, etc.
 Attackers have advantages you don’t, don’t tie your hands.
 Part of your SDLC
 Define which reviews when, by whom, and how in your SDLC
 Don’t underestimate the amount of work necessary for
communication, scheduling, report writing, logistics
Canike - OWASP AppSec DC 2005
22
Security Architecture/Design Review
Architecture/Design time assessment of an
application and its security controls
Component interface and connection driven
Enumerate through the interfaces and connections
considering threats, vulnerabilities, and risks
STRIDE
Identify non-standard, home-brewed or missing
security controls
Issue a report
Identify vulnerabilities to mitigate or fix
Identify issues for follow-up
Canike - OWASP AppSec DC 2005
23
Security Code Review
Focus on code relevant to security
Utilize experts
Consider consulting firms with specialized techniques.
Specialized Tools
Have a technique to wade through 5 million lines of
code
Define Scope and Purpose
Project Manager: “since you are reviewing my code, I
can skip all my code reviews, ok?” Not so fast…
You are not reviewing the code for the application
team – they are still on the hook for code quality.
Canike - OWASP AppSec DC 2005
24
Application Vulnerability Test
 Hands-on testing of application around System Test time
 “Port 80” types of attacks
 Goal is to find most of the problems early and get them
fixed.
 Not trying to prove a point, not playing capture-the-flag
 Use a small dedicated team supported by consultants
 Educate and collaborate with development teams
 Use all advantages you have – white box
 Logs, source code, business knowledge, prior assessments
 Define purpose – are you going to validate that the
application meets all of its security requirements?
 Probably not. Make that clear up-front.
 Define scope – which components are being tested?
 Use the architecture diagram
Canike - OWASP AppSec DC 2005
25
Process: Information Security Risk Management
 Document your risk rating process
 Common risk rating method and scale
 Consider business impact and likelihood/DREAD factors
 Rationale for a particular risk rating known and documented
 Common taxonomy
 Categorize and count – perhaps 10 categories
 Weed out false positives early – reduce noise
 Draft, Review, Revise
 Apply to all IT-owned InfoSec Risks from all sources
 Consultants, IT Security Assessments, InfoSec Assessments,
Internal Audit (if possible), Corporate Risk Management, etc.
 Develop/Adapt process through consensus
 Calibrate!
Canike - OWASP AppSec DC 2005
26
Example Job Aid – Likelihood Factors
WHO?
Mitigating
Controls
Attractive?
Well
Known?
Skill Level
HIGH
L
I
K
E
L
I
H
O
O
D
LOW
Public
All Internet
Direct Access
Very Attractive
CORP Inc
Customers
CORP Inc
Unintentional
Internal
One Control
IT Employees
Two Controls
No special skills
Somewhat
Attractive
Proprietary
Technical
Very Technical
System Admins
Three or more
Illustrative example only.
Not Attractive
Theoretical
Canike - OWASP AppSec DC 2005
27
Process: Information Security Risk Management
(cont.)
 Common Repository for tracking
 Assessments
 Risks/Vulnerabilities
 Mitigation Actions and Status
 Common report formats
 Differing formats from different assessment teams (internal,
consultants, audit) confuses everyone
 Common summary reports
 Open risk counts, severity, category, owners, time-to-close, …
 Train management on how to read summary reports
Dashboard Indicators, Metrics
Canike - OWASP AppSec DC 2005
28
Process: Risk Review and Acceptance
Review known security risks and mitigation
status prior to production elevation.
Business owners key participants
Need to understand and accept (or not) outstanding
risks prior to elevation
No surprises…
Dashboard Indicators, Metrics
Canike - OWASP AppSec DC 2005
29
Process: Other tests and assessments….
Of course, utilize the gamut of security
assessments, including
Internet Penetration Tests
Network and vulnerability scans
Server security scans
Up to you to define the boundary of “Application
Security” for your organization.
Cooperate, avoid fiefdoms
Canike - OWASP AppSec DC 2005
30
Process: Governance Team Reviews
IT-wide governance team of practitioners
reviews summaries of security assessments and
tests
Were the risks rated properly?
Was the assessment or test complete?
Is the responsible individual taking responsibility and
fixing the issues?
What are the common themes and trends?
What improvements to people-process-technology
can be implemented?
Canike - OWASP AppSec DC 2005
31
Components of an Application Security Program
People
 Policy
 Standards
 Awareness
 Training
 Roles
 Priority
 Expert
Assistance
Process
 SDLC
 App Inventory
 Standard
Requirements
 Risk
Management
 Risk Rating
 Reviews
 Governance
Technology
 Standard
Controls
 Input
Validation
 Tools
Canike - OWASP AppSec DC 2005
32
Technology: Standard Controls
 Provide standard technical controls to your application
development teams.
 Determine needs and prioritize
 Consider authentication, access control, certificate management,
cryptography, accountability, logging, detection, ...
 Reuse opportunity
 Don’t let app teams “roll their own” or reinvent the wheel.
 Central shared security controls team?
 Handle eval, purchase, integrate, build, test, support
 Support application teams
 Provide reference architectures with integrated security
controls
Dashboard Indicators, Metrics
Canike - OWASP AppSec DC 2005
33
Technology: Standard Controls (cont.)
Do your standard security controls cover all your
application architectures?
LAN/Desktop login
Web (Internet, intranet, J2EE, .NET, LAMP, etc.)
Thick desktop clients
Application Service Providers/Partners – SSO
UI tier, Business logic tier, data tier
Web Services
Canike - OWASP AppSec DC 2005
34
Technology: Input Validation
Is each application developer building their own
input validation code?
Or do you have a standard mechanism?
Is there a standard signature/architecture/API and a
reuse library that developers can contribute to?
For all your application models?
Do requirements/use cases/UI specifications
document necessary allowed values for each
input field?
Canike - OWASP AppSec DC 2005
35
Technology: Security Tools
Tools
Developers
System Testers
Security Assessors/Testers
Canike - OWASP AppSec DC 2005
36
People, Process, and Technology all aligned to
ensure secure applications.
People
 Policy
 Standards
 Awareness
 Training
 Roles
 Priority
 Expert
Assistance
Process
 SDLC
 App Inventory
 Standard
Requirements
 Risk
Management
 Risk Rating
 Reviews
 Governance
Technology
 Standard
Controls
 Input
Validation
 Tools
Canike - OWASP AppSec DC 2005
37
That’s a long list…
Implementing all these components of an
Application Security program is a tall order
Adapt to your needs
In-house development
Purchased applications
Outsourced applications
In-house SDLC vs. outsourcing requirements
and contract language
Canike - OWASP AppSec DC 2005
38
Roadmap to your own Application Security Program
Assess Current State – what are your
organizational and process deficiencies?
Info Sec and Internal Audit will help you here!
Develop and sell your vision
It’s a integrated program
Identify and educate your stakeholders
Have a roadmap and a project plan – 2-4 year
effort
Canike - OWASP AppSec DC 2005
39
Where to start?
Awareness and Training
2-hour course:
$100-200/seat
Seeing the look on the IT VPs’ faces when they get
SQL Injection: Priceless
Policies and Standards
Application Assessments and Reviews
Get some data
Strive to be consistent and uniform
Support Development Teams
Canike - OWASP AppSec DC 2005
40
Questions?
Canike - OWASP AppSec DC 2005
41
More Information
ISF Standard of Good Practice
ISF has a strong Business Impact assessment process
(membership required)
NIST Security Considerations in the Information
System Development Life Cycle (800-64)
OWASP Guide
Howard and LeBlanc Writing Secure Code
Canike - OWASP AppSec DC 2005
42
Download