# Patent

## Title
System, method and computer program product for gathering information relating to electronic content utilizing a DNS server

## Abstract

A system, method and computer program product are provided. In use, a checksum associated with electronic content is calculated. Further, a domain name service (DNS) server is queried utilizing the checksum. In response to the query, information is received from the DNS server which relates to the electronic content.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation (and claims the benefit of priority under 35 U.S.C. §120) of U.S. patent application Ser. No. 11/351,840 filed on Feb. 9, 2006 entitled “SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR GATHERING INFORMATION RELATING TO ELECTRONIC CONTENT UTILIZING A DNS SERVER.” The disclosure of the prior application is considered part of (and are incorporated herein by reference) the disclosure of this application.


FIELD OF THE INVENTION
The present invention relates to electronic content, and more particularly to gathering information relating to electronic content.
BACKGROUND
The Internet is constantly growing in popularity, and more and more people are conducting business over the Internet, advertising their products and services by generating and sending electronic mass mailings. This electronic mail (e-mail) is usually unsolicited and regarded as nuisances by the recipients because they occupy much of the storage space needed for necessary and important data processing.
Therefore, it is highly desirable to have a filter system for screening and managing unwanted e-mails (and other electronic content, for that matter), while desired e-mails pass through the system to reach the recipients. Presently, there are products that are capable of filtering out unwanted e-mails, etc.
For example, one method exists which keeps an index list of all agents (e.g. companies, origination addresses, etc.) that generate mass unsolicited e-mails, and provides a mechanism to block any e-mail sent from each agent on the list. Another filter currently available employs filters which are based on predefined characteristics [e.g. words, uniform resource locators (URLs), patterns, etc.]. An incoming e-mail may thus be designated as an unwanted e-mail if, for example, it contains one or more of such characteristics.
In order to be effective, the aforementioned lists and/or characteristics must be constantly updated in order for the foregoing systems to be effective. Currently, these updates are streamed out to filtering systems at regular, predetermined intervals, and are streamed in their entirety. Unfortunately, this can result in considerable use of network bandwidth and/or other resources.
There is thus a need for overcoming these and/or other problems associated with the prior art.
SUMMARY
A system, method and computer program product are provided. In use, a checksum associated with electronic content is calculated. Further, a domain name service (DNS) server is queried utilizing the checksum. In response to the query, information is received from the DNS server which relates to the electronic content.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a network architecture, in accordance with one embodiment.
FIG. 2 shows a representative hardware environment that may be associated with the server computers and/or client computers of FIG. 1, in accordance with one embodiment.
FIG. 3 shows a method for gathering information relating to electronic content, in accordance with one embodiment.
FIG. 4 illustrates a method for gathering information relating to electronic content, in accordance with another embodiment.
FIG. 5 illustrates a data structure for gathering information relating to electronic content, in accordance with another embodiment.



