From Startup to IPO: Managing Security Risk in a Rapidly Growing
Download
Report
Transcript From Startup to IPO: Managing Security Risk in a Rapidly Growing
From Startup to IPO:
Managing Security Risk in a
Rapidly Growing Enterprise
OWASP
AppSec
Seattle
Oct 2006
Brian Chess
Founder / Chief Scientist
Fortify Software
[email protected]
Copyright © 2006 - The OWASP Foundation
Permission is granted to copy, distribute and/or modify this document under the
terms of the Creative Commons Attribution-ShareAlike 2.5 License. To view this
license, visit http://creativecommons.org/licenses/by-sa/2.5/
The OWASP Foundation
http://www.owasp.org/
Motivation
“It’s time for software developers and security
people to work together.”
(Famous Security Person)
OWASP AppSec Seattle 2006
2
SDL
OWASP AppSec Seattle 2006
3
Motivation
“It’s time for software developers and security
people to work together.”
(Famous Security Person)
OWASP AppSec Seattle 2006
4
This Talk
Background
Business
Architecture
Risk
Authentication
Access Control
Attacks and Other Security Challenges
Security Today
Silver Bullets
OWASP AppSec Seattle 2006
5
The business
Started in 1998: 4 founders
Today: 500+ employees
First $1M month in 2004
$42M revenue in 2005
OWASP AppSec Seattle 2006
6
The Application
Online business services
Accounting
Payroll
CRM (Salesforce Automation/Customer Support)
Web Store
Employee Self-service (expense reports)
Vendor/Partner Self-service
OWASP AppSec Seattle 2006
7
Architecture: Basic
Internet
Apache
Java
Database
OWASP AppSec Seattle 2006
8
Architecture: Scaling
Internet
Apache
Apache
Apache
Java
Java
Java
Database
Database
Database
OWASP AppSec Seattle 2006
9
Architecture: Scaling
Internet
Apache
Apache
Apache
Java
Java
Java
Database
Database
Database
Directory
OWASP AppSec Seattle 2006
10
Architecture: Hot fix
Internet
Apache
Apache
Apache
Java
Java
Java
Database
Database
Database
Java
Java
Java
Directory
OWASP AppSec Seattle 2006
11
Architecture: Multiple versions
Java
Java
Java
Internet
Apache
Apache
Apache
Database
Database
Database
Directory
Java
Java
Java
Database
Database
Database
OWASP AppSec Seattle 2006
12
Architecture: Billing/Provisioning
Java
Java
Java
Internet
Apache
Apache
Apache
Directory
Java
Java
Java
Database
Database
Database
Corp
Database
Database
Database
OWASP AppSec Seattle 2006
13
Architecture: Monitoring
Java
Java
Java
Internet
Performance
Apache
Apache
Apache
Logging
Directory
Java
Java
Java
Database
Database
Database
Corp
Database
Database
Database
OWASP AppSec Seattle 2006
14
Risk
“Security is all about Risk Management.”
(‘Enlightened’ Security Person)
OWASP AppSec Seattle 2006
15
Architecture: Risk
My data
Your data
OWASP AppSec Seattle 2006
16
Architecture: Risk
My data
Your data
#1 fear: data bleed
Solution: virtual private tables
Problem: too expensive
Solution: build in-house
Problem: is it done right?
OWASP AppSec Seattle 2006
17
Risk in a startup
Risk
Market Risk
Security Risk
Time
OWASP AppSec Seattle 2006
18
Infrastructure
Application began as a demo
Very early use of server-side Java
Maintained custom application server at one point
90% JSP at first, 5% JSP now
OWASP AppSec Seattle 2006
19
Authentication
Access to admin pages
Customers curse a lot
10% based on default
8% curse words
40% (total) easy to guess
Password != hashed password
OWASP AppSec Seattle 2006
20
Access Control
Application:
Complex, user-defined roles
Administration
progression of security measures: IP address,
login, authenticate against CORP, auditing
problem w. log security--need to give access
to outsourced support
OWASP AppSec Seattle 2006
21
Noteworthy Security Challenges
bug #1
OWASP AppSec Seattle 2006
22
bug #1 (of 125,000)
Abstract: Apostrophes aren't correctly handled
by data entry fields.
3/18/1999 3:28 pm XXX, XXXXXXXX
Inputting an apostrophe ' into one of the
registers or text fields causes the form
to generate an error message.
*** XXXXX 18-MAR-99 03:28 PM ***
Fixed in all Activities and anything else
that uses base Input class (e.g. Lists)
Severity S5 - Minor
Priority 9
OWASP AppSec Seattle 2006
23
Noteworthy Security Challenges
bug #1
SSH with blackberry
Installing X Windows
Playing nicely with partners
problem w. logging: must not log
passwords, cc#s
OWASP AppSec Seattle 2006
24
Attacks and Incidents
Security conscious new customers attack the
permission system
Day of the DOS attack (bad code)
“Security consultant” in need of iPod
OWASP AppSec Seattle 2006
25
Security Today
Evolution from success through heroism to
success through process
Growing organization creates new issues
Access to errors
Access to test data
AJAX
Web Services
OWASP AppSec Seattle 2006
26
Security Today: SDL
OWASP Guide has been a big help
Easiest way to get developers to fix bugs:
compliance
OWASP AppSec Seattle 2006
27
Tools
Black box testing
Source code analysis
(External review also
quite helpful.)
OWASP AppSec Seattle 2006
28
No Silver Bullet
No Silver Bullet: Essence and Accidents of
Software Engineering by Fredrick Brooks
(author of The Mythical Man Month)
Are Security mistakes
An accidental artifact of programming
languages and systems?
An unavoidable (essential) problem?
OWASP AppSec Seattle 2006
29