twarfing: malicious tweets€¦ · – selma ardelean: gui+statistics – dan demeter: daemon...

38
Click to edit Master title style Click to edit Master text styles Click to edit Master text styles Second level Third level Third level Fourth level » Fifth level Costin G Raiu Morton Swimmer Twarfing: Malicious tweets Costin G. Raiu Kaspersky Lab Morton Swimmer Trend Micro June 10 th , 2009 Event details (title, place) Virus Bulletin 2009 – September 24 th , Geneva

Upload: others

Post on 22-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Click to edit Master title style

• Click to edit Master text stylesClick to edit Master text styles– Second level• Third levelThird level– Fourth level» Fifth level

Costin G RaiuMorton Swimmer

Twarfing: Malicious tweetsCostin G. RaiuKaspersky Lab

Morton SwimmerTrend Micro

June 10th, 2009 Event details (title, place)Virus Bulletin 2009 – September 24th, Geneva

Page 2: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Thanks to:

• Special thanks (Costin):• Special thanks (Costin):– Selma Ardelean: GUI+statistics– Dan Demeter: daemon downloader scanning– Dan Demeter: daemon, downloader, scanning– Alexandru Tudorica: DB design, URL fetching, expansion,

scanning– Stefan Tanase – suggestions and web 2.0 expertise (you

can watch his presentation tomorrow morning in the Corp stream)stream)

• Special thanks (Morton)p ( )– Rainer Link (architecture) – David Sancho (URL expansion)

June 10th, 2009 Event details (title, place)

Page 3: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Overview

• What is Twitter?• Malware on Twitter

Notable incidents– Notable incidents• The link: Twitter and URL shortening services• Twitter and the Google SB API

R b t• Robots:– Kaspersky Architecture and Statistics– Trend Architecture and Statistics

• ConclusionsJune 10th, 2009 Event details (title, place)

• Conclusions

Page 4: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

What is Twitter?

• Publish/Subscribe Communications system• Founded by Jack Dorsey, Biz Stone and

Evan Williams back in 2006a a s bac 006• SMS/Website, WebService (API)

B• Subscribers can read from thisApp

Browser

Phone

• Subscribers can read from this• Push

S Spp

• SMS: Phone• Pull

App Browser Phone

• Web site: Browser• WS API: Application

June 10th, 2009 Event details (title, place)

App Browser PhoneWS API: Application• RSS: Application

Page 5: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Related to:

• Instant Messaging/XMPP• Is many to many, but best with small groups or one-to-oney y g p• Twitter similar, but publish/subscriber model more persistent• Twitter also has Direct Messages for IM capability

Internet Relay Chat (IRC)• Internet Relay Chat (IRC)• Handles large groups fairly well• Twitter is many to many by default and scales pretty welly y y p y• But Twitter is proprietary

• RSS feedsO t di li k f / l ti• One-to-many medium: links from one source w/o selection

• In Twitter you follow who you like and read his selection of links• TumblelogsTumblelogs

• One-to-many medium, but not necessarily links from publisher• Link sharing, not messaging

June 10th, 2009 Event details (title, place)

Page 6: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Twitter internals

• 140 chars max to be SMS compatible• SMS has a 160 char restrictionSMS has a 160 char restriction• But Twitter needed to add the user name

• Message length has been hacked (fixed)• might cause BoFs in applications

• Users not necessarily human!• Devices

• From buoys to power meters• Search for Twitter on instructables com• Search for Twitter on instructables.com

• Not surprising that malware would use it, but• It's not the best means of C&C communicationsIt s not the best means of C&C communications• Easily blocked after detection• … and twitter has been trigger happy with

June 10th, 2009 Event details (title, place)

gg ppyblocking

Page 7: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Twitter internals

• Historically• Multiple Ruby on Rails servers• Multiple Ruby on Rails servers• Mongrel HTTP servers• Central MySQL backed

• Currently: details super-secret, but this is what we think• Front end

• Ruby based front end• Ruby-based front end• Mongrel HTTP servers

• Back end• Starling for queuing/messaging• Scala-based• MySQL• MySQL

• denormalized data whenever possible• Only for backup and persistance

June 10th, 2009 Event details (title, place)

• Lots of caching (memcached)

Page 8: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Stats (June 2009)

Probably old already, but here they are:

• 25M users475K diff t t d 1 k i d• 475K different users posted over a 1 week period (Whitetwarf)

• 300 tweets/sec• 300 tweets/sec• MySQL handles 2400 reqs per second• API traffic == 10x website traffic!• API traffic == 10x website traffic!

