Automatically verifying that anti-phishing URL signatures do not fire on legitimate web sites

A method and computer program product prevent false positives from occurring by reducing or preventing legitimate web site content from triggering matches to phishing black lists, but provides time and cost savings over manual review of black lists. A method implemented in a computer system for detecting false positives among a plurality of search patterns of web sites that include illegitimate content comprises accessing a first page of a legitimate web site, obtaining all links included in the first page, for each link included in the first page that points to a page on the web site, determining whether the link matches at least one of the plurality of search patterns, and for each link that matches the search pattern, indicating that the search pattern is a false positive.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to reducing or preventing legitimate web site content from triggering matches to anti-phishing black lists.

2. Description of the Related Art

Phishing attacks are computerized ploys that are intended to steal consumers' personal identity data and financial account credentials. Examples of phishing schemes include using ‘spoofed’ e-mails to lead consumers to counterfeit websites designed to trick recipients into divulging financial data such as credit card numbers, account usernames, passwords and social security numbers. Hijacking of brand names of banks, e-retailers and credit card companies, are often used to convince recipients to respond.

Most phishing attacks today are done by the phisher placing the fake website content on a legitimate website. They do this by hacking into the site and placing the content in an area that they create and upload files to. They then send out the URL to the uploaded web content in a fraudulent email. The victim then clicks on the URL in the email which takes them to the area of the website created by the phisher.

As an example, take a legitimate site such as http://www.myfamilyphotos.com. The phisher will hack into the web server hosting www.myfamilyphotos.com and place the illegitimate content, such as fraudulent content in a location such that it can be referenced by a URL such as http://www.myfamilyphotos.com/subdir/hackedpage.asp. To a user, this URL may appear legitimate, as the illegitimate content is in fact actually present on the legitimate website server. Of course, the illegitimate content may be any sort of web application, file or content, not just an .asp page.

Many Anti-Phishing solutions block access to illegitimate sites by providing a black list. This black list includes a list of domains known to have illegitimate content on them. For example, myfamilyphotos.com would be one such domain. Also included in the black list is a list of search patterns or signatures for each listed domain, as there may be more than one illegitimate site on a domain. These search patterns are commonly in regular expression format, but don't have to be. A regular expression is a string that is used to describe or match a set of strings, according to certain syntax rules. To determine if a URL points to illegitimate phishing content, the domain part of the URL is extracted and then the list of search patterns is retrieved from the black list. These search patterns are then evaluated against the full URL. If the full URL matches one or more of the search patterns, the URL is determined to be a phishing site. These black lists are built by automatically and manually processing phishing samples.

A problem arises in trying to ensure that the search patterns do not match a legitimate part of a web site. Such a match is known as a false positive. False positives in phishing black lists are increasingly common as phishing attacks increase in number. False positives are undesirable as they will block access to legitimate web content. In order to reduce false positives, the black lists may be manually reviewed. However, due to the vast number of web sites in existence, black lists tend to be very large. Manual review of such black lists is very time consuming and expensive. A manual review step will also delay the availability of the new black list entry increasing the window of time that the solution does not protect against the illegitimate content.

A need arises for a technique that prevents false positives from occurring by reducing or preventing legitimate web site content from triggering matches to phishing black lists, but which provides time and cost savings over manual review of black lists.

SUMMARY OF THE INVENTION

The present invention provides prevents false positives from occurring by reducing or preventing legitimate web site content from triggering matches to phishing black lists, but provides time and cost savings over manual review of black lists. The ability to automatically check for false positives also allows black list listings times to be quicker and also allows the techniques and process that generate black list entries to be more aggressive and take more risk. Both of these advantages mean Anti-Phishing detection and coverage is improved. In the extreme case, brute-force generation of match criteria could be employed and executed against this algorithm. When a brute-force signature passes the algorithm without recording a false-positive it can be used as a signature.

