text:
2000-10-16 Assigned to PROPEL SOFTWARE CORPORATION reassignment PROPEL SOFTWARE CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KIRSCH, STEVEN T.
The system filters-out undesirable email messages sent to a user email address. The system includes a data store providing updateable storage of signature records that correspond to a subset of undesirable email messages that may be sent to the predetermined email address. An email filter processor is coupled to the store of signature records and operates against the email messages received at the predetermined email address to identify and filter-out email messages corresponding to any of the signature records. An update system is provided to automatically receive a set of signature records, which are then used to update the plurality of signature records stored by the data store. The system can be implemented to include at least a portion of the email processor system within a client site email transport system, which receives the email messages addressed to the set of email addresses assigned or associated with the client site, including the predetermined email address.
The present invention is generally related to automated systems for blocking receipt of undesired electronic mail and, in particular, to a system and methods for reliably detecting and filtering out undesired and unsolicited electronic mail stealthily prepared specifically to avoid detection by conventional filtering systems.
The use of electronic mail (email) is widely accepted to the extent that email is often considered an essential tool in conducting business and communicating between individuals. Key aspects of the adoption of email for such use include the immediacy of the communication, the ability to specifically identify and define recipients by email addresses, that email addresses are often publically available by choice and by standard operation of conventional Internet tools, and the normally user-to-user personal nature of email messages.
A number of different uses of email have evolved beyond the most basic person-to-person communications. One of the earliest developments was the use of list-servers (Listserv) to broadcast email messages sent to the Listserv to a well-defined and selective list of Listserv subscribers. Another development was the direct use of email lists to send announcements and other notices to subscriber lists. Similarly, electronic periodicals and information clipping services often use email lists to distribute content or content summaries to subscribing users.
A generally undesired use of email, hereinafter referred to as the delivery of undesired email (UEM) and loosely referred to as “spam” email or “spamming,” is the typically unsolicited mass emailings to open or unsubscribed email addresses. Other names, such as Unsolicited Bulk Email (UBE) are also used to describe the same problematic email. Information describing the problems and attempts to deal with UEM is available from the Internet Mail Consortium (IMC; www.imc.org). The impact of UEM is generally assessed in a survey, ISPs and Spam: The Impact of Spam on Customer Retention and Acquisition, Engagement #1802565, by the GartnerGroup, San Jose, Calif. In summary, UEM is received by some 90% of email users with publically accessible email addresses. Estimates vary greatly on the financial impact of UEM on the businesses and services, both large and small, that receive or unintentionally forward UEM to users. Although the individual costs of email message delivery are quite small, the size of mass-emailings creates real costs in terms of connectivity, temporary storage, and auditing. Even the cost to individual users may be significant, since many pay directly for connectivity time.
The email addresses used by UEM vendors are typically harvested from the Internet through scans of the information available on the Web, Usenet postings, and the various user directories and lists accessible through the Internet. For example, corporate Web pages may include an email address list of the different employees of the company. Postings to the public Usenet forums and hosted chat-rooms provided by different services often include the email address of each user who posts a message. User addresses may also be directly, though typically indirectly obtained from the different Listservs and subscriber list services that operate over the Internet.
Various email address harvesting tools, ranging from the simple to quite complex and tailorable to scan the Internet using many different scanning techniques, are conventionally available from a variety of sources. Therefore, virtually any user can set up as a mass-emailing vendor of UEM messages. Such UEM vendors typically hide the address and other source identifiers of their mass-mailings, relay their mass-emailings through third-party email forwarding gateways, further change their internet service providers (ISPs) to obscure their identity. Consequently, there is no effective mechanism currently available that will permit or enable users to avoid having their email addresses harvested. There is also no simple way users can pre-identify and refuse email messages from UEM vendors.
A number of products and services exist that attempt to identify and filter UEM messages from the ordinary email received by their users. The general operating principles of these systems are documented in Unsolicited Bulk Email: Mechanisms for Control, Internet Mail Consortium Report: UBE-SOL, IMCR-008, revised May 4, 1998. In general, conventional products and services rely on specific identification of known UEM vendors by source address, the specific content of manually identified UEM content, or heuristic-based identification of UEM messages.
Conventional heuristic-based systems, which are generally more effective that specific identification systems, are executed by a host computer system to review and filter already received email messages into ordinary and UEM categories prior to actual delivery to the email addressees. These systems may utilize a variety of different analyses of email message content to discern UEM, including key-word and key-phrase detection, which are predefined or learned over time and improper and missing email header fields. The predefined keys are static and typically include occurrences of “$$$” and variations of “make money fast.” Learning of other key-words and phrases conventionally requires manual intervention. UEM vendors, however, are known to be highly creative and have generally demonstrated that these heuristics can be defeated by selective crafting of the content of the UEM message through the use of automated technical mechanisms.
A known problem with heuristic systems is that the heuristics, operative at a level sufficient to identify a bulk of UEM received by a user, also create a substantial likelihood that non-UEM messages will be improperly identified and filtered. Any loss of non-UEM messages, however, is generally considered completely unacceptable by users. As a result, there does not appear to be any reliable and practically acceptable way to prevent the harvesting of email addresses, and thereby controlling the ability of UEM vendors from originating their mass-mailings, or to reliably identify UEM messages once received.
Consequently, there is a clear need for some reliable and effective manner of detecting and filtering out UEM messages from the stream of email messages received by email users.
Thus, a general purpose of the present invention is to provide an efficient method and system for qualifying and thereby providing a basis for protecting users against receipt of UEM messages.
This is achieved in the present invention by providing a method and system that actively qualifies undesirable email messages sent to the email address of a user-recipient. The content of a received email message is processed to produce multiple signatures representing aspects of the contents of the received email message. These signatures are compared against a database of signatures produced from a plurality of presumed undesirable email messages. A relative-identity of the signatures is scored to provide a basis for distinguishing the received email message from the presumed undesirable email messages.
The multiple signatures generated to represent the received email are produced as digest of algorithmically selected portions of the received email with the signatures defined by like algorithms being comparable. The rate of comparison matches between the multiplicity of suspect email message signatures and the signatures stored by the database serves as the basis for distringuishing the received email message from the presumed undesirable email messages.
The system includes a data store providing for updateable storage of signature records that correspond to undesirable email messages potentially sent to the user-recipient email address. An email filter processor is coupled to the store of signature records and operates against the email messages received to discern and qualify email messages determined by the system to sufficiently correspond to the signature records. The store of signature records is coupleable to automatically receive signature records corresponding to additional instances of undesirable email messages, which are then stored to the data store for subsequent use in comparisons.
The system can be implemented to include at least a portion of the email processor system within a client site email transport system, which receives the email messages addressed to the set of email addresses assigned or associated with the client site, including the predetermined email address.
An advantage of the present invention is that, through an effectively reverse harvesting of UEM vendors, a controlled yield of UEM is made available to the system as a basis for qualifying and potential filtering-out of UEM sent to protected users.
Another advantage of the present invention is that the signature records generated through processing of UEM messages effectively implement one-to-many relationship between an undesirable email, as directed to a recipient-user, and the UEM represented by the signatures stored in the data store. Thus, comparison of the signatures of a suspect email with those contained in the stored signature records enables both ordinary and intentionally created variants of UEM messages to be automatically detectable by the system.
A further advantage of the present invention is that a broad set of algorithms may be implemented as a basis for generating signature records, with only subsets of the algorithms used for particular signature records. A UEM vendor, therefore, cannot reasonably anticipate a particular subset of algorithms to evade in preparing a UEM message, since the subset is not static at least over time. Furthermore, variants of the top-level set of algorithms as well as new algorithms may be introduced with the effect that the top-level set of algorithms is not necessarily closed.
Still another advantage of the present invention is that the algorithms, based on their different basis for determining content similarity, are automatically resilient against ordinary and intentional variations. The resulting scoring of potential UEM messages is based not on exact identities, but on similarity matching. A particular signature record with therefore match the variants of a UEM message that might be produced by automated rewriting. Complex rewriting of individual UEM messages, requiring direct and non-automatable involvement of the UEM vendor, is both impractical and unprofitable for a UEM vendor.
Yet another advantage of the present invention is that a centrally maintained and managed server can be efficiently operated to collect, analyze, and produce signature records. By the proxy collection of UEM, the server is highly-responsive to new mass emailings of UEM and can quickly prepare and hot-update client-site filtering systems against at least any further passage of these UEM messages. Further, the server can automatically update the client systems with new algorithms and specifying different selections of algorithms for use in connection with particular signature records. As a result, client site administration is essentially automatic, yet maintained entirely up-to-date under the secure control of the server. The operation of the server, however, is also substantially autonomous. Little or no human interaction is required on an ongoing basis to manage or operate the system of the present invention. Specifically, no human interaction or contribution is required in order for the present system and methods to develop UEM message signatures. These signatures are automatically developed and distributed.
A still further advantage of the present invention is that the algorithmic operations of the server in analyzing potential UEM and the client in detecting UEM is both fast and highly-reproducible. Computational speed is proportional to and primarily controlled by the size of an email message being processed. A secondary consideration is the computational complexity of the algorithms. In the preferred embodiments of the present invention, the computational complexity is little greater than the computation of checksums of text characters.
FIG. 4 is a process flow diagram illustrating the analysis of email messages in accordance with a preferred embodiment of the present invention.
The present invention provides a system and methods for reliably detecting and identifying UEM. Although the preferred embodiments of the present invention apply primarily to electronic mail messages, the present invention is fully applicable to other, at lease purportedly, user-to-user messages passed using other protocols and composed and read using non-email specific client applications. User-to-user messages can be passed using listserv protocols, as well as the more recent protocols developed to support internet relay chat (IRC), AOL® Instant Messenger™, and netnews messages transported by the network news transport protocol (NNTP). Where the content of such other user-to-user messages would qualify as undesirable in the manner considered for UEM, then the messages themselves are UEM within the scope of the present invention.
As illustrated in FIG. 1, preferred embodiments of the present invention, such as the system 10, utilize a server system 12 to collect and identify UEM through the generation of signature record sets and any number of client systems 14, 14′ that, based on the signature record sets, identify and filter-out the corresponding UEM received at their local sites. The UEM server system 12 preferably includes a signature server 16, a store for signature record sets 18, and some number of UEM relay systems 20, with at least one being required. These relays 20 may be email-enabled computer systems physically located local or remote relative to the UEM server 16 or may even be hosted as virtual systems by the UEM server 16 itself. Preferably, the configuration and operation of the UEM relays 20 is managed cooperatively with that of the UEM server 16.
In a preferred embodiment of the present invention, twenty to more than a hundred UEM relay systems 20 are established with access to the Internet 22. Each UEM relay 20 is preferably associated with a large number of decoy email addresses, totaling thousands to several millions of unique email addresses for the full complement of UEM relays 20. The UEM relays 20 are connected to the Internet 22 through different ISPs. Preferably, the selected ISPs are large email forwarders, whose blanket avoidance by UEM vendors would severely compromise any potential benefit of a UEM mass-mailing. Additionally, any Internet visible identification of the UEM relays 20 is preferably changed aperiodically to prevent any easy identification of the UEM relays 20 through their ISP hosts.
The decoy email addresses supported by the UEM relays 20 are published through various means to be available to harvester tools. In particular, public directories can be used to list the decoy addresses so as to appear indistinguishable from legitimate email addresses to harvester tools. These directories are preferably published through legitimate Internet directory services, including the InterNIC™ and the many commercial listing services that support publically accessible directories of users. Web-based directories can also be posted. Another preferred method of publishing is to post messages to the different publically accessible newsgroups, chat-rooms, and Listservs with the decoy mail addresses provided in the reply-to header field or body of the message.
The UEM relays preferably operate to forward 24 all email messages directed to the decoy addresses to the UEM server 16. In a preferred embodiment of the present invention, the email is simply forwarded 24 using the simple mail transport protocol (SMTP) to an unpublished email address hosted by the UEM server 16. Should a need arise, the email may be forwarded using a non-standard SMTP port number or a different transport protocol.
In an alternate preferred embodiment of the present invention, the UEM clients 14, 14′ may also host directories that publish email addresses, including decoy addresses, identified with the client domain. Since these decoy addresses also do not correspond to any actual user, any email received by these domain specific email accounts can be considered to be UEM. Preferably, these email messages are selectively forwarded 26 to the UEM server 16 in the same manner UEM messages are forwarded 24 by the UEM relays 20. Thus, even UEM selectively targeted to specific domains may be detected and ultimately filtered-out.
UEM messages forwarded 24, 26 from the relays 20, 14, 14′ are preferably processed by the UEM server 16 to generate corresponding sets of signature records storable by a signature database 18. For purposes of the present invention, a signature is some value or condition that represents some aspect, typically some portion of the content, of a particular email. Signatures generated in a like manner for an email are at least logically collected as a signature record. That is, the signatures of a signature record reflect different views of the email message content. These views are preferably constructed or calculated in the same or like manner, but operate over different selected, potentially overlapping, portions of the header fields and body of the email contents. In turn, a signature record set, containing multiple signature records, corresponds to a full representation of the contents of an email received by the UEM server 16.
A separate signature record set is not necessarily generated and stored for every UEM message received. Rather, the UEM server 16 determines whether the signature record set for a received email is already in the signature database 18. While an identity comparison between a new signature record set and those previously stored in the signature database 18 could be used, a sufficient comparison can be made by only comparing selected signatures from the new signature records with the signatures of signature records previously stored in the signature database 18. This has the effect of comparing a received email against a broad set of variants of the emails previously evaluated by the UEM server 16, but without requiring a signature record set to have been stored for each of those emails. Thus, by basing the comparison on the use of only a subset of the signature record set, or a signature-set, the comparison implicitly encompasses variants of UEM not actually received previously as email by the UEM server 16. The use of signature-set and the comparison of signatures from like signature records is preferred.
The UEM clients 14, 14′ are preferably based on conventional computer server systems 28 that support an SMTP gateway between the Internet 22 and users transferring email messages through the gateway. For non-SMTP based messages, a gateway or proxy for the corresponding transport protocol can be similarly used. In accordance with the preferred embodiments of the present invention, the gateway or proxy, such as the SMTP gateway shown, is modified to support an analysis and filtering function at least with respect to email messages received from a communications network, such as the Internet 22. Thus, the UEM client 28 operates to deliver filtered inbound email 30 messages to the email account users of the UEM client 28′, while allowing, email outbound 32 from the UEM client 28 sites to be passed to the Internet 22 without delay. If a client site allows internal email messages to reach and be routed by the UEM client 28, these messages are preferably treated as trusted and returned as part of the filtered inbound email 30 messages.
The modified SMTP gateway utilized by the clients 14, 14′ of the present invention preferably also processes inbound email messages from the Internet 22 by subjecting the messages to a multi-part analysis. In general, the signature record set produced by this analysis is then compared to the signature record sets retrievable from the client signature database 34. In general terms, if a signature-set match is found within predetermined tolerances, the message is filtered-out. More specifically, these comparisons enable the generation of similarity scores by evaluating the match rate of various subsets of signature records, combining the scores typically through an averaging operation, and potentially adding in additional signature characterizing values determined through the comparisons to reach a final similarity score for a signature record set. This final score is then compared against a preset threshold to finally determine whether the corresponding inbound message should be recognized or identified as a UEM message and accordingly filtered.
In a preferred embodiment of the present invention, the filtering-out is performed by adding a defined UEM notation, such as “SPAM,” to a standard header field, such as the subject line header, of the inbound message. Alternately, a proprietary header field, possibly named “X-spam,” could be added to the inbound message. To prevent external interference with this alternative marking system, the name of any proprietary header field is specifically chosen not to correspond to any publically accepted or recognized header field name. Preferably, though optionally, a numeric percentage value denoting the degree of certainty that the message is UEM is added to the same header. This field value may be alternately presented as a defined word, such as “Low,” “Medium,” or “High,” where multiple thresholds are defined, to reflect the highest threshold value exceeded by the message content. Thus, the absence of a UEM notation in a specific header or a degree of certainty value of less than some defined percentage threshold value is preferably considered a non-UEM message indicator. In order to avoid outside interference with this marking scheme, any UEM notation or degree of certainty value present on an inbound message is removed or ignored.
Conventional email-client applications can then further filter these UEM marked messages directly into a trash queue or specifically segregated into some “suspected UEM” inbound email queue that a user can later summarily review and clean as appropriate. Where multiple threshold values are supported by the present invention, the email client readers may be configured to recognize each threshold value and apply a separate filter rule to specify a corresponding disposition for the differently identified messages.
Finally, the UEM server 16 preferably distributes 36 signature record sets as hot-updates to UEM clients 28. Thus, as updates are received by a UEM client 28, the signature record sets are installed into the signature database 34 and immediately made available to the UEM client 28 for use in evaluating email messages inbound from the Internet 22. Preferably, the hot-updating process is initiated by the UEM server 16 on or in connection with determining that a newly generated signature record set is not currently present in the signature database 18. The immediacy of the distribution of these new signature record sets minimizes the exposure of the UEM client system 14, 14′ sites to new, unidentified UEM emailings. For practical purposes then, the exposure to such new UEM emailings is determined by the delay between the beginning of a new UEM mass-emailing and the first receipt of a corresponding UEM message at a decoy email address. Provided a sufficient number of decoy email addresses are published and harvested in advance of a UEM mass-emailing, the detection and filtering-out of UEM messages can easily be greater than 98% and, with tuning of the filtering operation of the server and client systems 12, 14, may very closely approach 100%.
A preferred embodiment of the UEM server 12 is shown in greater detail in FIG. 2A. An SMTP server 42 receives the forwarded UEM messages collected by the UEM relays 20. The received messages are queued through a message collection queue 44 and a message normalizer 46. The collection queue 44 is provided simply to buffer a sequence of UEM messages awaiting processing though the normalizer 46.
Multiple forms: select the text/plain version.
(  &quot, etc.) to ordinary characters.
Other forms: reduce to a plain text equivalent.
Other form conversions may be similarly implemented as different forms are identified adopted for use in connection with email messages. For example, extensible markup language (XML) documents may soon be adopted for the transport of email content. In general, XML documents may be treated like hypertext markup language (HTML) documents, since both are derivative subsets of a broader document description standard known as standard generalized markup language (SGML). Extensions to the HTML form conversions may need to be adopted to handle XML, though the goal of generally reducing the content to a plain text form remains.
Case: Content is converted to lowercase.
string and, therefore, are ignored.
The normalizations presented in Table II are the currently preferred set of such normalizations. Additional normalizations may be developed, in a generally consistent manner, as UEM vendors develop new methods of affecting the presentation of their UEM messages in an effort to randomly vary the appearance of their messages to automated detection tools and, thereby, avoid detection as UEM messages.
Once normalized, a message is then passed to an array of algorithmic processors 48 1-N to generate signatures based on a variety of differently selected subsets of the message content. These subsets may be selected as named blocks, such as a particular header field, as non-overlapping blocks, such as lines, sentences and paragraphs, and overlapping blocks of words as may be selected through a sliding window. In the preferred embodiments of the present invention, the algorithmic processors implement computational, comparative, and other processes for generating signatures. Computationally-based signatures are preferably digests or other mathematical operations that produce signatures representing some corresponding subset of the message content. Many acceptable computational digests forms exist, including checksums, message digests, such as MD5, and cyclic redundancy checks, such as CRC-8 and CRC-32. Table III lists a preferred set of the computational algorithms, employing a preferred checksum digest form, usable in connection with the present invention.
searching systems). This is a preferred algorithm.
multiple line breaks and blank lines.
combination in the original message content.
in the header fields of this message.
content, preferably exclusive of header fields.
preferably exclusive of header fields.
exclusive of header fields and blank lines.
of header fields and blank lines.
common words and numbers used in UEM messages.
numbers, postal addresses, and URLs.
determined against a common word-dictionary.
excluding stop-words given by a predefined list.
that also appear in the master word group list.
a range of 0.25 and 2 points.
in a range of 0.25 and 2 points.
such as in a range of 0.25 and 3 points.
The array of algorithmic processors 48 1-N preferably operate in parallel to generate a full signature record set of signatures based on a particular message. Each of these signatures is then passed to a final analysis processor 50 that composes a corresponding signature record set. Before storing the newly constructed signature record set to the signature database 18, the final analysis processor 50 preferably scans the signature record sets previously stored in the signature database 18 to determine whether a corresponding signature record set already exists in the signature database 18. The determination made is preferably whether or not there is a sufficient calculated degree of similarity, represented as a score, between the newly generated signature record set and those prior stored in the signature database 18.
Generally, where the similarity score produced by the comparison scan is above a pre-set threshold, the newly generated signature record set or a variant thereof is considered to already exist in the signature database 18. The newly generated signature record set is therefore discarded. Conversely, if the threshold level is not met, the newly generated signature record set is finalized and stored to the signature database 18.
In the preferred embodiment of the present invention, the comparison scan operates to compare a subset of the signatures taken from the newly generated signature record set with those present in the signature database 18. This comparison is constrained to only comparing signatures that are generated using the same algorithm. Thus, for example, a signature newly generated using a three-word sliding window algorithm is only compared against signatures in the database 18 that were previously generated using the same three-word sliding window algorithm. For the preferred embodiment then, no comparison correlation is made or respected between the newly generated signature record set, as a whole, and any prior stored signature record set. Alternate embodiments of the present invention may determine correlations based on a signature record set basis to obtain a possible higher level of validity to the matches made, but at greatly increased computational requirements. In either case, the count of comparison matches to comparisons made yields a ratio value on a per algorithm basis. A degree of similarity score is then produced from a preferably mathematically based combination of the ratio values.
In greater detail with reference to FIG. 2B, the determination process begins with the final analysis processor 50 first operating to select subsets of the signatures generated by several of the different algorithmic processors 48 1-N from the newly generated signature record set 56. The total number of signatures selected, the algorithms for which signatures are selected, and the number of signatures selected corresponding to a particular algorithm are preferably determined empirically. For example, one algorithm applied to an email May produce 200 signatures. A representative set of these signatures, for purposes of comparison, may be a randomly selected set of 10 or 20 signatures. Thus, the comparison scan may only employ 10 signatures generated by a three word sliding window algorithm, 15 generated by a line-selection algorithm, and 5 generated by a unique word selection algorithm. The selected signatures are then compared via a comparative analysis block 58 against signatures of like generated signature records retrieved from the signature database 18.
score. This is a preferred algorithm.
together to provide a signature-set comparison score.
A predefined threshold similarity level, preferably programmable and stored by the final analysis processor 50, is then used to determine whether the currently generated signature record set should be stored to the signature database 18. If the degree of similarity computed for a newly generated signature record set is below the threshold, the record set is stored. Otherwise, the signature record set is discarded. For example, the newly generated signature record set 56 may include signatures generated by four algorithms, with each algorithm generating ten checksum signatures. The signature record sets previously stored in the signature database 18 may include signatures produced by four or more algorithms though including at least the four algorithms used in generating the current generated signature record set 56. If the comparisons between the signatures, on a per-algorithm basis, produce ratio match values of 8, 7, 9, and 5, the resulting degree of similarity score, using averaging, is 72.5%. Using differential averaging, the degree of similarity score is 75%. Finally, if the predefined threshold similarity level is set to 75%, inclusive, the newly generated signature record set 56 would be stored to the database 18 if the degree of similarity determination is defined as using averaging. Where the degree of similarity determination is defined as using differential averaging, the current generated signature record set 56 would be considered to be a sufficiently close variant of a prior recognized UEM message and, therefore, would be discarded.
In each case, however, a date/time-stamp is effectively updated for any signature prior stored in the signature database that matched a signature during the comparison scan. Thus, for preferred embodiments of the present invention where signatures are aged and progressively removed from the signature database 18, updating of the signature date/time-stamp values allows the signature database 18, as a whole, to track with the progression of variants of UEM received by the server 12.
Finally, in arriving at a similarity score, the use of only a subset of the signatures generated by the array of algorithmic processors 48 1-N for comparison against those stored by the signature database 18 serves a number of related purposes. By introducing an unpredictable variation in the particular set of signatures that will ultimately be used in screening received email messages, UEM vendors are unable to discern or reliably predict the essential criteria that would result in an email being compared and determined to be UEM. Additionally, using a subset whose algorithmic composition may equally change unpredictably, the introduction of new and additional algorithms is hidden from any UEM vendor who may try to discern or reliably predict UEM detection criteria.
An alternate preferred embodiment of the examination process is detailed in FIG. 2C. The final analysis processor 50 operates to compare the current signature record set 56, as generated by the algorithmic processors 48 1-N, against a currently selected signature record set 57, previously stored in the signature database 18. The two signature record sets are preferably arranged, at least logically, into signature subsets 56 1-N and 57 1-N. Each of the signature subsets 56 1-N contains the set of signatures produced by a respective algorithmic processor 48 1-N. Likewise, the signature subsets 57 1-N contain the sets of signatures earlier produced by respective algorithmic processors 48 1-N.
A comparative analysis block 58 preferably receives each of the signature subsets 56 1-N, 57 1-N and performs signature comparisons between the paired subsets 56 1-N, 57 1-N that correspond to a respective algorithmic processor 48 1-N. As between algorithm matched subsets 56 X, 57 X, each signature in the subset 56 X is compared to each signature in the subset 57 X. Subset totals of the number of identity signature matches and non-matches found are kept for each algorithm matched pairing of the subsets 56 1-N, 57 1-N. The resulting totals are then passed to a match analysis block 59 for a determination of whether to discard the signature record set 56 as being identical or sufficiently similar to a signature record set 57 already present in the signature database 18.
Referring again to FIG. 2A, the empirical selection of signatures for use in the comparison is preferably performed by an administrator through a local manager 52. This local manager 52 may be an administrative console attached to the server 12 or a separate administrative system. Preferably, the local manager 52 also operates to monitor the operation of the server 12 including generation of statistical and summary reports reflecting the operation of the server 12. The local manager 52 is also preferably responsible for establishing an aging algorithm for retiring signatures and potentially entire signature record sets from the signature database 18. Since only one or a small set of typically less than ten signature record sets are required to identify a particular UEM message and related variations, the storage capacity requirement for the signature database 18 16 is not great. However, individual UEM mass mailings tend to occur over relatively short periods, typically 1 to 5 days. Therefore, corresponding signature record sets can be considered to have a similarly limited effective life-span. Preferably then, the aging algorithm maintains signatures in the signature database 18 for an empirically selected aging period that may lost from one day to several weeks, with a preferred period of a few days, such as two to five days. The removal of signatures is accomplished by a periodic scanning of the signature database 18 and removing signatures whose date/time-stamps are older than the currently defined aging period.
The algorithmic processors 48 1-N that are not selected to produce signatures for new signature record sets preferably continue to generate signatures. The operation of such algorithmic processors 48 1-N is preferably maintained for a period of time at least equal to the aging period. Alternately, when an algorithm is retired, the signatures created using that algorithm are removed from the signature database. This tends if not actually ensures that signatures are retired before the corresponding generating algorithm is retired. Thus, the signatures generated against any given message are a proper superset of those stored by the signature record sets in the signature database 18 at any given time. The scan of the signature database 18 by the final analysis processor 50 for a matching signature record set can be performed irrespective of the particular subset of signatures selected for use in the current generation of signature record sets.
When a newly generated signature-set is finally identified by the final analysis processor 50 as representing a sufficiently different UEM message, the current generated signature record set is stored in the database 18. This record set as stored may include tuples storing a particular signature value and a versioned identification of the particular algorithm used to generate the signature. The date/time-stamp and other, optional data is preferably stored with the signature value at this time. The other data may include signature record generation dates, other data identifying or characterizing the signature or some aspect of the content from which the signature was generated, and data that may be used in support of the aging of the signature, the associated signature record, or full signature record set.
The signature record set is also provided to an update manager 54 for use in a hot update of the client systems 14, 14′. In the preferred embodiments of the present invention, the operation of the update manager 54 is ultimately defined by the local manager 52 and administrator. Preferably, this defined operation is a relatively continuous process of serving hot updates of newly identified signature record sets to the client systems 14, 14′. This is desired in order to minimize the latency from the first receipt of a message from a new UEM mailing campaign to the updating of the client systems 14, 14′.
In a preferred embodiment of the present invention, the hot updates are dynamically sourced by the update manager 54 over the Internet 22 to the client systems 14, 14′. A conventional hot update system and proprietary communications protocol may be used. A hot update message will likely contain a single signature record set and, therefore, may be relatively small and quickly delivered. The record set size may be further reduced by sending only those signatures that did not match against the signature database 18 and updated date/time-stamps for those that did match. A hot update message may also include new or updated algorithms for use by the client systems 14, 14′. That is, any time a new or modified algorithm is adopted by the server 12 for use by one of the algorithmic processors 48 1-N, the algorithm is concurrently provided to the clients 14, 14′. Preferably, the hot update communications protocol is secure, such as through the use of an encryption protocol, to protect the content of the hot updates.
Referring now to FIG. 3, the client system 14, representing the client systems 14, 14′, is shown in greater detail. A SMTP proxy server 60 is installed in place of a conventional SMTP server 62 that is used as an email routing relay for a community of Users1-N 64. In a preferred embodiment of the present invention, the SMTP proxy 60 operates to route email messages inbound from the Internet to a white list processor 66. A white list 68, which is accessible by the white list processor 66, is managed by a local manager 70 under the control of a client site administrator. This local manager 70 may be an administrative console attached to the server 14 or a separate administrative system. Preferably, the local manager 70 also operates to monitor the operation of the server 14 including generation of statistical and summary reports reflecting the operation of the server 14. Using the local manager 70, the client site administrator can manage a set of white list entries, typically consisting of some set of domain names and email addresses corresponding to sites and individual correspondents that are trusted not to be a source or forwarder of UEM messages. Thus, the white list processor preferably operates to examine each message received from the SMTP proxy to determine if the “From:” domain or email address is on the white list 68. If present, the message is passed directly to the SMTP server 62 for eventual distribution to an end-user 64.
All other inbound email messages are next passed, in a preferred embodiment of the present invention, to a hold queue 72. A UEM detection processor 74 operates on messages as entered into the hold queue 72 to determine whether the message corresponds to any signature record set stored in a client signature database 76. This detection process is performed generally in three steps: first, a client signature record set, reflecting the contents of a particular queued message, is generated and a scan comparison is made between a signature-set of the client signature record set and the signatures stored in the signature database 76; second, a similarity score is generated for the client signature-set; and third, a preferably threshold-based determination is made to determine whether the similarity score credited to the client signature record set is sufficient to consider the corresponding email message to be a known UEM message.
Preferably, the generation of the client signature-set is performed by an array of algorithmic processors, provided within the UEM detection processor 74, that is essentially identical to the array 48 1-N. The UEM detection processor 74 also effectively includes at least that portion of the final analysis processor 50 that operates to collect the signatures generated by the array 48 1-N, accesses the signature database 18, and performs the scan comparison to identify matching signatures in order to generate a similarity score, essentially in the same manner as performed by the server 12. This includes determining the ratio of matching checksum signatures found, normalizing, as appropriate, the ratio identity value, and adding any “adder” values to determining a final similarity score, as described above in connection with the operation of the final analysis processor 50.
Finally, based on the generated score, a client-site determination is made as to whether a scored message is a UEM message. In preferred embodiments of the present invention, a score threshold value is established by the client site administrator through a local manager 70. Messages having scores higher than the threshold value are considered to be UEM messages and dealt with in a manner determined by the client site administrator. Preferably, the options are to drop the UEM messages completely, to distinctively mark the message as UEM and thus delegate the further handling of the messages to the user-client email client applications, and to maintain a UEM message in the hold queue 72 pending review by the client site administrator.
Preferred embodiments of the present invention allow the client site administrator to set and manage through the local manager 70 multiple threshold values to support discrimination between different handling options. For example, a high threshold may be set to immediately drop UEM messages detected with a very high degree of certainty. One or more intermediate threshold values can be set to filter between messages that should be marked differently as UEM messages, such as with different rating numbers reflecting different likelihoods that the message is UEM. A low threshold value may be set to filter for all messages that are at least above a suspect threshold as bing UEM messages.
An algorithm set store 78 is preferably used to manage the current set of algorithms usable by the UEM detection processor 74. Both the signature database 76 and algorithm set store 78 are preferably hot-updateable from the server 12. In preferred embodiments of the present invention, the hot-update protocol is used to access a secure internet port 80 on the client system 14 and transfer updates to the local manager 70. In turn, the local manager 70, in a preferably automated process, stores the signatures of new signature record sets in the signature database 76 and new and updated signature algorithms, including their related parameters, in or through the algorithm set store 78.
The hold queue 72 can also be used to implement a delay function. In an alternate preferred embodiment of the present invention, the examination of messages entered into the hold queue 72 may be intentionally delayed. By forcing a delay before the UEM detection processor 74 begins the evaluation of a message newly entered into the hold queue 72, an opportunity is provided for the server 12 to notice any newly started UEM mass emailing and to generate and distribute corresponding signature record sets to the client systems 14, 14′. Preferably, the delay imposed is a variable parameter that can be set by the client site administrator though the local manager 70. In preferred embodiments of the present invention, the period of the delay may be set between 0 and 30 minutes, with a typical setting of between 5 and 15 minutes.
In a presently preferred embodiment of the present invention, however, the delay is set at 0 provided a sufficient number of decoy email addresses have been deployed for a period of time sufficient to expect that many have been harvested. As a result, there is a substantial statistical chance that a decoy address will be in the first 1 to 5 percent of the email addresses used in a new UEM mass mailing campaign. Given that the latency of the server 12 in generating a corresponding and distributing a new signature record set, plus the latency of the clients 14, 14′ in installing the signature record set, is relatively small in comparison to the progression of a UEM mass mailing, the clients 14, 14′ will be updated in time to block at least 90% of any new UEM messages. A quite reasonably expected blockage rate of 98% is attained. This number is reached by assuming that the number of decoy addresses are sufficient to reasonably have the occurrence of a decoy address within the first 1% of the UEM mass mailing and assuming that the combined server 12, client 14, 14′ latency only allows another 1% of the UEM mass mailing to be delivered without detection. Even with a successful delivery rate of 10%, however, most UEM vendors should find that their UEM mass mailings are prohibitively ineffective to pursue.
FIG. 4 details, in flow diagram form, the process 100 of creating a signature record set by a server system 12 and scoring a message by a client system 14, 14′. Although performed for different ultimate purposes by the server 12 and client 14, 14′ systems, the process 100 nonetheless utilizes substantially the same steps. The process 100 begins with a single message, which is first converted 102 to a plain text form (Table I) and then normalized 104 to conform (Table II) the content to a standard presentation. The message content is then evaluated through computationally based algorithms 106, weight-based algorithms 108, and any other algorithms 110.
The computationally based algorithms 106 (Table III) include text block 112, chunking 114, selected text 116, and other 118 algorithms that operate to generate signatures based on a computation, such as checksums. Weight oriented algorithms 108 (Table IV) include improper field checking 120, count-based signatures 122, and other algorithms 124.
The use of the process 100 by a server system 12 next collects 126 the various generated signatures into a newly generated signature record set. A determination then made to store the signature set record in the database 18 where a generated similarity score is below a pre-set threshold. When a record set is stored to the database 18, the signature record set is stored and hot updated to the client systems 14, 14′. Changes in the current set of algorithms used, scoring parameters, and other data used by the algorithmic processor array 48 1-N are also included in the hot update.
The process 100, as used by the client systems 14, 14′, preferably relies on the scoring parameters provided for the specific algorithms 112-124 to determine the similarity score for the message being evaluated. The computational 128 and weighted adds 130 components of the score are tallied and then combined 132 to produce a final similarity score for the message. Based on pre-established score thresholds, a score comparision 134 is performed and an appropriate action is then taken, such as dropping the message or marking the message with a relative indicator of the likelihood that the message is a UEM message.
Thus, methods and a system for identifying UEM messages and supporting the filtering of such messages from the desired stream of inbound email has been described. While the present invention has been described particularly with reference to the filtering of electronic mail, the present invention is equally applicable to other and future forms of communications that operate on the basis of distributed public addresses for user-to-user communications.
In view of the above description of the preferred embodiments of the present invention, many modifications and variations of the disclosed embodiments will be readily appreciated by those of skill in the art. In particular, the nature of the content normalization processes may be readily adapted to handing other and new content presentation conventions and may be adjusted to convert message content to a defined form other than plain/text. Additionally, the algorithms may be permuted in various manners to provide a renewable source of different distinct signatures and new algorithms, provided they create reproducible signatures, may be introduced at any time. Also, UEM should not be construed as restricted to just email transported by the simple mail transfer protocol (SMTP). Rather, UEM should be understood to include other message types where a server or proxy can be placed or executed in the transport path of these messages. It is therefore to be understood that, within the scope of the appended claims, the invention may be practiced otherwise than as specifically described above.
d) second determining whether said score value is greater that a predetermined threshold value, whereby said email message is qualified as unsolicited email.
wherein said step of performing performs said lookup of signatures by looking up signatures of said first said signature set against said first plurality of said reference signatures and by looking up signatures of said second said signature set, respectively by like predefined location, against said second plurality of said reference signatures.
3. The method of claim 2 wherein said step of first determining determines said score value for said received email message based on a calculated signature match value for each like pairing of said signatures between said first said signature set and said first plurality of said reference signatures and between said second said signature set and said second plurality of said reference signatures.
Brightmail, Inc., Internet Services Providers and Enterprise Messaging Industry Rally . . . , Mar. 29, 1999.
Brightmail, Inc., Prominent Industry Leaders Support Brightmail's New Solution to Fight Spam, Jul. 20, 1998.
Gartner Consulting, ISPs and Spam: The Impact of Spam on Customer Retention and Acquisition, Jun. 14, 1999.
Hoffman, Unsolicited Bulk Email: Definitions and Problems, Oct. 5, 1997.

