[hashcash] Re: PR Problem?
- From: "Eric S. Johansson" <esj@xxxxxxxxxx>
- To: hashcash@xxxxxxxxxxxxx
- Date: Tue, 14 Nov 2006 00:22:54 -0500
Todd A. Jacobs wrote:
Well, ideally this is where hybrid systems with DNS records and such
would come into play, but in a more realistic and practical system I
think one just defines a best-practice. That's why I tossed the idea of
basing the "standard policy" on the number of addresses in the mail out
there: because the MUA *does* know how many addresses are involved.
Granted, that doesn't mean the destined recipients will check, but if
they did they should probably be following the "recommended standards,"
whatever they end up being.
It would be interesting to see if one could define best practices and
then make it possible to some mechanism to let the sender match the
receiver's needs. If the standard practice becomes score fudging, I'll
probably just force the stamp to be large enough so that it overwhelms
whatever scoring mechanism underlies the system.
It will also be interesting to see if we can model at to see if there is
a golden window for spammers as well with the score fudging technique.
I've closed the window elsewhere.
You keep assuming "hybrid environment," whatever that means, but I don't
think that's currently a practical real-world scenario. Real-world, you
aren't slowing down the botnets, you're busting the performance of an
ISP or e-commerce server.
Some how I get the feeling we're talking at cross angles to each other.
I apologize for my part of any confusion.
A hybrid system (in my definition) is a system which uses external data
or predicate based on that data to reduce the spam generation load.
A naïve system's generates stamps at maximum rate (i.e. the same rate as
messages coming through).
so, it's exceptionally practical in the real world. It reduces load so
that an ISP or in e-commerce server can generate stamps when necessary.
But it only works in a system where the receiving filter has a
matching hybrid nature. That it can accommodate only a few stamps and
then by observing the behavior of the end user, figure out who no longer
need stamps and treat them appropriately.
The hybrid predicates that I can see having value are: "who do I know?"
and, "what does DNS say?"
Statistics claim that 80% of all email traffic is spam. Well, if you're
an ISP, you want to track botnets by spam volume (e.g. reading your
logs), not by seeing which server has just crashed because its CPU is
pegging out at 100%.
You mean you would put a stamp generator in place that doesn't do rate
limiting? If the system has maxed out and the queue length has grown
beyond 10 minutes worth of messages, I would just send the messages on
without stamps. No sense making enemies of your friends.
in a hybrid system, this is the T0 problem. and the only solution I see
is to dump stamp generation when the load gets too high. Eventually,
the required workload will settle down to something much more practical.
Slow-minting is a selling point to *recipients*, not senders. So, if you
want centralized minting, you have to come up with a better slogan than
"we'll crash your servers if your users are sending spam." :)
:-) indeed. What we should probably try to emphasize is the minting
differential between spammer and defender. Again, the hybrid broken
record says that you minimize stamp generation while keeping the spammer
load at the same level. This lets you specify a larger value stamp for
the same amount of resources used with a naïve system which increases
load on the spammer but not so much on the defender.
It looks like your description is of a received side chain. Hash cash
would be injected prior to the first postfix. If a stamp is valid and
Yes. That would allow a policy daemon to verify stamps outbound, too,
which *would* be a win from an ISP or enterprise point of view.
Yes. One could change the outbound filter chain to verify stamps
outbound. it would detect zombies trying to serial or parallel double
spend.
present, the first procmail should detect that and abort processing in
the rest of the chain if successful. Otherwise you process is normal.
See, that's sort of my point. I'm not sure that hashcash should assume
it is the final arbiter of what is or isn't spam. I realize that at
present all it does is mint or verify hashcash stamps; I just think it
should be hashcash's job to append or validate the RFC 822 headers in
filtering mode.
I disagree that's the job of hash cash. It's only task should be to
validate or create stamps/tokens. If you want another library to handle
that then, by all means, feel free to create one.
If you want to talk Unix philosophy (one tool, one job) that's a
different conversation--although most Unix tools are capable of being
used directly in a pipeline wile hashcash can't . But if the question is
"Why don't more people implement this as part of their toolchain," I
think that the inability to simply drop it in as a filter (in the sense
of filter-processing, not mailbox filtering) is part of the reason.
don't be hampered with a data handling model that is over 30 years old
and only works with one particular user model.
If you look at most UNIX commandline tools, they are no longer one tool
one job. And while one tool one job is a strength in the small, it
breaks down in the large. when you start trying to chain things in
e-mail, you really need to look at it from a very different perspective.
I think the postfix filter is one of the best filter interfaces
around. It's based on an enhanced SMTP environment and have reasonable
expectations of queuing, retrying etc.. it also lets you deal with data
bidirectionally if you're clever. Pipes don't do that and that's why
they are bad for e-mail.
if you look in the twopenny blue filter chain, I have a series of
objects all derived from the same basic filter archetype. Then on
customization, I create a list of objects that I can just call in a
sequence. As I've mentioned earlier, I would love to drag those objects
outside of the twopenny blue post filter and let them self assemble just
by their presence. Unfortunately, I don't know enough.
That's the level of configurability that should be in any filter. Not
because he can string it together with a bunch of UNIX pipes. But have
real control and data handling.
If you need the verification header into abort processing or otherwise
modify it later on, then that's your own filter responsibilities, not
that of anybody else. I think this falls in the category of filter
philosophy.
Yes and no. Most tools, including bogofilter, spamassassin, and even
procmail support the idea of acting as a pass-through filter and provide
error codes and header modification (although in procmail's case you
have to shell out to formail for the latter). I'm *not* saying that
hashcash should decide what to do with an email; I'm saying that it
*should* be able to mark an email as containing a valid or invalid
stamp.
if you wish to limit yourself to that model you can do that by putting a
wrapper around hash cash as it stands today. but that very model is
also part of the reason why filters are the way they are today. Over
the past few years starting with the first challenge response plus hash
cache system and moving onward through the pipe type oriented model you
describe, pipe-based filters have always come up short. Performance is
bad and I don't have all the information I need to do more advanced
filtering and signal analysis. it just didn't behave the way I wanted
it to behave.
E-mail is inherently loopy with lots of feedback possibilities. By
taking advantage of feedback loops, paying attention to and and using
information on both inbound and outbound sides of your MTA/MUA
environments, you will increase effectiveness, reduce user workload, and
make it possible to throw the maximum load back on the spammers.
Another thing to consider is if it was useful and easy to use pipe-based
filters, why hasn't anyone done it with hash cash, and why are most of
the content filters operating as a internal component of the MTA and not
as a delivery agent component?
---eric
- Follow-Ups:
- [hashcash] Re: PR Problem?
- From: Todd A. Jacobs
- References:
- [hashcash] PR Problem?
- From: DeLesley Hutchins
- [hashcash] Re: PR Problem?
- From: Todd A. Jacobs
- [hashcash] Re: PR Problem?
- From: Eric S. Johansson
- [hashcash] Re: PR Problem?
- From: Todd A. Jacobs
- [hashcash] Re: PR Problem?
- From: Eric S. Johansson
- [hashcash] Re: PR Problem?
- From: Todd A. Jacobs
- [hashcash] Re: PR Problem?
- From: Eric S. Johansson
- [hashcash] Re: PR Problem?
- From: Todd A. Jacobs
Other related posts:
- » [hashcash] PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
- » [hashcash] Re: PR Problem?
Well, ideally this is where hybrid systems with DNS records and such would come into play, but in a more realistic and practical system I think one just defines a best-practice. That's why I tossed the idea of basing the "standard policy" on the number of addresses in the mail out there: because the MUA *does* know how many addresses are involved. Granted, that doesn't mean the destined recipients will check, but if they did they should probably be following the "recommended standards," whatever they end up being.
You keep assuming "hybrid environment," whatever that means, but I don't think that's currently a practical real-world scenario. Real-world, you aren't slowing down the botnets, you're busting the performance of an ISP or e-commerce server.
Statistics claim that 80% of all email traffic is spam. Well, if you're an ISP, you want to track botnets by spam volume (e.g. reading your logs), not by seeing which server has just crashed because its CPU is pegging out at 100%.
Slow-minting is a selling point to *recipients*, not senders. So, if you want centralized minting, you have to come up with a better slogan than "we'll crash your servers if your users are sending spam." :)
It looks like your description is of a received side chain. Hash cash would be injected prior to the first postfix. If a stamp is valid and
Yes. That would allow a policy daemon to verify stamps outbound, too, which *would* be a win from an ISP or enterprise point of view.
present, the first procmail should detect that and abort processing in the rest of the chain if successful. Otherwise you process is normal.
See, that's sort of my point. I'm not sure that hashcash should assume it is the final arbiter of what is or isn't spam. I realize that at present all it does is mint or verify hashcash stamps; I just think it should be hashcash's job to append or validate the RFC 822 headers in filtering mode.
If you want to talk Unix philosophy (one tool, one job) that's a different conversation--although most Unix tools are capable of being used directly in a pipeline wile hashcash can't . But if the question is "Why don't more people implement this as part of their toolchain," I think that the inability to simply drop it in as a filter (in the sense of filter-processing, not mailbox filtering) is part of the reason.
If you need the verification header into abort processing or otherwise modify it later on, then that's your own filter responsibilities, not that of anybody else. I think this falls in the category of filter philosophy.
Yes and no. Most tools, including bogofilter, spamassassin, and even procmail support the idea of acting as a pass-through filter and provide error codes and header modification (although in procmail's case you have to shell out to formail for the latter). I'm *not* saying that hashcash should decide what to do with an email; I'm saying that it *should* be able to mark an email as containing a valid or invalid stamp.
- [hashcash] Re: PR Problem?
- From: Todd A. Jacobs
- [hashcash] PR Problem?
- From: DeLesley Hutchins
- [hashcash] Re: PR Problem?
- From: Todd A. Jacobs
- [hashcash] Re: PR Problem?
- From: Eric S. Johansson
- [hashcash] Re: PR Problem?
- From: Todd A. Jacobs
- [hashcash] Re: PR Problem?
- From: Eric S. Johansson
- [hashcash] Re: PR Problem?
- From: Todd A. Jacobs
- [hashcash] Re: PR Problem?
- From: Eric S. Johansson
- [hashcash] Re: PR Problem?
- From: Todd A. Jacobs