Computer virus protection

Information

  • Patent Grant
  • 9906550
  • Patent Number
    9,906,550
  • Date Filed
    Wednesday, June 4, 2014
    10 years ago
  • Date Issued
    Tuesday, February 27, 2018
    6 years ago
Abstract
A network is protected from e-mail viruses through the use of a sacrificial server. Any executable programs or other suspicious parts of incoming e-mail messages are forwarded to a sacrificial server, where they are converted to non-executable format such as Adobe Acrobat PDF and sent to the recipient. The sacrificial server is then checked for virus activity. After the execution is completed, the sacrificial server is rebooted.
Description
BACKGROUND

1. Field of the Disclosure


The present disclosure relates generally to computer systems and computer networks. In particular, the present disclosure relates to a system and method for detecting and nullifying the effects of computer viruses. Still more particularly, the present disclosure relates to a system and method for detecting and nullifying the effects of computer viruses from messages and attachments delivered by electronic mail through a network.


2. Description of the Related Art


Computer viruses are a destructive aspect of the computer revolution that threatens its potential growth and usability. Significant time and money are lost annually combating the effects of this insidious, and seemingly endemic, problem. A computer virus is actually just an unauthorized block of executable computer code purporting to be harmless or is hidden in another valid computer program. Once the valid program is executed, the unauthorized virus code is also activated. The effect of such viruses can be simple pranks, such as causing messages to be displayed on the screen, or more serious activities, such as destroying programs and data. Once executed, they often spread quickly by attaching themselves to other programs in the system. Infected programs may in turn continue the cancerous replication by copying the virus code to still other programs. The proliferation of Internet E-mail has only accelerated the problem in that local viruses can now spread internationally in a matter of hours.


Prior art attempts to reduce the effects of viruses and prevent their proliferation by using various virus detection schemes have been only marginally successful. The reason for the limited success is that the prior art methods attempt to identify the existence of a virus before taking steps to protect a user. For example, many virus detection programs use a method known as “behavior interception,” which monitors the computer or system for key system functions such as “write,” “erase,” “format disk,” etc. When such operations occur, the virus detection program prompts the user for input as to whether such an operation is expected. If the suspect operation was not expected (e.g., the user was not operating any program that employed such a function), the user can abort the operation. Another virus detection method known as “signature scanning,” scans program code that is being copied onto the system. Again, the virus detector searches for recognizable patterns of program code, such as the program attempting to write into specific file or memory locations, that betray the possible existence of a virus. Yet another prior art approach to virus detection performs a checksum (mathematical signature) on critical programs stored on a system that are known to be free of viruses. If a virus later attaches itself to one of these programs, the checksum value—which is periodically recalculated—will be different and thus the presence of a virus detected.


While all of these methods work to some degree, they tend to suffer from one critical drawback. They depend on recognizing the virus as a virus before instituting any protection for the user. All too often, new (unrecognized) viruses must first wreak havoc on a significant number of victims before the new virus' identifying characteristics are recognized and included in the (ever-lengthening) watch lists of the various virus protection programs available to government and industry.


SUMMARY

The present disclosure overcomes the limitations of the prior art by implementing a system and method that eliminates the threat of viruses transmitted on a computer network by rendering any viruses inoperable. As discussed above all viruses are programs. Like all programs, they are designed to run in a specific or predictable environment. Viruses depend on a host computer's operating system to recognize them as valid programs. They also depend on the host computer's central processing unit (CPU) to understand the virus' commands and obey them. Non executable entities are, by nature, incapable of launching a virus. Therefore, if a host computer converts all data received via e-mail (mail and attachments) to non-executable entities, any embedded virus is rendered inoperable. The present disclosure describes a method and system of virus protection that involves passing all e-mail and attachments through various conversion states that, while harmless to e-mail text and attachments, the conversions are lethal to executable code (viruses).