DETAILED DESCRIPTION
FIG. 1 illustrates a network architecture 100, in accordance with one embodiment. As shown, a plurality of networks 102 is provided. In the context of the present network architecture 100, the networks 102 may each take any form including, but not limited to a local area network (LAN), a wireless network, a wide area network (WAN) such as the Internet, peer-to-peer network, etc.
Coupled to the networks 102 are server computers 104 which are capable of communicating over the networks 102. Also coupled to the networks 102 and the server computers 104 is a plurality of client computers 106. Such server computers 104 and/or client computers 106 may each include a domain name service (DNS) server, desktop computer, lap-top computer, hand-held computer, mobile phone, hand-held computer, peripheral (e.g. printer, etc.), any component of a computer, and/or any other type of logic. In order to facilitate communication among the networks 102, at least one gateway or router 108 is optionally coupled therebetween.
FIG. 2 shows a representative hardware environment that may be associated with the server computers 104 and/or client computers 106 of FIG. 1, in accordance with one embodiment. Such figure illustrates a typical hardware configuration of a workstation in accordance with one embodiment having a central processing unit 210, such as a microprocessor, and a number of other units interconnected via a system bus 212.
The workstation shown in FIG. 2 includes a Random Access Memory (RAM) 214, Read Only Memory (ROM) 216, an I/O adapter 218 for connecting peripheral devices such as disk storage units 220 to the bus 212, a user interface adapter 222 for connecting a keyboard 224, a mouse 226, a speaker 228, a microphone 232, and/or other user interface devices such as a touch screen (not shown) to the bus 212, communication adapter 234 for connecting the workstation to a communication network 235 (e.g., a data processing network) and a display adapter 236 for connecting the bus 212 to a display device 238.
The workstation may have resident thereon any desired operating system. It will be appreciated that an embodiment may also be implemented on platforms and operating systems other than those mentioned. One embodiment may be written using JAVA, C, and/or C++ language, or other programming languages, along with an object oriented programming methodology. Object oriented programming (OOP) has become increasingly used to develop complex applications.
Our course, the various embodiments set forth herein may be implemented utilizing hardware, software, or any desired combination thereof. For that matter, any type of logic may be utilized which is capable of implementing the various functionality set forth herein.
FIG. 3 shows a method 300 for gathering information relating to electronic content, in accordance with one embodiment. As an option, the method 300 may be implemented in the context of the architecture and environment of FIGS. 1 and/or 2. Of course, however, the method 300 may be carried out in any desired environment.
As shown, a checksum associated with electronic content is calculated. See operation 301. In the context of the present embodiment, such electronic content may refer to an electronic mail message, a web page, a file, and/or any other content (and/or component, artifact, etc. thereof) that may be distributed over a network (e.g. see, for example, the networks 102 of FIG. 1, etc.).
In an optional embodiment where the electronic content refers to an electronic mail message, such a message may be sent utilizing the simple mail transfer protocol (SMTP), and may be received utilizing the POP3 protocol. Still yet, in other embodiments, the electronic mail message may be generated and received utilizing an electronic mail message manager (e.g. MICROSOFT OUTLOOK, etc.) including composing, reading, and sending capabilities. Of course, other protocols are contemplated including, but not limited to ESMTP, X.400, instant messaging protocols, etc.
Further in the context of the present description, the checksum may refer to any string capable of being received and utilized by a DNS server (as defined below). For example, in one optional embodiment, the checksum may include a value or signature derived from a calculation performed upon one or more components [e.g. image, binary string, uniform resource locator (URL), text string, characters, bits, etc.] of the electronic content such that, when re-calculated, the same value is provided for the one or more components. Further, such value is unique to such set of components.
Next, in operation 302, a domain name service (DNS) server is queried utilizing the checksum. In the context of the present description, the DNS server may refer to any computer that is capable of making information available, in response to a query including the aforementioned checksum. To this end, in response to the query, information is received from the DNS server which relates to the electronic content. Note operation 304. It should be noted that the aforementioned information may include any information relating to the electronic content that may be used for absolutely any purpose desired.
For example, in one optional embodiment, the DNS server may resolve a string concocted utilizing the checksum and formatted as (or similar to) a host name, with an Internet Protocol (IP) address that may itself include and/or be used to gain access to information relating to the electronic content. Further, in the context of one embodiment for identifying unwanted electronic mail messages, the IP address may be utilized to determine whether the electronic mail message is unwanted, and/or determine an action to be taken on the electronic mail message.
More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing technique may or may not be implemented, per the desires of the user. Specifically, more information will be set forth regarding an optional embodiment whereby the various techniques associated with the method 300 of FIG. 3 are used to identify unwanted electronic mail messages.
It should be strongly noted, however, that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described in and out of a security-related context.
FIG. 4 illustrates a method 400 for gathering information relating to electronic content, in accordance with another embodiment. As an option, the method 400 may be implemented in the context of the architecture and environment of FIGS. 1-3. Of course, however, the method 400 may be used in any desired environment. Further, the aforementioned definitions may equally apply to the description below.
As shown, in operation 401, an electronic message is initially received. Such electronic message may be received at a client computer (e.g. see, for example, the client computers 106 of FIG. 1, etc.) and/or at a server computer (e.g. see, for example, the server computers 104 of FIG. 1, etc.) via one or more networks (e.g. see, for example, the networks 102 of FIG. 1, etc.). Optionally, such receipt may be carried out utilizing a server or client-based electronic mail manager.
After receiving the electronic mail message, at least one property associated with such electronic mail message may be identified. Note operation 402. As mentioned previously, such one or more properties may include any component [e.g. image, binary string, uniform resource locator (URL), text string, characters, bits, etc.] of the electronic mail message. Further, such properties may be parsed in any desired manner. Just by way of example, a list of desired components may be provided, whereby each of such components may be identified by parsing the electronic mail message.
Thereafter, in operation 404, a checksum is generated for each property of the electronic mail message. To this one, a plurality of checksums is provided as a result of the present operation. Table 1 illustrates one example of a checksum that relates to an image associated with an electronic mail message. Of course, the 40 character string checksum is set forth for illustrative purposes only and should not be construed as limiting in any manner whatsoever.