A method implemented in a computer system for detecting false positives among a plurality of search patterns of web sites that include illegitimate content comprises accessing a first page of a legitimate web site, obtaining all links included in the first page, for each link included in the first page that points to a page on the web site, determining whether the link matches at least one of the plurality of search patterns, and for each link that matches the search pattern, indicating that the search pattern is a false positive. The search pattern may be included in a list of web sites that include illegitimate content. Each search pattern may be a regular expression. A search pattern that is a false positive may be indicated by including the search pattern in a list of false positives. A search pattern that is a false positive may be indicated in the list of web sites that include illegitimate content.

The method may further comprise, for each link that points to a page on the web site, recursively accessing a page pointed to by the link, obtaining all links in the page, for each link included in the page that points to a page on the web site, determining whether the link matches at least one of the plurality of search patterns, and for each link that matches the search pattern, indicating that the search pattern is a false positive.

DETAILED DESCRIPTION OF THE INVENTION

The present invention provides prevents false positives from occurring by reducing or preventing legitimate web site content from triggering matches to phishing black lists, but provides time and cost savings over manual review of black lists. The solution revolves around the fact that legitimate parts of a website are usually all linked together by hyperlinks and are accessible by following hyperlinks starting at the main page. An example of such a website100is shown inFIG. 1. Website100includes a main page102, which is typically the page at which a user starts accessing the website, although the user may start accessing the website at another page. Main page102includes one or more links103which provide access to additional web pages104A-M. Each web page104A-M may include one or more links to additional web pages106A-K. These web pages may in turn include links107to additional web pages108A-G, which may themselves include links109to additional web pages110A-G. Although, for simplicity, inFIG. 1web pages and links are shown hierarchically, it is well-known that any web page may link with any other web page. Web pages linked to main page102, including web pages104A-M,106A-K,108A-G, and110A-G comprise the legitimate content of website100. However, in addition to this legitimate content, website100includes illegitimate content, such as illegitimate content page112. Illegitimate content page112may link113to additional illegitimate content pages114A-G. However, it is quite unlikely that there are any links from legitimate content pages102,104A-M,106A-K,108A-G, and110A-G to any of the illegitimate content pages112and114A-G.

For example, all legitimate parts of the family photos website discussed above are likely to be accessible from the home page at http://www.myfamilyphotos.com, but it is extremely unlikely for there to be a link to the phish page at http://www.myfamilyphotos.com/subdir/hackedpage.asp from the legitimate part of the website.

The present invention provides an automated way to build confidence that the black list entry search patterns or signatures will not detect false positives on legitimate content by checking that no legitimate part of the website links to the illegitimate part and that no part of the web site accessible from the home page matches the search pattern.

An example of an implementation of process200for detecting and indicating false positives is shown inFIG. 2. Process200begins with step202, in which the home page of the website to be checked is accessed. In step204, a breadth-first enumeration of all links included in the home page is performed. In a breadth-first enumeration, all of the links in the home page are collected, but none of them are accessed or followed, yet. In step206, each collected link is examined to determine whether it points to a page in the website being checked. For example, those links that include the same top-level domain name as the homepage of the website being checked would be determined to point to a page in the website. For those links that that point to a page in the website being checked, the URL of each link is checked against each of the search patterns in the black list. In step208, if a URL of a link matches a search pattern in the black list, then a false positive has been detected. In this case, the search pattern is flagged or listed for later revision.

In step210, each link that was checked in step206is accessed and for each resulting page, the process repeats at step204. Thus, each level of website content is crawled and the checks on the links are repeated, until the whole site has been checked. As many links on websites are circularly referential or are dynamic, to prevent infinite recursion on circular references or on dynamic content, a maximum recursion depth is defined.