Even though the majority of e-mail received by a company or government agency should contain no valid executable components, a small percentage of e-mail attachments, such as “working drafts,” and standard contract templates may require user updating or valid executable macros. Therefore, the present disclosure also describes a system and method of identifying “Approved” embedded macros and—as long as they have not been modified—allowing them to survive the virus killing conversions.


Finally, the present disclosure also includes a unique “sacrificial PC” system and method capable of safely executing, detecting (via examination of the results of execution), and safely recovering from potentially virus-laden e-mails.





BRIEF DESCRIPTION OF THE DRAWINGS

A preferred embodiment will be set forth in detail with reference to the drawings, in which:



FIG. 1 shows a block diagram of an e-mail gatekeeper system;



FIGS. 2 and 2A show a flow chart of operations carried out in the e-mail gatekeeper system; and



FIG. 3 shows a flow chart of operations carried out by a sacrificial processor.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Though not essential to every embodiment of this disclosure, the preferred embodiment makes use of the following concepts and principles:

    • 1. Recipients of e-mails are ultimately more qualified to determine what information is acceptable than a generalized software program or system
    • 2. If given an opportunity, a user can clearly define which e-mail types and attachments he or she does or does not wish to receive.
    • 3. The ability of users to accept macros and other forms of executable code commonly used in modem computer generated business forms and templates must be maintained.
    • 4. All information is potentially important to a user. Therefore, software systems, including security programs, should not arbitrarily delete or withhold e-mail content without specific knowledge and authorization of the owner of the e-mail system.
    • 5. The value of information tends to decrease over time. Therefore, information contained in e-mails should not be unreasonably delayed.


The gatekeeper method and system described herein operate under the following rules and definitions:

    • 1. Any macro or executable code that alters the physical appearance of an e-mail or attachment is considered by the gatekeeper to be a customized form.
    • 2. All customized forms requiring user input must be authorized by the owner of the e-mail system.


In an effort to provide recipients with all of the contents of all e-mails and attachments (not prohibited by the owner of the e-mail system) all unauthorized form will be executed; however, the form's output (not the form itself) will be delivered to the user in a “safe” non-executable format.


The Gatekeeper method and system described defines and ability to authorize and authenticate all forms.


The virus detection system and method of the present disclosure preferably operates on a system as depicted in FIG. 1.


An intermediary E-mail security server (102), referred to as “the Gatekeeper” intercepts all e-mail messages and attachments sent by a sender (101) via a communications network, such as the Internet (109). The arriving unopened e-mail and attachments are archived and logged (202) with a date and time stamp, plus any routing information available. Address data is then stripped off of the e-mail (204) for attachment to the “safe” e-mail constructed at (210). The e-mail portion of the Internet e-mail received from (201) is passed through a conversion process (205) that eliminates all executable code leaving only alphanumeric message text. Any imbedded hyperlinks or email addresses, while still identifiable as links or addresses, are rendered inoperable as executable “links.” The Gatekeeper (102) then checks to see if the arriving e-mail contains an attachment (206). If the e-mail contains no attachment, processing continues at step (210).


If the e-mail contains an attachment, the attachment types (extensions) are validated against several lists provided by the client during the installation process. The e-mail attachment type is first checked against a list of client approved acceptable file extensions. If the attachment extension is not in the approved list, it is considered either disapproved or unknown. (212). If the attachment extension type is found in the disapproved list, a message is constructed indicating that “this e-mail contains a disapproved attachment.” The disapproval message is included in the safe e-mail constructed in step (210).