• Indicates that far more people are using applications• TweetDeck Twitteriffic Digsby Twhirl• TweetDeck, Twitteriffic, Digsby, Twhirl• Many are Adobe Air based (!)

• One key to Twitter's success!

June 10th, 2009 Event details (title, place)

One key to Twitter s success!

Page 9: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

But what is ON Twitter?

S A t i b d k t h fi P A l ti• San Antonio-based market research firm Pear Analytics analyzed 2,000 tweets (originating from the US and in English) over a 2-week period from 11:00a to 5:00p (CST) g ) p p ( )and separated them into six categories:– News– Spam– Self-promotion– Pointless babble– Pointless babble– Conversational– Pass-along value

• 40.55% of Tweets were determined to be “pointless babble”

June 10th, 2009 Event details (title, place)

* Paper available at http://is.gd/3xmPz

Page 10: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

And what is inside a Tweet?

• RT passes the note along• L tells friends where I am• # SifuMoraga: presenting together with SifuMoraga: presenting together with #

– show associations– show group associations

g p g g@craiu at #vb2009 L: Geneva

schouw: RT @SifuMoraga: presenting

g p g g@craiu at #vb2009 L: Geneva

schouw: RT @SifuMoraga: presentingg p– just for tagging

• @

schouw: RT @SifuMoraga: presenting together with @craiu at #vb2009 L: Geneva

schouw: RT @SifuMoraga: presenting together with @craiu at #vb2009 L: Geneva

@– for public discussion– also 'follow friday'also follow friday

• links– URLs automatically identified

June 10th, 2009 Event details (title, place)

URLs automatically identified

Page 11: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Long URLs, short URLs

• URLs can be long and uglyURL h t i i h• URL shortening services have grown up around Twitter

l l t 208 diff t– longurl.org counts 208 different ones• Malicious URLs are one potential threat• URL Shorteners

– obscure the true URL– May become malicious– RickRolling, but maliciouslyg y

• Benefits:– ‘bit.ly’ blocks malicious URLs

June 10th, 2009 Event details (title, place)

b t y b oc s a c ous U s

Page 12: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Most popular URL shortening services

80%

f

60

70 Default URL shortener on Twitter

since May 2009

40

50

20

30

0

10

0

bit.ly

yurl.c

omylo

c.me

ow.ly

is.gd

cli.gs

twur

l.nl

migre.me

tr.im

tiny.c

c

June 10th, 2009 Event details (title, place)

tinyu my tw mig t

Page 13: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Malware on Twitter

August 2008

June 10th, 2009 Event details (title, place)

Page 14: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Notable incidents

• April 2009 – Twitter gets hit by XSS wormM lti l i t f th (JS T tti h) id tifi d• Multiple variants of the worm (JS.Twettir.a-h) were identified

• Thousands of spam messages containing the word "Mikeyy“ filled the timelinetimeline

• Proof of concept – no malicious intent• Later, the author (Mikey Mooney) got a job at exqSoft Solutions, a web

security company

June 10th, 2009 Event details (title, place)

Page 15: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Notable incidents

• June 2009 – Trending topics start being exploited

June 10th, 2009 Event details (title, place)

Page 16: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Notable incidents

• June 2009 – Koobface spreading through TwitterOriginally Koobface was only targeting Facebook and MySpace users• Originally, Koobface was only targeting Facebook and MySpace users

• Constantly “improved”, now spreading through more social networks: Facebook, MySpace, Hi5, Bebo, Tagged, Netlog and most recently… Twitter

June 10th, 2009 Event details (title, place)

Page 17: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Notable incidents

• August 6, 2009 – massive DDoS attack against Twitter (and others)• Twitter knocked offline for several hours, API problems lasted forTwitter knocked offline for several hours, API problems lasted for

days• Reason: to silence a relatively unimportant blogger in Georgia

(really?)(really?)

June 10th, 2009 Event details (title, place)

Page 18: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Twitter and Google SB API

• Google Safe Browsing API –malicious websites blacklist

• Used (at least) in Firefox and Chrome

• Basically: two lists of MD5’s

• A hash is computed on various parts of the URL and checked against the lists

• http://a.b.c.d/1.htm -> a.b.c.d -> b.c.d -> c.d -> a.b.c.d/1.htm?p=1

June 10th, 2009 Event details (title, place)

Page 19: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Google SB API

• In August 2009, Twitter g ,began filtering malicious URLs– Mikko Hypponen:

