473,386 Members | 1,764 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

spam classification breaker

This article at the BBC reports on what appears to be a genetic
algorithm or random search method for finding words that apparently fool
bayesian classifiers every time.

http://news.bbc.co.uk/1/hi/technology/3458457.stm

The author apparently had to include html reporting into the emails to
allow his mail client to report back automatically.

Of course if he'd used python the whole process of email generation and
classification could have been done in a single process and would
probably allow easier generation of the magic words.

Why Berkshire, Marriot etc should be allowed through is pretty strange
:)
--
Robin Becker
Jul 18 '05 #1
4 2174
This article at the BBC reports on what appears to be a genetic
algorithm or random search method for finding words that apparently
fool bayesian classifiers every time.

http://news.bbc.co.uk/1/hi/technology/3458457.stm


I noticed immediately that the author of the article used the term "ham" to
refer to mail which was not spam. Even if SpamBayes dies an ignominious
death in the future at the hands of some ruthless spammers, that will be our
lasting legacy.

Mr. Graham-Cumming could have avoided the overhead of sending himself 10,000
mails by simply selecting words from his archived public presence on the
net: web pages, Usenet posts or archived mailing list posts associated with
his email address. I suspect his genetic algorithm would have been all but
unnecessary. (Google for "John Graham-Cumming" for example.)

This doesn't have to be a tedious process either. In the course of normal
scumbag email harvesting, all the crawler has to do is select a few
non-trivial words from the harvested page and associate them with the email
address(es) on that page. After seeing the same email address a few times
they would have a decent collection of hammy words for use in the "random
words" block of later spam.

Also, unlike the statement the author made:

And, he said, this would have to be repeated for every person a spammer
wanted to reach because they would all have a different list of key
words.

this wouldn't have to be done for all email addresses. Anything which
increases the likelihood that a spam is opened will be seen as an
improvement for the spammer. There's obviously no need for them to get a
100% open rate on spam. If that was the case, they'd already all be out of
business.

These research types. They always do things in the hardest way possible...

Skip

Jul 18 '05 #2
Skip Montanaro <sk**@pobox.com> wrote in message news:<ma***************************************@py thon.org>...
Mr. Graham-Cumming could have avoided the overhead of sending himself 10,000
mails by simply selecting words from his archived public presence on the
net: web pages, Usenet posts or archived mailing list posts associated with
his email address. I suspect his genetic algorithm would have been all but
unnecessary. (Google for "John Graham-Cumming" for example.)

This doesn't have to be a tedious process either. In the course of normal
scumbag email harvesting, all the crawler has to do is select a few
non-trivial words from the harvested page and associate them with the email
address(es) on that page. After seeing the same email address a few times
they would have a decent collection of hammy words for use in the "random
words" block of later spam.


Yes, and I've tested this and its possible to find hammy words this
way too, although it wasn't as effective as the technique I pointed
out, nevertheless it is practical and in my experiments I looked at
the uncommon words found in the locus of my email address and around
40% were pure ham!

Another way would be to spider the web page associated with the domain
in the email address. e.g. to attack my address spider www.jgc.org.

All of this indicates that it should be possible to attack Bayesian
filters with a variety of techniques that rely on the fact that they
are naive (i.e. they'll accept a hammy word no matter where it
appears).

John.
Jul 18 '05 #3
In article <ma***************************************@python. org>, Tim
Peters <ti*****@comcast.net> writes
...
.....
tomatically.

If I'm a spammer trying to get my pitches seen by you, and you're using a
personal Bayesian classifier, then I need to load my pitches with words that
are very hammy to you. If I don't have access to your personal training
data (if I do, I already own your machine ...), then I need to *deduce*
what's hammy to you. One way to do that is, as John Graham-Cumming noted
here, is for me to send you thousands of messages with different piles of
words, and note which ones did and didn't get caught by your filter. Then
I load my sales pitches with words from the ones that your filter didn't
reject, and avoid words from ones your filter did reject. In order to do
that, I have to know which messages you did and didn't look at. That's the
purpose of the HTML "web bug"/"web beacon"s in the thousands of test
messages. (If your email client renders HTML pages, including fetching
images off the net, a spammer can know when you've rendered their message,
by, e.g., embedding your email address as a parameter in a URL that fetches
a .jpg to display.)

..... are you asserting that spammers don't have access to the pdf that
users are filtering? Each filter may be unique, but they can be biassed.
--
Robin Becker
Jul 18 '05 #4
In article <ma***************************************@python. org>, Tim
Peters <ti*****@comcast.net> writes
[Robin Becker]
.... are you asserting that spammers don't have access to the pdf that
users are filtering?


Sorry, I couldn't make sense of that question.
Each filter may be unique, but they can be biassed. --

.....OK I guess I'm trying to get at the following hand waving argument.
Since most people agree about what is ham or spam there must be a
general recognizer for each. My question is then, is whether it's
possible to define a camouflage mechanism that turns ham into spam or
vice versa. Most people reading a newspaper article would classify it as
spam. If I insert a short ad v ert into the middle the quick
scan process is gone, but I might be able if everything is
set up correctly to get a forbidden word
set into the text in plain si g ht even
though it's specifically fo r bidden by your
all singing and dancing B a yesian analyser. It is well known
that word/space runs are very distracting which is why printers
have long tried to eliminate them.

I don't believe a small cost will kill all spam; every day I get large
amounts of paper adverts, flyers, business cards etc etc. These have
real cost, but presumably are sufficiently market oriented that they pay
for themselves. Putting a cost on email will just reduce the volume of
spam.
--
Robin Becker
Jul 18 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Perttu Pulkkinen | last post by:
PHP-community should develop a classification system for content management tools. This would exremely useful since it is very painstaking to load, install and try out different applications...
0
by: sitpost | last post by:
Only days before the election, a few key ‘battleground-states' esp. OHIO are barraged with political ads; which are increasingly "canceling each other out!" Talk about the "fog of politics!" A...
4
by: Kumar | last post by:
Hi all, can anybody help me.I have to do the classification for the dependence. As we have give a loop body. It may contain dependence or may not. If it contains dependence then we do diffeerent...
27
by: jacob navia | last post by:
As Richard Bos rightly pointed out, I had left in my classification of types the C99 types Complex and boolean. Here is a new classification. Those are not mentioned in the classification of...
6
by: Grant Robertson | last post by:
I am interested in including classification info in metadata. I am aware of the Dublin Core and XMP. However, neither of these appear to specify exactly how the classification data should be...
4
by: Basilisk96 | last post by:
This topic is difficult to describe in one subject sentence... Has anyone come across the application of the simple statement "if (object1's attributes meet some conditions) then (set object2's...
4
by: Evan Klitzke | last post by:
Hi all, What frameworks are there available for doing pattern classification? I'm generally interested in the problem of mapping some sort of input to one or more categories. For example, I want...
3
by: alex lee | last post by:
im using a backpropagation classification C code which is written by C. K Mohan on 1997. i was wondering how was the input file for the coding. i would to do a classification experimental by using...
16
by: Lars Uffmann | last post by:
Is it just me or was that about the worst flooding in months? I'm seriously thinking the severe punishment for spammers should be made a prerequisite for countries wanting to join the WTO.... ...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.