An exemplary block diagram of a system300, in which the present invention may be implemented, is shown inFIG. 3. System300includes computer system302, network304, and one or more web servers306A-N. Computer system302is typically a programmed general-purpose computer system, such as a personal computer, workstation, server system, and minicomputer or mainframe computer. Computer system302includes one or more processors (CPUs)308A-308N, input/output circuitry310, network adapter312, and memory314. CPUs308A-308N execute program instructions in order to carry out the functions of the present invention. Typically, CPUs308A-308N are one or more microprocessors, such as an INTEL PENTIUM® processor.FIG. 3illustrates an embodiment in which computer system302is implemented as a single multi-processor computer system, in which multiple processors308A-308N share system resources, such as memory314, input/output circuitry310, and network adapter312. However, the present invention also contemplates embodiments in which computer system302is implemented as a plurality of networked computer systems, which may be single-processor computer systems, multi-processor computer systems, or a mix thereof.

Input/output circuitry310provides the capability to input data to, or output data from, computer system302. For example, input/output circuitry may include input devices, such as keyboards, mice, touchpads, trackballs, scanners, etc., output devices, such as video adapters, monitors, printers, etc., and input/output devices, such as, modems, etc. Network adapter312interfaces computer system302with Internet/intranet304. Internet/intranet304may include one or more standard local area network (LAN) or wide area network (WAN), such as Ethernet, Token Ring, the Internet, or a private or proprietary LAN/WAN.

The contents of memory314varies depending upon the function that computer system302is programmed to perform. In the example shown inFIG. 3, memory314includes black list(s) to be checked316, false positive list318, checking routines320, and operating system328. Black list(s) to be checked316include one or more black lists that are to be checked for false positives. Each black list includes a list of domains known to contain illegitimate content and a list of search patterns for each listed domain, as there may be more than one illegitimate site on a domain. These search patterns may be in regular expression format. A regular expression is a string that is used to describe or match a set of strings, according to certain syntax rules. False positive list318includes those search patterns that have been found by checking routines320to match legitimate content on a web site. False positive list318may be stored or transmitted for use in revising the included search patterns to avoid false positives. Alternatively, false positives may be flagged directly in one or more black lists316. Checking routines320are software routines that check the search patterns included in black lists316for false positives, and which generates false positive list318or flags the false positive search patterns directly in one or more black lists316. Operating system328provides overall system functionality.

Web servers306A-N are computer systems and/or computer programs that are responsible for accepting HTTP requests from clients, such as web browsers, and serving them HTTP responses along with optional data contents, which usually are web pages such as HTML documents and linked objects (images, etc.). Each web server306A-N includes content324A-N, which typically includes web pages and links among web pages. The content324A-N may include legitimate content, illegitimate content, or both legitimate and illegitimate content, as shown inFIG. 1.

As shown inFIG. 3, the present invention contemplates implementation on a system or systems that provide multi-processor, multi-tasking, multi-process, and/or multi-thread computing, as well as implementation on systems that provide only single processor, single thread computing. Multi-processor computing involves performing computing using more than one processor. Multi-tasking computing involves performing computing using more than one operating system task. A task is an operating system concept that refers to the combination of a program being executed and bookkeeping information used by the operating system. Whenever a program is executed, the operating system creates a new task for it. The task is like an envelope for the program in that it identifies the program with a task number and attaches other bookkeeping information to it. Many operating systems, including UNIX®, OS/2®, and WINDOWS®, are capable of running many tasks at the same time and are called multitasking operating systems. Multi-tasking is the ability of an operating system to execute more than one executable at the same time. Each executable is running in its own address space, meaning that the executables have no way to share any of their memory. This has advantages, because it is impossible for any program to damage the execution of any of the other programs running on the system. However, the programs have no way to exchange any information except through the operating system (or by reading files stored on the file system). Multi-process computing is similar to multi-tasking computing, as the terms task and process are often used interchangeably, although some operating systems make a distinction between the two.

It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include storage media, examples of which include, but are not limited to, floppy disks, hard disk drives, CD-ROMs, DVD-ROMs, RAM, and, flash memory, as well as transmission media, examples of which include, but are not limited to, digital and analog communications links.