If the e-mail contains an attachment with an extension that is not in either the “disapproved” or “approved” lists, the entire attachment is passed through a conversion process (205) that eliminates all executable code leaving only alphanumeric message text. This process will generally create a readable copy of the attachment, but will not allow the attachment to open any processes or applications, including executable virus code. If the included attachment from (206) is of an approved extension type, attachment inspection processing continues at (208), which checks the approved attachment extension to see if it contains any executable code (macros). This process involves reading the attachment file's internal format and identifying any executable code, such as macros that may be present. Any executable code found is noted and identified for authentication (209). An encrypted authentication identifier is created for the executable code by passing it through an algorithm such as, a checksum or hashing algorithm (213), that uniquely identifies the string of executable code. The unique identifier is then encrypted using a key known only to the Gatekeeper program or server. The authentication identifier is then compared to a list of approved code contained by the Gatekeeper and supplied by the Client (216). Since this system and method described validates only the executable code (macros), the non-executable data portion of the attachment can safely be changed or updated interactively. If the attachment contains approved macros, the original attachment is made available to the recipient. If the attachments contain unapproved macros, the attachment is forwarded to an available sacrificial PC processor (103) via data link (108) for conversion to a non-executable format and further detailed virus testing. The method just described for detecting, authenticating, and approving a macro can be used to authenticate and approve any form of executable code embedded in an attachment or in the body of an e-mail message. Such code can include compiled programs, interpretive code, scripts, batch language, markup language code, or the like located in any part of the e-mail message, including the body and the attachments.


Sacrificial PC processing begins with the original e-mail attachment being passed to an available sacrificial PC (105) via a data link (108) connecting the Gatekeeper server (102) with the sacrificial PC. Once the transfer of the attachment is complete the data link (108) is intentionally broken. This eliminates the possibility of any unintended communications back to the Gatekeeper. The original attachment is then opened using standard Windows application processing supplied by the client (303). The opened attachment is then passed through a process (304) which converts the attachment to a non-executable image format, such as Portable Document Format (PDF). Note there are many suitable image formats. The process would choose one selected by the client. The safe image format version of the attachment is then encrypted in the sacrificial PC's unique authentication key assigned by the Gatekeeper at startup. The data link (108) to the Gatekeeper is then re-established (306) and the encrypted non-executable attachment is returned to the Gatekeeper (307).


All communications from a sacrificial PC to the Gatekeeper are interrogated by the Gatekeeper's communications processor (220). Before being accepted by the Gatekeeper as a valid message, the data must pass a strict authentication test (219). The authentication process is as follows.


At System startup (and periodically, if desired) the Gatekeeper creates a randomly generated set of authentication parameters to be used by each sacrificial PC when communicating with the Gatekeeper. When a sacrificial PC wants to communicate with the Gatekeeper it first sends a handshake packet to the Gatekeeper identifying the specific PC requesting communication. It also sends a short (unencrypted) clear-text portion of the data to be communicated encapsulated within the handshake packet.


Once the Gatekeeper acknowledges the handshake, the sacrificial PC sends the full information packet to the Gatekeeper. A random amount of the packet has been encrypted in the sacrificial PC's unique key. The specific amount of data encrypted by the sacrificial PC was determined by one of the authentication parameters sent by the Gatekeeper at startup. The Gatekeeper decrypts all data packets it receives based on the assumed key of the specific sacrificial PC. In other words, “If you are who you say you are, you encrypted your data in the following way.” Once decrypted, the Gatekeeper compares the clear text portion of the data received in the handshake packet with the decrypted data packet (219). If they match, the data is accepted; if they do not, the data is not accepted. The authentication technique is based on known “challenge and response” authentication techniques.


Once the sacrificial PC has sent the read only “safe” attachment back to the Gatekeeper, a special validation process examines the sacrificial PC to determine if any unexpected changes have occurred (308) and (309) on the sacrificial PC. Unexpected changes could include the addition or deletion of files, files that change name, extension, or content unexpectedly, (including morphing of the tested attachment itself), attempted sensing of the date and time features of the sacrificial PC, etc.


Also, when the opportunity is available, as with attachments created using the Microsoft suite of office products, the sacrificial PC processor takes advantage of the “Enable Macros” “Disable Macros” feature. This built-in feature makes it possible to open a document without allowing any embedded code (macros) to execute. Two copies of the same document can then be created, one created with macros executed and one created without macros executed. The two copies of the same document can then be examined to determine if executing the macro had any effect on the information content of the document. By comparing the two documents, the sacrificial PC can determine whether or not the macro is relevant to the particular document being tested.


