Patent Publication Number: US-7908330-B2

Title: Message auditing

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation and claims the priority benefit of U.S. patent application Ser. No. 10/387,352 filed Mar. 11, 2003 and entitled “Message Challenge Response.” 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to electronic messages. More specifically, a technique for avoiding spam emails is described. 
     BACKGROUND OF THE INVENTION 
     Electronic messages have become an indispensable part of modern communication. Electronic messages such as email or instant messages are popular because they are fast, easy, and have essentially no incremental cost. Unfortunately, these advantages of electronic messages are also exploited by marketers who regularly send out unsolicited junk messages (also referred to as “spam”). Spam messages are a nuisance for users. They clog people&#39;s email box, waste system resources, often promote distasteful subjects, and sometimes sponsor outright scams. 
     To reach a broad audience, the senders of spam (also referred to as “spammers”) usually generate a huge amount of messages using automated computer programs. There are many existing techniques for filtering spam messages, some of which attempt to identify machine generated messages and block them. Upon receiving a message, the recipient may issue a challenge that is difficult for a computer to answer but easy for a person. For example, the challenge may include a picture of three objects, with the question “how many objects are in the picture?” The sender needs to choose three from a number of available answers and send the answer to the recipient. This type of question, referred to as a human answerable question, is difficult for machines to answer correctly but easy for human beings. The reply is then examined by the recipient&#39;s computer. The message is delivered to the recipient if the answer is correct, and processed as spam otherwise. This type of challenge/response scheme incurs significant overhead in for the sender of the email, making email no longer “free” and therefore more difficult for the spammers. 
     The challenge/response scheme described above is effective for blocking spam messages, but has many drawbacks. For example, since the message is not delivered until the challenge is answered, long delays may result if the sender is not available to answer the challenge right away. Also, the scheme is inconvenient for legitimate users that need to send out messages to new addresses often, for example a business that has many new clients. It would be desirable to have the benefit of the challenge/response scheme for spam blocking purposes, but does not result in long delays in message delivery or excessive burden for the sender. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which: 
         FIG. 1  is a block diagram illustrating a challenge/response system that includes a third party. 
         FIG. 2  is a flowchart illustrating an exemplary challenge/response process. The process begins when mail sender  100  sends a message to mail receiver  102  ( 200 ). 
         FIG. 3  is a flowchart illustrating how mail sender  100  handles a challenge, according to one embodiment of the present invention. 
         FIG. 4  is a flowchart illustrating the audit process according to one embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, or a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links. It should be noted that the order of the steps of disclosed processes may be altered within the scope of the invention. 
     A detailed description of one or more preferred embodiments of the invention is provided below along with accompanying figures that illustrate by way of example the principles of the invention. While the invention is described in connection with such embodiments, it should be understood that the invention is not limited to any embodiment. On the contrary, the scope of the invention is limited only by the appended claims and the invention encompasses numerous alternatives, modifications and equivalents. For the purpose of example, numerous specific details are set forth in the following description in order to provide a thorough understanding of the present invention. The present invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the present invention is not unnecessarily obscured. 
     An improved email registration system is disclosed. In this specification, email registration is used to refer to any process, task, or other requirement placed on a sender of an email (or the system that sent the email) to allow the email to be delivered. One type of registration is challenge/response, as described above. Once the challenge is sent and the response is correctly returned, the email is successfully registered so that it can be delivered. Other emails from the same sender or associated with the sender in some way may also be concurrently or subsequently delivered as a result of the registration. 
     Several improvements to existing human answerable challenge/response processes are disclosed. An auditor is included in the challenge/response architecture that simplifies the response procedure and optionally monitors and approves responses. A machine answerable challenge is used that is directed to a module on a mail sender that is configured to receive and answer the challenge. The challenge may require a small but nontrivial amount of processing by the mail sender so that an entity sending millions of mails to addresses for which it has not registered would be taxed by the process while a normal sender would be relatively unburdened answering only challenges to register with new recipients. The machine answerable challenge may also include a human answerable element. In some embodiments, registration is accomplished using a modified challenge wherein no response is required for registration. 
     As used herein, an email sender may refer to any individual, device, organization or other entity that is associated with the sending of an email. Such an entity may be identified in any manner that is appropriate for a given application. For example, the sender may be identified by an email address, a domain name, an IP address or other identifier that identifies a mail server or other source of the email. When a sender is registered, the registration may be only valid for the specific email that was challenged in some cases. More likely, the sender wilt be listed as a valid sender (“whitelisted”), or at least as a sender that can respond to challenges. Email from whitelisted senders may be delivered without further testing or challenges in some cases. The “sender” or entity that is whitelisted may include just the source email address or the all addresses in the domain of the source email address or any other relevant set of entities identified in any useful manner including by mail server or IP address. The registration of a sender may be sufficient of itself to authorize delivery of an email or group of emails, or the registration may be a factor considered in classifying the email along with other factors. 
       FIG. 1  is a block diagram illustrating a challenge/response system that includes a third party. Mail sender  100  and mail receiver  102  include software and/or hardware capable of sending and receiving messages. Mail sender  100  and mail receiver  102  may be either clients or servers, depending on how a given mail system is configured. They may be stand alone programs or systems, or plug ins that are parts of other programs or systems. A message is sent from mail sender  100  and is received by mail receiver  102  for an intended recipient. If mail receiver  102  determines that the message may possibly be spam, it generates a challenge and sends the challenge to mail sender  100 . 
     In some embodiments, mail sender  100  automatically processes the challenge, generates a response, and sends the response to auditor  104 . In some embodiments, mail sender  100  alternatively lets the user manually answer the challenge, then generates a reply based on the answer and sends the reply to auditor  104 . The auditor is a third party server that independently verifies the reply and sends a report to mail receiver  102 . In some embodiments, the auditor resides on the same device as mail receiver  102 , and is able to communicate the verification results to mail receiver  102 . 
     The auditor provides several improvements to the challenge/response process in various embodiments. First, the process of responding to a challenge is simplified in some embodiments by providing in the challenge one or more links to a web server maintained by the auditor. For example, multiple links may be provided, each corresponding to a possible answer. Thus, only one action, selection of the correct link, is required of the sender to manually respond to a challenge. In addition, the auditor, because it sees all challenge/responses, can detect patterns in responses such as many responses coming from the same domain and determine if a spammer is attempting to defeat the system. If such an event is detected, then the auditor can determine not to authorize delivery in its report to mail receiver  102  or send additional information along with its report to mail receiver  102  identifying the message as probably spam to facilitate mail receiver  102  further analyzing the message and making a correct classification decision. It should be noted that the report from the auditor can be used as a factor in the mail classification decision made by the mail receiver and that the auditor report does not necessarily solely determine the classification. 
     In some embodiments, the challenge includes a machine answerable question that is more easily answered by a machine than a human. For example, the challenge may include a problem that requires extensive computation or searching to solve. Mail sender  100  is capable of monitoring incoming challenges and automatically answering the machine answerable question. Thus, problems associated with having a person answer the challenge questions are overcome. However, if spammers could copy the portion of the mail client that answers challenges and then answer challenges in an automated fashion without incurring any penalty, they could possibly defeat the challenge/response system. 
     The machine answerable challenge is designed such that to process and answer the challenge, a nontrivial amount of resources is consumed. A nontrivial amount of resource is defined as an amount of resources that is small in a single instance, but when many instances (on the order of 1000) of such nontrivial amounts are added together, the collective amount of resource is large enough to incur significant costs. A nontrivial amount of system resource may have a small impact on the system in a single instance but may impact the system&#39;s operations significantly when many instances are added together. As computer systems increase in speed, the amount of processing that would be required to be nontrivial would increase as well. 
     The nontrivial amount of resources may be adjusted as desired in a specific system, but generally is greater than the minimum amount of resource necessary to generate a properly formatted reply message. The impact of consuming a nontrivial amount of resource for processing a challenge, or even several challenges, is relatively small and does not affect a regular user very much. However, for a spammer who sends out millions of spam messages, the number of challenges he receives would be on the order of thousands and therefore the collective resource consumed in handling the challenges would be significant. By associating a small cost with every response to a challenge, the improved challenge/response system makes it more difficult for the spammers to successfully deliver large amounts of email. 
     Many different types of resources are applicable. For example, the challenge question may be processing intensive, and the resource consumed is CPU cycles. In one embodiment, the challenge question asks how many prime factors are in a very large integer. The algorithm used to calculate the number of prime factor is computationally intensive, and takes between a fraction of a second to a few minutes to run. While the machine is answering a challenge and performing the computations, it may slow down a bit, but the overall performance of the system does not appear to change very much to the sender who&#39;s using the computer. On the other hand, if a spammer receives thousands of challenge messages back, the amount of CPU cycles needed to process the challenges would significantly slow down the spammer&#39;s computer system, thus hampering the spammer&#39;s operations. In different embodiments, the machine answerable question consumes various types of resource, such as memory and system resources. 
     One advantage of the number of prime Factors question is that it lends itself to a multiple choice answer. The correct answer may be, for example, three, and that may also be the answer to an alternative question that a user may answer relating to the number of objects in a graphic image. Other computationally intensive challenges are used, such as asking for two prime factors of a large number. The amount of resources may be adjusting the size of the number that must be factored. 
     In some embodiments, the resource is money. Small amounts of money (also referred to as micropayments) are required in the response process. In one embodiment, the sender&#39;s response to a challenge authorizes the auditor to collect a small micropayment that would be insignificant unless a very large number of responses are sent. The system may be structured so that the sender has some money deposited in an escrow account, and a small amount of money is deducted every time he answers a challenge. Alternatively, the response may authorize payment and the sender is billed if a significant payment accrues. 
     In some embodiments, the resource is some type of rights such as licensing rights. For example, a legal copy of the mail client may only be able to answer a limited number of challenges within a period of time. Since it is unlikely that spammers would actually acquire a large number of legal licenses for the mail client, they would not be able to legitimately send out large quantities of spam. 
     It should be noted that the various embodiments of nontrivial response costs may be used with the architecture shown in  FIG. 1  or in an architecture that does not include the third party auditor. For example, if factoring a large number is used, the mail receiver may multiply two primes, store the factors along with an identifier for the email, and wait to determine whether the proper response is received from the mail sender. 
       FIG. 2  is a flowchart illustrating an exemplary challenge/response process. The process begins when mail sender  100  sends a message to mail receiver  102  ( 200 ). Upon receiving the message, mail receiver  102  sends a challenge to mail sender  100  ( 202 ). The challenge includes the question or problem, as well as a mail identifier so that if a response is received, it can be matched with the correct mail message and the corresponding challenge. Meanwhile, the message is kept in a temporary location, such as a temporary folder. 
     Mail sender  100  includes special software or hardware that enables it to answer the challenge question automatically. Mail sender  100  receives the challenge ( 204 ), processes the challenge to determine the correct response, and sends a reply that includes the response and the mail message identifier to the auditor ( 206 ). In different embodiments, the auditor may either be on a separate device or on the same device as mail receiver  102 . In the embodiment shown, the auditor is third party software that resides on a server separate from mail receiver  102 . 
     The auditor receives the reply from mail sender  100  and performs an auditing process on the reply ( 208 ). The auditing processing of the mail client by the auditor varies for different embodiments and is described in detail later. The auditor generates a report based on the processing results and sends the report to mail receiver  102  ( 210 ). In some embodiments, the report is an email message. The report may also be an http request or may be sent using any appropriate communication link between the auditor process, and the email delivery process. The report may include the status of the sender&#39;s address and/or information regarding whether the answer to the challenge question is correct. In some embodiments, the auditor leaves the answer verification up to mail receiver  102  and includes the answer received from mail sender  100  in its report to mail receiver  102 . Alternatively, the auditor may evaluate the response from the mail sender and send either an authorization for the mail message or a confirmation that the mail message is spam. 
     Based on the report from the auditor, mail receiver  102  processes the original message ( 212 ). In some embodiments, the processing includes verification of the reply received from mail sender  100 . In some embodiments, the processing also includes classifying the message. For example, if the message is not from a known spammer and the answer to the challenge is correct, the original message is moved from the temporary location that stores the message to the recipient&#39;s inbox; otherwise, the message is considered spam and is deleted. Mail receiver  102  then further processes the report from the auditor, if necessary, and deletes the report ( 214 ). 
       FIG. 3  is a flowchart illustrating how mail sender  100  handles a challenge, according to one embodiment of the present invention. The process begins when mail sender  100  receives a message from mail receiver  102  ( 300 ). It is then determined whether the message is a challenge ( 302 ), using techniques such as analyzing the header and/or the body of the message. 
     If the message is determined not to be a challenge, the processing stops ( 303 ); otherwise, the message is further processed. The message is parsed ( 304 ), and then analyzed to locate the question ( 306 ). In one embodiment, the challenge is formatted as a Hypertext Markup Language (HTML) document, and an attribute marked with an HTML tag &lt;alt&gt; is used to store the question. The text following the &lt;alt&gt; tag is a large integer, and the question is to determine the number of prime factors in this large integer. The mail client then proceeds to answer the question ( 308 ). For questions such as the prime factor question, the mail client uses built in functions to automatically perform such computation. 
     Since computing the prime factors of a sufficiently large number is a computationally intensive process, it takes the mail client a nontrivial amount of time to arrive at the correct answer. A reply that includes the answer is then formatted ( 310 ) and sent to the auditor ( 312 ). In this embodiment, to format the reply, a universal resource locator (URL) of the auditor is found in the challenge. An HTTP request that includes the auditor URL, the message identifier of the challenge, the answer and the address of the original sender is formatted and sent to the auditor. In other embodiments, other appropriate protocols are used to format the response. 
       FIG. 4  is a flowchart illustrating the audit process according to one embodiment of the present invention. In this embodiment, the auditor is a third party that resides on a server separate from the mail clients. The process begins when mail sender  100  sends its reply to the auditor ( 400 ). The auditor receives the reply ( 402 ), and performs processing including parsing the reply ( 404 ) and locating information within the reply ( 406 ). 
     In some embodiments, the auditor uses the information to perform optional verification steps ( 408  and  410 ). The message identifier (ID) of the original message is checked by the auditor to verify that the reply is not fake ( 408 ). The auditor verifies the answer to the question and determines whether the answer is correct ( 410 ). 
     Based on the processed results, the auditor creates a report and sends the report to mail receiver  102 . In one embodiment, the report is an HTTP request that includes the message identifier, the original sender, and the answer to the challenge. In other embodiments, the report gives an instruction to classify the message or a probability that the message should be classified in a certain way. The report may also provide further information about the message and the results of the challenge/response process. 
     Specialized software code or a hardware component is used by mail sender  100  to automatically answer the challenge question. However, a given message sender may not have a mail client capable of automatically answering the challenge question. To make the challenge answerable even when the mail client does not have the answering feature, in some embodiments, a human answerable question, such as previously mentioned question concerning the number of objects in a picture, is also included in the challenge. As noted above, the correct answer to the human answerable question may match the correct answer to the machine answerable question. 
     A sender&#39;s reply is generated based on the answer selected by the sender. The reply may be sent to the mail receiver directly, or sent to a third party auditor that verifies the reply and generates a report to the mail sender to aid in classifying the message. In one embodiment, the challenge is formatted as an HTML document, with answers embedded as URL links. Selecting the correct answer causes an HTTP request to be sent, where the HTTP request may include information about the answer, the message identifier of the original message, information about the original sender, or combinations thereof. Embedding the answers as links to a web server maintained by the auditor simplifies the response process for the mail senders and allows the response to be generated by a single “click” or selection. 
     Many spammers send so many messages that it is not practical for them to receive responses at all of the email addresses that they have generated. If an email challenge is sent to in response to such a spam message, that challenge will often bounce. This fact is the basis of a null challenge used in one embodiment. The null challenge simply sends a reply to the mail sender&#39;s email acknowledging receipt of the email or including some other message, but without inviting a response. If the reply from the mail receiver is delivered successfully and no error message is received within a certain period of time, then the mail receiver considers the challenge to have been successful. Thus, the null challenge simply pings the mail sender to make sure the from address in the message is a valid address where mail may be sent. The null challenge does not provide the same level of security as a challenge that requires computational resources to generate a response or a challenge that requires a human response, but since many spammers do not provide resources to accept reply messages at all of the addresses they use, the null challenge helps to classify many messages. 
     Other variations of the architecture and processes described are used in other embodiments. For example, it may not be desirable to send a challenge directly from the mail receiver to the mail sender, since that would confirm receipt by the sender. Instead, the challenge may be sent from the auditor to the sender on behalf of the receiver. The auditor monitors the response and sends the report including results or instructions to the mail receiver. 
     Improved registration of a sender of electronic messages has been described. The improved registration system enables mail senders to respond to challenges efficiently while deterring spammers. Registration may be accomplished by various techniques, including challenge and response. In some embodiments, the challenge includes a machine answerable question that requires a nontrivial amount of resource to answer The need for a human response in all cases is eliminated, while still making it impractical for a spammer to respond to a large number of challenges. The difficulty of the challenge may be adjusted to an appropriate level to deter spammers but not require too many resources from a legitimate sender. The challenge may alternatively include a human answerable question. An auditor is integrated into the challenge/response system that simplifies the response process. The auditor may also provide additional analysis and reporting to the mail receiver, and may help avoid having the mail receiver interact directly with the mail sender. In some embodiments, the challenge requires only that it be accepted by the mail sender and that an error message not be generated in response to the challenge. 
     Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. It should be noted that there are many alternative ways of implementing both the process and apparatus of the present invention. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.