Slawomir:
Can you please post the code diffs for the changes you describe?
Thanks -- David

On 11/14/2016 8:09 AM, TJM wrote:
Hello,

I've been dealing with huge amounts of spam accounts for the past few months,
averaging at 500k or more registration attempts weekly. My project was hit by some kind of large botnet. I had to modify lots of things but currently it looks like I'm winning the battle.
Here's what I did + some thoughts:

1. Inactive, empty accounts *will* wake up in the future to post spam.
Before they started creating fake teams full of links, I had already like 20k+ of them,
some were registered more than a year ago (!)
I have deleted tons of them, mostly by checking their emails against StopForumSpam database,
yet still there are leftovers that wake up every now and then.

2. I added a requirement to have a host attached before the user can create 
team.
This immediately stopped like 99,99% of the spam. I had the profile RAC/credits requirement
earlier.
Now I'm going to change it to require at least 1 credit, with an explanation and contact info for users without credits who want to create team for some reason. To override my filter,
I use 'email_validated' db field to manually verify accounts if someone asks to.
Every attempt to create a team without meeting the requirements is logged, the web form actually accepts the data so I have something to report back to StopForumSpam. Every now and then I'm checking the log, which has a nice "report to SFS" and "delete account" buttons next to each user name.

3. reCaptcha doesn't work for me at all. The only difference between having it enabled/disabled is the number of requests made to create an account, somehow they pass through with failure to success ratio of ~10:1. I had reCatpcha enabled all the time and even recently updated to the lastest API,
which didn't help at all.

4. All registration attempts go through StopForumSpam API. It actually works very well, many of the spammers slip through the IP filter but then fail email address check which is the most important IMO. On average, for me it stops more than 95% of the registrations, but it heavily depends on email domain used - some are trying to register account with email domain that is flagged as 'toxic' and then no one will go through; another spam wave may use something like hotmail and then it will be accepted if it's not (yet) listed.

5. I have a background daemon that randomly picks up empty (no hosts) accounts from the db and checks their email_addr against SFS. This will be changed because now they're smarter and they make accounts with fake hosts. Sooner or later this script kills almost all accounts that slipped through registration because their data was not listed
on SFS during registration.
On deletion, it removes account, forum posts, profile and team(s) (only if it has 0 total_credits). It is not uncommon to have more than 1 team created by single account, AFAIR I had one with ~6k teams and hundreds
of accounts which created more than one.

6. For all "deny" action when something suspicious is detected, I set a very long, random wait
time, of 20-60s before returning warning or error. It slows down the spam a lot.
I bet if everyone did that, the spambots would quickly run out of resources.

7. I also use local copy of the SFS database dumps of spam IP addresses as a quick way to display 403 on some of the critical pages (registration, profile/team creation, forums and a couple of others).


Regards,
Slawomir Rzeznicki
Enigma@Home

On Mon, 14 Nov 2016 10:10:05 +0100
 Christian Beer <[email protected]> wrote:
On 11.11.2016 22:46, David Anderson wrote:
The create-account RPC is used by
- account managers (BAM!, etc.)
- the BOINC client

If it were just account managers we could add some kind of access control
(i.e. accept RPCs only from known AMs).
But this would break the client.

What to do about this?
Suggestions are welcome.

I don't think account creation is the right place to fix it. Especially
since it will break older Clients.

The question is what do the spammers want? They want to place links on
the webpage. There are currently only two ways to do this.

1. via a publicly accessible profile on a project that is not screening
profiles and does not have reCaptcha enabled for profile creation. The
Client does not do that. If reCaptcha is enabled this is secured.

2. via a forum post wether through the post or through the signature, we
already have measures against this, we should find out why they are not
effective anymore

3. through the URL attribute of the user table, which currently deems to
be not used by the spammers because it is not visible without a profile
(???) I didn't look in detail where this url is used.

4. By creating teams. This is currently also happening and I wonder if
creating the useless accounts should lure us away from the accounts that
create spam teams?

I know this is an arms race but I also think that breaking old clients
would mean to nuke the battlefield instead of putting on more armor. We
are on the defensive here and can't really attack back.

Regards
Christian

_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to