presented by: nandor t. szots senior programmer, everquest ii [email protected]

17
Spam filtering in MMOs Presented by: Nandor T. Szots Senior Programmer, EverQuest II [email protected] Sony Online Entertainment

Upload: george

Post on 09-Feb-2016

51 views

Category:

Documents


2 download

DESCRIPTION

Spam filtering in MMOs. Presented by: Nandor T. Szots Senior Programmer, EverQuest II [email protected] Sony Online Entertainment. Overview. Introduction Why is spam such a large problem in MMOs Technical details of EQII’s filtering solution MMO specific filtering techniques. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Spam filtering in MMOs

Presented by:

Nandor T. Szots

Senior Programmer, EverQuest II

[email protected]

Sony Online Entertainment

Page 2: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Overview

Introduction

Why is spam such a large problem in MMOs

Technical details of EQII’s filtering solution

MMO specific filtering techniques

Page 3: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Introduction

An MMO with 100k-500k subscribers can expect between 10,000 to 1 million spam messages to be sent to it’s players per day.

Helps to compromise fair game play

Gives an advantage to players willing to use third-party RMT sites.

Leads to loss of subscriptions

Generates no revenue for the developers

Page 4: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Why is spam such a large problem in MMOs

Third-party RMT is estimated to be a $2 billion / year business

30% of MMO players are estimated to be involved as either buyers or sellers

Unlimited resources generated by the game

Access to resources using repetitive and scriptable tasks

Page 5: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Technical details of EQII’s filtering solution

Naive Bayes Classifier

Each word is considered independently of the phrase

Allows for a simple DB

Uses a simple formula to determine spam probability

ln( p(S) / p(¬ S) ) in the case of MMOs can be dynamic based on player/account information

Page 6: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Technical details of EQII’s filtering solution

Creating a DB of words EQII DB

– ~122,000 lines which is ~1 million words of good data

– ~200 lines which is ~4,500 words of bad data

Much fewer types of spam messages creates this delta

Large ‘good’ data set makes it harder for spammer to pollute your data

Glue words ‘the’, ‘a’, ‘an’, ‘it’ etc. can be ignored

Words should only count once in any statement

Good idea to split out currency, game currency, etc. before processing

Page 7: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Technical details of EQII’s filtering solution

Typical spam message examples from EQII Typical messages pre-spam filtering:

“Safe Gold,Fast power leveling,Special service of gold farming. Enjoy the fun we give you and your guild at www.spamworker.com”

Typical spam message today:

“Stick to buy 1000 gold per-day for 5214 weeks on our site, you will be 100 years old, and become the strongest person in the game forever!”

“Visit \/\/w\/\/.s###w0rk3r.c0/\/\, ###=pam, 3=e”

Page 8: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Technical details of EQII’s filtering solution

Examples of applying the filter to real-world messages Example DB and test phrases can be found on my website:

http://nandor.szots.com

We will use two phrases with similar wording one which is spam and one which is not and show how the filter processes each

Page 9: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Technical details of EQII’s filtering solution

Non-Spam message:

“Hello, what’s up? Did you see how gold the sun was? Lets go power level!”

Filter is passed the phrase as follows: “hello what’s up did you see how #GAMECUR# the sun was

lets go power level”

Page 10: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Technical details of EQII’s filtering solution

Filter processes each word:

Final value: -4.97 => Not Spam!

Page 11: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Technical details of EQII’s filtering solution

Spam message:

“Hello! Welcome to www.buygold.com. Power leveling, and fast safe gold!”

Filter is passed the phrase as follows:

“hello welcome to www buygold com power leveling and fast safe #GAMECUR#”

Page 12: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Technical details of EQII’s filtering solution

Filter processes each word:

Final value: 28.45 => Spam!

Page 13: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

MMO specific filtering techniques

Techniques to allow cross-game implementation Keyword replacements

1. In-game currencies

2. Genre-specific concepts

3. Real world monetary values

Dynamic modification of starting probabilities

Source and Destination filtering capabilities

Page 14: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

MMO specific filtering techniques

Looking at our probability one more time: Need to make changes that do not effect mathematical correctness

of the formula.

Best approach is to modify: ln( p(S) / p(¬ S) ) – Account Age

– Account Type / Payment Type

– IP Address

– Character Age

– Character Level

These should all be computed from real-world values like the word DBs

Page 15: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

MMO specific filtering techniques

MMO Advantages Use your community to your advantage

– Allow for real-time marking of spam and non-spam messages

– Update word DBs frequently (once an hour or more)

Lots of additional information about message senders and reporters

Social relationships (guilds, groups, friends, etc.)

Page 16: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

MMO specific filtering techniques

MMO Disadvantages Spammers can pre-test their messages

– Minimize this by using ip, account, billing, etc. information

Spammers can try to weight their messages down by reporting them as not-spam– Create strict rules for accepting player reports to minimize spammers

ability to weight your filter

It is important to create as much misdirection as possible

Page 17: Presented by: Nandor T. Szots Senior Programmer, EverQuest II nszots@soe.sony

Q&A

Questions & Answers