• Initial testing seemed to• Initial testing seemed to indicate Google SB API!API!

• But after a bit more testing e disco eredtesting, we discovered it is SB API but with some additional filtering

June 10th, 2009 Event details (title, place)

some additional filtering

Page 20: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

A bit about ‘bit.ly’ / ‘j.mp’

• Originally, Twitter used ‘tinyurl.com’ to shorten URLs. Around M 2009 it h d id d t il t l it ith ‘bit l ’May 2009 it however decided to silenty replace it with ‘bit.ly’, a service from ‘Betaworks’, a startup accelerator

Q: How can I be sure a bit.ly link is safe to click on?

A: Bit.ly filters all links through several independent services to check for spam, suspected phishing scams, malware, and other objectionable p , p p g , , jcontent. We currently include Google Safe Browsing, SURBL, and SpamCop in our operations. For Firefox browser users, we also have a Preview Plugin that allows you to view more information about a linka Preview Plugin that allows you to view more information about a link before clicking. If you are a Twitter user, similar preview features are offered by Tweetdeck (we’ve got a writeup of how it works here).

June 10th, 2009 Event details (title, place)

Source: http://bit.ly/pages/faq/

Page 21: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Our Robot(s) – Krab Krawler

June 10th, 2009 Event details (title, place)

Page 22: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Kaspersky Robot

• Codenamed: Krab KrawlerCodenamed: Krab Krawler• Specs: Linux + PHP + MySQL• Operation: It continuously fetches the Twitter public• Operation: It continuously fetches the Twitter public

timeline on multiple threads, extracts URLs and injects them into a DBj

• Target: URLs are analysed and expanded if necessary

• Execution: Modules check the URLs for malware• Design: Costin G. Raiu, Stefan Tanase• Assembly: Selma Ardelean, Dan Demeter, Alexandru

Tudorica

June 10th, 2009 Event details (title, place)

Page 23: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Krab Krawler: Architecture

June 10th, 2009 Event details (title, place)

Page 24: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

New unique URLs per day

450 000

500,000

350,000

400,000

450,000

250,000

300,000

350,000

150,000

200,000

50,000

100,000

0

2/200

9

3/200

9

4/200

9

5/200

9

6/200

9

7/200

9

8/200

9

9/200

920

/2009

21/20

09

June 10th, 2009 Event details (title, place)

9/12/

9/13/

9/14/

9/15/

9/16/

9/17/

9/18/

9/19/

9/20/

9/21/

Page 25: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Malware we found so far

0 5 10 15 20 25 30 %

Trojan-Clicker.HTML.IFrame.ob

Trojan-Clicker.JS.Agent.gr

Trojan-Downloader.JS.Gumblar.a

Trojan-Downloader.VBS.Psyme.gf

Trojan-Downloader.JS.Iframe.atl

Hoax.HTML.BadJoke.Agent.c

Trojan-Clicker.JS.Agent.hz

Trojan-Clicker.HTML.IFrame.aem

Trojan-Downloader.HTML.FraudLoad.a

Trojan.JS.Agent.wh

June 10th, 2009 Event details (title, place)

Others

Page 26: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

General stats

• URL duplication: 1 URL is posted in average 1.59 times

• Twitter posts with URLs: ~26%D l d d bj t 60GB th• Downloaded objects: ~60GB per month

• The most popular single URL posted toThe most popular single URL posted to Twitter:

http://tinyurl com/nxsavh– http://tinyurl.com/nxsavh– http://getiton.com/go/g1108066-pct

June 10th, 2009 Event details (title, place)

Page 27: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Our Robot(s) – Red Twarf

June 10th, 2009 Event details (title, place)

Page 28: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Whitetwarf

• An early prototype systemy p yp y• Receives a subset of the tweets via twitter search

Stores external metadata from twitter• Stores external metadata from twitter• Processes text part for internal metadata

– User references, hashtags, Informal tags

• Creates canonical text representations p• Export to an RDF store for analysis• Hard coded detection of attacks• Hard coded detection of attacks

June 10th, 2009 Event details (title, place)

Page 29: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

WhiteTwarf – the exploratorium

HTTP request

TwitterShortener

API

qURL processing

WT-Redirector

URLs

Tweet processing

AnalysisDomain

reputationsRDF

Converter

Redirectors and

reputations

Attacks, M li i

Converter

and Shorteners

RDF Store

SPARQL

Malicious users, etcText

Sigs

June 10th, 2009 Event details (title, place)