lowercased:
2000-10-16 assigned to propel software corporation reassignment propel software corporation assignment of assignors interest (see document for details). assignors: kirsch, steven t.
the system filters-out undesirable email messages sent to a user email address. the system includes a data store providing updateable storage of signature records that correspond to a subset of undesirable email messages that may be sent to the predetermined email address. an email filter processor is coupled to the store of signature records and operates against the email messages received at the predetermined email address to identify and filter-out email messages corresponding to any of the signature records. an update system is provided to automatically receive a set of signature records, which are then used to update the plurality of signature records stored by the data store. the system can be implemented to include at least a portion of the email processor system within a client site email transport system, which receives the email messages addressed to the set of email addresses assigned or associated with the client site, including the predetermined email address.
the present invention is generally related to automated systems for blocking receipt of undesired electronic mail and, in particular, to a system and methods for reliably detecting and filtering out undesired and unsolicited electronic mail stealthily prepared specifically to avoid detection by conventional filtering systems.
the use of electronic mail (email) is widely accepted to the extent that email is often considered an essential tool in conducting business and communicating between individuals. key aspects of the adoption of email for such use include the immediacy of the communication, the ability to specifically identify and define recipients by email addresses, that email addresses are often publically available by choice and by standard operation of conventional internet tools, and the normally user-to-user personal nature of email messages.
a number of different uses of email have evolved beyond the most basic person-to-person communications. one of the earliest developments was the use of list-servers (listserv) to broadcast email messages sent to the listserv to a well-defined and selective list of listserv subscribers. another development was the direct use of email lists to send announcements and other notices to subscriber lists. similarly, electronic periodicals and information clipping services often use email lists to distribute content or content summaries to subscribing users.
a generally undesired use of email, hereinafter referred to as the delivery of undesired email (uem) and loosely referred to as “spam” email or “spamming,” is the typically unsolicited mass emailings to open or unsubscribed email addresses. other names, such as unsolicited bulk email (ube) are also used to describe the same problematic email. information describing the problems and attempts to deal with uem is available from the internet mail consortium (imc; www.imc.org). the impact of uem is generally assessed in a survey, isps and spam: the impact of spam on customer retention and acquisition, engagement #1802565, by the gartnergroup, san jose, calif. in summary, uem is received by some 90% of email users with publically accessible email addresses. estimates vary greatly on the financial impact of uem on the businesses and services, both large and small, that receive or unintentionally forward uem to users. although the individual costs of email message delivery are quite small, the size of mass-emailings creates real costs in terms of connectivity, temporary storage, and auditing. even the cost to individual users may be significant, since many pay directly for connectivity time.
the email addresses used by uem vendors are typically harvested from the internet through scans of the information available on the web, usenet postings, and the various user directories and lists accessible through the internet. for example, corporate web pages may include an email address list of the different employees of the company. postings to the public usenet forums and hosted chat-rooms provided by different services often include the email address of each user who posts a message. user addresses may also be directly, though typically indirectly obtained from the different listservs and subscriber list services that operate over the internet.
various email address harvesting tools, ranging from the simple to quite complex and tailorable to scan the internet using many different scanning techniques, are conventionally available from a variety of sources. therefore, virtually any user can set up as a mass-emailing vendor of uem messages. such uem vendors typically hide the address and other source identifiers of their mass-mailings, relay their mass-emailings through third-party email forwarding gateways, further change their internet service providers (isps) to obscure their identity. consequently, there is no effective mechanism currently available that will permit or enable users to avoid having their email addresses harvested. there is also no simple way users can pre-identify and refuse email messages from uem vendors.
a number of products and services exist that attempt to identify and filter uem messages from the ordinary email received by their users. the general operating principles of these systems are documented in unsolicited bulk email: mechanisms for control, internet mail consortium report: ube-sol, imcr-008, revised may 4, 1998. in general, conventional products and services rely on specific identification of known uem vendors by source address, the specific content of manually identified uem content, or heuristic-based identification of uem messages.
conventional heuristic-based systems, which are generally more effective that specific identification systems, are executed by a host computer system to review and filter already received email messages into ordinary and uem categories prior to actual delivery to the email addressees. these systems may utilize a variety of different analyses of email message content to discern uem, including key-word and key-phrase detection, which are predefined or learned over time and improper and missing email header fields. the predefined keys are static and typically include occurrences of “$$$” and variations of “make money fast.” learning of other key-words and phrases conventionally requires manual intervention. uem vendors, however, are known to be highly creative and have generally demonstrated that these heuristics can be defeated by selective crafting of the content of the uem message through the use of automated technical mechanisms.
a known problem with heuristic systems is that the heuristics, operative at a level sufficient to identify a bulk of uem received by a user, also create a substantial likelihood that non-uem messages will be improperly identified and filtered. any loss of non-uem messages, however, is generally considered completely unacceptable by users. as a result, there does not appear to be any reliable and practically acceptable way to prevent the harvesting of email addresses, and thereby controlling the ability of uem vendors from originating their mass-mailings, or to reliably identify uem messages once received.
consequently, there is a clear need for some reliable and effective manner of detecting and filtering out uem messages from the stream of email messages received by email users.
thus, a general purpose of the present invention is to provide an efficient method and system for qualifying and thereby providing a basis for protecting users against receipt of uem messages.
this is achieved in the present invention by providing a method and system that actively qualifies undesirable email messages sent to the email address of a user-recipient. the content of a received email message is processed to produce multiple signatures representing aspects of the contents of the received email message. these signatures are compared against a database of signatures produced from a plurality of presumed undesirable email messages. a relative-identity of the signatures is scored to provide a basis for distinguishing the received email message from the presumed undesirable email messages.
the multiple signatures generated to represent the received email are produced as digest of algorithmically selected portions of the received email with the signatures defined by like algorithms being comparable. the rate of comparison matches between the multiplicity of suspect email message signatures and the signatures stored by the database serves as the basis for distringuishing the received email message from the presumed undesirable email messages.
the system includes a data store providing for updateable storage of signature records that correspond to undesirable email messages potentially sent to the user-recipient email address. an email filter processor is coupled to the store of signature records and operates against the email messages received to discern and qualify email messages determined by the system to sufficiently correspond to the signature records. the store of signature records is coupleable to automatically receive signature records corresponding to additional instances of undesirable email messages, which are then stored to the data store for subsequent use in comparisons.
the system can be implemented to include at least a portion of the email processor system within a client site email transport system, which receives the email messages addressed to the set of email addresses assigned or associated with the client site, including the predetermined email address.
an advantage of the present invention is that, through an effectively reverse harvesting of uem vendors, a controlled yield of uem is made available to the system as a basis for qualifying and potential filtering-out of uem sent to protected users.
another advantage of the present invention is that the signature records generated through processing of uem messages effectively implement one-to-many relationship between an undesirable email, as directed to a recipient-user, and the uem represented by the signatures stored in the data store. thus, comparison of the signatures of a suspect email with those contained in the stored signature records enables both ordinary and intentionally created variants of uem messages to be automatically detectable by the system.
a further advantage of the present invention is that a broad set of algorithms may be implemented as a basis for generating signature records, with only subsets of the algorithms used for particular signature records. a uem vendor, therefore, cannot reasonably anticipate a particular subset of algorithms to evade in preparing a uem message, since the subset is not static at least over time. furthermore, variants of the top-level set of algorithms as well as new algorithms may be introduced with the effect that the top-level set of algorithms is not necessarily closed.
still another advantage of the present invention is that the algorithms, based on their different basis for determining content similarity, are automatically resilient against ordinary and intentional variations. the resulting scoring of potential uem messages is based not on exact identities, but on similarity matching. a particular signature record with therefore match the variants of a uem message that might be produced by automated rewriting. complex rewriting of individual uem messages, requiring direct and non-automatable involvement of the uem vendor, is both impractical and unprofitable for a uem vendor.
yet another advantage of the present invention is that a centrally maintained and managed server can be efficiently operated to collect, analyze, and produce signature records. by the proxy collection of uem, the server is highly-responsive to new mass emailings of uem and can quickly prepare and hot-update client-site filtering systems against at least any further passage of these uem messages. further, the server can automatically update the client systems with new algorithms and specifying different selections of algorithms for use in connection with particular signature records. as a result, client site administration is essentially automatic, yet maintained entirely up-to-date under the secure control of the server. the operation of the server, however, is also substantially autonomous. little or no human interaction is required on an ongoing basis to manage or operate the system of the present invention. specifically, no human interaction or contribution is required in order for the present system and methods to develop uem message signatures. these signatures are automatically developed and distributed.
a still further advantage of the present invention is that the algorithmic operations of the server in analyzing potential uem and the client in detecting uem is both fast and highly-reproducible. computational speed is proportional to and primarily controlled by the size of an email message being processed. a secondary consideration is the computational complexity of the algorithms. in the preferred embodiments of the present invention, the computational complexity is little greater than the computation of checksums of text characters.
fig. 4 is a process flow diagram illustrating the analysis of email messages in accordance with a preferred embodiment of the present invention.
the present invention provides a system and methods for reliably detecting and identifying uem. although the preferred embodiments of the present invention apply primarily to electronic mail messages, the present invention is fully applicable to other, at lease purportedly, user-to-user messages passed using other protocols and composed and read using non-email specific client applications. user-to-user messages can be passed using listserv protocols, as well as the more recent protocols developed to support internet relay chat (irc), aol® instant messenger™, and netnews messages transported by the network news transport protocol (nntp). where the content of such other user-to-user messages would qualify as undesirable in the manner considered for uem, then the messages themselves are uem within the scope of the present invention.
as illustrated in fig. 1, preferred embodiments of the present invention, such as the system 10, utilize a server system 12 to collect and identify uem through the generation of signature record sets and any number of client systems 14, 14′ that, based on the signature record sets, identify and filter-out the corresponding uem received at their local sites. the uem server system 12 preferably includes a signature server 16, a store for signature record sets 18, and some number of uem relay systems 20, with at least one being required. these relays 20 may be email-enabled computer systems physically located local or remote relative to the uem server 16 or may even be hosted as virtual systems by the uem server 16 itself. preferably, the configuration and operation of the uem relays 20 is managed cooperatively with that of the uem server 16.
in a preferred embodiment of the present invention, twenty to more than a hundred uem relay systems 20 are established with access to the internet 22. each uem relay 20 is preferably associated with a large number of decoy email addresses, totaling thousands to several millions of unique email addresses for the full complement of uem relays 20. the uem relays 20 are connected to the internet 22 through different isps. preferably, the selected isps are large email forwarders, whose blanket avoidance by uem vendors would severely compromise any potential benefit of a uem mass-mailing. additionally, any internet visible identification of the uem relays 20 is preferably changed aperiodically to prevent any easy identification of the uem relays 20 through their isp hosts.
the decoy email addresses supported by the uem relays 20 are published through various means to be available to harvester tools. in particular, public directories can be used to list the decoy addresses so as to appear indistinguishable from legitimate email addresses to harvester tools. these directories are preferably published through legitimate internet directory services, including the internic™ and the many commercial listing services that support publically accessible directories of users. web-based directories can also be posted. another preferred method of publishing is to post messages to the different publically accessible newsgroups, chat-rooms, and listservs with the decoy mail addresses provided in the reply-to header field or body of the message.
the uem relays preferably operate to forward 24 all email messages directed to the decoy addresses to the uem server 16. in a preferred embodiment of the present invention, the email is simply forwarded 24 using the simple mail transport protocol (smtp) to an unpublished email address hosted by the uem server 16. should a need arise, the email may be forwarded using a non-standard smtp port number or a different transport protocol.
in an alternate preferred embodiment of the present invention, the uem clients 14, 14′ may also host directories that publish email addresses, including decoy addresses, identified with the client domain. since these decoy addresses also do not correspond to any actual user, any email received by these domain specific email accounts can be considered to be uem. preferably, these email messages are selectively forwarded 26 to the uem server 16 in the same manner uem messages are forwarded 24 by the uem relays 20. thus, even uem selectively targeted to specific domains may be detected and ultimately filtered-out.
uem messages forwarded 24, 26 from the relays 20, 14, 14′ are preferably processed by the uem server 16 to generate corresponding sets of signature records storable by a signature database 18. for purposes of the present invention, a signature is some value or condition that represents some aspect, typically some portion of the content, of a particular email. signatures generated in a like manner for an email are at least logically collected as a signature record. that is, the signatures of a signature record reflect different views of the email message content. these views are preferably constructed or calculated in the same or like manner, but operate over different selected, potentially overlapping, portions of the header fields and body of the email contents. in turn, a signature record set, containing multiple signature records, corresponds to a full representation of the contents of an email received by the uem server 16.
a separate signature record set is not necessarily generated and stored for every uem message received. rather, the uem server 16 determines whether the signature record set for a received email is already in the signature database 18. while an identity comparison between a new signature record set and those previously stored in the signature database 18 could be used, a sufficient comparison can be made by only comparing selected signatures from the new signature records with the signatures of signature records previously stored in the signature database 18. this has the effect of comparing a received email against a broad set of variants of the emails previously evaluated by the uem server 16, but without requiring a signature record set to have been stored for each of those emails. thus, by basing the comparison on the use of only a subset of the signature record set, or a signature-set, the comparison implicitly encompasses variants of uem not actually received previously as email by the uem server 16. the use of signature-set and the comparison of signatures from like signature records is preferred.
the uem clients 14, 14′ are preferably based on conventional computer server systems 28 that support an smtp gateway between the internet 22 and users transferring email messages through the gateway. for non-smtp based messages, a gateway or proxy for the corresponding transport protocol can be similarly used. in accordance with the preferred embodiments of the present invention, the gateway or proxy, such as the smtp gateway shown, is modified to support an analysis and filtering function at least with respect to email messages received from a communications network, such as the internet 22. thus, the uem client 28 operates to deliver filtered inbound email 30 messages to the email account users of the uem client 28′, while allowing, email outbound 32 from the uem client 28 sites to be passed to the internet 22 without delay. if a client site allows internal email messages to reach and be routed by the uem client 28, these messages are preferably treated as trusted and returned as part of the filtered inbound email 30 messages.
the modified smtp gateway utilized by the clients 14, 14′ of the present invention preferably also processes inbound email messages from the internet 22 by subjecting the messages to a multi-part analysis. in general, the signature record set produced by this analysis is then compared to the signature record sets retrievable from the client signature database 34. in general terms, if a signature-set match is found within predetermined tolerances, the message is filtered-out. more specifically, these comparisons enable the generation of similarity scores by evaluating the match rate of various subsets of signature records, combining the scores typically through an averaging operation, and potentially adding in additional signature characterizing values determined through the comparisons to reach a final similarity score for a signature record set. this final score is then compared against a preset threshold to finally determine whether the corresponding inbound message should be recognized or identified as a uem message and accordingly filtered.
in a preferred embodiment of the present invention, the filtering-out is performed by adding a defined uem notation, such as “spam,” to a standard header field, such as the subject line header, of the inbound message. alternately, a proprietary header field, possibly named “x-spam,” could be added to the inbound message. to prevent external interference with this alternative marking system, the name of any proprietary header field is specifically chosen not to correspond to any publically accepted or recognized header field name. preferably, though optionally, a numeric percentage value denoting the degree of certainty that the message is uem is added to the same header. this field value may be alternately presented as a defined word, such as “low,” “medium,” or “high,” where multiple thresholds are defined, to reflect the highest threshold value exceeded by the message content. thus, the absence of a uem notation in a specific header or a degree of certainty value of less than some defined percentage threshold value is preferably considered a non-uem message indicator. in order to avoid outside interference with this marking scheme, any uem notation or degree of certainty value present on an inbound message is removed or ignored.
conventional email-client applications can then further filter these uem marked messages directly into a trash queue or specifically segregated into some “suspected uem” inbound email queue that a user can later summarily review and clean as appropriate. where multiple threshold values are supported by the present invention, the email client readers may be configured to recognize each threshold value and apply a separate filter rule to specify a corresponding disposition for the differently identified messages.
finally, the uem server 16 preferably distributes 36 signature record sets as hot-updates to uem clients 28. thus, as updates are received by a uem client 28, the signature record sets are installed into the signature database 34 and immediately made available to the uem client 28 for use in evaluating email messages inbound from the internet 22. preferably, the hot-updating process is initiated by the uem server 16 on or in connection with determining that a newly generated signature record set is not currently present in the signature database 18. the immediacy of the distribution of these new signature record sets minimizes the exposure of the uem client system 14, 14′ sites to new, unidentified uem emailings. for practical purposes then, the exposure to such new uem emailings is determined by the delay between the beginning of a new uem mass-emailing and the first receipt of a corresponding uem message at a decoy email address. provided a sufficient number of decoy email addresses are published and harvested in advance of a uem mass-emailing, the detection and filtering-out of uem messages can easily be greater than 98% and, with tuning of the filtering operation of the server and client systems 12, 14, may very closely approach 100%.
a preferred embodiment of the uem server 12 is shown in greater detail in fig. 2a. an smtp server 42 receives the forwarded uem messages collected by the uem relays 20. the received messages are queued through a message collection queue 44 and a message normalizer 46. the collection queue 44 is provided simply to buffer a sequence of uem messages awaiting processing though the normalizer 46.
multiple forms: select the text/plain version.
(  &quot, etc.) to ordinary characters.
other forms: reduce to a plain text equivalent.
other form conversions may be similarly implemented as different forms are identified adopted for use in connection with email messages. for example, extensible markup language (xml) documents may soon be adopted for the transport of email content. in general, xml documents may be treated like hypertext markup language (html) documents, since both are derivative subsets of a broader document description standard known as standard generalized markup language (sgml). extensions to the html form conversions may need to be adopted to handle xml, though the goal of generally reducing the content to a plain text form remains.
case: content is converted to lowercase.
string and, therefore, are ignored.
the normalizations presented in table ii are the currently preferred set of such normalizations. additional normalizations may be developed, in a generally consistent manner, as uem vendors develop new methods of affecting the presentation of their uem messages in an effort to randomly vary the appearance of their messages to automated detection tools and, thereby, avoid detection as uem messages.
once normalized, a message is then passed to an array of algorithmic processors 48 1-n to generate signatures based on a variety of differently selected subsets of the message content. these subsets may be selected as named blocks, such as a particular header field, as non-overlapping blocks, such as lines, sentences and paragraphs, and overlapping blocks of words as may be selected through a sliding window. in the preferred embodiments of the present invention, the algorithmic processors implement computational, comparative, and other processes for generating signatures. computationally-based signatures are preferably digests or other mathematical operations that produce signatures representing some corresponding subset of the message content. many acceptable computational digests forms exist, including checksums, message digests, such as md5, and cyclic redundancy checks, such as crc-8 and crc-32. table iii lists a preferred set of the computational algorithms, employing a preferred checksum digest form, usable in connection with the present invention.
searching systems). this is a preferred algorithm.
multiple line breaks and blank lines.
combination in the original message content.
in the header fields of this message.
content, preferably exclusive of header fields.
preferably exclusive of header fields.
exclusive of header fields and blank lines.
of header fields and blank lines.
common words and numbers used in uem messages.
numbers, postal addresses, and urls.
determined against a common word-dictionary.
excluding stop-words given by a predefined list.
that also appear in the master word group list.
a range of 0.25 and 2 points.
in a range of 0.25 and 2 points.
such as in a range of 0.25 and 3 points.
the array of algorithmic processors 48 1-n preferably operate in parallel to generate a full signature record set of signatures based on a particular message. each of these signatures is then passed to a final analysis processor 50 that composes a corresponding signature record set. before storing the newly constructed signature record set to the signature database 18, the final analysis processor 50 preferably scans the signature record sets previously stored in the signature database 18 to determine whether a corresponding signature record set already exists in the signature database 18. the determination made is preferably whether or not there is a sufficient calculated degree of similarity, represented as a score, between the newly generated signature record set and those prior stored in the signature database 18.
generally, where the similarity score produced by the comparison scan is above a pre-set threshold, the newly generated signature record set or a variant thereof is considered to already exist in the signature database 18. the newly generated signature record set is therefore discarded. conversely, if the threshold level is not met, the newly generated signature record set is finalized and stored to the signature database 18.
in the preferred embodiment of the present invention, the comparison scan operates to compare a subset of the signatures taken from the newly generated signature record set with those present in the signature database 18. this comparison is constrained to only comparing signatures that are generated using the same algorithm. thus, for example, a signature newly generated using a three-word sliding window algorithm is only compared against signatures in the database 18 that were previously generated using the same three-word sliding window algorithm. for the preferred embodiment then, no comparison correlation is made or respected between the newly generated signature record set, as a whole, and any prior stored signature record set. alternate embodiments of the present invention may determine correlations based on a signature record set basis to obtain a possible higher level of validity to the matches made, but at greatly increased computational requirements. in either case, the count of comparison matches to comparisons made yields a ratio value on a per algorithm basis. a degree of similarity score is then produced from a preferably mathematically based combination of the ratio values.
in greater detail with reference to fig. 2b, the determination process begins with the final analysis processor 50 first operating to select subsets of the signatures generated by several of the different algorithmic processors 48 1-n from the newly generated signature record set 56. the total number of signatures selected, the algorithms for which signatures are selected, and the number of signatures selected corresponding to a particular algorithm are preferably determined empirically. for example, one algorithm applied to an email may produce 200 signatures. a representative set of these signatures, for purposes of comparison, may be a randomly selected set of 10 or 20 signatures. thus, the comparison scan may only employ 10 signatures generated by a three word sliding window algorithm, 15 generated by a line-selection algorithm, and 5 generated by a unique word selection algorithm. the selected signatures are then compared via a comparative analysis block 58 against signatures of like generated signature records retrieved from the signature database 18.
score. this is a preferred algorithm.
together to provide a signature-set comparison score.
a predefined threshold similarity level, preferably programmable and stored by the final analysis processor 50, is then used to determine whether the currently generated signature record set should be stored to the signature database 18. if the degree of similarity computed for a newly generated signature record set is below the threshold, the record set is stored. otherwise, the signature record set is discarded. for example, the newly generated signature record set 56 may include signatures generated by four algorithms, with each algorithm generating ten checksum signatures. the signature record sets previously stored in the signature database 18 may include signatures produced by four or more algorithms though including at least the four algorithms used in generating the current generated signature record set 56. if the comparisons between the signatures, on a per-algorithm basis, produce ratio match values of 8, 7, 9, and 5, the resulting degree of similarity score, using averaging, is 72.5%. using differential averaging, the degree of similarity score is 75%. finally, if the predefined threshold similarity level is set to 75%, inclusive, the newly generated signature record set 56 would be stored to the database 18 if the degree of similarity determination is defined as using averaging. where the degree of similarity determination is defined as using differential averaging, the current generated signature record set 56 would be considered to be a sufficiently close variant of a prior recognized uem message and, therefore, would be discarded.
in each case, however, a date/time-stamp is effectively updated for any signature prior stored in the signature database that matched a signature during the comparison scan. thus, for preferred embodiments of the present invention where signatures are aged and progressively removed from the signature database 18, updating of the signature date/time-stamp values allows the signature database 18, as a whole, to track with the progression of variants of uem received by the server 12.
finally, in arriving at a similarity score, the use of only a subset of the signatures generated by the array of algorithmic processors 48 1-n for comparison against those stored by the signature database 18 serves a number of related purposes. by introducing an unpredictable variation in the particular set of signatures that will ultimately be used in screening received email messages, uem vendors are unable to discern or reliably predict the essential criteria that would result in an email being compared and determined to be uem. additionally, using a subset whose algorithmic composition may equally change unpredictably, the introduction of new and additional algorithms is hidden from any uem vendor who may try to discern or reliably predict uem detection criteria.
an alternate preferred embodiment of the examination process is detailed in fig. 2c. the final analysis processor 50 operates to compare the current signature record set 56, as generated by the algorithmic processors 48 1-n, against a currently selected signature record set 57, previously stored in the signature database 18. the two signature record sets are preferably arranged, at least logically, into signature subsets 56 1-n and 57 1-n. each of the signature subsets 56 1-n contains the set of signatures produced by a respective algorithmic processor 48 1-n. likewise, the signature subsets 57 1-n contain the sets of signatures earlier produced by respective algorithmic processors 48 1-n.
a comparative analysis block 58 preferably receives each of the signature subsets 56 1-n, 57 1-n and performs signature comparisons between the paired subsets 56 1-n, 57 1-n that correspond to a respective algorithmic processor 48 1-n. as between algorithm matched subsets 56 x, 57 x, each signature in the subset 56 x is compared to each signature in the subset 57 x. subset totals of the number of identity signature matches and non-matches found are kept for each algorithm matched pairing of the subsets 56 1-n, 57 1-n. the resulting totals are then passed to a match analysis block 59 for a determination of whether to discard the signature record set 56 as being identical or sufficiently similar to a signature record set 57 already present in the signature database 18.
referring again to fig. 2a, the empirical selection of signatures for use in the comparison is preferably performed by an administrator through a local manager 52. this local manager 52 may be an administrative console attached to the server 12 or a separate administrative system. preferably, the local manager 52 also operates to monitor the operation of the server 12 including generation of statistical and summary reports reflecting the operation of the server 12. the local manager 52 is also preferably responsible for establishing an aging algorithm for retiring signatures and potentially entire signature record sets from the signature database 18. since only one or a small set of typically less than ten signature record sets are required to identify a particular uem message and related variations, the storage capacity requirement for the signature database 18 16 is not great. however, individual uem mass mailings tend to occur over relatively short periods, typically 1 to 5 days. therefore, corresponding signature record sets can be considered to have a similarly limited effective life-span. preferably then, the aging algorithm maintains signatures in the signature database 18 for an empirically selected aging period that may lost from one day to several weeks, with a preferred period of a few days, such as two to five days. the removal of signatures is accomplished by a periodic scanning of the signature database 18 and removing signatures whose date/time-stamps are older than the currently defined aging period.
the algorithmic processors 48 1-n that are not selected to produce signatures for new signature record sets preferably continue to generate signatures. the operation of such algorithmic processors 48 1-n is preferably maintained for a period of time at least equal to the aging period. alternately, when an algorithm is retired, the signatures created using that algorithm are removed from the signature database. this tends if not actually ensures that signatures are retired before the corresponding generating algorithm is retired. thus, the signatures generated against any given message are a proper superset of those stored by the signature record sets in the signature database 18 at any given time. the scan of the signature database 18 by the final analysis processor 50 for a matching signature record set can be performed irrespective of the particular subset of signatures selected for use in the current generation of signature record sets.
when a newly generated signature-set is finally identified by the final analysis processor 50 as representing a sufficiently different uem message, the current generated signature record set is stored in the database 18. this record set as stored may include tuples storing a particular signature value and a versioned identification of the particular algorithm used to generate the signature. the date/time-stamp and other, optional data is preferably stored with the signature value at this time. the other data may include signature record generation dates, other data identifying or characterizing the signature or some aspect of the content from which the signature was generated, and data that may be used in support of the aging of the signature, the associated signature record, or full signature record set.
the signature record set is also provided to an update manager 54 for use in a hot update of the client systems 14, 14′. in the preferred embodiments of the present invention, the operation of the update manager 54 is ultimately defined by the local manager 52 and administrator. preferably, this defined operation is a relatively continuous process of serving hot updates of newly identified signature record sets to the client systems 14, 14′. this is desired in order to minimize the latency from the first receipt of a message from a new uem mailing campaign to the updating of the client systems 14, 14′.
in a preferred embodiment of the present invention, the hot updates are dynamically sourced by the update manager 54 over the internet 22 to the client systems 14, 14′. a conventional hot update system and proprietary communications protocol may be used. a hot update message will likely contain a single signature record set and, therefore, may be relatively small and quickly delivered. the record set size may be further reduced by sending only those signatures that did not match against the signature database 18 and updated date/time-stamps for those that did match. a hot update message may also include new or updated algorithms for use by the client systems 14, 14′. that is, any time a new or modified algorithm is adopted by the server 12 for use by one of the algorithmic processors 48 1-n, the algorithm is concurrently provided to the clients 14, 14′. preferably, the hot update communications protocol is secure, such as through the use of an encryption protocol, to protect the content of the hot updates.
referring now to fig. 3, the client system 14, representing the client systems 14, 14′, is shown in greater detail. a smtp proxy server 60 is installed in place of a conventional smtp server 62 that is used as an email routing relay for a community of users1-n 64. in a preferred embodiment of the present invention, the smtp proxy 60 operates to route email messages inbound from the internet to a white list processor 66. a white list 68, which is accessible by the white list processor 66, is managed by a local manager 70 under the control of a client site administrator. this local manager 70 may be an administrative console attached to the server 14 or a separate administrative system. preferably, the local manager 70 also operates to monitor the operation of the server 14 including generation of statistical and summary reports reflecting the operation of the server 14. using the local manager 70, the client site administrator can manage a set of white list entries, typically consisting of some set of domain names and email addresses corresponding to sites and individual correspondents that are trusted not to be a source or forwarder of uem messages. thus, the white list processor preferably operates to examine each message received from the smtp proxy to determine if the “from:” domain or email address is on the white list 68. if present, the message is passed directly to the smtp server 62 for eventual distribution to an end-user 64.
all other inbound email messages are next passed, in a preferred embodiment of the present invention, to a hold queue 72. a uem detection processor 74 operates on messages as entered into the hold queue 72 to determine whether the message corresponds to any signature record set stored in a client signature database 76. this detection process is performed generally in three steps: first, a client signature record set, reflecting the contents of a particular queued message, is generated and a scan comparison is made between a signature-set of the client signature record set and the signatures stored in the signature database 76; second, a similarity score is generated for the client signature-set; and third, a preferably threshold-based determination is made to determine whether the similarity score credited to the client signature record set is sufficient to consider the corresponding email message to be a known uem message.
preferably, the generation of the client signature-set is performed by an array of algorithmic processors, provided within the uem detection processor 74, that is essentially identical to the array 48 1-n. the uem detection processor 74 also effectively includes at least that portion of the final analysis processor 50 that operates to collect the signatures generated by the array 48 1-n, accesses the signature database 18, and performs the scan comparison to identify matching signatures in order to generate a similarity score, essentially in the same manner as performed by the server 12. this includes determining the ratio of matching checksum signatures found, normalizing, as appropriate, the ratio identity value, and adding any “adder” values to determining a final similarity score, as described above in connection with the operation of the final analysis processor 50.
finally, based on the generated score, a client-site determination is made as to whether a scored message is a uem message. in preferred embodiments of the present invention, a score threshold value is established by the client site administrator through a local manager 70. messages having scores higher than the threshold value are considered to be uem messages and dealt with in a manner determined by the client site administrator. preferably, the options are to drop the uem messages completely, to distinctively mark the message as uem and thus delegate the further handling of the messages to the user-client email client applications, and to maintain a uem message in the hold queue 72 pending review by the client site administrator.
preferred embodiments of the present invention allow the client site administrator to set and manage through the local manager 70 multiple threshold values to support discrimination between different handling options. for example, a high threshold may be set to immediately drop uem messages detected with a very high degree of certainty. one or more intermediate threshold values can be set to filter between messages that should be marked differently as uem messages, such as with different rating numbers reflecting different likelihoods that the message is uem. a low threshold value may be set to filter for all messages that are at least above a suspect threshold as bing uem messages.
an algorithm set store 78 is preferably used to manage the current set of algorithms usable by the uem detection processor 74. both the signature database 76 and algorithm set store 78 are preferably hot-updateable from the server 12. in preferred embodiments of the present invention, the hot-update protocol is used to access a secure internet port 80 on the client system 14 and transfer updates to the local manager 70. in turn, the local manager 70, in a preferably automated process, stores the signatures of new signature record sets in the signature database 76 and new and updated signature algorithms, including their related parameters, in or through the algorithm set store 78.
the hold queue 72 can also be used to implement a delay function. in an alternate preferred embodiment of the present invention, the examination of messages entered into the hold queue 72 may be intentionally delayed. by forcing a delay before the uem detection processor 74 begins the evaluation of a message newly entered into the hold queue 72, an opportunity is provided for the server 12 to notice any newly started uem mass emailing and to generate and distribute corresponding signature record sets to the client systems 14, 14′. preferably, the delay imposed is a variable parameter that can be set by the client site administrator though the local manager 70. in preferred embodiments of the present invention, the period of the delay may be set between 0 and 30 minutes, with a typical setting of between 5 and 15 minutes.
in a presently preferred embodiment of the present invention, however, the delay is set at 0 provided a sufficient number of decoy email addresses have been deployed for a period of time sufficient to expect that many have been harvested. as a result, there is a substantial statistical chance that a decoy address will be in the first 1 to 5 percent of the email addresses used in a new uem mass mailing campaign. given that the latency of the server 12 in generating a corresponding and distributing a new signature record set, plus the latency of the clients 14, 14′ in installing the signature record set, is relatively small in comparison to the progression of a uem mass mailing, the clients 14, 14′ will be updated in time to block at least 90% of any new uem messages. a quite reasonably expected blockage rate of 98% is attained. this number is reached by assuming that the number of decoy addresses are sufficient to reasonably have the occurrence of a decoy address within the first 1% of the uem mass mailing and assuming that the combined server 12, client 14, 14′ latency only allows another 1% of the uem mass mailing to be delivered without detection. even with a successful delivery rate of 10%, however, most uem vendors should find that their uem mass mailings are prohibitively ineffective to pursue.
fig. 4 details, in flow diagram form, the process 100 of creating a signature record set by a server system 12 and scoring a message by a client system 14, 14′. although performed for different ultimate purposes by the server 12 and client 14, 14′ systems, the process 100 nonetheless utilizes substantially the same steps. the process 100 begins with a single message, which is first converted 102 to a plain text form (table i) and then normalized 104 to conform (table ii) the content to a standard presentation. the message content is then evaluated through computationally based algorithms 106, weight-based algorithms 108, and any other algorithms 110.
the computationally based algorithms 106 (table iii) include text block 112, chunking 114, selected text 116, and other 118 algorithms that operate to generate signatures based on a computation, such as checksums. weight oriented algorithms 108 (table iv) include improper field checking 120, count-based signatures 122, and other algorithms 124.
the use of the process 100 by a server system 12 next collects 126 the various generated signatures into a newly generated signature record set. a determination then made to store the signature set record in the database 18 where a generated similarity score is below a pre-set threshold. when a record set is stored to the database 18, the signature record set is stored and hot updated to the client systems 14, 14′. changes in the current set of algorithms used, scoring parameters, and other data used by the algorithmic processor array 48 1-n are also included in the hot update.
the process 100, as used by the client systems 14, 14′, preferably relies on the scoring parameters provided for the specific algorithms 112-124 to determine the similarity score for the message being evaluated. the computational 128 and weighted adds 130 components of the score are tallied and then combined 132 to produce a final similarity score for the message. based on pre-established score thresholds, a score comparision 134 is performed and an appropriate action is then taken, such as dropping the message or marking the message with a relative indicator of the likelihood that the message is a uem message.
thus, methods and a system for identifying uem messages and supporting the filtering of such messages from the desired stream of inbound email has been described. while the present invention has been described particularly with reference to the filtering of electronic mail, the present invention is equally applicable to other and future forms of communications that operate on the basis of distributed public addresses for user-to-user communications.
in view of the above description of the preferred embodiments of the present invention, many modifications and variations of the disclosed embodiments will be readily appreciated by those of skill in the art. in particular, the nature of the content normalization processes may be readily adapted to handing other and new content presentation conventions and may be adjusted to convert message content to a defined form other than plain/text. additionally, the algorithms may be permuted in various manners to provide a renewable source of different distinct signatures and new algorithms, provided they create reproducible signatures, may be introduced at any time. also, uem should not be construed as restricted to just email transported by the simple mail transfer protocol (smtp). rather, uem should be understood to include other message types where a server or proxy can be placed or executed in the transport path of these messages. it is therefore to be understood that, within the scope of the appended claims, the invention may be practiced otherwise than as specifically described above.
d) second determining whether said score value is greater that a predetermined threshold value, whereby said email message is qualified as unsolicited email.
wherein said step of performing performs said lookup of signatures by looking up signatures of said first said signature set against said first plurality of said reference signatures and by looking up signatures of said second said signature set, respectively by like predefined location, against said second plurality of said reference signatures.
3. the method of claim 2 wherein said step of first determining determines said score value for said received email message based on a calculated signature match value for each like pairing of said signatures between said first said signature set and said first plurality of said reference signatures and between said second said signature set and said second plurality of said reference signatures.
brightmail, inc., internet services providers and enterprise messaging industry rally . . . , mar. 29, 1999.
brightmail, inc., prominent industry leaders support brightmail's new solution to fight spam, jul. 20, 1998.
gartner consulting, isps and spam: the impact of spam on customer retention and acquisition, jun. 14, 1999.
hoffman, unsolicited bulk email: definitions and problems, oct. 5, 1997.