Abstract:
A computer readable storage medium including a set of instructions executable by a processor, the set of instructions operable to determine if a network location included in a request to connect to the network location, is included in a first list of untrusted network locations stored on the client computer and send a request to determine if the network location is included in a second list of untrusted network locations stored remotely from the client computer when it is determined that the network location is not included in the first list.

Description:
BACKGROUND 
       [0001]    As the number of people using the Internet continues to grow, the number of criminals attempting to prey on them grows accordingly. Phishing is one common criminal practice, whereby criminals attempt to trick their victims into revealing sensitive information by masquerading as trusted entities. 
         [0002]    As a result, a variety of anti-phishing techniques have been developed. Using one common technique, a database may be maintained that contains a list of websites that are known to be used for phishing. Such a database may be maintained at a central server that is periodically updated and accessed remotely by clients when the clients wish to verify the safety of a website. Alternately, the database may be maintained at a client system, periodically updated from a central server, and consulted locally when the client wishes to verify the safety of a requested website. 
       SUMMARY OF THE INVENTION 
       [0003]    A computer readable storage medium including a set of instructions executable by a processor, the set of instructions operable to determine if a network location included in a request to connect to the network location, is included in a first list of untrusted network locations stored on the client computer and send a request to determine if the network location is included in a second list of untrusted network locations stored remotely from the client computer when it is determined that the network location is not included in the first list. 
         [0004]    A system having a network server storing a first list of untrusted network locations and a client computer receiving a request to connect to a network location, the client computer storing a second list of untrusted network locations, the second list being a subset of the first list, the client computer determining whether the network location is included in the second list and sending a request to determine if the network location is included in the first list when the network location is not included in the second list, wherein the client computer is prevented from connecting to the network location if the network location is included in one of the first and second lists. 
         [0005]    A computing device including a web browser receiving a request to connect to a website, a database storing a first list of untrusted websites and a tool receiving the website from the web browser and searching the first list to determine if the website is included in the first list and sending a request to a remote database storing a second list of untrusted websites when the website is not included in the first list. 
     
    
     
       DESCRIPTION OF THE DRAWINGS 
         [0006]      FIG. 1  shows an exemplary system according to the present invention. 
           [0007]      FIG. 2  shows an exemplary local phishing site database according to the present invention. 
           [0008]      FIG. 3  shows an exemplary method for initializing a phishing site database on a client computer according to the present invention. 
           [0009]      FIG. 4  shows an exemplary method for managing phishing site databases according to the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0010]    The present invention may be further understood with reference to the following description and the appended drawings, wherein like elements are referred to with the same reference numerals. The exemplary embodiments of the present invention describe a method and system for optimizing the efficiency of the management of website phishing definitions. The exemplary embodiments ensure that vulnerability to phishing is minimized while reducing the use of local and network resources. The exemplary system and method will be discussed in detail below. 
         [0011]    Generally, the term “phishing” refers to criminal activity accomplished through social engineering techniques. More specifically, in its most common definition to describe activity taking place over the Internet, phishing typically refers to attempts to fraudulently obtain sensitive information (e.g., usernames and passwords, credit cards, social security numbers, etc.) by masquerading as a trustworthy entity in an online communication. Entities often mimicked by phishers include online stores and auction sites, electronic payment providers, banks, etc. 
         [0012]    In a typical phishing attempt, a user will receive an email purporting to be from a trustworthy entity of one of the types described above. Such a phishing email might inform the user that the user&#39;s bank account or credit card information has been compromised, or that an attempt to make payment for an online purchase has been unsuccessful. In order to resolve this fictional problem, the user is directed to follow a hyperlink located within the email. The user will be directed to a website that appears identical to that of the trusted entity, but is in fact owned by the phisher. There, the user is told to enter personal information (such as of the types discussed above) to “confirm” the user&#39;s identity. 
         [0013]    Once the user has done so, the phishing website may inform the user that the problem referred to in the phishing email has been resolved, or it may simply appear to cease to function. Regardless of what occurs at this point, however, the phisher is in possession of the user&#39;s personal information, which may be used in any manner common to identity theft crimes (e.g., withdrawing money from the victim&#39;s bank account, making purchases on the victim&#39;s credit card, opening accounts in the victim&#39;s name, etc.). 
         [0014]    The above refers to a technique whereby a user is lured to a phishing website by a fraudulent email. However, such solicitations may also occur through pop-up windows triggered by websites the user visits or through any other method designed to lure the user to a phishing website. 
         [0015]    One technique that has been developed to combat phishing is the use of anti-phishing databases. Anti-phishing databases typically contain a list of large quantities of website uniform resource locators (“URL”) that are known to be used by phishers. Each time a user attempts to navigate to a website, the anti-phishing database is consulted, and if the website the user is attempting to access is known to be a phishing website, the user is alerted and the navigation is canceled. 
         [0016]    Under a server-based implementation of an anti-phishing database, every time a user attempts to navigate to a website, an anti-phishing tool (e.g., a browser extension or plug-in) sends the website URL to a server storing the anti-phishing database. If the URL is found to be contained in the database (“blacklisted”), then the navigation is canceled and an alert is sent to be displayed in the browser on the client (i.e. user&#39;s) computer. Otherwise, the navigation is continued. 
         [0017]    Under a client-based implementation of an anti-phishing server, an anti-phishing tool initially downloads the entire phishing site definition database containing blacklisted domain names and/or URLs to the client computer. Subsequently, when the user attempts to navigate to a website, the anti-phishing tool checks the website domain name and/or URL against the locally stored blacklist. As above, if the user has attempted to navigate to a phishing site, the anti-phishing tool cancels the navigation and alerts the user. Otherwise, the navigation is continued. The anti-phishing tool downloads revisions to the anti-phishing database (either at set intervals or when prompted to do so by the user) to maintain the update status of the locally stored version of the database. 
         [0018]    The exemplary embodiment of the present invention integrates aspects of both the server-based and client-based implementations of anti-phishing databases.  FIG. 1  shows an exemplary system  100  according to the present invention. The exemplary system  100  may act in accordance with the exemplary methods  300  and  400 , shown in  FIGS. 3 and 4 . The system  100  includes client computer  110  (which may be, for example, a desktop computer, a laptop computer, a palmtop computer, or any other device that is capable of navigating a network). The client computer  110  is connected to a network  120 . The network  120  may typically be the Internet; alternately, in implementations of the present invention where the system  100  is maintained by a business entity for the protection of computers used by employees, it may be a corporate intranet. Also connected to the network  120  is an anti-phishing server  130 . 
         [0019]    The anti-phishing server  130  stores an anti-phishing database  135 . The database  135  is substantially as described above; it stores a comprehensive list of websites that have been blacklisted as phishing websites. The websites may be stored in the form of domain names (e.g., www.XXXXXX.com, www.YYYYYY.net, etc.), in the form of IP addresses (e.g., http://35.21.147.24, http://17.21.12.46, etc.), in any other format that may be used to point to a network location, or in a combination of more than one format. The database  135  should ideally be frequently updated to reflect the use of new and/or different sites by phishers. Those of skill in the art will understand that while the foregoing refers specifically to a database storing a list of websites, the present invention is equally applicable to any other type of network location (e.g., an FTP site, a mail server, etc.) Further, those of skill in the art will understand that while the exemplary embodiments discussed herein are specifically directed to phishing websites, the same principles may be applied to restrict access to any other type of untrusted network location (e.g., pornography websites or other websites containing material inappropriate for children, websites relating to illegal file sharing, etc.). 
         [0020]    The client computer  110  stores a local database version  115  of the anti-phishing database  135 . The local database version  115  is smaller than the database  135 .  FIG. 2  shows a truncated example of the local database version  115 . The local database version  115  contains a group  210  of phishing site identifiers  211 ,  212 ,  213 ,  214 . Each of the group  210  of identifiers correlates to one of a group  220  of usage counters  221 ,  222 ,  223 ,  224 . Additionally, each of the group  210  of identifiers correlates to one of a group  230  of access dates  231 ,  232 ,  233 ,  234 . Those of skill in the art will understand that while  FIG. 2  shows an exemplary local database version  115  containing four site identifiers and four corresponding usage counters, the precise number of site identifiers and usage counters will typically be much larger and will vary among different implementations of the present invention. Use of these counters will be described below. The local database version  115  may typically be limited to a preset maximum size (e.g., 4 megabytes, a fixed percentage of the size of the anti-phishing database  135 , etc.). The client computer  110  also stores an anti-phishing tool  140 . The anti-phishing tool  140  may be, for example, an extension or plug-in for web browser  112 . 
         [0021]    As stated above, the exemplary system  100  may operate in accordance with the exemplary methods  300  and  400 , respectively shown in  FIGS. 3 and 4 .  FIG. 3  shows the exemplary method  300  by which the local database version  115  is initially created. In step  305 , the anti-phishing tool  140  is installed on the client computer  110  (e.g., by running an installation utility that is supplied with the anti-phishing tool). In step  310 , the anti-phishing tool  140  initiates communications with the anti-phishing server  130  via network  120 . In step  315 , the anti-phishing server  130  selects a portion of the anti-phishing database  135  to be sent the client computer  110 . The selection of the portion of the anti-phishing database  135  may be made in a variety of manners, such as by selecting the portion of the database  135  that contains phishing sites that are most frequently accessed or by selecting the portion of the database that contains phishing sites that have most recently been added to the database  135 . In step  320 , the anti-phishing server  130  sends the portion of the database  135  to the client computer  110 , also via network  120 . In step  325 , the client computer  110  stores the received smaller database version locally as the local database version  115 . 
         [0022]      FIG. 4  shows the exemplary method  400  by which the local database version  115  is utilized and updated. In step  405 , the user of the client computer  110  attempts to navigate to a website (e.g., by typing a URL into web browser  112  or by clicking on a link shown in web browser  112  or in an electronic mail message). In step  410 , the anti-phishing tool  140  suspends navigation to the requested website. In step  415 , the anti-phishing tool  140  checks the requested website against the local database version  115 . In step  420 , the anti-phishing tool determines whether the requested website matches any of the websites found in the local database version  115 . 
         [0023]    If the anti-phishing tool  140  finds, in step  420 , that the requested website matches an entry in the local database version  115 , then the method proceeds to step  425 . In step  425 , the usage counter corresponding to the requested website is increased by one. For example, referring to  FIG. 2 , if the requested website matched with site identifier  212 , then the usage counter  222  would be increased from a value of  11  to a new value of  12 . Following the increase of the usage counter, in step  430  the anti-phishing tool  140  alerts the user (e.g., using a message displayed within the web browser  112 ) that the requested website is blacklisted for being a phishing website and cancels navigation to the website. 
         [0024]    Alternately, if the anti-phishing tool  140  finds, in step  420 , that the requested website does not match any of the entries in the local database version  115 , further verification is performed. In step  435 , the anti-phishing tool  140  sends the requested website to the anti-phishing server  130  for further checking. In step  440 , the anti-phishing server  130  determines whether the requested website is blacklisted in the anti-phishing database  135  stored on the anti-phishing server  130 . If so, this fact is communicated to the anti-phishing tool  140 , and in step  445  the anti-phishing tool  140  creates a new entry for the requested website in the local database version  115 , along with a corresponding usage counter which is set to an initial value of one. 
         [0025]    After the new entry is created in step  445 , a previously existing entry is removed from the local database version  115  in step  450 . This step is necessary in order to maintain the size of the local database version  115  at a constant level. The decision of which entry to be removed from the local database version  115  may be made by a variety of algorithms that may streamline the operation of the system  100 . For example, this determination may be made using a most recently used (“MRU”) algorithm, a most used (“MU”) algorithm, or a most least used (“MLU”) algorithm. 
         [0026]    An MRU algorithm keeps entries in the local database version  115  that have been accessed most recently, while discarding those that have not. This assumes that that phishing websites that have not been seen recently are no longer in use. Applied, this means that the anti-phishing tool will remove from the local database version  115  the entry with the least recent date in the group of access dates  230 . 
         [0027]    An MU algorithm retains, in the local database version  115 , phishing sites with higher usage counters, while discarding sites with lower counters. This assumes that phishing websites that are more frequently seen will continue to be so; therefore, checking for those sites is streamlined. 
         [0028]    An MLU algorithm will retain, in the local database version  115 , entries that are less commonly used. In practice, this means that the anti-phishing tool  140  will remove from the local database version  115  the entry with the highest value in its usage counter. This assumes that phishing websites with high usage counts will no longer frequently be seen in use because phishers will typically cease to use websites that are known to be phishing websites (and, thus, have already been placed on many blacklists). 
         [0029]    Those of skill in the art will be aware that these are only exemplary algorithms that can be used to determine which entries to retain in the local database version  115 . Any other algorithm that will accomplish the goal of retaining entries that are most likely to be accessed may also be used. Additionally, in other embodiments of the present invention, the anti-phishing tool  140  may periodically update the local database version  115  with new entries from the anti-phishing database  135  without being prompted to do so by user action. In such embodiments, removal of old entries from the local database version  115  may be performed using one of the algorithms described above or by any other algorithm designed to accomplish the same goals. 
         [0030]    Once a website has been removed from the local database version  115  in step  450 , the method continues to step  430 , where, as above, the user is alerted to the nature of the phishing website and navigation is canceled. In contrast, if, in step  440 , the requested website is not found to be in the anti-phishing database  135  stored on the server  130 , the method proceeds to step  455 , wherein navigation to the requested website is allowed. The method concludes following either step  430  or step  455 . 
         [0031]    The exemplary embodiments of the present invention provide the same protection against phishing as previous systems and methods for doing so. Additionally, they do so in a manner that reduces storage and memory usage in client computers, reduces processing time, and requires the client computers to communicate with the server less frequently. 
         [0032]    It will be apparent to those skilled in the art that various modifications may be made in the present invention, without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.