Theory vs Practice in implementing Software Security related activities

Transcription

Theory vs Practice in implementing Software Security related activities
Theory vs Practice in
implementing Software
Security related activities
Simon Blanchet, CISSP, PMP
Head of Application Security /
{Undisclosed} Private Bank
Application Security Forum - 2012
Western Switzerland
7-8 novembre 2012 - Y-Parc / Yverdon-les-Bains
https://www.appsec-forum.ch
2
Agenda
Application Security? / Software Security?
The actors, the stage, the script, …
The theory or “the sky is blue”
The practice or “let’s take the red pill”
The challenges & how to overcome them
Conclusion
3
Bio
I’m Simon Blanchet, CISSP, PMP
Head of Application Security in a Private Bank
Where I’m coming from?
– Computer Science
– Security Software Designer
12+ years of Information System Security
7+ years in Private Banking
4
Bio
I’m Managing an “AppSec” team responsible for
– Security Eng. / Risk Assessment / Security Testing
I love Cryptography, Software (In)Security, …
Fun facts
– Own (too) many books…
– Foodies, Beer, Urban Traveler, Bachata, …
I did this and that
– ASF-WS 2011 “Harmonizing Identity & Privacy…”
– BSIMM Europe Community Conference 2012
5
Agenda – transition milestone…
Application Security? / Software Security?
The actors, the stage, the script, …
The theory or “the sky is blue”
The practice or “let’s take the red pill”
The challenges & how to overcome them
Conclusion
6
Application Security? - Semantics
Application Security – a process?
“protects an organization’s critical data from external threats by
ensuring the security of all of the software used to run the
business. AppSec is the operational solution to the problem of
software risk. AppSec helps identify, fix and prevent security
vulnerabilities in any kind of software application…”i
Software Security – a attribute?
“the ability of software to resist, tolerate, and recover from
events that intentionally threaten its dependability. The main
objective of software security is to build more-robust, higherquality, defect-free software that continues to function correctly
under malicious attack”ii
7
Application Security? - Semantics
Pushing to the extreme the definitions (for fun) ;-)
– AppSec: Integrating External Software, Protecting them
from External Threats
– SoftSec: Building Software Internally, Protecting them…
My own take on it / personal definition
–
–
–
–
Building “secure” Software
Securing existing Applications
Acquiring & Integrating “securely” 3rd party Software
Evolving “securely” existing Applications
8
IT Security
InfoSec
AppSec
Once upon a time … ITSec: looking back in 95-05*
Perimeter security: Firewalls
– Erecting fences to keep them (bad guys) out
– ITSec essentially meant protecting the network (networks
segregation, IDS, monitor, alert, …) or installing AV and
keeping them updated…
IT Security Practitioners?
– Telecom background: Network guys
– Operating System background: Admin guys
9
InfoSec
Application Security
Obvious fact: attacks are climbing up the OSI stack
Software
Data
App
Host
Network
10
Agenda – transition milestone
Application Security? / Software Security?
The actors, the stage, the script, …
The theory or “the sky is blue”
The practice or “let’s take the red pill”
The challenges & how to overcome them
Conclusion
11
The Actors
Software Manufacturing aka “The Builders”
– Architects (Functional, Software, IT)
– Designers & Developers
Project Management
Security Specialist
– Security Consultants / Engineers / Architects
– Security Testers
12
Actors – Designers & Developers
Have to deal with 3 trends “Trinity of Trouble”iii
making the software security problem bigger
– Connectivity
– Extensibility
– Complexity
Connectivity
Extensibility
Complexity
13
Actors – Project Managers
Project Constraint Model (3 key constraints)
– Cost
– Time
– Scope
Cost
Time
Scope
14
Actors – Security Specialists
Protect the CIA attributes of the Information
System and its underlying applications & data
– Confidentiality
– Integrity
– Availability
Confidenti
ality
Integrity
Availability
15
The Stage (1/4)
Software
Manufacturing
C
X
Project
Managers
C
Q
T
S
Impact
C
Security
Specialists
C
I
A
16
The Stage (2/4) – PM style
Initiating
Planning
Executing
Controlling
Closing
17
The Stage (3/4) – Soft Dev style
18
The Stage (4/4) – AppSec style
19
The Scripts
Software Manufacturing / Project Management
see Security Specialists as:
– Tax to pay
– Threat to Project (impact on time, cost, scope)
– Police officers: control & block
– “Inspecteur des travaux finis”: someone not helping
but criticizing other people's work after it is done
20
The Scripts
Security Specialists see:
– Software Manufacturing (Architects & Developers)
• Security vulnerabilities (flaws / defects) introducers
• Privileging features over overall security / integrity
• Business slave or End-user pleaser
– Project Management
• “Don’t impact my Scope / Time / Cost”
• (Original Scope, Time & Cost estimate) >> Quality + Scope’
• Business slave or End-user pleaser
21
Agenda – transition milestone
Application Security? / Software Security?
The actors, the stage, the script, …
The theory or “the sky is blue”
The practice or “let’s take the red pill”
The challenges & how to overcome them
Conclusion
22
Theory – ISV vs Others
Independent Software Vendor (ISV)
–
–
–
–
1st activity = Software Development
Revenue ($) = Software
Methodology = SDLC
Software is your business
Others (Financial / Banking / …)
–
–
–
–
1st activity != developing software
Revenue ($) don’t come from SW
Methodology = Project Management
Software supports your business processes
23
Theory – ISV (start AppSec)
Step 1 – Take your existing SDLC methodology
Step 2 – Embed security “touchpoints” into it
– Increase the number of them
– Increase the deepness of them
T1
T2
T3
24
Theory – Others (start AppSec) 1
Step 1 - ???
Now it gets tricky…
Developing software isn’t you 1st activity
Most likely software supports business processes
Most likely software are being
– Developed, Acquired, Integrated & Modified
… through Projects
Most likely you work on Projects
25
Theory – Others (start AppSec) 2
Let’s try this again…
Naïve approach (in theory)
Project
Touch
Software?
What can go wrong??
Sec SDLC
26
Theory vs Practice
In Theory … In the “Best World”
– Unlimited resources (time, money, people, …)
– PM, Soft Dev & AppSec resources work “hand in
hand” together toward the same objectives (bonus)
– Covering all the applications
– All projects systematically engage AppSec
Are you ready to take the red pill?
You wanna see how deep the rabbit-hole goes?
27
Agenda – transition milestone
Application Security? / Software Security?
The actors, the stage, the script, …
The theory or “the sky is blue”
The practice or “let’s take the red pill”
The challenges & how to overcome them
Conclusion
28
Practice – Reality = Constraints!
Real world
Limited resources
Must get the most for our bucks (ROI)
People are selfish (no kidding?!)
$$$ is everything
– “If we build this feature in the app we’ll get $$ more”
Time to Market (feature, service, product, …)
People different skills speak different languages
29
Practice – Sounds familiar to you?
Ms. “Not in my Scope”
Mr. “Pain in the …”
CSRF,
Reflected XSS,
Privilege Escalation,
Buffer Overflow,
Blah, blah, blah…
Not in my scope
Scope Creep,
Re-Baseline,
Earned Value,
Blah, blah, …
Mr. “I’m smart”
Cross- something
Scope Creep
Blah, blah, …
Deployment
Descriptor,
APIs,
Library,
Blah, Blah, …
It works, you’re not supposed to do that! WTF! Blah, Blah, …
30
Practice – How to “crash” Theory
– Too many projects touching “software”
• How to keep track on these projects?
• Too many applications to keep track of
• How to keep track on your applications (inventory)?
– Reluctance of PM / SoftDev to engage AppSec team
– How can you perform ARA or Detailed Risk
Assessment if the input artefacts don’t exist?
– What about late engagement?
– What about Software Acquisition?
31
Practice – (New?) Needs
Need to track & enforce AppSec engagements
– Who? / Where?
Need to prioritize
– What? & How?
Need to evaluate risk while acquiring software
– How?
32
Practice – Let’s step back a lil’ bit
What is the primary objective of your AppSec
team?
Making sure that your organization is
– Building Secure Software
– Integrating Securely COTS Software that are Secure
– Modifying legacy Software without impacting the
Security of the whole Information System
Protecting the information assets of the org
33
Practice – Security 101 (data)
Back to the basics… CIA triad
CIA is about Data / Information
We need an Information Classification Scheme!
– Hope you got one…
– Hope you have a process to deal with new “data”
• Own Information Asset Owner
• Classify Repository
Is Information Classification enough??
34
Practice – Security 101 (system)
What about System Classification Scheme?
How to classify systems?
– Based on their priority in term of supporting a
business process owned by the business….
We need
– Business Process owner
– Product / Service owner
35
Practice – System & Business
We need to assess Impact on their business
process(es) if this particular software fails
– Not available
– Data is disclosed
– Data / System is being tampered with
Need for criteria
– if we want to prioritize, we need a methodology…
36
Practice – Toward solution
We need to prioritize AppSec engagement
– Criteria
• Information Classification
• Business Impact if System CIA compromised
We need a project inventory
We need application inventory
We need to enforce & monitor engagement for
the projects / application falling under our scope
37
Agenda – transition milestone
Application Security? / Software Security?
The actors, the stage, the script, …
The theory or “the sky is blue”
The practice or “let’s take the red pill”
The challenges & how to overcome them
Conclusion
38
Challenges - Inventory
Prioritize, Enforce & Monitor Engagements
Know your Applications
Know their “importance” in the eyes of the Business
Owner & underlying Business Processes
Have Incentives for PM & Soft Dev to Engage your
AppSec team & “be friend” with them
Perform ARA when input material isn't available
Software acquisition (pen testing vs making sure the
ISV have a well defined SSF)
39
Challenges – Elements of solution
Prioritizing Engagements
– Know the project portfolio
– Define Engagement criteria with thresholds based on
• Information Classification
• Business Impact Assessment
Enforcing & Monitoring Engagements
– Define tollgates in the Project Management methodology
– Make sure someone is empowered to enforce these tollgates
and escalade
40
Challenges – Elements of solution
Knowing your Applications
– Have an Application Inventory
– Keep the relevant information in it
– Maintain it (have a process to update it)
Knowing their “importance” in the eyes of the Business
Owner & Business Processes they support
– Assess your existing legacy applications by performing some kind of
Business Impact Analysis
– Know and understand the business process they support
– Update your Application Inventory accordingly
41
A Picture is worth a 1000 of words
Project Portfolio
App Inventory
Project 1
Application 1
Project 2
IC
BI
criteria
Application 2
• Business impact rating
Project 3
Project 4
• Business Impact rating
Engagement
Application 3
• Business impact rating
42
Challenges – Elements of solution
Have Incentives for PM & Soft Dev to Engage your
AppSec team & “be friend” with them
– Have management support to provide feedback on
PM / Soft Dev performance
– Identify the talented (trusted) individuals and teach
them more about Application Security (offensive
security & defensive programming) create satellite
43
Practice – How about this instead?
Ms. “Project Manager”
Mr. “Security Specialist”
Risk,
Mitigation,
Control,
Change Request,
Business Lost
I’ll add it to my
Risk Register,
I’ll initiate a
Change Request
Mr. “Developer”
Engage with our
Security Specialist,
Obviously
now I know,
I’ve put these
mitigation in
place.
Oh I get it wow! Look at this, you can use this API. I’ve seen
something similar there, I’ll fix it.
44
Agenda – transition milestone
Application Security? / Software Security?
The actors, the stage, the script, …
The theory or “the sky is blue”
The practice or “let’s take the red pill”
The challenges & how to overcome them
Conclusion
45
Conclusion
Learn about the other actors’ languages & skills
Know & understand business you’re working in
Risk Based approach for AppSec practices
Building bridges between them (PM & Soft Dev)
with you (AppSec)
– Gain their respect Show your skills
– Empower them Use tools
46
Final Thought – Quoting BSIMM’
“If you must create software security types from
scratch, start with developers and teach them
about security and (project management). Do not
attempt to start with network security people and
teach them about software, compilers, SDLCs, bug
tracking, and everything else in the software
universe. No amount of traditional security
knowledge can overcome software cluelessness.”viii
47
Questions?
48
Merci / Thank you!
Contact:
Simon Blanchet
[email protected]
http://www.linkedin.com/in/sblanchet
Slides:
http://slideshare.net/ASF-WS/presentations
49
About the author
Simon Blanchet, CISSP, PMP
Simon Blanchet is an Associate Director and Head of Application Security for a Private Bank. He is responsible, with the help of
his team of application security specialists, for ensuring the security of internally developed applications as well as the secure
integration of commercial off-the-shelf applications within the banking information systems. Simon’s team provides internal
security-consulting expertise to project management, business and development staff. He and his team are responsible for all
aspects of application security including risk assessment, application security risk analysis, threat modeling, security testing and
raising awareness about application security best practices.
Simon Blanchet has been professionally working in the fields of Information Systems Security and Security Software Design &
Development for the past 12 years. Simon has written his first lines of code in GW-BASIC on a TRS-80 at the age of 6 and spent
most of his teenage years hooked on North American BBSes when he became fascinated with the so-called “underground
hacking scene”. He started his professional career as a Software Developer and Development Team Leader (cryptographic &
security related software) in Montreal, Canada. Prior to moving into the Swiss Private Banking industry, Simon had the
opportunity to contribute to the first version of the SDK implementing Stefan Brands’ Digital Credential upon which is now built
Microsoft U-Prove. Simon’s career progressively evolved from being a seasoned security software developer to managing
software security, combining a software developer background with a true passion for application security architecture,
software security and software exploitation techniques. Simon likes to solve security related problems at the crossroads of
software development and IT Security.
Simon holds a B.Sc. in Computer Science from Laval University in Canada. He is a Certified Information Systems Security
Professional (CISSP) and a Project Management Professional (PMP).
50
References
i.
ii.
iii.
iv.
v.
vi.
vii.
viii.
A CISO's Guide To Application Security - Part 1: Defining AppSec
Software Security: Building Security In, Gary McGraw, 2006
Software Security: The Trinity of Trouble, Gary McGraw, 2006
Software Security Engineering: A Guide for Project Managers
Application Security (Wikipedia entry)
CISM Review Manual 2012
Project Management Body of Knowledge (PMBOK Guide)
Build Security In Maturity Model (BSIMM3), p.5 - The Software Security
Group (SSG)

Documents pareils