Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome, Safari or Firefox browser.
Once Upon a CVE
Managing Security Events as an Upstream
@stahnma
Michael Stahnke
Engineering Director
@stahnma
Security Events at Puppet Labs
18 events in 2012
15 events ytd in 2013
Security is not unlike a popularity contest
Code shipped in many forms
source downloads
packages from us
bundled solutions
Linux distributions
3rd parties
What Makes up a Security Event?
Code is vulnerable
Something used by your code is vulnerable
What makes these events difficult?
Bits for the fix
Compatibility
Protection of end-users
Privacy
For this, we need a process
Processes have a beginning
Vulnerability is discovered
Confirm the Vulnerability
Can you reproduce it?
Is it purely hypothetical?
Is the problematic pattern in use elsewhere?
Privacy of the vulnerability
Is the vulnerability known to the public?
Is it based upon a common pattern that is plubicly known?
Has the vulnerability been responsiby disclosed?
Public Knows?
Work fast
Offer public work-arounds if possible
Be as transparent as possible
Figure out severity of issue
Responsibly disclosed?
Figure out the impact of issue
Request CVE
Common Vulnerability Exposure number
Determine the impact
Impact - Attack
How large is the attack vector?
Window of time?
Feature enabled by default?
Complicated to do?
Impact - Risk
Data integrity
Confidentiality
Availability
Impact - Type
Local privlege escalation
Remote arbitrary code
DOS
Bad practice
Communication
Begin coordination effort
People fixing issue need information
Doc writers might
Website team
No downstream comms yet
Communication
Private bug tracker
Request CVE if needed
Review who downstream will need info/fixes
Decide on versions to support/backport fixes for
Engineering
Create fixes (in private repo if possible)
Run tests (in private)
External Communication
Testing looks good?
Communication confidential release plan
(if required)
Establish black-out period
Give downstream enough time to react
(at least 48 hours)
Announce
Shout to educate your userbase
Send to mailing list
IRC, blog, website, podcast, etc
Decision Points
Publish tests with exploits? When?
Publish all new patches in public VCS? When?
Follow up questions
Make public bug-tracking issues
Attribution Did you forget?
puppetlabs.com/security
reddit.com/r/netsec
access.redhat.com/security/team
wiki.ubuntu.com/SecurityTeam
www.debian.org/security/
www.first.org/cvss/cvss-guide
cve.mitre.org/