program at seek running a bug bounty › assets › downloads › running a bug...the way we build...

127
Running a Bug Bounty Program at SEEK

Upload: others

Post on 30-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Running a Bug Bounty Program at SEEK

Page 2: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Julian Berton

⊡ Application Security Engineer at SEEK⊡ Web developer in a previous life⊡ Climber of rocks

Contact

⊡ @JulianBerton⊡ au.linkedin.com/in/julianberton⊡ bertonjulian.github.io⊡ medium.com/@berton.julian

Page 3: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 4: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 5: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Who are you?

Page 6: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Todays Agenda

⊡ What motivates an attacker?

⊡ Security scaling problems.

⊡ What is a bug bounty program?

⊡ SEEK’s bug bounty program journey.

⊡ Example bug submissions.

Page 7: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

What motivates a hacker?

Page 8: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Cash!

Page 9: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Fun / FameMore prevalent in the early days of the internet.

Hacker Motivations

MoneyTo make money and lots of it!

Politics / GovernmentThe Syrian Electronic Army (SEA) is a group of computer hackers aimed at supporting the government of Syria.

ReligionSome terrorist and hacktivist groups hack due to certain religious beliefs.

World DominationWell maybe just in the movies.

War/ProtectionState sponsored hackers with the aim of gathering intelligence on other countries.

