20
Detecting Fraudulent Clicks From BotNets 2.0 Adam Barth Joint work with Dan Boneh, Andrew Bortz, Collin Jackson, John Mitchell, Weidong Shao, and Elizabeth Stinson

Detecting Fraudulent Clicks From BotNets 2.0

  • Upload
    blue

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Detecting Fraudulent Clicks From BotNets 2.0. Adam Barth Joint work with Dan Boneh, Andrew Bortz, Collin Jackson, John Mitchell, Weidong Shao, and Elizabeth Stinson. BotNets, Current and Future. Browser Security Model. Same-origin policy for network access Origin is scheme://host:port - PowerPoint PPT Presentation

Citation preview

Page 1: Detecting Fraudulent Clicks From BotNets 2.0

Detecting Fraudulent Clicks From BotNets 2.0

Adam BarthJoint work with Dan Boneh, Andrew Bortz, Collin Jackson,

John Mitchell, Weidong Shao, and Elizabeth Stinson

Page 2: Detecting Fraudulent Clicks From BotNets 2.0

BotNets, Current and FutureTraditional BotNets BotNets 2.0

Permanent malware Ephemeral• Infect host

– Email attachments– Drive-by downloads

• Browser-based– Malicious advertisements– Popular web sites

Click-fraud, Spam,DDoS, Key-logging

Click-fraud, Spam,(maybe DDoS)

~100,000 members Much larger

Page 3: Detecting Fraudulent Clicks From BotNets 2.0

Browser Security Model• Same-origin policy for network access

– Origin is scheme://host:port

• Write HTTP anywhere on the network– Easy using HTML forms– Except restricted ports, like 25 (SMTP)

• Read from origin only– Can read some “library” formats from anywhere

• JavaScript, CSS, Images, Applets, etc

Page 4: Detecting Fraudulent Clicks From BotNets 2.0

Desired Properties of Policy• Can’t send spam

– Writes to port 25 blocked

• Can’t click advertisements– Need to READ a token to make a click count

• Unfortunately…

Page 5: Detecting Fraudulent Clicks From BotNets 2.0

DNS Rebinding Attacks• Circumvent browser network access policy• attacker.com points to attacker and target

• Can read and write sockets to anywhere

<policy-file-request/>

<allow-access-from domain="*" to-ports="*" />

attacker’sserver

targetserver

rebindDNS

Page 6: Detecting Fraudulent Clicks From BotNets 2.0

An Experiment• We ran a Flash ad (gains socket access)

– Paid $30– 50,951 impressions from 44,924 unique IP addresses

• 90.6% of browser vulnerable– More if we include other rebinding attacks

• $100 to hijack 100,000 IP addresses– No click required– Impressions are cheap

Page 7: Detecting Fraudulent Clicks From BotNets 2.0

Duration of IP Hijacking

Page 8: Detecting Fraudulent Clicks From BotNets 2.0

A Long Tail• Some impressions last for days

Page 9: Detecting Fraudulent Clicks From BotNets 2.0

Using Rebinding for Click-Fraud• Enroll as a publisher with ad network A

– Publish pay-per-click ads on your site

• Enroll as a advertiser with ad network B– Buy pay-per-impression Flash ads

• Buy bots for $0.001 each– Use 99% just to generate impressions on your site– Use 1% to generate ad clicks on $0.50/per-click ads– Multiply your money by 5, repeat

Page 10: Detecting Fraudulent Clicks From BotNets 2.0

Implications for Click-Fraud Defense• Simulates IP distribution exactly

– Each bot an independent sample from web visitors– Black-listing IPs as bot infested meaningless

• Traffic time-appropriate for IP– Human at that IP actually surfing the web right now

• HTTP headers appropriate for IP– Grab real headers from request for Flash ad– Can’t get cookies, but many networks don’t use them

Page 11: Detecting Fraudulent Clicks From BotNets 2.0

Distinguish Bots from Humans• Bots cannot simulate human cognition

• Can’t use traditional CAPTCHAs– Too disruptive to the user experience– User has not interest in proving their humanity

• Click-fraud detection a different problem– CAPTCHAs determine if this client a human– We just need estimate the proportion of humans

Page 12: Detecting Fraudulent Clicks From BotNets 2.0

A Straw-Man Design• Humans click “Yes!”• Bots click at random

• Ad network stats:– 3487 Yes clicks– 1271 No clicks

• How many bots?– Expectation: 2542– High probably bound an

exercise for the reader

Page 13: Detecting Fraudulent Clicks From BotNets 2.0

A Real Advertisement• Where will humans

click?

• Bots cannot simulate

• Can’t trick humansinto clicking– Actually need process ad

Page 14: Detecting Fraudulent Clicks From BotNets 2.0

Image Recognition Doesn’t Help

• Suppose the bot can identify the hot spots– Say by segmenting the image using vision techniques

• In what ratio should the bot click?– Depends on the relative appeal of the hot spots– Requires human-level AI to get right

• Any error a signal of bot proportion

Page 15: Detecting Fraudulent Clicks From BotNets 2.0

Fraudster Has to Click on Many Ads

Page 16: Detecting Fraudulent Clicks From BotNets 2.0

Ad Network can Measure Humans• At first, run ads on trusted partners

– Record distribution of human click location– Easy to record (x, y) coordinates of click on web

• Cheap for ad network– Was going to run ad anyway

• Expensive for attacker to influence– Must use valuable bot clicks without payout– Must be clicking everywhere all the time

Page 17: Detecting Fraudulent Clicks From BotNets 2.0

A Work in Progress• Need to validate diversity in distribution

– Will run real ads and measure click location– How does distribution vary by screen location of ad?

• Experiment with ad design– Objective: human click location hard for bot to predict

• Text ads?– Less area to click and less enticing visuals– There still might be a valuable signal in click location

Page 18: Detecting Fraudulent Clicks From BotNets 2.0

Conclusions• BotNets 2.0 are coming

– Cheap, large-scale, ephemeral bots in the browser– Don’t require full-machine compromise– Heuristic click-fraud detection’s days are numbered

• Click location can divide humans from bots– Accurate simulation requires human cognition– Easy for ad networks to deploy– More science needed to determine effectiveness

Page 19: Detecting Fraudulent Clicks From BotNets 2.0

Thanks!

Page 20: Detecting Fraudulent Clicks From BotNets 2.0