If execution of the macro was necessary to produce the information contained in the tested document, then the macro's contribution is contained in the print image copy of the document produced by the sacrificial PC when it executed the document with macros enabled. This is the copy that is sent to the recipient.


Similarly, if testing the document with “macros disabled” has no impact on the content of the document, then the suspect macro is not necessary. It logically follows then, that the suspect macro is either irrelevant to the content of the particular version of the document being tested or, it is a virus. In either case, the sacrificial PC has intercepted and nullified the suspect macro's impact on the recipient.


Any unexpected changes in the system trigger a virus alert. Standard user security processes alert all authorized personnel (310). A special “ghosting” reload of the operating system then takes place. The process is as follows.


Each Sacrificial PC is configured with two hard drives. Each hard drive is configured with a single active partition and contains a safe copy of the operating system obtained from the read-only device (104). The designated active partition—defined at start-up—is “toggled” between the two physical hard drives. This is done to increase the speed of reloading and to maximize the availability of sacrificial PCs. The unused drive—which is the one used to test the last attachment—is re-loaded, via ghosting software (311), with a fresh copy of the operating system obtained from the read only CD ROM (104). The connection between the Gatekeeper (102) and the sacrificial PC (105) is then re-established.


Once the sacrificial PC is re-ghosted, it is brought back on line and the Gatekeeper assigns it a new authentication Key and encryption length parameter.


Once the Gatekeeper sends data to a sacrificial PC, it notes the time the data was sent. If no data is received back from a sacrificial PC within a specified period of time (typically two minutes), the Gatekeeper assumes the sacrificial PC has become the victim of a virus and died. When this occurs, the Gatekeeper signals a virus alert and requests human intervention to recover the dead sacrificial PC.


The method and system described above can also be implemented with the sacrificial PC implemented as a virtual machine or environment in the operating system of another computer. This computer could be the gatekeeper, an e-mail server or any other computer.


The method and system described above can also be implemented with the gatekeeper system implemented as part of another system, such as a component of an already existing e-mail server.


The gatekeeper system and method described uses the file and macro authentication and encrypted client approval techniques described above to protect itself from both internal and external “hacking” attacks that may attempt to substitute, modify, destroy or otherwise nullify gatekeeper files and programs.


While a preferred embodiment has been set forth in detail above, those skilled in the art who have reviewed the present disclosure will readily appreciate that other embodiments can be realized within the scope of the disclosure. For example, the use of certain hardware, operating systems, or the like should be construed as illustrative rather than limiting. Therefore, the present disclosure should be construed as limited only by the appended claims.

