Topics •
What is a Vulnerability
•
What is Responsible Disclosure
•
How they are Reported
•
Learnings from Log4Shell
•
What you can do for your Projects •
Code
•
Dependencies
•
Reporting Security Issues
@BrianDemers | bdemers
IANAL: I Am Not A Lawyer TINLA: This Is Not Legal Advice
Quick Example
audible.com/typ/promo?couponValue=1000000.0
@BrianDemers | bdemers
Slide 8
@BrianDemers | bdemers
Slide 9
CVE vs Vulnerability Common Vulnerabilities and Exposures
•
An ID for Vulnerabilities
CVE-2021-44228 <year>-<number> xkcd.com/1957
@BrianDemers | bdemers
Slide 10
(Data from nvd.nist.gov)
@BrianDemers | bdemers
Slide 11
Common Vulnerability Scoring System (CVSS)
nvd.nist.gov/vuln-metrics/cvss/v3-calculator
@BrianDemers | bdemers
Slide 12
Common Weakness Enumeration (CWE) CWE-400: Uncontrolled Resource Consumption CWE-502: Deserialization of Untrusted Data CWE-20:
Improper Input Validation
Common Platform Enumeration (CPE) cpe:2.3:o:microsoft:windows_xp:-:sp3:::::x86:* cpe:2.3:a:apache:log4j:::::::: org.apache.logging.log4j:log4j-core:2.17.1 @BrianDemers | bdemers
Vulnerability Report Timeline
Report
Fix
Disclose
Privately Report Issue
Patch and Fix Issue
Announce the Fix
@BrianDemers | bdemers
Slide 17
Responsible Disclosure •
Give vendor time to x vulnerability before telling public
Full Disclosure Tell public ASAP
fi
•
Slide 18
(Privately) •
NOT on StackOver ow
•
NOT on an Email list
•
NOT on an open forum (Slack)
•
Look for a security mailing list
•
Check Bugcrowd or HackerOne
•
If you are worried use an anonymous email account
fl
@BrianDemers | bdemers
Slide 19
Don’t use a public bug tracker
@BrianDemers | bdemers
Slide 20
Don’t use a public bug tracker
@BrianDemers | bdemers
Slide 21
•
It’s up to the project to x the issue
•
Open Source project get involved!
•
Project publishes a patch/ x publicly
•
The project should give you a timeline of the x
fi
fi
fi
@BrianDemers | bdemers
Slide 22
How long to wait? •
Google Project Zero - 90 days
•
Linux Kernel - 2 weeks
•
HackerOne - 30 days
•
CERT - 45 days
@BrianDemers | bdemers
Slide 23
@BrianDemers | bdemers
Slide 24
•
After the x you can disclose the issue.
•
Blog about it.
•
Tell your friends you are a security researcher now Or not (some companies reward you $$ for not talking)
xkcd.com/1871/ fi
•
Slide 25
The ASF Process •
A detailed 19 step process
•
apache.org/security/committers.html
Slide 26
@BrianDemers | bdemers
Slide 27
Log4Shell Timeline
Report
Disclose
Exploit
Fix
2021-11-24
2021-11-29
2021-12-01
2021-12-09
Privately Reported
Public Commits
Exploit out in the wild
Public Release
Alibaba Cloud Security Team
GitHub, Mailing lists, Bug Report, etc.
Cloud are’s earliest evidence
Maven Central
fl
@BrianDemers | bdemers
Slide 28
@BrianDemers | bdemers
Slide 29
Dependencies
@BrianDemers | bdemers
Slide 30
Your Application
Dependencies
Your code
@BrianDemers | bdemers
Slide 31
Dependencies •
Other libraries (Maven Dependencies)
•
Java JVM
•
Docker?
•
Operation System
•
Virtual Machine? https://xkcd.com/2347/
Slide 32
Automate your Dependency Updates
@BrianDemers | bdemers
Slide 33
@BrianDemers | bdemers
Slide 34
Are your dependencies healthy?
@BrianDemers | bdemers