TABLE 1









 
434683b65810caff6e9e5cb8fc52def422ad5f30










Next, it is determined whether the checksum(s) is present in a cache. See decision 405. It should be noted that such cache may include cache memory on a computer at which the electronic mail message was received, a local DNS server, and/or any other cache, for that matter. More information regarding such cache will be set forth hereinafter in greater detail.
If it is determined that the checksum is not already stored in the cache per decision 405, a DNS server is queried for an IP address associated with the checksum. Note operation 406. Such DNS server may include a local DNS server, remote DNS server, and/or any other DNS server that requires more time and/or resources (e.g. bandwidth, processing, etc.) for producing the IP address, with respect to the aforementioned cache. For reasons that will soon become apparent, each of the IP addresses delivered by the DNS server includes and/or provides access to information associated with the electronic mail message property represented by the checksum.
In the context of the example where the checksum takes the form shown in Table 1, the query made to the DNS server may take the form of a pseudo-host in an “antispam” domain (e.g. image-rbl.mcafee.com, etc.) in order to obtain the information regarding the checksum (and associated electronic message property, etc.).
Strictly as an option, a plurality of domains may be provided for servicing different checksums. For example, a first domain may be used to service checksums associated with images in electronic mail messages, a second domain may be used to service checksums associated with text strings in electronic mail messages, and so forth.
Table 2 illustrates one example of a DNS server query. Of course, such query is set forth for illustrative purposes only and should not be construed as limiting in any manner whatsoever.







TABLE 2







4{grave over (3)}4683b65810caff6e9e5cb8fc52def422ad5f30.image-rbl.mcafee.com









Next, in operation 408, the IP address received via the DNS server in operation 406 is stored in the cache. Such IP address is cached in association with the corresponding checksum. Further, as an option, the checksum and the associated IP address may be cached a predetermined amount of time. Still yet, the predetermined amount of time may be determined utilizing the IP address, in a manner that will soon become apparent.
Reference will now be made back to decision 405. If, on the other hand, it is determined that the checksum is indeed already stored in the cache per decision 405, the associated IP address may simply be retrieved from cache. To this end, the querying of the DNS server in operation 406 is conditionally performed based on whether the IP address is cached, thereby saving time and/or resources by skipping operations 406-408, if possible.
In any case, armed with the appropriate IP address (if one is received at all), information in the form of a record may be looked up using the same. Note operation 410. If, for some reason, no IP address is available, a default action may be taken. For example, it may be assumed that the electronic mail message that has the property that gave rise to the checksum is wanted, or at least not unwanted. On the other hand, if such IP address is found, it may be used to retrieve additional information describing the property, and by inference, the electronic mail message.
In one embodiment, the additional information may be stored on (and/or near) a computer that carried out any one or more of the operations 401-409. Further, such information may be used to determine whether the electronic mail message associated with the property is unwanted, and determine an action to be taken on the electronic mail message. See operation 412. More information regarding such information will be set forth in greater detail during reference to FIG. 5.
By these features, a computer may optionally forego downloading unwanted electronic mail message database updates periodically, and may further build a local list containing only information relevant to the computer at issue, using a DNS system.
FIG. 5 illustrates a data structure 500 for gathering information relating to electronic content, in accordance with another embodiment. As an option, the data structure 500 may be implemented in the context of operation 410 of FIG. 4. Of course, however, the data structure 500 may be used in any desired environment. Further, the aforementioned definitions may equally apply to the description below.
As shown, a plurality of IP addresses 502 is provided each with associated information 504. As shown, such information 504 may identify whether the electronic content is unwanted and, if so, a type, description, identification, etc. thereof.
While not shown, the information 504 may further identify an action to be taken on the electronic content. Such action may include, but is not limited to quarantining the content, deleting the content, cleaning the content, generating an alert, notifying an administrator regarding the content, etc.
Even still, the information 504 may further identify an amount of time that the checksum/IP address is to be cached. See operation 408 of FIG. 4, for example. This length of time may be user-configured based on any desired criteria. Just by way of example, checksums associated with mail properties that are serious and/or occur often may be cached longer, and visa-versa.
As yet another option, each portion of the dotted-quad IP address may provide specific information about the electronic mail property queried. See Table 3, for example.