Claims
  • 1. A method comprising: receiving, at a sacrificial computing device, a message from an email server, wherein the received message includes a file comprising an executable code;disconnecting the sacrificial computing device from communication with the email server after receiving the message from the email server;executing the executable code at the sacrificial computing device while the sacrificial computing device is disconnected from communication with the email server;performing a check of the sacrificial computing device to identify unexpected changes after executing the executable code;if the unexpected changes are identified, activating a virus alert and executing a ghost copy reboot of the sacrificial computing device; andre-establishing a communication connection between the sacrificial computing device and the email server.
  • 2. The method of claim 1, wherein the message includes an email attachment.
  • 3. The method of claim 1, further comprising converting the file to a secure format.
  • 4. The method of claim 3, further comprising encrypting the file in the secure format using an encryption key.
  • 5. The method of claim 4, further comprising communicating the encrypted file to the email server.
  • 6. The method of claim 1, further comprising, if the unexpected changes are not identified, encrypting the file using an encryption key.
  • 7. The method of claim 1, wherein the ghost copy reboot is located in a read only memory.
  • 8. The method of claim 1, further comprising determining if the file is of a type of disapproved attachment types.
  • 9. The method of claim 1, wherein the unexpected changes comprise any one of addition or deletion of files, changing file name, file extension, or file content unexpectedly, morphing of the file, and attempted sensing of date and time features.
  • 10. A system comprising: an email server configured to send and receive email messages; anda sacrificial computing device configured to receive a message from the email server, wherein the received message includes a file comprising an executable code, wherein the sacrificial computing device includes a processor configured to: disconnect the sacrificial computing device from communication with the email server after receiving the message from the email server;execute the executable code while the sacrificial computing device is disconnected from communication with the email server;perform a check of the sacrificial computing device to identify unexpected changes after executing the executable code;activate a virus alert and execute a ghost copy reboot of the sacrificial computing device if unexpected changes are identified; andre-establish a communication connection between the sacrificial computing device and the email server.
  • 11. The system of claim 10, wherein the message includes an email attachment.
  • 12. The system of claim 10, wherein the processor is further configured to convert the file to a secure format.
  • 13. The system of claim 12, wherein the processor is further configured to encrypt the file in the secure format using an encryption key.
  • 14. The system of claim 13, wherein the processor is further configured to communicate the encrypted file to the email server.
  • 15. A non-transitory computer readable storage medium having instructions stored thereon that, upon execution by a computing device, cause the computing device to perform operations comprising: disconnecting a sacrificial computing device from communication with the email server after receiving a message from an email server, wherein the received message includes a file comprising an executable code;executing the executable code at the sacrificial computing device while the computing device is disconnected from communication with the email server;performing a check of the sacrificial computing device to identify unexpected changes after executing the executable code;if the unexpected changes are identified, activating a virus alert and executing a ghost copy reboot of the sacrificial computing device; andre-establishing a communication connection between the sacrificial computing device and the email server.
  • 16. The computer readable storage medium of claim 15, further comprising, encrypting the file using an encryption key if the unexpected changes are not identified.
  • 17. The computer readable storage medium of claim 15, wherein the ghost copy reboot is located in a read only memory.
  • 18. The computer readable storage medium of claim 15, further comprising determining if the file is of a type of disapproved attachment types.
  • 19. The computer readable storage medium of claim 15, further comprising converting the file to a secure format.
  • 20. The computer readable storage medium of claim 19, wherein the operations further comprising communicating the encrypted file the email server.
  • 21. The method of claim 1, further comprising identifying a presence of a malicious code in response to executing the executable code and performing the check of the sacrificial computing device.
  • 22. The method of claim 1, wherein performing the check of the sacrificial computing device to identify unexpected changes is performed while the sacrificial computing device is disconnected from communication with the email server.
CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application is a Continuation of U.S. application Ser. No. 13/116,308, filed May 26, 2011, which is a Continuation of U.S. application Ser. No. 12/392,768, filed Feb. 25, 2009 (now U.S. Pat. No. 7,979,691), which is a Continuation of U.S. application Ser. No. 11/140,464 (now U.S. Pat. No. 7,506,155), filed May 31, 2005, which is a Continuation of U.S. application Ser. No. 09/704,790, filed Nov. 3, 2000 (now U.S. Pat. No. 6,901,519), which claims priority from Provisional Application U.S. application Ser. No. 60/213,254, filed Jun. 22, 2000, all of which are incorporated herein by reference in their entirety.

