ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of...

46
There’s a Hole in that Bucket! A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella, Mario Polino, Marcello Pogliani, Stefano Zanero 7 December 2018 ACSAC 2018

Transcript of ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of...

Page 1: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

There’s a Hole in that Bucket!A Large-scale Analysis of Misconfigured S3 Buckets

Andrea Continella, Mario Polino, Marcello Pogliani, Stefano Zanero

7 December 2018ACSAC 2018

Page 2: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

Cloud Storage Services

Page 3: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Amazon S3

● Users create buckets (storage containers)

● Amazon S3 supports various access control policies○ User-level○ Bucket-level○ Resource-level

Page 4: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Amazon S3

● Users create buckets (storage containers)

● Amazon S3 supports various access control policies○ User-level○ Bucket-level○ Resource-level

● REST API to read/write:○ http[s]://<BUCKET_NAME>.s3[-region].amazonaws.com/○ http[s]://s3[-region].amazonaws.com/<BUCKET_NAME>/

Page 5: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

HTTP/1.1 403 Forbiddenx-amz-bucket-region: ap-southeast-2Content-Type: application/xmlTransfer-Encoding: chunkedDate: Mon, 19 Mar 2018 13:22:24 GMTServer: AmazonS3

<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>4CBC01F61S808F69</RequestId><HostId>zPQX088xyzUTAH704xQLZFg9toDH</HostId>

</Error>

Page 6: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

What couldpossibly go wrong?

Page 7: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Threats

Misconfigurations in access control rules can be really dangerous

Page 8: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Threats

Misconfigurations in access control rules can be really dangerous

Data Leakage

Page 9: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Threats

Misconfigurations in access control rules can be really dangerous

Data Leakage Resource Infection

Page 10: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Threats

Misconfigurations in access control rules can be really dangerous

Data Leakage Resource Infection

Ransom Demand

Page 11: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Threats

Misconfigurations in access control rules can be really dangerous

Data Leakage Resource Infection

Ransom Demand

Domain Name Trust Exploiting

Page 12: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Threats

Misconfigurations in access control rules can be really dangerous

404

Data Leakage Resource Infection

Ransom Demand

Domain Name Trust Exploiting

Subdomain Takeover

Page 13: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets
Page 14: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets
Page 15: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets
Page 16: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets
Page 17: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Methodology

Dictionary

Mutations

Enumeration

Candidates

Candidate Generation

Page 18: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Methodology

Dictionary

Crawler

Mutations

Enumeration

Candidates

PublicWWW

Candidate Generation

Web Crawling

Page 19: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Methodology

Dictionary

Crawler

Mutations

Enumeration

Candidates

PublicWWW

Passive DNS

Candidate Generation

Web Crawling

Page 20: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Methodology

Dictionary

Crawler

Mutations

Enumeration

Candidates

Scanner

Existing & PublicBuckets

PublicWWW

Passive DNS

Candidate Generation

Web Crawling

Page 21: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Methodology

Dictionary

Crawler

Mutations

Enumeration

Candidates

Scanner

Existing & PublicBuckets

Inspector

ReadableBuckets

WritableBuckets

PublicWWW

Passive DNS

Candidate Generation

Web Crawling

Page 22: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Methodology

Dictionary

Crawler

Mutations

Enumeration

Candidates

Scanner

Existing & PublicBuckets

Inspector

ReadableBuckets

WritableBuckets

PublicWWW Website Inspector

VulnerableWebsites

Passive DNS

Candidate Generation

Web Crawling

Page 23: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Scanning Result Summary

Page 24: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Scanning Result Summary

Page 25: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Scanning Result Summary

Page 26: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Scanning Result Summary

Page 27: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Scanning Result Summary

Page 28: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Region Distribution

Page 29: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

File Types

Page 30: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

File Types

Page 31: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Sensitive Exposure

Page 32: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Vulnerable Websites

We collected 5,196 websites relying on 2,468 buckets

Page 33: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Vulnerable Websites

We collected 5,196 websites relying on 2,468 buckets

Page 34: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Vulnerable Websites

We collected 5,196 websites relying on 2,468 buckets

Page 35: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Vulnerable Websites

We collected 5,196 websites relying on 2,468 buckets

*Note that websites can overlap among the different types of vulnerability

*

Page 36: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

Mitigation

Page 37: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

Fix the damn permissions!

Page 38: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Mitigation

Amazon S3BucketOwner

is my bucketsecured?

Page 39: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Mitigation

Amazon S3BucketOwner

Browser

Extension is this resource trusted?

is my bucketsecured?

Page 40: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

https://bucketsec.necst.it

Page 41: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

https://github.com/necst/truster

Page 42: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

Responsible Disclosure

Page 43: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets
Page 44: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018

Conclusions

● We investigated security implications of using the Amazon S3 service● Raise the awareness of a real-world security problem and warn users of its

security implications● ~14% of S3 buckets are public● ~2% of S3 buckets are publicly writable● 191 vulnerable websites● We need automated solutions

○ Automatically check for potential misconfigurations○ Protect client-side users

Page 45: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets

Thanks!Questions?

Andrea [email protected]://conand.me

@_conand

Page 46: ACSAC 2018 There’s a Hole in that Bucket! 7 December 2018 ... · A Large-scale Analysis of Misconfigured S3 Buckets Andrea Continella et al. ACSAC 2018 Amazon S3 Users create buckets