TABLE 3







   IP Address: aaa.b.c.d


   where:


  aaa uniquely identifies the property;


  b identifies a type of the property;


  c identifies an action to be taken on the e-mail; and


  d identifies a duration in which the checksum/address is to be


cached.









Thus, each of the portions may be altered to manage a particular aspect of e-mail content. Table 4 illustrates one exemplary specific IP address that indicates that a checksum matches a pornographic image, to be deleted, where the checksum should not be cached longer than 15 days.











TABLE 4









 
 129.0.15.4




129 = unique identifier;




0 = the content is a pornographic image;




15 = the action to take is a delete action; and




4 = indicates the 15 day cache duration.










To this end, the correlation of various IP addresses/information and associated checksums/electronic content may be carried out by one or more administrators, or in any other desired manner, at a central (or distributed) location. Further, such correlation may be updated and/or changed at any time. For example, an action and/or cache period may be altered with respect to a uniquely identified item of unwanted content, based on various factors, etc.
Further, a particular computer may efficiently build up a cache of checksums that are relevant to types of electronic mail messages (or other content) that are received, without necessarily downloading large volumes of checksums and/or other updates, many or most of which may never be used. This may be particularly valuable for applications running on computers that have restricted bandwidth and/or only process a few electronic mail messages each day.
In one embodiment, terrorism may be countered utilizing the aforementioned technology. According to the U.S. Federal Bureau of Investigation, cyber-terrorism is any “premeditated, politically motivated attack against information, computer systems, computer programs, and data which results in violence against non-combatant targets by sub-national groups or clandestine agents.” A cyber-terrorist attack is designed to cause physical violence or extreme financial harm. According to the U.S. Commission of Critical Infrastructure Protection, possible cyber-terrorist targets include the banking industry, military installations, power plants, air traffic control centers, and water systems.
Thus, by optionally incorporating the present technology into the cyber-frameworks of the foregoing potential targets, terrorism may be countered by preventing inundation with unwanted electronic content, which may potentially cause extreme financial harm.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. For example, any of the network elements may employ any of the desired functionality set forth hereinabove. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

## Claims

1. A method, comprising:
calculating a checksum associated with electronic content that refers to an electronic e-mail message;
sending the checksum to a domain name service (DNS) server;
receiving information from the DNS server, the information comprising an Internet Protocol (IP) address associated with the checksum; and
taking an action on the e-mail message based on the IP address.

2. The method of claim 1, further comprising:
caching the checksum and the IP address for a predetermined amount of time.

3. The method of claim 1, wherein a plurality of domains is provided for servicing different types of checksums such that a particular DNS server that receives a particular checksum is selected based on the particular checksum.

4. The method of claim 1, further comprising:
determining whether a particular checksum is present in a cache; and
querying the DNS server for a particular IP address associated with the particular checksum if the particular checksum is not in the cache.

5. The method of claim 1, wherein if a particular IP address is not identified by the DNS server for a particular electronic e-mail message, a default action is taken and the particular electronic e-mail message is presumed to be wanted.

6. The method of claim 1, wherein the checksum includes a value or a signature derived from a calculation performed on one or more components of the electronic content in the electronic e-mail message.

7. The method of claim 6, wherein the one or more components are selected from a group of components, the group consisting of:
a) an image;
b) a binary string;
c) a uniform resource locator (URL);
d) a text string;
e) a plurality of characters; and
f) a plurality of bits.

