cusrf | it's pronounced "see you surf" and it's dangerous

49
© 2014 Imperva, Inc. All rights reserved. CUSRF | It’s Pronounced “See You Surf” and It’s Dangerous Amichai Shulman, CTO, Imperva 1

Upload: imperva

Post on 20-Aug-2015

1.060 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CUSRF | It’s Pronounced “See You Surf” and It’s Dangerous Amichai Shulman, CTO, Imperva

1

Page 2: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Agenda

2

§ CSRF brief intro § CUSRF: A close encounter with CSRF of the third kind

§  CUSRF explained §  Vulnerable applications in the wild

§  Google Docs §  Linkedin.com

§ Mitigations § Summary and conclusion

Page 3: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Amichai Shulman – CTO, Imperva

3

§ Speaker at Industry Events •  RSA, Appsec, Info Security UK, Black Hat

§  Lecturer on Information Security •  Technion - Israel Institute of Technology

§  Former security consultant to banks & financial services firms

§  Leads the Application Defense Center (ADC) •  Discovered over 20 commercial application vulnerabilities

§  Credited by Oracle, MS-SQL, IBM and others

One of InfoWorld’s “Top 25 CTOs”

Page 4: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

The Motivation: Protecting Your ID in a Hostile Online Environment

4

Page 5: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Privacy on the Web: An Uphill Battle?

5

Source: www.askingsmarterquestions.com

Page 6: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Privacy Can Be Achieved Through Anonymity

6

Source: www.antiquaprintgallery.com

Page 7: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Privacy Can Be Achieved Through Anonymity

7

Source: www.antiquaprintgallery.com

Page 8: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CUSRF Vulnerability Opens Your Social Kimono!

§ CUSRF (pronounced “See You Surf”) •  Cross USer Request Forgery

§ Web sites you visit can see your privates: •  In real-time •  Name, email, work place, title, etc.

§ Potential outcomes: •  “Ice Hole Phishing”: e.g. infect only certain roles in a

specific organization. •  Display different price •  Disinformation

8

Page 9: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF Intro

9

Page 10: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

SOP Threat Model

Com

mun

icat

ion

Custom Code

Acc

ount

s Fi

nanc

e A

dmin

istr

atio

n Tr

ansa

ctio

ns

Kno

wle

dge

Mgm

t E-

Com

mer

ce

Bus

. Fun

ctio

ns

Target Application

Attacker sets the trap on some website on the internet

1

Some interaction with victim site

10

Page 11: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

SOP Threat Model

Com

mun

icat

ion

Custom Code

Acc

ount

s Fi

nanc

e A

dmin

istr

atio

n Tr

ansa

ctio

ns

Kno

wle

dge

Mgm

t E-

Com

mer

ce

Bus

. Fun

ctio

ns

Target Application

Attacker sets the trap on some website on the internet

1

2While logged into vulnerable site,

victim views attacker site

Target site interaction

Some interaction with victim site

11

Page 12: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

SOP Threat Model

Com

mun

icat

ion

Custom Code

Acc

ount

s Fi

nanc

e A

dmin

istr

atio

n Tr

ansa

ctio

ns

Kno

wle

dge

Mgm

t E-

Com

mer

ce

Bus

. Fun

ctio

ns

Target Application

3

Vulnerable site sees legitimate request from victim, performs the requested action and sends a response

Attacker sets the trap on some website on the internet

1

2While logged into vulnerable site,

victim views attacker site

Target site interaction

Some interaction with victim site

12

Page 13: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF Illustrated: “Bypassing SOP”

Attacker sets the trap on some website on the internet (or simply via an e-mail) 1

Custom Code

Acc

ount

s Fi

nanc

e A

dmin

istr

atio

n Tr

ansa

ctio

ns

Com

mun

icat

ion

Kno

wle

dge

Mgm

t E-

Com

mer

ce

Bus

. Fun

ctio

ns

Hidden <img> tag contains attack against vulnerable site

Application with CSRF vulnerability

13

Page 14: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF Illustrated: “Bypassing SOP”

Attacker sets the trap on some website on the internet (or simply via an e-mail) 1

Hidden <img> tag contains attack against vulnerable site

