Re: Comments on IM2000
James Craig Burley <[email protected]> 20 Apr 2005 18:01:19 -0000
| Newsgroups | gmane.mail.im2000 |
|---|---|
| Message-ID | <[email protected]> |
(Sorry for the long delay...been very busy!) >On Fri, Apr 15, 2005 at 10:49:39PM -0000, James Craig Burley wrote: >> Well, of course. As I said, I don't have any data on how much of the >> UBE I *don't* get is blocked by this mechanism. > >You might have some indication in your mail logs, if you have a good MTA. As I said, I haven't patched it accordingly. Silly me. I have a new server on order, and have long put off doing software upgrades as the current one is a Pentium II running RedHat 7.3, etc. >I would propose outlawing [IP addresses in mail-store pointers] too, >for reasons described in my document (section 3). Essentially if you >see an incoming mail notification saying to retrieve mail for >'[email protected]' at message store 1.2.3.4, then this is too >prone to phishing. I'd prefer the *protocol* not disallow it, rather, that the protocol allow a message-notification recipient to reject or ignore a notification due to implementing a policy of not allowing IP addresses in notifications. Overall, I believe any *new* email system must be useful in intranet setups as well as on the Internet itself, and therefore should be as immune as feasible from, e.g., DNS outages, since email is itself used to help admins diagnose such things. (It has sometimes been useful for me to send emails from postmaster@[192.168.0.1] to craig@[192.168.0.72] or similar.) Accordingly, I believe it's unwise to require any running DNS (or /etc/hosts-style domain->IP-addr mapping) for IM2000 to operate at a basic level. (I realize this puts IM2000 at a disadvantage from the very start, since a third party of some sort -- a message store -- is required for it to work.) Since anti-phishing measures necessarily must combat things IM2000 can't inherently combat, they will be implemented in the end-user's MUA (if not the end-user's brain ;-) and, accordingly, can easily include checking for suspiciously-used IP addresses. I say, put complexity where it belongs, and nowhere else. >It's a weakness of SPF that even if it were widely deployed, at very best it >would just validate domain names - and you can sign up for as many of those >as you wish. Exactly. >So the designers propose some bizarre distributed reputation >system which means that new domains have to "earn" credit somehow. It seems >pointless to me when you might as well just look at the IP address being >used, which (unlike domain names) is a finite resource and can't be created >at will. Bingo. I'm heartened to see I'm not the only one who sees things that way! >> Put another way: if you *aren't* using such a data base to block email >> sent by known spammers, in an IM2000 world, you *will* be using it to >> do exactly that. > >I think you'll be using a blacklist which looks up [IP address,msg store >account]. Or, if IM2000 is modified so that the sender message store account >*is* the sender's E-mail address, then you could look up the E-mail address >(for accounts belonging to spammers), and separately the IP address (for >message stores belonging to spammers). This is item 2a on your web page, correct? I think this presents a *huge* problem for blacklists, because spammers can easily dDOS them by sending out bazillions of notifications containing arbitrary sender-account IDs "tupled" with otherwise-legit mail stores. In my view, *any* system that depends heavily on looking up data in a shared DB (such as DNS or a blacklist), where the "keys" for the data are provided by an untrusted party (such as a potential spammer), is highly prone to abuse. There are all sorts of ways to *mitigate* the potential of abuse, of course. But all such ways seem, to me, to be more directly and usefully applicable to a "vanilla" SMTP or IM2000 setup. For example, my patched qmail-smtpd server, though it doesn't log badmailfrom hits, does happen to log any HELO/EHLO commands that specify a host different from the reverse-DNS lookup (and since I don't enable rDNS lookups, that means all connections incoming from the Internet that say HELO or EHLO!). Interestingly, I see runs like this fairly often: 2005-04-20 11:15:13.607144500 qmail-smtpd: 30603 @unknown[222.47.69.69] HELO slidemail.com 2005-04-20 11:15:13.689209500 qmail-smtpd: 30601 @unknown[222.47.69.69] HELO goatlantaga.com 2005-04-20 11:15:14.819248500 qmail-smtpd: 30605 @unknown[222.47.69.69] HELO aberystwyth.com 2005-04-20 11:15:16.853260500 qmail-smtpd: 30599 @unknown[222.47.69.69] HELO mystarship.com Sometimes I'll get 20 or so incoming, nearly-simultaneous, connections from a given IP address, each claiming to be acting on behalf of a different, perhaps entirely legitimate, domain name. They're all sending spam, of course (as verified by my logs, among other things). Why would a spammer do this? Well, I can only speculate, but I assume there are plenty of SMTP servers out there that treat HELO as providing a FQDN and do lookups to be sure there's some legitimacy to the domain name. Assuming those lookups are done on external shared DBs, that means those SMTP servers are giving spammers an easy way to launch a coordinated distributed DOS attack on those DBs via those servers. Once those servers fail to respond to their clients within a certain timeframe, the clients must, since they are acting on behalf of connections involving timeouts, make decisions regarding how to proceed. So, such an attack can potentially convince some servers to falsely classify incoming connections -- accept spam or reject legit email, depending on how they react to external DBs being unreachable at crucial moments. My SMTP server does nothing but log those, and does only *internal* lookups on domain names in envelope senders. (I use no RBLs, amazingly enough, out of a sorta-principled desire to experiment with anti-UBE measures that don't let untrusted SMTP clients use my server as a proxy to beat up external shared DBs. Pretty much the only useful "key" that a spammer can't forge is the incoming IP address of the SMTP client -- but I don't do any external lookups on that either, at the moment.) Now, scale that up. Imagine an IM2000 world, where message notifications are *much* less expensive for spammers to send, where they can point to legit message stores with impunity, and where they can make up sender addresses regardless of their legitimacy, as long as they aren't expecting to actually *deliver* spam that way. What prevents spammers from gumming up the works? Even aside from the fact that spammers will acquire and distribute data bases of "legit" [mailstore, senderID] tuples -- just as they widely distribute my legit [email protected] address as a "useful" envelope sender for their spam, thus drowning me in joe jobs and/or getting me blocked by (theoretically clueless but practically effective) admins -- they can make up any number of tuples that would need to be blacklisted or otherwise identified as illegitimate. As they succeed in gumming up the works -- by discombobulating shared (community) DBs that blacklist all the arbitrary [mailstore, senderID] tuples spammers can come up with -- those "works" will either be disabled so people can receive email (opening the floodgates to UBE) or will keep mail from being successfully and quickly delivered. It's also not clear exactly how IM2000 will prevent spamming by sending notifications such as: [im2000.comcast.net, [email protected]] Seems to me such spam might be fairly successful in an IM2000 world, unless sender addresses are normally hidden from users, which is not what you appear to be advocating. With SMTP, it's easy for a spammer to have his SMTP client do: MAIL FROM:<[email protected]> RCPT TO:<[email protected]> DATA [...] . But, in addition to having to go through a DATA phase and hope the message is accepted, at least with SMTP there's no assurance, to the spammer, that example.com will be beaten up as an innocent third party by recipients trying to pull down message contents, inquire about senderID legitimacy, etc. >> The biggest problem with this line of thought, as illustrated by my >> expanding on your mention of web sites, is that spammers for >> *products* available online (versus, say, Nigerian spam) are highly >> incentivized to provide easily reachable contact points in their >> spams. > >OK. But: >(1) hardly any law-enforcement agencies seem to be interested in chasing >them up at the moment, even given easy contact addresses; >(2) it's obvious, but seems to have escaped the SPF brigade, that the >envelope sender (MAIL FROM) plays *no* role at all in E-mail delivery, >*except* when a delivery failure occurs and therefore a bounce needs to be >returned to sender. That'll be true in an IM2000 world, I assume. After all, the more "obvious" a role that a senderID, especially a [mailstore, senderID] tuple plays in email delivery -- in terms of user visibility -- the greater the necessity for that information to be useful by being easily memorized and, thus, prone to forgery and abuse. So, say spammers learn that my (legit) mailstore tuple is [im2000.comcast.net, [email protected]]. Now, they can't *send* IM2000 spam via that tuple, because they (presumably) can't convince the im2000.comcast.net mailstore to serve their spam under my senderID. But that doesn't prevent them from sending out a bazillion spurious notifications to everyone, claiming that a bunch of emails are at that tuple, thus wasting everyone's time as they try to read those emails. (That'll swamp im2000.comcast.net, but only with requests coming from *real* people -- not necessarily as a result of notifications being sent to nonexistent addresses, spamtraps, etc.) Some people will respond by "blacklisting" my tuple in their personal lists. Fine, that means they won't read any *legit* email I send them either -- false-positive potential, just as with SMTP today. At least these people won't beat up im2000.comcast.net so much once they blacklist my tuple. Or, they will respond by telling the notification *reception* agent that acts on their behalf to first try verifying that such a message exists, which requires contacting im2000.comcast.net. More likely, such an agent will automatically do this for *any* incoming untrusted email, regardless of how their users have configured their MUAs, and maybe even for notifications sent to nonexistent users. In any case, that'll swamp im2000.comcast.net such that it can't serve *any* email, and there'll be nothing Comcast, nor recipients, can do about it. So, the "win" for IM2000 here is that spam can't be forged as coming from someone else and still be delivered as spam. The "loss" is that IM2000 pretty much requires the same sort of "doublecheck" that people used to do with SMTP, when a server would try to contact the envelope sender for untrusted email and see if *his* SMTP server would VRFY that the address existed or accept a bounce sent to that address (going as far as MAIL FROM:<> and RCPT TO:<address> and checking the response, before discontinuing the conversation). Though IM2000 gives us the opportunity to improve the performance of that sort of doublecheck, it does so only on a scalar basis (let's say it makes it 10x more efficient), whereas spammers will have plenty of incentive to ramp up attacks on certain popular, trusted mailstores at a much higher rate than the performance is improved by IM2000. Just as admins of SMTP servers "beaten" on by such doublechecks got pretty angry at the admins who had their servers engage in such "beatings", IM2000 mailstore admins will find themselves frustrated at the increasing load of "doublecheck", or "prefetch" or "verification" requests, on behalf of huge numbers of message notifications made by spammers. It's a vector of attack on both SMTP and IM2000, but at least with SMTP it was fairly easy to disable the doublechecks and still receive email. With IM2000, the need for doublechecks is pretty much impossible to turn off. One can't even receive message *contents* without doing these sorts of "reverse" lookups, or "callbacks". This returns us to filtering *notifications* based on IP address of the *notifying* parties, to avoid flood-style attacks by spammers and zombies. IMO, as long as we're going to have to do that anyway, SMTP remains an adequate protocol, as it requires no callback to any message store at all, even for legit messages. >But even then, I can send my mail From: [email protected], but ask the >person to reply to [email protected] (typically in the body of the mail). Yes, that probably will always be with us, until humanity is replaced, nearly wholesale, with robots that can't be fooled by such tactics. (But that'll probably eliminate the entire pr0n industry, at which point further development of technology will presumably cease, leaving the our new robot overloads with nothing to look forward to in their miserable lives. ;-) >But I think this is probably off the track somewhat. I'm not sure about that. It's important for us to look at the "big picture" of UBE, remembering that spam and vermin target two entirely different audiences, and avoid falling into the trap of expending vast resources to combat what might turn out to be only a narrow, if "obvious", means by which UBE meets its objectives, only to see spammers expend comparatively small resources to work around the problem. (In general, one wants to choose tactics and strategies that encourage or compel the enemy to expend greater resources than one needs to implement those tactics or strategies.) Amusingly, I've recently started receiving spam that advertises its products via ASCII art, including the phrase "BEST PRICES"! ;-) >> (Imagine if >> AOL occasionally sent adverts for its services to all known non-AOL >> users on the Internet, from [email protected]. Nothing >> *technical* can stop this, if the message is designed to get past >> the content filters of the day, because nobody can really block all >> email from aol.com and still be said to be "using" email. > >They could, however, block all mail from [email protected] (again, this is >much easier under IM2000 than SMTP, unless you are able to assert that all >mail coming from aol.com's servers has a genuine MAIL FROM address. If the >spammer were to send using a series of different <account>@aol.com >addresses, then you wouldn't be able to do that). That was my point; I used salesguy237 as a "userID of the day" kind of userID. Just as AOL can gin up arbitrary userIDs that, necessarily, start out as "legit", spammers can do the same for any legit mailstores they know about, and of course they can make even "better" use of any illegitimate mailstores they create, for as long as those stores are viewed, by enough of the population, as legit. >> It does raise the issue of, how serious is the spam problem *now*, >> *really*, such that we contemplate moving to a whole new system that >> will still apparently require many of the same "augmentations" (RBLs, >> whitelists, blacklists, etc.) that we are already using with SMTP in >> order for IM2000 to actually stop spam? > >I think the problem is serious, because every remote site I talk to >implements spam filtering differently. You may implement a reasonable set, >but many sites implement stupid sets. Sometimes my mail is bounced; >sometimes it is blackholed. The spam problem is causing a crisis of >confidence in E-mail; it is simply becoming less and less reliable as a >medium of communication. That may be true. I'm not sure why I'm not seeing that on my own personal end of things, but I'm not a typical "remote site". I tend to think the biggest problem with SMTP is really the fact that it (normally) prevents a server from accepting a message without also accepting *responsibility* for that message -- which translates into the need for generating a bounce. I believe we can reduce or even eliminate the need for bounces, over time, by introducing IM2000-like concepts into SMTP, but *without* introducing (except as a per-message-negotiation option, I suppose) the "pull" and "separate mailstore" concepts. >> That is, we can theoretically eliminate X% of spam if we know exactly >> *who* spams and *reliably* identify any incoming email (via SMTP or >> IM2000) as coming from a known spammer. >> >> Now, the pertinent question becomes, does requiring a sender to >> provide a message store make *that* much difference, in terms of our >> ability to reach the theoretical maximum for X, compared to what SMTP >> is evolving to, in terms of putting practical requirements on senders >> to inject a message from a source that is not immediately identifiable >> as a known source of spam? > >I think it does. The industry as a whole would need a better answer than that before it spends $$$ to deploy IM2000 as an SMTP replacement. >Right now if I receive a mail via SMTP then only thing I *know* for sure >about the mail is the source IP address of the SMTP sender. And of course, >the RCPT TO address must be valid, otherwise I wouldn't get it. > >But *everything* else in the conversation is not trustworthy; that is, the >spammer can choose to put whatever they like; and if I implement a filtering >policy which is widely used, they can put whatever is necessary to bypass my >filter. This includes the envelope sender, all the message headers and body. > >But if I can only reliably blacklist on IP address, I am limited when it >comes to shared mail relays at ISPs. If 1 million users are all relaying >through one ISP's mail relay (a common case), plus 10 spammers, I either >have to blacklist the entire mail relay and suffer collateral damage, or I >have to accept the spam. Right, I understand all that. But that is simply a Very Hard Problem anyway; as I pointed out earlier, even the "hotpop"-like ads in the headers of otherwise-legit email could be defined as "spam". And, as I point out above, if you resort to blacklisting [mailstore, senderID] tuples of "known spammers" at otherwise-legit mailstores, you either: - Overload the blacklist(s) you're using with all the spurious senderID's that spammers can make up, or - Overload the mailstore(s) with requests to validate whether any given senderID a spammer might invent actually has a legit account there (equivalent to SMTP VRFY or RCPT TO) This problem could be mitigated by insisting that outgoing message notifications go *through* (and thus be vetted by) mail stores, so only "legit" email addresses are exported. But that can be done for SMTP anyway, and in fact is done, sorta kinda, in various ways. E.g. some ISPs deny ordinary users outgoing TCP connections over port 25; filter incoming connections to their internal SMTP servers to ensure MAIL FROM:<whatever> identifies an addy the customer (identified by incoming internal IP address) actually owns; provide AUTH access for external use by legit customers; etc. In essence, an IM2000 mail store is a third party required for all email transactions. Either the sending party is somehow required to first obtain permission from the third party prior to notifying a recipient of message availability, or the sending party can cause a receiving party to flood the third party with spurious requests. In the former scenario -- sending party obtains permission from third party, which is more than just whatever handshaking is needed to actually store a message on that message store -- either the recipient needs to be able to confirm that such permission was granted without necessarily having to make a request from the third party (which is technically possible, by the third party mailstore signing something that the receiving party can check against a distributed DB like DNS), or the recipient might as well be designed (by IM2000) to accept notifications from *only* that third party anyway. In that latter case -- accept notifications from only the third party, not from the sending party -- we're mostly back to an SMTP relaying world anyway. Certainly the sending party can just use SMTP to inject the message into the third party. From there, it doesn't make all that much difference, that I can see, whether the third party and the recipient use SMTP or IM2000 to handle the message. >Note: it should be clear that SPF doesn't help at all here. Agreed. SPF is, to me, like DomainKeys, of interest only after a message has already been "vetted" by a human, or nearly-human, user such that the "next step" is to try to figure out whether it was forged. Stopping incoming forged communications "at the door" is an extremely expensive proposition, and gives the "enemy" an easy weapon to use against you -- it's an overreaction to worry about whether each and every communication might be "forged", in reality as well as on the Internet. E.g. I don't really care whether you actually are Brian Candler, because I'm not investing anything in the proposition that you are who you say you are. So resources I might otherwise expend to validate your identity are spent on things I think are more worthwhile, such as considering your viewpoints, responding to them, etc. You could be a very intelligent German Shepherd, for all I know (but, on the Internet, nobody knows etc. ;-). >IM2000 also wins because it's easy to build message stores which rate-limit >the number of messages sent per day from a particular account; it could be >enforced as good practice (i.e. if you offer free signups for new accounts >over the web, then you get your message store blacklisted if you don't >follow this principle) I'm not sure why that's hard for SMTP -- aren't some ISPs doing that already? >These things *could* be implemented using SMTP: > >- All ISPs could disable outbound relaying by IP address. All customers >would be required to use SMTP AUTH to use the mail relay. This would require >all customers to change their MUA configuration, and a flag day at each ISP >where relaying by source IP address alone is disabled. I don't see how this is different in an IM2000 world. Only when one customer "forges" a message as coming from another customer is authentication presumably required as a countermeasure, and that problem exists for both SMTP and IM2000, assuming IM2000 works by users putting messages in a central message store managed by their ISP. >- All ISPs could carry forward the AUTHenticated user information in their >SMTP sessions (RFC 2554): > MAIL FROM:<[email protected]> AUTH=wibble123 > >- When you receive an incoming SMTP session, you can send the IP address and >AUTH ID to a trusted third party (i.e. blacklist) to verify > >- If the IP address belongs to or is controlled by a spammer, then the >message is marked as spam > >- If the IP address is a genuine mail relay at an ISP (which the TTP has to >validate for themselves), and it provides AUTH information about the account >which injected it, then only mail from certain AUTH accounts will be >rejected. > >However, this ain't going to happen. The pain is huge, and the short-term >gain is negligible. How will the equivalent *not* have to happen with IM2000? Seems to me it'll have all the same problems, unless IM2000 means we'll move to a sorta-centralized, few-but-highly-trusted-mailstore world, which is not really different from everyone using a few highly-trusted SMTP relays. >However, an alternative mail architecture (e.g. IM2000, or something else), >has a value proposition to offer: > >"Reconfigure your own MUA to use the IM2000 service, and immediately all >mail you send to other IM2000 users will be delivered more reliably and in a >way that the sender cannot be forged". > >That means, a business can get all its employees to move to the new >architecture, or a group of friends can all change to the new architecture, >and all get an immediate gain. Then lawyers and banks may start to use it. Okay, then this is not a case of *technical* advocacy, more a case of saying "it's a whole new system, we think it'll be fairly spam-free compared to SMTP" -- and in fact it probably will for some time -- and hoping to convince enough early adopters to jump on board, quickly enough, that everybody else, except spammers, switches soon after. I don't think that's anywhere near convincing enough. I've had a similar sort of mindset all my life, in that I used to discount the "installed base" issue and other forms of institutional inertia. Experience has *almost*, but not quite, beaten that out of me. Hence, despite my serious distaste for SMTP, my greater distaste for UBE impels me to ultimately frame all my "grand ideas" in terms of "how can this idea be implemented in SMTP in a gradual fashion?", even though I do also think them through in terms of "what if we were starting from scratch?". (You'd probably be amazed at the language and OS designs that are floating around in my head these days. In many ways, completely unlike what we have today. But hardly farfetched -- mind-numbingly simple, in fact. ;-) >> And, especially with naive end users, the best thing you can do for >> them, to convince them that "offers" are really scams and/or spams, is >> to present those emails on their screens not intermingled with >> otherwise-legitimate ones, but grouped together in a way that tells >> them "this appears to be junk, and I [the content-analysis bot] have >> put all the 419-ish stuff in one chunk, all the >> enlarge-your-weiner-ish stuff in another, and all the notifications >> that you've just won a lottery in yet another". > >That's essentially what SpamAssassin does. The problem is that the spammers >have equal access to the SpamAssassin source code, and so customise their >mails to bypass the rules. > >It is done more effectively by third-parties which maintain their own >private rulesets. There are companies which offer this service: point your >MX servers at us, we'll filter your mail for spam and viruses, and send it >on to your mail server after cleaning. They work extremely well, but they >are expensive. This is an example of the *direct* economic cost of spamming. >If you want effective filtering, you either have to maintain your own >private rulesets (cost in time and expertise), or you have to use a third >party and pay them in cash. In the long run, we'll need personal information agents acting in ways like this on our behalf anyway. It's inevitable, as technology increasingly floods us with *legit* info, never mind the illegit stuff. In any case, IM2000 does not, in any way, shape, or form I can see, dispense with the need for content analysis. As an "illegit" mailstore first comes online, or a [legit-mailstore, evil-spammer-using-it] tuple springs into existence, *somebody* will have to take the first steps towards discovering that email springing from that source should have the Evil bit set. And that requires retrieving the message contents and then analyzing them somehow. Further, in order to avoid everyone else having to do the same exact thing, it requires notifying other white hats about the problematic mailstore or tuple, so that they may be blacklisted. IM2000 ultimately puts us in the position of hoping not just that this will be required *less* often, as a % of overall email sent, but that the economics will ultimate in spammers giving up and going away. I'm not seeing a clear case being made for that scenario coming to pass, certainly not clearly enough such that it justifies the deployment of IM2000 as it now stands. >> >They *will* happen, and soon (i.e. within months at most), as surely as the >> >widespread implementation of MAIL FROM domain checks made spammers change to >> >sending out mail with real (but forged) E-mail addresses as the envelope >> >sender. The cost is minimal. >> >> Right, it's an arms race, we all know that already. None of what you >> have said on that topic is news to me; I doubt it's news to anyone >> else here. > >All I'm saying is, multiplied across the Internet, it's (a) a huge waste of >time and effort, and (b) is contributing to the decreasing reliability of >E-mail, which I consider to be a very serious problem. > >People think they are doing good, when they are doing harm. But IM2000 *requires* it, in essence: envelope senders specify domain names that *must* be looked up, and thus must have obtainable, verifiable DNS information, must not be in various blacklists, etc. So IM2000 gives spammers a *guaranteed* weapon to use against DNS and blacklists that SMTP doesn't assure them, because not all SMTP servers do doublechecks (various forms of reverse lookups on sender-supplied data, which can be arbitrary) against external DBs. Mine doesn't, for example. >Validating the EHLO domain name is another case in point. It's futile. Pretty much. Though, I really should get my server to double-check EHLO domain names against my badmailfrom file and log matches, as they'd indicate cases where the SMTP client actually *announces* that it is acting on behalf of a known spammer (that is, the owner of the domain name -- not just a domain name abused by spammers)! I mean, as long as I've got the data base and use it for envelope senders, might as well use it for EHLO, eh? Wonder if it'd catch anything.... >Admittedly the RFCs are badly worded in this area, but the whole point of >EHLO is to give a sender-supplied cookie which can be included in the >recipients log files for tracing. It need only have local significance. > >If I get a message saying "EHLO winsrv01" that gives me useful information, >should I have to contact the site which is sending me the mail to try and >iron out a problem. If you enforce that the EHLO name *must* be a DNS name >which matches the IP address of the connection, then it has lost all >usefulness; you can simply lookup the IP address yourself in the DNS. > >This sort of stupidity really bugs me, sorry :-) IMO HELO/EHLO are kinda stupid anyway, and another win for IM2000 is that they go away. ;-) I think IDENT is in the same boat. It's simpler and more direct -- installed-base and badly-designed-OS issues aside -- for the upstream system to do its own validation and logging of outgoing TCP connections its users/clients initiate (ultimately) via its outgoing network interface. >> >> No, as is widely recognized. It's a temporary tactic, one which >> >> raises the bar in terms of increasing the expense of sending UBE (and >> >> the visibility that one is doing so), which is kinda the whole point >> >> of IM2000, right? >> > >> >No. >> >> Then what *is* the point of IM2000, when the various web pages >> promoting it proclaim that it puts more of an economic burden on >> *senders* than does SMTP? > >I think they are making a wrong assertion. However there may be *other* >advantages that a new mail architecture can have, which make an environment >_permanently_ harder for spammers to work in. It might also make an environment in which it is easier for spammers to destroy the ability for the rest of us to work in, as I've suggested above. >Perhaps [adoption] could also be achieved by starting a new, parallel SMTP >network, using port 26 say. The new network would *require* certain >operational practices to be in place (like using SMTP AUTH to submit mail). >At least you wouldn't have to rewrite any software, although you'd need some >sort of MX record replacement to identify people who can use port 26 to >receive mail. > >But it's still not going to be as strong. For example, counting the number >of mails sent by a particular user is still quite hard. Consider an SMTP >relay cluster of 10 machines; they would need to communicate with a central >database to count the number of mails sent by one user over 24 hours. How is that different from an IM2000 mailstore cluster of 10 machines? >And you'll still need a new blacklist infrastructure for looking up >[IP,auth-sender] instead of just IP address. Sounds like item 2a on your web page! Again, how is it different? I think IM2000 is great as a proposal. I don't think it wins as a design. What it suggests is that SMTP could evolve to incorporate IM2000 concepts in ways that *allow*, but don't *require*, clients and servers to cooperatively use them. A huge win of IM2000 is the (presumed) ability for a sender to (repeatedly) notify a recipient of the availability of a message without having to send that message with any particular notification. This saves bandwidth in almost all cases of exchanges of legit email messages, and of many involving UBE as well. That doesn't necessarily *require* the recipient to be able to "pull" the message from the sender (sender's message store). Instead, the recipient could notify the sender that it was finally ready for the message to be *pushed*, a la SMTP's DATA phase. Similarly, an IM2000 sender is able to "remind" a recipient that a message is still available, without having to send the message. In SMTP, one can't do that, because all the recipient sees, before the DATA phase, is the envelope sender/receiver pair. There's no transmission or message ID they can use to uniquely identify a particular [envelope sender, envelope recipient, message] combination, other than the message content. That facility *could* be added to SMTP in an incremental fashion -- not requiring any particular ordering of upgrades, across the board or vertically. And, in SMTP, a recipient can't (normally) accept the contents of the message without also accepting responsibility for the contents, whereas IM2000 allows retrieving a message without "unpinning" it. This is useful for subsequent anti-UBE analysis, for prioritization, for a user to read and then decide how to dispose of the message, etc. And IM2000's key advantage here is that, while such analysis goes on, the *sender* (well, his mailstore) remains responsible for it and for storing it, increasing the costs of senders of UBE. But, in fact, an SMTP server can do this by convincing the SMTP client to consider the delivery attempt to have failed due to temporary error. One way is for it to issue a 4xy response code after the end of the DATA phase. That arguably tells the client the message will *not* be "delivered", but it doesn't actually mean the server can't do whatever it wants with the contents of the message. Another way is for the server to simply never issue a response to the DATA phase, leaving the wave function uncollapsed, so to speak. The client can't assume the message was delivered, nor can it assume it wasn't. It'll timeout the connection, unless the server simply closes it first. Either way, the server is free to do whatever it likes with the content, even though it has not accepted responsibility for it. So, it can, as a result of downstream analysis/disposal, respond similarly or differently to future delivery attempts -- or treat the lack of a second, third, or subsequent delivery attempt as, itself, signaling something "interesting" about the email. This obviates the need for a server sending bounces to innocent third parties in cases where the server simply doesn't ever accept responsibility for an email until it is absolutely sure that it will either deliver the message to a grateful recipient or drop it entirely. 4xy and 5xy response codes leave responsibility for the message with the injecting client, as does simply never responding to the end of the DATA phase. (This is not unlike IM2000's advantages that you identify as 2c and 2d, perhaps among others, on your web page. E.g. by the time the subsequent delivery attempts might have resulted in the server accepting responsibility for the email, the server has potentially learned that the source, or an upstream source, is a known spammer.) A big problem with "abusing" SMTP this way is that downstream entities (relays, IMAP/POP3 boxen, MUAs, end users) don't understand the concept of a message being available but not the responsibility for it, so they don't know how or why they should notify upstream entities that they do or don't wish to accept responsibility. IM2000 poses the same challenge to downstream entities, of course, so we're going to have to upgrade those entities anyway if we intend to deploy IM2000. Another technical advantage of IM2000 is that a recipient can notify a sender immediately upon the recipient accepting responsibility for the message. This is a nice feature that allows rapid reuse of storage among cooperative agents, as well as rapid notification of sender that the message has indeed been received. SMTP doesn't allow this at all -- the server must wait for the client to decide to connect again, and, even if it does, there's no elegant, consistent means for a recipient to notify the sender that the message has been accepted, read, whatever. Generally, SMTP doesn't offer any benefits that require out-of-band recipient->sender communications, though pertinent upgrades are of course possible with SMTP (at substantial expense). SMTP does have DSNs; these don't reliably notify *senders*, given the forgery (or joe job) problem, and they're not elegant, but they're vaguely like what IM2000 would provide out of the box On the other hand, IM2000 is less reliable to the extent it *requires* such communications, because the communications path a recipient must use to contact the sender might not be available at the time the communication is required. The most glaring example of this is exposed by the "vanilla" IM2000 message-pull model, in which the end user decides to read an IM2000 message and the system can't pull it up because it is sitting on an unreachable message store -- one that might have been reachable when the notification was first sent. To the extent SMTP is extended to *allow* this sort of communication, it exposes itself to similar sorts of failures. But at least SMTP users will have more flexibility in deciding just how reliably they want certain message contents to be made available to them. Whitelisted senders can be allowed to push messages via the classic SMTP method, including the server accepting responsibility for them, thus eliminating at least one, almost certainly two, potential points of failure for each such delivery. IM2000 users won't have the choice of making sure senders "push" messages to recipients to ensure that subsequent reverse lookups aren't needed and thus can't fail -- *unless* IM2000 is redesigned to be a cleaner, more flexible SMTP. And I am entirely in favor of a cleaner, more flexible SMTP, even if it's called IM2000, and even if "uptake" remains a problem. But I prefer to *conceptualize* in terms of a brand-new, clean system, and then *actualize* in terms of incrementally improving SMTP in that direction, in order to speed uptake of whatever I might think is useful. -- James Craig Burley Software Craftsperson <http://www.jcb-sc.com>