Re: draft of Simple Junk Mail Declaration Protocol
Philip Miller <[email protected]> Tue, 01 Jun 2004 21:31:14 -0400
| Newsgroups | gmane.ietf.asrg.filtering |
|---|---|
| Message-ID | <[email protected]> |
David Nicol wrote: > > Point-by-point response. I'll take the end of your message first, since it's really the most important point: > Like I've said before, I believe the reason we're here, working at > this project, is to accommodate the shared designation engine scenario, > and not anything else. I don't entirely agree with that. I think there is significant benefit to MUAs developing to recognize a single classification header as opposed to users having to program in regular expressions and more complicated systems. Basically, I want to start pushing the implementation complexity of spam filtering with cooperation between the MTA, MDA, and MUA from the user to the software developers. > The Filtered header, by itself, is only half of the SDE scenario. That's not true. The fact that there is no key for 'upstream reclassification' doesn't mean it's not supported or out of scope. My intention was for the Filtered header to be comprehensive, supporting all manner of systems, and trying to provide as much of a stable base as possible for developers to work with in order to make life easier for their users and customers. I'd like to adapt what you have written for upstream communication in your draft. Does "standard internet draft front matter goes here" include the 'derivative works allowed' clause? > It seems like implementing recognition of the Miller Filtered Header > would imply embedding a considerable programming language into > filing rule parsing engines. I don't think it would need to be nearly that complex. Simplest would be picking out the classification provided by the last MTA in the chain or the MDA and matching it to the user-designated folder. Obviously, it's also possible to create a Bayesian system based on meta-features (i.e. the classifications and their meta-data, rather than the actual content). > Philip Miller wrote: > >> David Nicol wrote: >> >>> I have written a description of a simple protocol. The front matter, >>> back matter, abstract are missing. It is available at >>> >>> http://zarquon.advenge.com/RFCwiki/view?doc=AI >>> >>> as well as appearing attached to this message. >> >> I have one issue with this system: >> The vast majority of users have not configured spam filters for >> themselves. If/when they upgrade MUAs to a version that supports this >> standard, there will not necessarily be a SJMDP-compliant filter >> working on their behalf, or even to their knowledge. Thus, spammers >> could add Is-Not-Junk headers to all outgoing messages, knowing that >> it will be treated as 'first class mail' by the MUAs of people who >> aren't filtering for themselves. >> On the other hand, these users are probably signed up with large ISPs >> that do filter aggressively, so it may not be such an issue. > > I take this to mean that the SJMDP document could contain a section > in the bit on recommended MUA design that says the junk/not-junk button > should fall back to an internal bayesian system until configured. That's an intriguing approach, but doesn't that defy the simplicity, even a little? How many users are going to go to the effort of enabling it, unless their ISP does it for them (human installer or software autoconfiguration tool)? I'll admit, the bulkier Filtered header design doesn't make this easier in the short term. However, I believe that in the long term, it will be more useful in the software users will have. > Also a possibility that POP3 and IMAP could be extended to have a > mechanism in them that says "This system is SJMDP-conformant" to keep the > configuration level low. This doesn't work in the case where the user has an address that goes through a tagging service that then forwards to the non-tagging ISP. The ISP mail box server will not indicate that, and the user would have to override such a mechanism. > Or we could recommend that MUA software that notices a consistent > mismatch between SJMDP-report and internal bayesian score merely use > SJMDP value as just another piece of information. Again, that assumes a non-apathetic user. Will users really take notice? On the other hand, assuming somewhat interested users, take a look at a not-so-theoretical possibility that MUAs implement CRM114-like matching as an advance over token-Bayesian sorting. Classification phrases that name a given host would acquire a very high weight due to correspondence to the users expressed classification. For example, if my MUA integrated such, it would very quickly weight "host=fda.zemos.net class=[not-]spam" Filtered headers because they would almost always match what I say, because I control all filtering on fda.zemos.net. > I had to turn the junk/not-junk button in Thunderbird on before it > worked. Adding a "respect SJMDP headers" button in the junk button > configuration is pretty much what I had in mind, and exactly > what degrees of full/partial/none would be made available are > outside the current reach of my crystal ball. It seems that full/partial/none are all that SJMDP enables in MUAs. You could do things like vector manipulation on classification, confidence, and host trust in Filtered headers. The trust could be automated based on how users react to messages with various classifications. I guess I'm going to have to implement the Filtered header in an experimental system and try it out. Seems the only way to get a truly valuable result from it. >> Also, many ISPs will not facilitate users 'opting out' of filtering at >> the ISP in favor of an upstream forwarding address. If a formerly >> non-using ISP installed a SJMDP system one day, there would be no >> indication to end users that the results are coming from a different >> source. > > I expect the ISP would announce the upgrade through their normal > channels through which they communicate with their customers. The > admins of Shared Designation Engines currently installed in offices > certainly have channels available to them. What if it's a cross-grade, say from SpamAssassin X- headers to SJMDP headers? There's no reason any sensible residential ISP would announce that, because it would be meaningless to many users and ignored by most, but it could have a big impact on how their mail is handled in the MUA. >> Finally, there's also the problem of (potential lack of) >> authentication. It's trivial to authenticate that the headers were >> written by the last compliant MTA the message went through. However, >> this isn't particularly helpful, because there doesn't seem to be >> anything indicating which MTA that was. > > We don't care. A conformant system clobbers preexisting declarations > and replaces with its own. I suppose I may have silently presumed that > SJMDP would be appropriate where the MTA and the final hop MDA are under > the same management. Does this need to be spelled out further? But if the MTA/MDA are not conformant and the MUA is, then the user has the problem that the MUA is acting on designations that they have no trust in. I assert that this will very frequently be the case, until deployment is widespread. >> Here's how it compares to a more general Filtered header: >> 1. Programming generation/insertion >> SJMDP - strip existing, insert fixed string (maybe generate part) >> Filtered - Insert generated/composed string in trace field position >> So the cost tradeoff is finding and stripping the existing headers >> versus building the new header. >> 2. Programmatically interpreting results >> SJMDP - search for Is-[Not-]Junk headers >> Filtered - read all such headers (or stop after certain distance from >> top), decide which ones to trust (whatever desired algorithm, from >> presence to crypto-signature), parse for desired information >> Tradeoff is more time processing for more information gotten >> 3. Range of possible results >> SJMDP - yes or no >> Filtered - # possible classifications * range of confidence values >> Do we want restricted, single use, or do we want open-ended, >> extensible use? >> 4. Information conveyed to end recipient >> SJMDP - does some system think this is or isn't junk? > > also, SJMDP includes facility for indicating back to that system > whether the final recipient agrees with the designation. As noted above, Filtered header does not exclude this. It was omitted because I hadn't gotten that far through the list archives yet, as I've been cramped on time. >> Filtered - At time T, software S (of version V) on host H determined >> this to match classification C with confidence X > > This information is currently available by extended headers, through > which vendors of external message analyzers communicate them currently. It's *sometimes* available, in varying levels of quantity, quality, and completeness. > What advantage does *having a standard* give? The disadvantage -- a > standard way to spoof -- is clear. All of it can be spoofed, except the where-when pair that authenticates it and lets the MUA attach a high trust value to it. > It seems to me that the information that at time T, software S (of > version V) on host H determined a message to match classification C with > confidence X is better hidden in an obscure and site-specific encoding > and the advantage of standardizing this is not clear. Creating MUA software that can present the output of any filter in a reasonable manner without frivolous and possibly repetitive configuration by the user is an unclear advantage? > Unless the scenario the Filtered header is supposed to support is > internal between trusted advisors and a junk decision system. It is intended to supersede every existing vendor-specific header for all purposes they're used for. That includes downstream communication, internal tuning at the recipient end, and upstream communication. > If e-mail system E uses a shared designation engine and gets > opinions from several different content analyzers before arriving > at a designation, an architecture other than SMTP and addition of > headers would work just as well, or even better. Unfortunately, unless you're running a system like MS Exchange that can communicate effectively outside the RFC 2822 content, adding headers does appear to be the best way. I'll note that the only current approaches are addition of headers or integration into the software the user interacts with directly. We can get the advantages of each of these with a standardized Filtered header for MUAs to handle. > Or is the point of the Filtered standard an encoding for C and X > that can be incorporated into message filing rules using sliding > scales in new MUA software and recognized as sliding scales > by cognizant future Beyesian systems? That's one good way to use it. >> What do users really want/need? > > Maybe we could issue two reccomendations for the two scenarios. I don't think these two scenarios have any conflicting demands. It should be quite possible to make a solution that serves both. >> 5. Authenticity of information >> SJMDP - if user has knowledge of the last compliant system in the MTS, >> guaranteed. Otherwise, basically no guarantee > > when receiving mail from a compliant system, it works, otherwise it > doesn't. <frown> My MUA doesn't suddenly randomly download incoming > e-mail from unknown POP servers. Does yours? </frown> The SJMDP > configuration would be a per-account setting on a multiple-account MUA. If the MUA is upgraded to SJMDP compliance before the server, what happens? Filtered suffers the same issue, except there's no implication that it would be trusted 100% by default, and it can be handled more usefully in the long run. >> Filtered - guaranteed insertion after fixed points in time/network. >> Can easily be extended to strong cryptographic protection >> I can see someone saying "I don't care who said this was spam, but I >> know someone did". However, that doesn't mean such an attitude should >> be written into a standard. > > SJMDP also has some focus on operability with current MUA software. > There is no option for comparing time stamps between two headers in > the message filing rules creation editing interface on any GUI MUA > I've ever used, although I am sure adding such a rule to procmail > would be relatively easy. That much is true. SJMDP can operate on the simple pattern matching/text inclusion that MUAs universally provide, where Filtered cannot. I think it's time to move beyond the simple text-matching in MUAs. External spam filters left it behind years ago. Simply stated, I think a modern MUA can and should implement a complete email environment. Users should not have to interact with their MUA, and filter control panel, their ISP's web-based configuration interface, and a million other things to control their email. Their MUA can and should handle all of this. > My question is, if we're not trying to facilitate shared designation > engines, what are we doing? And I think I answered that above, at > least I gave a guess. I guess a single user controlling a filtering engine is just a degenerate case of shared designation, but it seems silly to call it that. I think facilitating communication between filtering software, MUAs, and users in general is a more useful but still quite reachable goal. > There are several points to list in a MUA Implementation Considerations > section, I'll try to add that. OK, it is definitely something I haven't taken the time to start writing out yet. > Thanks for your comments. Very welcome, and I think having two contrasting proposals could be a very good thing. If you don't mind, I'd like to use text from your proposal in the Filtered header draft. Philip Miller