2While logged into vulnerable site,

victim views attacker site

<img> tag loaded by browser – sends GET request (including credentials) to vulnerable site

14

Page 15: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF Illustrated: “Bypassing SOP”

3

Attacker sets the trap on some website on the internet (or simply via an e-mail) 1

Vulnerable site sees legitimate request from victim and performs the requested action

Custom Code

Acc

ount

s Fi

nanc

e A

dmin

istr

atio

n Tr

ansa

ctio

ns

Com

mun

icat

ion

Kno

wle

dge

Mgm

t E-

Com

mer

ce

Bus

. Fun

ctio

ns

Hidden <img> tag contains attack against vulnerable site

Application with CSRF vulnerability

2While logged into vulnerable site,

victim views attacker site

<img> tag loaded by browser – sends GET request (including credentials) to vulnerable site

15

Page 16: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF

§  The “Confused Deputy” Problem •  Web browsers automatically include access

tokens with each request •  Requests can be invoked by malicious sites from

victim’s browser without user consent

§ Automatically Provided Tokens: Session cookie, basic authentication header, IP address, client side SSL certificates, Windows domain authentication

16

Page 17: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF Type I: Classic CSRF

17

§  The “Transfer Fund” attack § Attacker tricks the browser into issuing a “transfer funds”

request to the attacker’s account §  “/transferFund.jsp?To=<attacker>&Sum=10000000”

Attack Type Used credentials Interacts with

Classic CSRF Victim’s Victim’s web account

Page 18: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF Type II: Login CSRF

§  The attacker mounts a CSRF attack that logs the victim into an attacker controlled account (sink account)

§  “signin.jsp?user=<attacker>&password=123456” §  Later on, the attacker is able to track the victim’s activity

in the sink account §  e.g. log the victim to attacker’s controlled Google account

to collect search history

18

Page 19: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF Type II: Login CSRF

§  The attacker mounts a CSRF attack that logs the victim into an attacker controlled account (sink account)

§  “signin.jsp?user=<attacker>&password=123456” §  Later on, the attacker is able to track the victim’s activity

in the sink account §  e.g. log the victim to attacker’s controlled Google account

to collect search history

Attack Type Used credentials Interacts with

Classic CSRF Victim’s Victim’s web account

Login CSRF Attacker’s Attacker web account

19

Page 20: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF Type II: Login CSRF

§  The attacker mounts a CSRF attack that logs the victim into an attacker controlled account (sink account)

§  “signin.jsp?user=<attacker>&password=123456” §  Later on, the attacker is able to track the victim’s activity

in the sink account §  e.g. log the victim to attacker’s controlled Google account

to collect search history

20

Page 21: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF is Very Relevant

Source: WhiteHat Security

21

Page 22: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF is Very Relevant

Source: WhiteHat Security

22

Page 23: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CUSRF: A Close Encounter With CSRF of the Third Kind

23

Page 24: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CSRF Type III: CUSRF

24

§ A new type of CSRF, bringing CSRF to Web 2.0 environment

§  “Cross USer Request Forgery” (CUSRF, pronounced “See You Surf”) attack

§ Composition of the known CSRF vulnerability types, for collaboration environment

Page 25: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Web 2.0: It’s All About Collaboration

25

§  “A Web 2.0 site may allow users to interact and collaborate with each other in a social media dialogue as creators of user-generated content in a virtual community” (Source: Wikipedia)

Source: http://conceptart.ca

Page 26: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CUSRF Explained

26

§  The attacker forges collaboration requests on behalf of the victim •  Similar to the “Classic CSRF”

§  The collaboration target is located on an attacker controlled account •  Similar to the “Login CSRF”

§ Outcome: Attacker can reveal the victim’s social network identity

Attack Type Used credentials Interacts with

Classic CSRF Victim’s Victim’s web account

Login CSRF Attacker’s Attacker’s web account

CUSRF Victim’s Attacker’s web account

Page 27: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CUSRF in the Wild 1: LinkedIn Profile

27

Page 28: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Attack Setup: Creating a LinkedIn Profile

28

§ Attacker sets up a LinkedIn account

Page 29: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Attack Setup: Settings