8. The method of claim 1, wherein each IP address delivered by the DNS server provides access to particular information associated with a particular electronic mail message property represented by a particular checksum.

9. The method of claim 1, wherein the action is selected from a group of actions, the group consisting of:
a) quarantining the electronic content;
b) deleting the electronic content;
c) cleaning the electronic content;
d) generating an alert; and
e) notifying an administrator regarding the electronic content.

10. The method of claim 1, wherein querying the DNS server is conditionally performed based on whether the IP address associated with the electronic e-mail message is cached.

11. One or more computer-readable storage media storing instructions that, when executed, cause a computing device to perform a method, the method comprising:
calculating a checksum associated with electronic content that refers to an electronic e-mail message;
sending the checksum to a domain name service (DNS) server;
receiving information from the DNS server, the information comprising an Internet Protocol (IP) address associated with the checksum; and
taking an action on the e-mail message based on the IP address.

12. The media method of claim 11, the method further comprising:
caching the checksum and the IP address for a predetermined amount of time.

13. The media of claim 11, wherein a plurality of domains is provided for servicing different types of checksums such that a particular DNS server that receives a particular checksum is selected based on the particular checksum.

14. The media of claim 11, the method further comprising:
determining whether a particular checksum is present in a cache; and
querying the DNS server for a particular IP address associated with the particular checksum if the particular checksum is not in the cache.

15. The media of claim 11, wherein if a particular IP address is not identified by the DNS server for a particular electronic e-mail message, a default action is taken and the particular electronic e-mail message is presumed to be wanted.

16. The media of claim 11, wherein the checksum includes a value or a signature derived from a calculation performed on one or more components of the electronic content in the electronic e-mail message.

17. The media of claim 16, wherein the one or more components are selected from a group of components, the group consisting of:
a) an image;
b) a binary string;
c) a uniform resource locator (URL);
d) a text string;
e) a plurality of characters; and
f) a plurality of bits.

18. The media of claim 11, wherein each IP address delivered by the DNS server provides access to particular information associated with a particular electronic mail message property represented by a particular checksum.

19. The media of claim 11, wherein the action is selected from a group of actions, the group consisting of:
f) quarantining the electronic content;
g) deleting the electronic content;
h) cleaning the electronic content;
i) generating an alert; and
j) notifying an administrator regarding the electronic content.

20. The media of claim 11, wherein querying the DNS server is conditionally performed based on whether the IP address associated with the electronic e-mail message is cached.

21. A computer, comprising:
a processor; and
a memory coupled to the processor, wherein the computer is configured to:
calculate a checksum associated with electronic content that refers to an electronic e-mail message;
send the checksum to a domain name service (DNS) server;
receive information from the DNS server, the information comprising an Internet Protocol (IP) address associated with the checksum; and
take an action on the e-mail message based on the IP address.

22. The computer of claim 21, wherein the computer is further configured to:
cache the checksum and the IP address for a predetermined amount of time.

23. The computer of claim 21, wherein a plurality of domains is provided for servicing different types of checksums such that a particular DNS server that receives a particular checksum is selected based on the particular checksum.

24. The computer of claim 21, wherein the computer is further configured to:
determine whether a particular checksum is present in a cache; and
query the DNS server for a particular IP address associated with the particular checksum if the particular checksum is not in the cache.

25. The computer of claim 21, wherein if a particular IP address is not identified by the DNS server for a particular electronic e-mail message, a default action is taken and the particular electronic e-mail message is presumed to be wanted.

26. The computer of claim 21, wherein the checksum includes a value or a signature derived from a calculation performed on one or more components of the electronic content in the electronic e-mail message.

27. The computer of claim 21, wherein each IP address delivered by the DNS server provides access to particular information associated with a particular electronic mail message property represented by a particular checksum.

28. The computer of claim 21, wherein the action is selected from a group of actions, the group consisting of:
a) quarantining the electronic content;
b) deleting the electronic content;
c) cleaning the electronic content;
d) generating an alert; and
e) notifying an administrator regarding the electronic content.

29. The computer of claim 21, wherein querying the DNS server is conditionally performed based on whether the IP address associated with the electronic e-mail message is cached.