US Referenced Citations (77)
Number Name Date Kind
5398196 Chambers Mar 1995 A
5426775 Boccon-Gibod Jun 1995 A
5440723 Arnold Aug 1995 A
5623600 Ji Apr 1997 A
5715464 Crump Feb 1998 A
5740370 Battersby et al. Apr 1998 A
5826269 Hussey Oct 1998 A
5832208 Chen Nov 1998 A
5842002 Schnurer Nov 1998 A
5889943 Ji et al. Mar 1999 A
5918054 Jury et al. Jun 1999 A
5940614 Allen et al. Aug 1999 A
5956481 Walsh et al. Sep 1999 A
5958005 Thorne Sep 1999 A
5978917 Chi Nov 1999 A
6026502 Wakayama Feb 2000 A
6035327 Buckley Mar 2000 A
6067410 Nachenberg May 2000 A
6092114 Shaffer et al. Jul 2000 A
6092194 Touboul Jul 2000 A
6094731 Waldin et al. Jul 2000 A
6108799 Boulay et al. Aug 2000 A
6170055 Meyer et al. Jan 2001 B1
6185678 Arbaugh Feb 2001 B1
6192477 Corthell Feb 2001 B1
6253324 Field Jun 2001 B1
6253367 Tran et al. Jun 2001 B1
6272505 De La Huerga Aug 2001 B1
6311273 Helbig et al. Oct 2001 B1
6321267 Donaldson Nov 2001 B1
6324551 Lamping et al. Nov 2001 B1
6336124 Alam Jan 2002 B1
6377691 Swift et al. Apr 2002 B1
6401210 Templeton Jun 2002 B1
6424978 Liu et al. Jul 2002 B1
6480962 Touboul Nov 2002 B1
6487664 Kellum Nov 2002 B1
6487994 Ahern et al. Dec 2002 B2
6519702 Williams Feb 2003 B1
6564318 Gharda May 2003 B1
6606648 Mukundan Aug 2003 B1
6609196 Dickinson, III Aug 2003 B1
6647409 Sherman Nov 2003 B1
6694434 McGee et al. Feb 2004 B1
6697950 Ko Feb 2004 B1
6701440 Kim et al. Mar 2004 B1
6721784 Leonard et al. Apr 2004 B1
6728886 Ji Apr 2004 B1
6839741 Tsai Jan 2005 B1
6842861 Cox et al. Jan 2005 B1
6901519 Stewart et al. May 2005 B1
6907452 Malik Jun 2005 B1
7093135 Radatti et al. Aug 2006 B1
7191219 Udell et al. Mar 2007 B2
7222228 Stephens et al. May 2007 B1
7263561 Green et al. Aug 2007 B1
7299361 Kim et al. Nov 2007 B1
7310816 Burns Dec 2007 B1
7409718 Hong Aug 2008 B1
7487544 Schultz et al. Feb 2009 B2
7506155 Stewart et al. Mar 2009 B1
7640361 Green et al. Dec 2009 B1
7814143 Brown et al. Oct 2010 B2
7882193 Aronson Feb 2011 B1
7895641 Schneier Feb 2011 B2
7913078 Stewart et al. Mar 2011 B1
20010332977 Shastri et al. Oct 2001
20020035696 Thacker Mar 2002 A1
20020138766 Franczek Sep 2002 A1
20030088680 Nachenberg May 2003 A1
20030167402 Stolfo Sep 2003 A1
20030225844 Kuroda Dec 2003 A1
20050235164 Gassoway Oct 2005 A1
20080229416 Stewart et al. Sep 2008 A1
20090132658 Glickstein May 2009 A1
20090165138 Stewart et al. Jun 2009 A1
20120124668 Deisenroth May 2012 A1
Foreign Referenced Citations (3)
Number Date Country
11-167533 Jun 1999 JP
11-252158 Sep 1999 JP
2000-029799 Feb 2000 JP
Non-Patent Literature Citations (34)
Entry
“Declude Virus,” http://www.declude.com/Virus/index.html, .Copyrgt. 2000-2002 Computerized Horizons.
Brown, Reader Response Reveals e-mail hoax, Mar. 1998, Roanoke Times & World New start p. A5.
CERT.RTM. Advisory CA-1999-04 Melissa Macro Virus, http://www.cert.org/advisoris/CA-1999-04.html.
CERT.RTM. Advisory CA-2000-04 Love Letter Worm, http://www.cert.org/advisories/CA-2000-04.html.
Complaint for Patent Infringement, “Intellectual Ventures I LLC v. Check Point Software Technologies Ltd.et al.” filed Dec. 8, 2010, 101 pages.
Cornetto, Advances in Web Technology cause e-mail client problems, Aug. 1998, InfoWorld, vol. 20, p. 13.
Dalai, Kaushal and Edward Fox, Document Translation: Dissertations and Technical Reports, Department of Computer Science, Virginia Polytechnic Institute and State University, Sep. 21, 1993, 17 pgs.
Edwards, Keith W., Montage: An X-Based Multimedia Electronic Mail System, Technical Report, Graphics, Visualization, & Usability Center—Multimedia Computing Group, Georgia Institute of Technology, 1992, 7 pgs.
eSafe Technologies Announces the Most Comprehensive Gateway—Level Content Protection Solution for Firewalls, PR Newswire, http://www.highbeam.com/doc/IG1-20997029.html/print, Aug. 10, 1998, 6 pgs.
Final Office Action on U.S. Appl. No. 11/140,464, dated May 24, 2007.
Final Office Action on U.S. Appl. No. 13/116,308, dated Nov. 26, 2013.
Final Rejection on U.S. Appl. No. 09/704,790, dated Oct. 23, 2003.
Foo, Schubert, Peng Chor Leong and Yee Nam Sng, Improving security in computational electronic mail systems, Information Management and Computer Security, 1997, 9 pgs.
Horwitt, communication Software 104 Packages to get you on line, Nov. 1983, Business Computer Systems, vol. 2, abstract.
Hunt, Ray, Internet/Intranet firewall security—policy, architecture and transaction services, Computer Communications 21, pp. 1107-1123, 1998, 17 pgs.
InterScan Virus Wall 3.0, Infoworld: The Voice of Enterprise Computing, vol. 21, Issue 4, , Jan. 25, 1999, p. 79-80.
Lee, Jieh-Sheng, Jieh Hsiang and Po-Hao Tsang, A Generic Virus Detection Agent on the Internet, Proceedings of the Thirtieth Annual Hawaii International Conference on Systems Sciences, IEEE Computer Society, 1997, 10 pgs.
Microsoft, Microsoft Computer Dictionary, 1997, Microsoft Press, 3rd Edition, p. 141 and p. 173.
Newton, Newton's Telecom Dictionary, 1998, Telecom Books, 14th Edition, pp. 334-335.
Non-Final Office Action on U.S. Appl. No. 11/140,464, dated Aug. 24, 2006.
Non-Final Office Action on U.S. Appl. No. 12/392,768, dated Oct. 29, 2009.
Non-Final Office Action on U.S. Appl. No. 12/392,768, dated Nov. 9, 2010.
Non-Final Office Action on U.S. Appl. No. 09/704,790, dated Dec. 18, 2002.
Non-Final Office Action on U.S. Appl. No. 11/140,464, dated Apr. 3, 2008.
Non-Final Office Action on U.S. Appl. No. 12/392,768, dated Jun. 9, 2010.
Non-Final Office Action on U.S. Appl. No. 13/116,308, dated Jul. 24, 2013.
Norton AntiVirus for Internet Email Gateways 1.0, Infoworld: The Voice of Enterprise Computing, vol. 21, Issue 4, Jan. 25, 1999. p. 80-81.
Notice of Allowance on U.S. Appl. No. 11/140,464, dated Oct. 31, 2008.
Notice of Allowance on U.S. Appl. No. 12/392,768, dated Mar. 4, 2011.
Notice of Allowance on U.S. Appl. No. 13/116,308, dated Feb. 21, 2014.
Notice of Allowance on U.S. Appl. No. 09/704,790, dated May 4, 2004.
Rad, Virus threat bytes computer users, Aug. 1998, Houston Chronicle.com start p. 6.
ViruSafe FireWall 1.5 Software Plus-In Blocks Viruses, Vandals, http://www.cryptosof.com/snews/feb98/16029805.htm.
ViruSafe TM Fire Wall, http://www.Bristol.de/virusafe2.html.
Related Publications (1)
Number Date Country
20140289857 A1 Sep 2014 US
Provisional Applications (1)
Number Date Country
60213254 Jun 2000 US
Continuations (4)
Number Date Country
Parent 13116308 May 2011 US
Child 14295636 US
Parent 12392768 Feb 2009 US
Child 13116308 US
Parent 11140464 May 2005 US
Child 12392768 US
Parent 09704790 Nov 2000 US
Child 11140464 US