Top Banner
Clickjacking: Attacks and Defenses Lin-Shung Huang 1 , Alex Moshchuk 2 , Helen Wang 2 , Stuart Schechter 2 , and Collin Jackson 1 1 Carnegie Mellon University 2 Microsoft Research
28

Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Mar 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Clickjacking: Attacks and Defenses Lin-Shung Huang1, Alex Moshchuk2, Helen Wang2, Stuart Schechter2, and Collin Jackson1

1Carnegie Mellon University 2Microsoft Research

Page 2: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Example: Likejacking

2

Claim your FREE iPad attacker.com

attacker.com

The user is tricked to click on something he didn’t intend to click on

Page 3: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Outline •  Defining clickjacking •  Existing defenses are insufficient

–  We evade them with three new attack variants –  Our user study on Amazon Mechanical Turk

shows that people fall for these attacks •  New defense to address root causes

–  Our user study demonstrates its effectiveness

3

Page 4: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Defining clickjacking •  Prerequisite: multiple mutually distrusting applications

sharing the same display •  An attack application compromises context integrity of

another application’s UI when the user acts on the UI

4

1. Target checked 2. Initiate click

3. Target clicked

Temporal integrity Targetclicked = Targetchecked

Pointerclicked = Pointerchecked

Visual integrity Target is visible Pointer is visible

Context integrity consists of visual integrity + temporal integrity

Page 5: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Compromise visual integrity – target •  Hiding the target •  Partial overlays

5

Click

$ 0 $ 0

Page 6: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Claim your FREE iPad

Compromise visual integrity – pointer •  Manipulating cursor feedback

6

Page 7: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Compromise temporal integrity •  Bait-and-switch

7

Claim your FREE iPad

Page 8: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

EXISTING DEFENSES

8

Page 9: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Existing defenses to protect visual integrity

9

•  User confirmation –  degrades user experience

•  UI randomization –  unreliable (e.g. multi-click attacks)

•  Framebusting (X-Frame-Options) –  incompatible with embedding 3rd-party objects

•  Opaque overlay policy (Gazelle browser) –  breaks legitimate sites

•  Visibility detection on click (NoScript) –  false positives

Page 10: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Protecting temporal integrity •  Imposing a delay after displaying UI

–  annoying to user

10 None of current defenses consider pointer

Page 11: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

NEW ATTACK VARIANTS 1.  Accessing user’s webcam 2.  Stealing user’s email 3.  Revealing user’s identity

11

Page 12: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Evaluating attacks •  2064 Amazon Mechanical Turk web users

–  25 cents per user –  Users can only participate once, and only for one

treatment

12

Page 13: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Attack #1: Accessing User’s Webcam

13

Fake cursor

Real cursor

Attack technique: cursor-spoofing Attack success: 43% (31/72)

Page 14: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Attack #2: Stealing User’s Emails

14 Attack technique: pop-up window Attack success: 47% (43/90)

Page 15: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Attack #3: Revealing User’s Identity

•  Whack-a-mole game

15

Attack technique: cursor-spoofing + fast-paced clicking Attack success: 98% (83/84)

Page 16: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

InContext Defense

16

Page 17: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Design Goals •  Should support embedding 3rd-party objects •  Should not prompt users for their actions •  Should not break existing sites •  Should be resilient to new attack vectors

17

Page 18: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

InContext Defense •  A set of techniques to ensure context integrity

for user actions •  Server opt-in approach

–  Let websites indicate their sensitive UIs –  Let browsers enforce context integrity when users

act on the sensitive UIs

18

attacker.com

Page 19: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Ensuring visual integrity of target

•  Dynamic OS-level screenshot comparison –  processing delay on click < 30ms (prototype on IE 9)

19

What is displayed (OS screenshot)

What should be seen (Reference bitmap)

Page 20: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Ensuring visual integrity of pointer •  Remove cursor customization

–  Attack success: 43% -> 16%

20

Page 21: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Ensuring visual integrity of pointer •  Freeze screen around target on pointer entry

–  Attack success: 43% -> 15% –  Attack success (margin=10px): 12% –  Attack success (margin=20px): 4% (baseline:5%)

21

Margin=10px Margin=20px

Page 22: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Ensuring visual integrity of pointer •  Lightbox effect around target on pointer entry

–  Attack success (Freezing + lightbox): 2%

22

Page 23: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Enforcing temporal integrity

23

User checks target

User clicks target

System delivers click to target app

Enforce temporal integrity

•  UI delay: after visual changes on target or pointer, invalidate clicks for X ms

•  Pointer re-entry: after visual changes on target, invalidate clicks until pointer re-enters target

Page 24: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

•  UI delay: after visual changes on target or pointer, invalidate clicks for X ms –  Attack success (delay=250ms): 47% -> 2% (2/91) –  Attack success (delay=500ms): 1% (1/89)

Enforcing temporal integrity

24

Page 25: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Enforcing temporal integrity •  Pointer re-entry: after visual changes on

target, invalidate clicks until pointer re-enters target –  Attack success: 0% (0/88)

25

Page 26: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Whack-a-mole attack •  Exclude victims who were moving their pointer

around the Like button for many seconds, and deliberating whether or not to click

•  Defense against clickjacking aspects –  Screen freezing, margin=20px: 98% -> 16% –  Screen freezing, margin=20px, pointer entry delay=500ms: 4% –  Screen freezing, margin=20px, pointer entry delay=1000ms: 1%

•  Social eng. aspects –  63% users intentionally clicked on Like button after

our defenses made them fully aware of this 26

Page 27: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

Conclusion •  We demonstrated new clickjacking variants

that can evade current defenses

•  Our user studies show that our attacks are highly effective (success rates 43% to 98%)

•  Our InContext defense can be very effective against clickjacking –  Ongoing efforts: UI Safety W3C proposal

27

Page 28: Clickjacking: Attacks and Defenses - USENIX...Defining clickjacking • Prerequisite: multiple mutually distrusting applications sharing the same display • An attack application

QUESTIONS? [email protected]

28