The present application is related to a application entitled “SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR TAILORING SECURITY RESPONSES FOR LOCAL AND REMOTE FILE OPEN REQUESTS” which was filed coincidentally herewith under Ser. No. 10/876,523, naming inventors Lowe, Edwards, and Kumar, and which is incorporated herein by reference.
The present invention relates to network security, and more particularly to preventing viruses from infecting computers.
In the space of just a few years, the Internet, because it provides access to information, and the ability to publish information, in revolutionary ways, has emerged from relative obscurity to international prominence. Whereas, in general, an internet is a network of networks, the Internet is a global collection of interconnected local, mid-level, and wide-area networks that use the Internet Protocol (IP) as the network layer protocol. Whereas the Internet embraces many local- and wide-area networks, a given local- or wide-area network may or may not form part of the Internet.
As the Internet and its underlying technologies have become increasingly familiar, attention has become focused on Internet security and computer network security in general. With unprecedented access to information has also come unprecedented opportunities to gain unauthorized access to data, change data, destroy data, make unauthorized use of computer resources, interfere with the intended use of computer resources, etc. As experience has shown, the frontier of cyberspace has its share of scofflaws, resulting in increased efforts to protect the data, resources, and reputations of those embracing intranets and the Internet.
Security threats have evolved significantly with the increased popularity of the Internet. Advanced hybrid threats have been designed to attack systems on multiple fronts, sometimes searching for vulnerabilities until one is found. New threats also attempt to attack security technology itself.
Further, recent viruses use several techniques in order to spread very rapidly. In the time it takes for virus researchers to obtain a sample, analyze it, and release new signature files (i.e. DAT files, etc.), and for customers to obtain those signature files and distribute them to their computers; the virus can infect many, many computers.
One problem, therefore, involves protecting computers from new threats in this short period of time. Since no one knows when a new virus will be released and be successful, it is necessary for this protection to not cause any other problems.
Several years ago, technologies such as behavior blocking and file check summing were proposed as solutions to this problem, but they fell out of favor. This is because behavior blocking was not tuned enough to differentiate between legitimate and malicious behavior. Moreover, check summing fell out of favor because the advent of macro viruses meant that it became impossible to distinguish legitimate changes from malicious ones.
There is thus a need for overcoming these and other related security problems.
A system, method and computer program product are provided for preventing malware infection. In use, mass-mailing-type malware is prevented from sending electronic messages via a network. Malware is also prevented from communicating. Still yet, unrecognized attachments are prevented from opening, and executable files are prevented from being infected via the network.
In one embodiment, the mass-mailing-type malware may be capable of sending a multiplicity of electronic messages to a multiplicity of recipients. In use, the mass-mailing-type malware may be prevented from sending electronic messages by preventing use of a predetermined port. This predetermined port may include port 25.
As an option, the mass-mailing-type malware may be prevented from sending electronic messages by utilizing a white list for conditionally preventing the sending of electronic messages based on a predetermined aspect. For example, such a predetermined aspect may include a recipient address, an application identifier, etc.
In another embodiment, the malware may be prevented from communicating by preventing communications over predetermined communication channels. Such predetermined communication channels may include a file transfer protocol (FTP), a hypertext transfer protocol (HTTP), an internet relay chat (IRC) protocol, etc.
In yet another embodiment, the malware may be prevented from communicating by utilizing a white list for conditionally preventing the communication based on a predetermined aspect. As an example, the predetermined aspect may be an application identifier, etc.
Optionally, the opening of unrecognized attachments may be prevented by preventing the opening of the unrecognized attachments when they reside in a temporary directory. The prevention of the opening of the unrecognized attachments may further be subject to user tuning. For example, such user tuning may involve limiting the prevention of the opening of the unrecognized attachments to situations where the unrecognized attachments are received via a web page or via an electronic message.
In a further embodiment, executable files may be prevented from being infected via the network by determining whether a request to open the executable files is a local request or a remote request. In this embodiment, the executable files may be prevented from being infected by conditionally allowing the opening thereof based on whether the request is the local request or the remote request.
In still yet another embodiment, a system, method and computer program product are provided for defining a rule to prevent malware infection. In this embodiment, a rule is identified, and a process and at least one file or directory are selected to which the rule is to be applied. Further, at least one action is chosen that triggers the rule to be applied to the selected process and the at least one file or directory. Still yet, an operation is chosen to be carried out in response to the action.
Coupled to the networks 102 are data server computers 104 which are capable of communicating over the networks 102. Also coupled to the networks 102 and the data server computers 104 is a plurality of end user computers 106. In order to facilitate communication among the networks 102, at least one gateway or router 108 is optionally coupled therebetween.
It should be noted that each of the foregoing network devices in the present network architecture 100, as well as any other unillustrated hardware and/or software, may be equipped with various security features. For example, the various data server computers 104 and/or end user computers 106 may be equipped with security functionality in the form of a virus scanner, a firewall, etc. for purposes that will be set forth hereinafter in greater detail.
In use, mass-mailing-type malware is prevented from sending electronic messages via a network (i.e. networks 102, etc.). Malware is also prevented from communicating. Still yet, unrecognized attachments are prevented from opening, and executable files are prevented from being infected via the network.
In the context of the present description, malware (i.e. “malicious software”) may refer to any programming or files that are developed for the purpose of doing harm to a computer and/or network components. Thus, malware may include, but is not limited to, computer viruses, worms, Trojan horses, etc.
To this end, malware infection is inhibited, at least in part. More information regarding optional functionality and architectural features will now be set forth for illustrative purposes.
The workstation shown in
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.
It should be noted that the various operations of the method 300 of
In operation 302, mass-mailing-type malware is prevented from sending electronic messages via a network. In one embodiment, the mass-mailing-type malware may be capable of sending a multiplicity of electronic messages to a multiplicity of recipients. Further, the mass-mailing-type malware may be prevented from sending electronic messages by preventing use of a predetermined port. This predetermined port may include port 25.
As an option, the mass-mailing-type malware may be prevented from sending electronic messages by utilizing a white list for conditionally preventing the sending of electronic messages based on a predetermined aspect. For example, such a predetermined aspect may include a recipient address or an application identifier.
Some of the most successful recent viruses were those that talked directly with e-mail servers to send themselves to other people. This communication happens on TCP/IP port 25. Thus, by containing a rule which prevents any application from opening port 25, the present embodiment may provide enhanced security. If a virus evades the other rules and is not detected by virus signatures, it may be able to run, but will not be able to spread to any other systems by e-mail.
Because operation 302 will prevent legitimate e-mail clients from sending e-mail, such operation may incorporate the aforementioned white list of known e-mail clients. Sending e-mail is thus limited to a small number of applications that a person uses. In many cases, there may be just one program that is legitimately sending e-mail. This application may further be white listed to prevent false positives.
With reference now to operation 304, the malware is also prevented from communicating. In one embodiment, the malware may be prevented from communicating by preventing communications over predetermined communication channels. Such predetermined communication channels may include, but is not limited to, a file transfer protocol (FTP), a hypertext transfer protocol (HTTP), and/or an internet relay chat (IRC) protocol.
Optionally, the malware may be prevented from communicating by utilizing a white list for conditionally preventing the communicating based on a predetermined aspect. As an example, the predetermined aspect may be an application identifier, etc.
Thus, in one specific aspect of the present embodiment, the present operation prevents viruses and Trojans from communicating. Recent viruses and Trojans have needed to communicate in various ways for various reasons. See, for example, Table 1.
The present operation 304 thus utilizes rules which block the aforementioned communication channels. While a system may still become infected, the virus will be stifled if it cannot communicate. As with operation 302, white lists of applications that are allowed to communicate may be employed.
As an option, there may be a few more applications which use the aforementioned communication channels. For example, someone may be using MS Internet Explorer®, MS Outlook®, and/or MS Windows Media Player®, all of which use HTTP to download content. Thus, the risk of false positives may be higher until the user tunes the rules to his/her environment. Once tuned, however, the triggering of the rules may accurately identify unauthorized downloads.
Still yet, in operation 306, unrecognized attachments are prevented from opening. Optionally, the opening of unrecognized attachments may be prevented by preventing the opening of the unrecognized attachments when residing in a temporary directory.
The prevention of the opening of the unrecognized attachments may further be subject to user tuning. For example, such user tuning may involve limiting the prevention of the opening of the unrecognized attachments to situations where the unrecognized attachments are received via a web page or via an electronic message (i.e. e-mail, etc.).
As an option, operation 306 may work to prevent web browsers and/or e-mail clients from executing unknown attachments. The success of the mass-mailing viruses described above can be attributed to the continuing propensity of people to open attachments that they receive in their mailboxes. Because files have to exist on disk before they can be executed, web browsers and e-mail clients save the attachment to the system or the user “temp” directory and are then launched from there.
Thus, the present operation 306 employs rules which prevent common web browsers, e-mail clients and archive extracting programs from launching executables directly from any “temp” directory. In the context of the present description, a temporary directory is any directory that is temporary in nature or in any related aspect (i.e. either in name or function).
In operation 308, executable files are prevented from being infected via the network. In one embodiment, executable files may be prevented from being infected via the network by determining whether a request to open the executable files is a local request or a remote request. In this embodiment, the executable files may be prevented from being infected by conditionally allowing the opening thereof based on whether the request is the local request or the remote request.
A very successful class of viruses is that which spreads across corporate networks by finding writable shares and infecting executables that they find there. As an option, operation 308 may differentiate between open requests made on behalf of another computer on the network, and thus optimally prevent executable files from being infected over the network. More information regarding such differentiation may be found in the aforementioned related application, which is incorporated herein by reference.
Because of such differentiation, operation 308 can still allow local processes to modify executables which, although sometime suspicious, can occur legitimately (i.e. for example, when operating system patches are applied). In one embodiment, the ability to differentiate between local and network accesses may be used in a way that minimizes false positives, by using various related rules that are tuned to specific directories. See Table 2 for examples of such location-based rules.
The ability to tune the aforementioned rules to specific processes minimizes false positives. Obviously, a rule which said “don't allow anything to execute anything” would be 100% secure, but would make the computer useless. By limiting behavior blocking to just those operations which are most dangerous (i.e. running programs from e-mails or web pages), one can stop the casual execution of viruses while still allowing all other legitimate programs to run.
In operation 402, a rule is identified. This may be accomplished in any desired manner. For example, a pre-existing or new name may be selected by the user to later identify the rule.
Further, in operations 404 and 406, a process and at least one file or directory is selected to which the rule is to be applied. In the context of the present description, such process may include any functionality associated with code (i.e. an application program, etc.), and the file may include any data that may be stored at a certain location in memory (i.e. directory).
Still yet, in operation 408, at least one action is chosen that triggers the rule to be applied to the selected process and the at least one file or directory. Such action may include either user or computer actions. Even still, in operation 410, an operation is chosen to be carried out in response to the action. Such operation may include any response that is desired, in dealing with the aforementioned action for security purposes.
The present method 400 thus allows the definition of a powerful rule-based mechanism that can be used to not only prevent a computer from becoming infected with a virus that traditional virus scanning components cannot detect, but also prevent an already infected computer from spreading the infection further or from becoming damaged.
More information regarding one exemplary graphical user interface will now be set forth, which may optionally be used to implement the foregoing method 400, in the context of an illustrative, non-limiting example.
As shown in
Thus, in one embodiment, this field may simply be used for entering a descriptive name for the rule. If the rule is broken, the rule name may be included in the logs and events that are generated.
Further shown is a second field 504 associated with the graphical user interface 500. In use, the second field 504 is adapted for receiving a selection of a process to which the rule is to be applied (i.e. see, for example, operation 404, of
Thus, the present field includes the name(s) of the processes covered by the rule. This can be a single name or cover more than one process through the use of wildcards. It should be understood that the concept of ‘process name’ can readily be extended to lists (i.e. ‘winword.exe,’ ‘excel.exe,’ etc.), directories (i.e. conceptually “everything installed in c:\program files,” etc.), and subdirectories, etc.
Additionally, this feature may optionally be expanded beyond processes, per se, to other entities that can be represented as such (which are intended to fall within the term “processes,” in the present context). For example, two pseudo-processes may be utilized: ‘System:Remote’ which represents file accesses made by the kernel on behalf of clients on the network, and ‘System’ which represents all other files access made by the kernel. More information regarding such feature may be found in the aforementioned related application, which is incorporated herein by reference.
Still yet, a third field 506 is associated with the graphical user interface 500. The third field 506 is adapted for receiving a selection of at least one file or directory to which the rule is to be applied (i.e. see, for example, operation 406, of
This field receives the name of the files and/or directories that are covered by the rule. These are not necessarily files that are ‘protected’, or even exist. More information regarding this field will be set forth hereinbelow in the context of a couple of examples. As with the process name, the format to specify the names of files may involve a block that could vary between implementations.
With continuing reference to
The present actions may be those that trigger the rule if the named process(es) attempts such actions. Of course, numerous actions may be performed on a file. Some actions such as ‘write data to the file’ cannot occur until another operation (i.e. ‘open file for write access’) has occurred. Since the present embodiment may be monitoring ‘open file for write access,’ such embodiment does not need to offer ‘write data to the file’ as an option to block. Other operations such as ‘rename file’ are conceptually similar to the ones listed and the present embodiment may hide the distinction. Therefore, the list shown is not a definitive list of operations and other implementations may have variations.
When a file operation is attempted, the present embodiment gathers the name of the process that attempted the operation, the name of the directory/file, and the action that was attempted. This information may then be compared against each rule in turn. If all three pieces of information match, the operation is failed and the present embodiment may log all the pertinent information.
Even still, a fifth field 510 is associated with the graphical user interface 500. The fifth field 510 is adapted for receiving a selection of an operation to be carried out in response to the action (i.e. see, for example, operation 410, of
Following are possible examples of use of the graphical user interface 500, which are set forth for illustrative purposes only and should not be construed as limiting in any manner.
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 the infection thereof with malware, 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.
Number | Name | Date | Kind |
---|---|---|---|
5606668 | Shwed | Feb 1997 | A |
5623600 | Ji et al. | Apr 1997 | A |
5889943 | Ji et al. | Mar 1999 | A |
5956481 | Walsh et al. | Sep 1999 | A |
5964889 | Nachenberg | Oct 1999 | A |
5974549 | Golan | Oct 1999 | A |
5983348 | Ji | Nov 1999 | A |
5987135 | Johnson et al. | Nov 1999 | A |
6123737 | Sadowsky | Sep 2000 | A |
6219786 | Cunningham et al. | Apr 2001 | B1 |
6266707 | Boden et al. | Jul 2001 | B1 |
6311277 | Takaragi et al. | Oct 2001 | B1 |
6460050 | Pace et al. | Oct 2002 | B1 |
6473896 | Hicken et al. | Oct 2002 | B1 |
6594686 | Edwards et al. | Jul 2003 | B1 |
6611925 | Spear | Aug 2003 | B1 |
6779118 | Ikudome et al. | Aug 2004 | B1 |
6954858 | Welborn et al. | Oct 2005 | B1 |
7080408 | Pak et al. | Jul 2006 | B1 |
7216367 | Szor | May 2007 | B2 |
7415727 | Lowe et al. | Aug 2008 | B1 |
20020091940 | Welborn et al. | Jul 2002 | A1 |
20030023875 | Hursey et al. | Jan 2003 | A1 |
20030065926 | Schultz et al. | Apr 2003 | A1 |
20040168070 | Szor | Aug 2004 | A1 |
20040210640 | Chadwick et al. | Oct 2004 | A1 |
20050166001 | Conover et al. | Jul 2005 | A1 |
20080134335 | Kameda | Jun 2008 | A1 |
20080196104 | Tuvell et al. | Aug 2008 | A1 |
20090019388 | Zhang et al. | Jan 2009 | A1 |
20090031162 | Bose et al. | Jan 2009 | A1 |
20090141652 | Canright et al. | Jun 2009 | A1 |
Number | Date | Country |
---|---|---|
1 357 499 | Oct 2003 | EP |