Abstract:
A method and system for preventing a computer worm from unauthorized use of data indicative of at least one e-mail address stored in a data base is presented. The method comprises the steps of encrypting said data, receiving at least one e-mail message by accessing an e-mail server, decrypting said selected ones of said data to provide access thereto, and addressing at least one e-mail message using said decrypted data. The method further includes the step of re-encrypting the selected decrypted data. In one aspect of the invention, the method of encrypting the data comprises the steps of obtaining a key value, selecting each of the at least one e-mail address, encrypting the selected e-mail address using the key value; and storing said encrypted e-mail in the data base.

Description:
CLAIM OF PRIORITY FILING  
       [0001]    This application is related to, and claims the benefit, pursuant to 35 U.S.C. §119, of the earlier filing date of U.S. Provisional Application Serial No. 60/298,737, entitled “Method and System for Preventing Computer Worm Dissemination Using Encryption, having a filing date of Jun. 14, 2001. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The present invention relates to computer viruses and worms and more particularly to a method and system for preventing their self-dissemination.  
         BACKGROUND OF THE INVENTION  
         [0003]    It has been known for some time that computer viruses and worms represent a significant threat to computer systems. A computer virus or worm can generally be identified as a program or set of computer instructions that is loaded onto and executed by a user&#39;s computer without the user&#39;s knowledge. A worm differs from a computer virus in that a computer virus typically attaches itself to another computer program or data file, i.e. an infected or target file, and is spread by a user&#39;s interaction with the target file, albeit unknowingly. In contrast, a worm self propagates without any user intervention. Computer viruses and worms often undesirably reduce otherwise available system resources such as memory and disrupt data stored on infected computer systems often resulting in system failure.  
           [0004]    Recently, a new type of worm has seen increased commonality. This type of worm spreads, or replicates itself, from an infected system by automatically sending a copy of itself via e-mail to addresses identified in an address book. Examples of these types of worms include the widely disseminated “MELISSA” and “ILOVEYOU” worms. Of course, e-mail refers to the transmission of messages over communications networks, such as the global interconnection of computers and computer networks commonly referred to as the Internet. An address file, address book, or data base, acts as an electronic phone book which stores names, personal information and e-mail addresses of other users or computer systems for intended email recipients or frequently contacted e-mail addresses.  
           [0005]    Hence, there is a need for a method and system for preventing computer worms from accessing the address book of a recipients and disseminating itself using the information or e-mail addresses contained therein. 
       
    
    
     BRIEF DESCRIPTION OF THE FIGURES  
       [0006]    Various objects, features and advantages of the invention will become more apparent by reading the following detailed description in conjunction with the drawings, which are shown by way of example only, wherein:  
         [0007]    [0007]FIG. 1 illustrates a flow chart of an exemplary process in accordance with a first aspect of the present invention;  
         [0008]    [0008]FIG. 2 illustrates a flow chart of an exemplary process in accordance with a second aspect of the invention;  
         [0009]    [0009]FIG. 3 illustrates a flow chart of an exemplary process in accordance with a third aspect of the invention;  
         [0010]    [0010]FIG. 4 illustrates a flow chart of an exemplary process in accordance with a fourth aspect of the invention;  
         [0011]    [0011]FIGS. 5 a  and  5   b  illustrate conventional data base structures;  
         [0012]    [0012]FIG. 6 illustrates a flow chart of an exemplary process for encrypting e-mail addresses in accordance with the principles of the invention;  
         [0013]    [0013]FIG. 7 illustrates a flow chart of an exemplary process for decrypting e-mail addresses in accordance with the principles of the invention;  
         [0014]    [0014]FIG. 8 illustrates a flow chart of an exemplary process for obtaining encryption keys;  
         [0015]    [0015]FIG. 9 illustrates a flow chart of a process for insuring address encryption before reading e-mail messages; and  
         [0016]    [0016]FIG. 10 illustrates a system for practicing the principles of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0017]    [0017]FIG. 1 illustrates a flow chart of a first exemplary process  100  in accordance with the principles of the invention. In this illustrated process, an e-mail address file or data base or address book is stored in an encrypted form at block  10 . A user may communicate with an Internet Service Provider (ISP)  20  to connect to a network, such as the INTERNET, INTRANET, WAN, LAN, for example, and activates, or opens, a suitable e-mail software application program at block  30 , such as OUTLOOK which is commercially available from MICROSOFT Corporation. Other commercial available software programs, such as Lotus NOTES, EUDORA, ACT, etc., are also suitable e-mail software programs that are also applicable to the present invention.  
         [0018]    The selected e-mail software application then accesses an e-mail server (not shown) and downloads e-mails which were addressed to the user&#39;s e-mail account at block  40 . The user then may open the received e-mails and read them at block  50 .  
         [0019]    The user may then forward the e-mail message and require access to e-mail addresses stored in a data base, address book, or address file that may be locally or remotely located. In this case, some or all addresses in the address file may be selected and decrypted at block  60 . The decrypted address is stored in the address portion of at least one e-mail message at block  70 . The user may then compose and send e-mail message(s) to the selected address(es) using conventional methodology at block  80 . In another aspect of the invention, the decrypted email addresses may be stored in the e-mail address book and the e-mail program may extract the designated addresses. At block  90 , the selected decrypted addresses are again encrypted  
         [0020]    [0020]FIG. 2 illustrates a flow chart of a second exemplary process  200  in accordance with a second aspect of the present invention. In this case, the address file is encrypted at block  210 . An encrypted address file, or file which contains obscured address information, is accessed at block  215 . A user may then communicate with an Internet Service Provider (ISP) at block  220  to connect to a network (not shown). At block  225 , a suitable e-mail software application is opened. The e-mail software application then accesses an e-mail server and downloads e-mails that were addressed to the user&#39;s e-mail account at block  230 . The user may then open the received e-mails and can read them at block  235 . The user may then indicate that he wants to send an e-mail message to at least one intended recipient at block  240 .  
         [0021]    At block  250 , the address file may be decrypted and made accessible to the user. The user may then select the address of at least one intended recipient at block  260  and compose and send one or more e-mail messages at block  265 , as is conventionally understood. The e-mail application may then be closed at block  270 , and the address file protected again  275  by re-encrypting the selected address(es) and storing the encrypted address(es) in the address book.  
         [0022]    [0022]FIG. 3 illustrates a flow chart of another exemplary process  300  depicting an operation of the present invention. In this exemplary process a program suitable for e-mail transmission is opened at block  30 . At block  40 , e-mails addressed to the user are downloaded. At block  50 , the downloaded e-mail messages are read.  
         [0023]    In response to one or more e-mail messages or a desire to create a new e-mail message or forward one or more received e-mail message, a user may select one or more encrypted e-mail addresses from a data base of e-mail addresses at block  310 . At block  320 , the selected encrypted e-mail addresses are decrypted using known decryption methods. At block  80 , an e-mail message is composed and sent via a network connection to the designated e-mail addresses. At block  90  the selected addresses are again encrypted using known encryption methods.  
         [0024]    [0024]FIG. 4 illustrates a flow chart of still another exemplary process  400  depicting an operation of the present invention. In this exemplary process, a connection is made to an Internet Service Provider (ISP) at block  120 . At block  130  a program suitable for e-mail transmission is opened at block  130 . At block  310 , an e-mail address is selected from a data base of e-mail addresses at block  310 . At block  320 , the selected encrypted e-mail addresses are decrypted using known decryption methods. At block  410 , the decrypted selected e-mail address is placed in the header of the e-mail message. At block  420 , a determination is made whether more addresses are desired. If the answer is in the affirmative, then process continues at block  310  to select a next encrypted address.  
         [0025]    If however, the answer is negative, then processing continues at block  310 , where an e-mail message is composed. Upon completion of the e-mail message, the selected e-mail addresses are again encrypted at block  230 . At block  450 , the composed e-mail message is sent via a network connection through the selected ISP. At block  220 , the e-mail program is closed and processing is completed at block  460 .  
         [0026]    [0026]FIG. 5 a  illustrates one example of a conventional data base structure using a first file or table  510  containing informational data regarding a particular entry, e.g., name and location, and a second file or table  510  containing a corresponding e-mail address. In this illustrated example, first table  510  and second table  520  are in a one-to-one relation and an entry, for example Jsmith Home  511  includes a pointer to an entry in second table  520  that contains an corresponding e-mail address “Jsmith@ISP1com.” 
         [0027]    [0027]FIG. 5 b  illustrates a second example of a conventional data base structure using packets to contain informational items and corresponding e-mail addresses. In this illustrated example, e-mail addresses of the designated entity are included in known positions or locations within a packet. Hence, corresponding e-mail address information may be accessed using an index into each packet. As will be appreciated, data base configurations for conventional e-mail programs are known in the art and the use different configurations or structures are contemplated to be within the scope of the invention.  
         [0028]    [0028]FIG. 6 illustrates a flow chart depicting an exemplary process  600  for encrypting e-mail addresses in accordance with the present invention. In this process, a key value is obtained at block  610 . At block  620 , an e-mail address entry is obtained from the data base, or address book, at block  630 , a determination is made whether the obtained e-mail address is encrypted. If the answer is in the affirmative, then processing continues at block  660 .  
         [0029]    If, however, the answer is negative, then the address is encrypted using the obtained key value and known encryption methods. At block  650 , the encrypted e-mail address is saved in the address book.  
         [0030]    At block  660 , a determination is made whether more entries are available in the address book. If the answer is in the affirmative then processing continues at block  620  where a next/subsequent e-mail address is selected. Although not shown it will be understood, that each e-mail address of a data base or address book using a packet structure would be encrypted before a next entry is selected from the data base or address book.  
         [0031]    [0031]FIG. 7 illustrates a flow chart depicting an exemplary process  700  for decrypting e-mail addresses in accordance with the principles of the present invention. In this illustrative process, an e-mail address is obtained at block  710 . At block  720 , a determination is made whether the obtained e-mail address is encrypted. If the answer in negative then process exits at block  780 .  
         [0032]    If however, the answer is in the affirmative, then the data base or address book are accessed at block  730  to obtain the corresponding encrypted e-mail address. At block  740  a determination is made whether a decryption key is available. If the answer is negative, then an error is indicated at block  770 .  
         [0033]    However, if the answer is in the affirmative, then a decryption key is obtained at block  750  and the encrypted e-mail address is decrypted at block  760  using known decryption methods.  
         [0034]    At block  780 , processing is ended with an e-mail address suitable for addressing a destination via a network.  
         [0035]    [0035]FIG. 8 illustrates a flow chart of an exemplary process  800  for obtaining a key in accordance with one aspect of the invention. In this illustrated aspect, a determination is made, at block  810 , whether a key mechanism is available or installed. If the answer is in the affirmative, then a key is obtained from the key mechanism at block  820 .  
         [0036]    However, if the answer is negative, then a determination is made, at block  830 , whether a manual key input is available. If the answer is negative, then an error is indicated at block  850 . If, the answer is in the affirmative, then a key may be manually inputted at block  840 .  
         [0037]    Processing is completed at block  860 .  
         [0038]    [0038]FIG. 9 illustrates a flow chart of an exemplary process  900  for insuring encrypted e-mail addresses before reading received e-mails. In this exemplary process, before emails are read, an e-mail address in the address book is selected or obtained at block  910 . At block  920 , a determination is made whether the selected address is encrypted. If the answer is in the affirmative, then a next e-mail address is obtained at block  930 . At block  940 , a determination is made whether end of the address book has been reached. If the answer is negative, then process returns to block  920  to determine whether the selected address is encrypted.  
         [0039]    If, however, the answer is in the affirmative, then e-mails are read at block  950 .  
         [0040]    However, if the determination at block  920  is negative, then a warning may be provided at block  960 . At block  970  a determination is made whether the selected address may be encrypted. If the answer is in the affirmative, then the selected address may be encrypted using known encryption methods.  
         [0041]    If the answer is, however, negative, then a determination is made, at block  990 , whether e-mail addresses may be read. If the answer is in the affirmative, then received e-mails may be read at block  950 .  
         [0042]    If, however, the answer is in the negative, then process is ended. In another aspect of the invention (not shown), processing may continue at block  930  to check each e-mail address in the address book.  
         [0043]    [0043]FIG. 10 illustrates an exemplary system  1000  for practicing the principles of the invention. In this exemplary system embodiment, input data, such as key data, may be received over network  1050  and is processed in accordance with one or more software programs executed by processing system  1010 . The results of processing system  1010  may then be transmitted over network  1070  for viewing on display  1080  and/or reporting at  1090 .  
         [0044]    More specifically, one or more input/output devices  1040  may receive key data from one or more of the illustrated network compatible devices  1060 , for example, Flash memory chips, ROM chips, powered RAM chips, disk drive, floppy disk, CD ROM, over a corresponding network  1050 ,e.g., ISA, PCI, PCMCIA, USB bus, WIFO. In another aspect, key information may be obtained over the INTERNET.  
         [0045]    The received key data may be applied to processing system  1010 . Processing system  1010  comprises processor  1020 , which is in communication with input/output device  1040  and memory  1030 . Input/output devices  1040 , processor  1020  and memory  1030  may communicate over a communication medium  1025 . The communication medium  1025  may represent a local communication bus, such as an ISA, PCI, PCMCIA, USB bus, a wired or wireless communication network, one or more internal connections of a circuit, circuit card or other device, as well as portions and combinations of these and other communication media. Processor  1020  may be representative of a handheld calculator, special purpose or general purpose processing system, desktop computer, laptop computer, palm computer, or personal digital assistant (PDA) device etc., as well as portions or combinations of these and other devices that can perform the operations illustrated in the preceding figures. Processor  1020  may include code, which when executed, performs the illustrated operations. The code may be further be contained in memory  1030  or read/downloaded from a memory medium such as an external memory chip, a CD-ROM or floppy disk (which are not shown), which is accessible by processor  1020 , when needed. The operations illustrated in the flow charts may be performed sequentially or in parallel using different processors to determine specific values. Further, the key data received by input/output device  1040  may be immediately accessible by processor  1020  or may be stored in memory  730 . As will be appreciated, input/output device  1040  may also allow for manual or interactive input, such as a keyboard or keypad entry or may read data from magnetic or optical medium.  
         [0046]    In other embodiments, hardware circuitry may be used in place of, or in combination with, software instructions to implement the invention. For example, the elements illustrated herein may also be implemented as discrete hardware elements or may be integrated into a single unit.  
         [0047]    System  1000  may further receive or transmit data over one or more network connections from a server or servers over, e.g., a global computer communications network such as the Internet, Intranet, a wide area network (WAN), a metropolitan area network (MAN), a local area network (LAN), a terrestrial broadcast system, a cable network, a satellite network, a wireless network, or a telephone network (POTS), as well as portions or combinations of these and other types of networks. As will be appreciated, networks  1050  and  1070  may be an internal network, e.g., ISA, microchannel, PCI, PCMCIA, USB, etc., or one or more internal connections of a circuit, circuit card or other device, as well as portions and combinations of these and other communication media or an external network, e.g., the Internet and Intranet.  
         [0048]    In a preferred embodiment, processor  1020  is a conventional laptop computer containing PCMCIA port suitable to receive a PCMCIA memory card or PCMCIA adaptor and memory card that is accessible by the processor contained with the laptop computer. Key information may be stored on the memory card to prevent unauthorized decryption of encrypted data. Although a preferred embodiment is disclosed, it will be appreciated, the processor  1020  may similarly be a desktop computer having a floppy disk or C/D Rom port, which may allow the removable connection of medium suitable to contains key information. In another embodiment, processor  1020  may be a Personal Digital Assistant (PDA) having a slot that allows for the removable connection of a medium, e.g., SONY MEMORYSTICK, which contains key information.  
         [0049]    It would be appreciated that encryption methods are well known in the art and in a preferred embodiment, a public key/private key encryption method, similar to that described in U.S. Pat. No. 4,200,770, entitled “Cryptographic Apparatus and Method, issued Apr. 29, 1980, to Hillman, et al., is utilized. However, it should be understood that methods for disguising or obscuring the actual e-mail address are also contemplated to be within the scope of the invention. For example, email addresses may be obscured by translating the e-mail address using known arithmetic methods. In one aspect, key information may be merely added to, subtracted from, multiplied with, or divided into, the e-mail address to offset the e-mail address value. Similarly, proxy values may be used to obscure the e-mail addresses. For example, a numerical value may be used to represent each service provider. In this case, an e-mail address in the form of XXX.ISP.COM may be saved in the form XXX@Y.Com, where Y is a representative of numerical value that designates a particular ISP. Similarly, e-mail addresses may be scrambled using a substitution method, where letters or numbers replace corresponding numbers or letters. Hence, although the word encryption is used herein, it would be understood that the use of the word is not limited to one form of encryption technology but rather to known methods of obscuring or scrambling the true address value in order to prevent ready use of the address information.  
         [0050]    Although the invention has been described and pictured in a preferred form with a certain degree of particularity, it is understood that the present disclosure of the preferred form, has been made only by way of example, and that numerous changes in the details of construction and combination and arrangement of parts may be made without departing from the spirit and scope of the invention.