29

§  In order to view the identity of profile visitors, the attacker can either: •  Go “Pro” •  Make their “LinkedIn” identity available to others

Page 30: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Attack Setup: CSRF Page

30

§ Attacker adds an invisible CSRF link referencing the attacker’s LinkedIn profile to their online asset

§ Asset can be: •  A “watering hole” page •  A “phishing” page •  Etc.

Page 31: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Launching the Attack

31

§ When the intended target visits the CSRF page: •  The attacker discovers

his identity (“Tal Be’ery”) instantly

§ Can act accordingly: •  e.g. infect him personally

with a “drive by download“ infection

Page 32: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Resolving “Semi Anonymous Profiles”

32

§ Victim can choose to share only “profile characteristics” •  e.g “Engineer in Imperva”

§  This is the default setting § Sometimes that’s enough information for the attacker

Page 33: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Resolving “Semi Anonymous Profiles”

33

§  In 2013, Linkedininsights.com had demonstrated a bypass §  Linkedin “Red Herring” Module showed list of 10 possible

“candidates” for the “Semi Anonymous Profiles” § One was the actual person; others were just “Red

Herrings” §  The problem: “Red Herrings” were randomized, actual

person was not § Exploit: Attacker should view the “candidates” list twice

and mark the overlapping item

Page 34: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

A Smelly Red Herring

34

Source: www.linkedinsights.com

Page 35: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

CUSRF in the Wild 2: Google Docs

35

Page 36: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Attack Setup: Creating a Google Doc

36

§ Attacker (“honeymadhatter”) shares her doc with targeted account(s) (“sam.burekas”)

§ Only needs to know the targets’ email

§ No email is sent, as the option can be unchecked

Page 37: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Attack Setup: CSRF Page

37

§ Attacker adds an invisible CSRF link referencing to the attacker’s Google Doc to their online asset

§ Asset can be •  A “watering hole” page •  A “phishing” page •  Etc.

§  Invisible link example: •  “<script src = "

https://docs.google.com/document/d/<some doc id>/edit"></script>”

Page 38: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Launching the Attack

38

§ When the intended target visits the CSRF page: •  The attacker uncovers victim’s identity (“sam.burekas”)

instantly

§ Can act accordingly: e.g. infect victim with malware

Page 39: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Google’s Response

39

Page 40: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Mitigations

40

Page 41: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Consumers

41

§  Logout more! § Use stricter privacy settings for vulnerable applications

•  Full anonymity for LinkedIn

§ Use personal Anti CSRF add-ons to block cross-site requests •  RequestPolicy •  CsFire •  NoScript

Page 42: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Platform Providers

§ Use standard CSRF protections •  Don’t allow a collaboration based on a single request from other

domain

§ Other domains can be determined by HTTP headers •  Referer •  Origin

42

Page 43: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Platform Providers

§ Single request collaboration, within same domain can be secured with a CSRF token •  Changing, un-guessable, unique identifier appended to the

request

§  Libraries exist to include this functionality in the code •  http://anticsrf.codeplex.com/ (.NET) •  https://www.owasp.org/index.php/

Category:OWASP_CSRFGuard_Project (Java, PHP, .NET)

43

Page 44: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

MS Seems to Get It Right

44

Page 45: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Summary & Conclusion

45

Page 46: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Summary

46

§ CSRF vulnerabilities of various types are common within applications

§ CUSRF is a new type of CSRF that affects users of collaboration platforms and applications •  Disclosing the true identity of a victim, when accessing an

attacker controlled application

§ CUSRF can be used for fraud as well as “Ice Hole Phishing”

Page 47: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Recommendations

47

§ Consumers •  Review privacy settings for collaboration platforms

§ Providers •  Apply anti-CSRF mechanisms to collaboration activity

Page 48: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

Webinar Materials

48

Post-Webinar Discussions

Answers to Attendee

Questions

Webinar Recording Link Join Group

Join Imperva LinkedIn Group, Imperva Data Security Direct, for…

Page 49: CUSRF | It's Pronounced "See You Surf" and It's Dangerous

© 2014 Imperva, Inc. All rights reserved.

www.imperva.com

49