SPARQL Queries

Tweets

Page 30: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

WhiteTwarf in detail

• Tweet Processing phasel f– loop forever

• Fetch a limited number of tweets– These come back as JSON codeThese come back as JSON code

• Extract metadata• Enter this into the database• then we wait adaptively before doing this again

– from the tweets, we extract• Tags, URLS, user references• Text signatures

– Meant to remove small differences in text– Meant to remove small differences in text– Normalization and whitespace removal– UTF-8 tricks expansion/removal

Keyword extraction (future)

June 10th, 2009 Event details (title, place)

– Keyword extraction (future)• other metadata

Page 31: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

URL redirector processing

F URL t d i t th DB f ll th li k• For every URL entered into the DB we follow the link• With a HEAD request

I t t 30• In most cases we get a 30x response• These get entered into the DB for further processing

T i h d h i i ll f• Testing showed that it is usually faster to use shortener APIsSo we are testing code that will ID shorteners and• So we are testing code that will ID shorteners and use API instead of HEAD

• We also capture other HTTP metadata• We also capture other HTTP metadata• Basically we are looking for possible file downloads

June 10th, 2009 Event details (title, place)

Page 32: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

The next stage: RedTwarf

• Will capture the entire Twitter pfeed

• Goal: looking for new attack• Goal: looking for new attack patterns

• Based on same data as in WhiteTwarfWhiteTwarf

• Using Text-mining techniques t d t t lto detect rules

June 10th, 2009 Event details (title, place)

Page 33: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Detection malicious activity

• Data exported to an RDF Store– This is a graph databaseThis is a graph database– Allows for complex queries– Does have some performance issues and is not real time

Si l A k i• Simple Attack scenario– User is observed to post to a malicious domain– We want to see what else he has postedWe want to see what else he has posted

l htt // l / ilmal http://mal.com/evil.exemalicousposts

poststw:hasURL drs:hasFQDN drs:rating

tweet/1234mal.composts

tw:hasURL

June 10th, 2009 Event details (title, place)

http://unk.com/what.exetweet/5678tw:hasURL

Page 34: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Matching graphs

mal http://mal.com/evil.exeposts

tweet/1234mal.com

malicousposts

poststw:hasURL drs:hasFQDN drs:rating

tweet/1234

http://unk.com/what.exetweet/5678tw:hasURL

? ? 1?m ?u1

malicousposts

ttw:hasURL drs:hasFQDN drs:rating

?t1?fposts

tw:hasURL

June 10th, 2009 Event details (title, place)

?u2?t2tw:hasURL

Page 35: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

More complex attack

@iceman: This link is cool http://cool com/ice htmlObserved: User modified http://cool.com/ice.html@notniceman: RT: @iceman: This link is cool http://c00l.com/ice.exe

URL on retweet to be malicious

posts hasURLiceman tweet/1001

http://cool.com/ice.html

textSigiceman tweet/1001

textSigthislinkiscool

posts

hasURLnotniceman

tweet/1005

June 10th, 2009 Event details (title, place)

http://c00l.com/ice.exe

Page 36: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Matching Graphs

posts hasURLiceman tweet/1001

http://cool.com/ice.html

textSig

textSig

iceman tweet/1001

thislinkiscool

posts

hasURL

textSig

notniceman tweet/1005http://c00l.com/ice.exe

posts hasURL

p

?u1

textSig

?u1 ?t1

?s

?u1

poststextSig ?s

?mu ?t2? 2

June 10th, 2009 Event details (title, place)

?u2

Page 37: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Conclusions

T itt i b i l tt k t• Twitter is becoming a popular attack vector• Two approaches to detecting threats broadcast via Twitter• There are serious security dependencies due to the URLThere are serious security dependencies due to the URL

Shorteners• Common goal: protecting you, our customers• Identifying the future development directions of Twitter

threats

We would like to thank VB and the charming audience for your support with g y pp140 characters and guess what, we just did it! #vb2009

June 10th, 2009 Event details (title, place)

Page 38: Twarfing: Malicious tweets€¦ · – Selma Ardelean: GUI+statistics – Dan Demeter: daemon downloader scanningDan Demeter: daemon, downloader, scanning – Alexandru Tudorica:

Click to edit Master title style

• Click to edit Master text stylesClick to edit Master text styles– Second level• Third levelThird level– Fourth level» Fifth level

Thank you! morton@swimmer orgThank you! [email protected]/sifumoraga

[email protected]/craiu

June 10th, 2009 Event details (title, place)