Page 10: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Hackers are here to stay :(

Page 11: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 12: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 13: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 14: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 15: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 16: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

What happens to the stolen customer data?

Page 17: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Sold on the Dark Web

Page 18: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Sold on the Dark Web

Page 19: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Why does this keep happening?Is there a problem with our approach to security...

Page 20: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Current Security Model

The current application security model was designed when:

⊡ There were 3-6 month deploy to prod cycles (think waterfall).

⊡ One software stack per company (e.g. C#, .NET, SQL Server and IIS).

⊡ Ratio of security people to devs is… Well, not great.

So how was app sec approached?

Page 21: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The Current Security Model

Manual pen tests go here...Woot

security is done!

Manual security reviews go here

Manual code reviews go here

Page 22: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The way we build software is changing...

⊡ Small teams (Max 5-10)

⊡ Agile development methodologies (move faster)

⊡ Devs do everything = DevOps practices

⊡ CD / CI , deploy to prod daily (move even faster)

Page 23: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Deploys To Prod Per Month

~30 times a day and growing!

Page 24: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Security is the Gatekeeper

No. of UNREASONABLE security controls.

No. of data breaches

Why would this be the case?

Page 25: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Security is the Gatekeeper

Page 26: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Who Is Responsible For Security?

Page 27: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Skills Shortage

Page 28: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Security Vs Tech Ratio

~140 Tech Team 1-2 App Sec Team

Page 29: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

It’s getting more complex!

~150 different tools, languages, platforms, frameworks and techniques

Page 30: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The Solution?Can we make web apps 100% secure?

Page 31: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Yes there is a way!

Page 32: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Application Security Principles

1. Defence in Depth

2. Minimise Attack Surface

3. Least Privilege

4. Avoid Reliance on Obscurity

5. Keep Security Simple

6. Never Trust External Systems or Data

7. Fail Securely

8. Establish Secure Defaults

9. Compartmentalise

10. Detect Intrusions

Page 33: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Defence In Depth

Page 34: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Defence In Depth

1. Location of backup was publicly accessible.

2. Directory listing turned on.

3. Database backup was not encrypted.

4. Lack of monitoring / alerting of access to this server.

5. Regular security testing?

6. Lack of proper third party provider security vetting?

7. IP Whitelist access to the server and / or enable authentication?

Page 35: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Secure Development Lifecycle.How do we integrate these security principles into the SDLC?

Page 36: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Secure Development Lifecycle

It all starts with….

Page 37: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The Devops / Agile Movement

Page 38: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Training Inception Development Deployment Monitoring

Web security training program

for tech teams.

Security awareness and improve

security culture (i.e. Brown bags, email

updates, etc).

Review system design for security

weaknesses.

Develop attack scenarios for high

risk projects.

Add security specific tests into

test suite.

Adopt security standards and

security release plans.

Automate security scanning tools into

build pipeline.

Automatically scan infrastructure and code for outdated

and vulnerable components.

Perform manual security testing for

complex or high value components.

Implement a continuous testing

program (e.g. A bug bounty program).

SEEK’s Application Security Program/Vision

Page 39: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug Bounty ProgramsEvening up the playing field...

Page 40: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

What is a Bug Bounty Program?

⊡ Crowdsourced security testing.

⊡ Pay for valid bugs found, not for time spent testing.

⊡ Researchers come from all around the world.

Page 41: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Even Up the Playing Field

50-200 Bounty Hunters ~140 Tech Team

Page 42: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug Bounty Services

⊡ Bug bounty services help you setup and manage the program.

⊡ Time based or on-demand programs.

⊡ Invite only programs with option to help with triaging submissions.

Page 43: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The Brief

⊡ Overview of company and targets.

⊡ Targets - sites that are in scope.

⊡ Out-of-Scope - Areas that are off limits.

⊡ Issue Exclusions - Issues you will not reward.

⊡ Rewards - What you will reward for issues found.

https://pages.bugcrowd.com/hubfs/PDFs/Anatomy-Bounty-Brief.pdf

Page 44: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug Bounty Programs

500+ Public Bug Bounty Programs Globally

Page 45: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Even the Pentagon Have a Bug Bounty Program!!

Page 46: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Location of Researchers

Source: Bugcrowd - The State of bug bounty report

Page 47: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Company Verticals

Source: Bugcrowd - The State of bug bounty report

Page 48: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Company Size

Source: Bugcrowd - The State of bug bounty report

Page 49: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Can i run a bug bounty program?

Page 50: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Can i run a bug bounty program?

⊡ Do you have security aware people to manage the program?

⊡ What is the security maturity of the websites you want to test?

⊡ Can you fix security issues in a timely manner?

Page 51: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Can i run a bug bounty program?

⊡ How fragile are your websites?

⊡ Do you have a publicly available test environment?

⊡ Could you block attacks if the researchers are affecting customers?

Page 52: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug Bounty Program POCTwo week, private program through Bugcrowd.

Page 53: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

⊡ 50 researchers invited and were paid for bugs found.

⊡ Testing occurred on production systems.

⊡ 3 apps in scope.

⊡ ~5 days FTE effort for SEEK (not including remediation).

Private On-demand Program

Page 54: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bugcrowd Overview

104 issues were reported in total, with 40 being verified issues:

Page 55: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Timeline of Issues Submitted

Page 56: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Issue Ratings

3 High, 7 Medium and 31 Low issues were reported:

Page 57: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 58: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Issues by Category

97.5% of all issues are categorised in the OWASP Top 10:

Page 59: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

About the Researchers

50 researchers were invited, 15 submitted and 12 were valid:

Page 60: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Reward Pool

Distribution of $15K USD reward pool:

Page 61: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Distribution of $15K USD reward pool:

Reward Pool

Page 62: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Only Slight Increase in Overall Traffic

Page 63: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Ongoing Bug Bounty ProgramOngoing, private, managed program through Bugcrowd.

Page 64: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

⊡ Ongoing, private, managed program (Started Nov 2016).

⊡ 50 researchers invited initially, now have over 250.

⊡ Testing occurs on production systems.

Private Ongoing Program

Page 65: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 66: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Rewards

Page 67: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Submissions Received

Page 68: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Average Time Taken to Fix Issues

Page 69: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The Cake Is A Lie…

Page 70: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 71: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Lessons Learnt

Page 72: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Lessons Learnt

⊡ Reward bonuses to focus testing on certain applications or issue types.

⊡ Respond to researchers in a reasonable time frame. Even for invalid issues.

⊡ Testers will eventually trigger operational alerts (Prod testing only).

Page 73: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Researchers Don’t Always Follow The Rules

Page 74: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Researchers Don’t Always Follow The Rules

Page 75: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Dealing with Researchers

Page 76: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

XML External Entity Attack

Page 77: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

XXE

Page 78: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

XXE

xxe_test_external_dtd.docx

Page 79: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

XXE

Page 80: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

XXE

http://52.64.105.114/payload.dtd

Page 81: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

XXE

Page 82: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

XXE

for 16-bit app support[fonts][extensions][mci extensions][files][Mail]MAPI=1

c:/windows/win.ini

Page 83: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Account Takeover

Page 84: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Account Takeover

Page 85: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Account Takeover

Page 86: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Account Takeover

Page 87: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Account Takeover

POST /Account/CompleteRegistration HTTP/1.1Host: talent.seek.com.au......

SecurityLinkGuid=aae364b3-f507-4402-b3bb-ba451f143097&UserID=23425234&FirstName=hack&LastName=planet&[email protected]&NewPassword=hellothere11&ConfirmPassword=hellothere11

Page 88: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Dangling Domains

Page 89: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Dangling A Records...

Page 90: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Dangling A Records...

$ dig remoted.skinfra.xyz

<<>> DiG 9.8.3-P1 <<>> remoted.skinfra.xyz….

QUESTION SECTION:remoted.skinfra.xyz. IN A 52.64.41.231

Page 91: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Dangling A Records...

Page 92: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Dangling A Records...

Page 93: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Corporate Slack Team Access

Page 94: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Setting the Scene

Customer Service Portal

Page 95: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Emails are sent to the CS ticketing

system:

[email protected]

Page 96: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 97: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Emails here are to [email protected] and from

the user’s email address

Page 98: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 99: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Twitter does not force email verification.

Page 100: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 101: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Asked me for an email address and logged me in… hmmm

Page 102: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Parameter: include_email

When set to true email will be returned in the user objects as a string.

If the user does not have an email address on their account, or if the email address is not verified, null will be returned.

Page 103: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Recap

We can see emails to [email protected] and from… any email address…

So we could read SEEK user's support email tickets… Not that interesting :(

What’s next?

Page 104: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 105: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Slack sends emails from

[email protected]

Page 106: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 107: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 108: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 109: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies
Page 110: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

@seek.com.au

Page 111: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The End

Page 112: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Appendix

Page 113: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Pro’s and Con’s

Page 114: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug bounty program - The Good and Bad

⊡ Can be more cost effective.

⊡ Pay researchers per bug not for time spent.

Pros

⊡ Program management overhead.

⊡ Stakeholder management.

⊡ Communicating with ALL the researchers.

⊡ Validating, triaging and deduping issues reported.

Cons

Page 115: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug bounty program - The Good and Bad

⊡ Researchers incentives are different.

⊡ Rewarded for valid bugs not time spent looking.

⊡ Rewards don’t have to be money (swag, experience, reputation, fun).

Pros

⊡ If you reward swag or kudos instead of money the testers might go elsewhere.

⊡ Over time researchers get bored and move on. Need to increase payouts to keep interest.

Cons

Page 116: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug bounty program - The Good and Bad

⊡ Diverse skill sets.

⊡ Researchers specialise in finding certain types of issues.

⊡ Leads to high quality bugs.

⊡ Multiply this by 100+ researchers.

Pros

⊡ No guarantee of researcher's skill level or what types of issues they have tested for.

Cons

Page 117: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug bounty program - The Good and Bad

⊡ Scales well.

⊡ Tap into 100’s of testers almost instantly.

⊡ Increase assurance on one site or multiple.

Pros

⊡ Only scales well if the incentives are there.

⊡ Test coverage is hard to judge.

⊡ Difficult to know when testers last tested the app, page or feature.

Cons

Page 118: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug bounty program - The Good and Bad

⊡ Fits into a continuous delivery environment.

⊡ Ongoing program can continually test your apps. Instead of point in time.

Pros

⊡ Can continually test your app only if you are running an effective program with ongoing researcher activity.

⊡ Hard to get researchers to focus on small site changes.

Cons

Page 119: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug bounty program - The Good and Bad

⊡ Marketing your company’s security.

⊡ Public programs tell the public that you are trying to make your apps and their data secure.

Pros

⊡ Can lead to the public knowing that you have bugs.

⊡ Can be hard to keep researchers quiet for the long term.

Cons

Page 120: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Bug bounty program - The Good and Bad

⊡ Good way of learning about your blind spots.

⊡ Multiple opportunities to run blue team exercises.

⊡ Researchers find systems and features you didn't even know were there.

Pros

⊡ Testers will find and test sites you don't want them to test.

Cons

Page 121: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Risk Mitigations

Page 122: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The Risks

A researcher could perform testing that brings down or disrupts production (if testing on production systems).

⊡ Program brief state's Denial of Service on any in scope targets.

⊡ Ban researcher from program. They will stop as they will not get paid and get negative points on the HaaS.

⊡ If you have the ability (e.g. a WAF) you can block the IP address that is causing the issues.

⊡ Use a testing environment for the bug bounty program.

Risk Mitigation

Page 123: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The Risks

A researcher could interact with real customers and steal real customer data.

⊡ The brief states not to interact with real customers. Ban researcher from program.

⊡ Existing security controls will prevent most customers being affected.

⊡ Parts of the site that are too hard to test without interacting with customers are taken out of scope.

Risk Mitigation

Page 124: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The Risks

A researcher could exploit a vulnerability and steal sensitive data.

⊡ In the brief it states issues should be reported immediately and sensitive data must not be exfiltrated.

⊡ Bonuses are rewarded for getting access to sensitive data and systems, incentivising them to report the issue quickly.

Risk Mitigation

Page 125: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The Risks

A researcher could publicly disclose an issue during or after the program.

⊡ They will not receive a reward, will be banned from the program and their reputation score will suffer.

⊡ Ensure that the business is capable and ready to fix reported issues (especially the high issues) as quickly as possible. So that the risk is minimised if it did go public.

Risk Mitigation

Page 126: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

The End

Page 127: Program at SEEK Running a Bug Bounty › assets › downloads › Running a Bug...The way we build software is changing... ⊡Small teams (Max 5-10) ⊡Agile development methodologies

Credits/References

⊡ https://pages.bugcrowd.com/hubfs/PDFs/state-of-bug-bounty-2016.pdf⊡ https://www2.trustwave.com/rs/815-RFM-693/images/2016%20Trustwave%20Global%20Security%20

Report.pdf⊡ http://www.wired.co.uk/article/hack-the-pentagon-bug-bounty⊡ http://bugsheet.com/directory⊡ http://www.theverge.com/2016/3/8/11179926/facebook-account-security-flaw-bug-bounty-payout⊡ http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/⊡ http://www.cio.com.au/article/606319/australia-hardest-hit-globally-by-cyber-security-skills-shortage

-report/⊡ http://www.abc.net.au/news/2015-08-27/global-skills-shortage-for-cyber-security-experts2c-says-com

mo/6730034⊡