I get quite a lot of spam. For one random day last month (Aug 21st), I got 48
low-scoring spam mails (between 5 and 10 points according to SpamAssassin), and
955 high-scorers (anything over 10). I don’t know how much malware I get,
since my virus filter blocks them outright, instead of delivering to a folder.
That’s all well and good, because spam and viruses are now relatively easy to
filter — and if I recall correctly, they were all correctly filed, no FPs or
FNs (well, I’m not sure about the malware, but fingers crossed ;).
The hard part is now ‘bogus bounces’ — the bounces from ‘good’ mail systems,
responding to the forged use of my addresses as the sender of malware/spam
mails. There were 306 of those, that day.
Bogus bounces are hard to filter as spam, because they’re not spam — they’re
‘bad’ traffic originating from ‘good’, but misguided, email systems. They’re
not malware, either. They’re a whole new category of abusive mail traffic.
I say ‘misguided’, because a well-designed mail system shouldn’t produce these.
By only performing bounce rejection with a 4xx or 5xx response as part of
the SMTP transaction, when the TCP/IP connection is open between the originator
and the receiving MX MTA, you avoid most of the danger of ‘spamming’ a forged
sender address. However, many mail systems were designed before spammers and
malware writers started forging on a massive scale, and therefore haven’t fixed
this yet.
I’ve been filtering these for a while using this SpamAssassin
ruleset; it works reasonably well at
filtering bounces in general, catching almost all of the bounces. (There is a
downside, though, which is that it catches more than just bogus bounces — it
also catches real bounces, those in response to mails I sent. At this
stage, though, I consider that to be functionality I’m willing to lose.)
The big remaining problem is challenge-response messages.
C-R is initially attractive. If you install it, your spam load will
dwindle to zero (or virtually zero) immediately — it’ll appear to be working
great. What you won’t see, however, is what’s happening behind the
scenes:
-
your legitimate correspondents are getting challenges, will become annoyed
(or confused), and may be unwilling or unable to get themselves
whitelisted;
-
spam that fakes other, innocent third party addresses as the sender,
will be causing C-R challenges to be sent to innocent, uninvolved parties.
The latter is the killer. In effect, you’re creating spam, as part of your
attempts to reduce your own spam load. C-R shifts the cost of spam-filtering
from the recipient and their systems, to pretty much everyone else, and
generates spam in the process. I’m not
alone in this
opinion.
That’s all just background — just establishing that we already know that C-R is abusive. But now, it’s time for the next step for me — I’ve had enough.
I initially didn’t mind the bogus-bounce C-R challenges too much, but the
levels have increased. Each day, I’m now getting a good 10 or so C-R
challenges in response to mails I didn’t send. Worse, these are the ones that
get past the SpamAssassin ruleset I’ve written to block them, since they
don’t include an easy-to-filter signature signifying that they’re C-R
messages, such as Earthlink’s ‘spamblocker-challenge’ SMTP sender address or
UOL‘s ‘AntiSpam UOL’ From address. There seems
to be hundreds of half-assed homegrown C-R filters out there!
So now, when I get challenge-response messages in response to spam which forges
one of my addresses as the ‘From’ address, and it doesn’t get blocked by the
ruleset, I’m going to jump through their hoops so the spam is delivered to the
C-R-protected recipient. Consider it a form of protest; creating spam,
in order to keep youself spam-free, is simply not acceptable, and I’ve
had enough.
And if you’re using one of these C-R filters — get a real spam filter. Sure
they cost a bit of CPU time — but they work, without pestering innocent
third parties in the process.