The present invention is related to Intrusion Detection Systems (IDS) and particularly to IDSs that detect and isolate malicious attacks on computer systems.
Computer security has become a major concern. The FBI has recognized cyber-terrorism as its number 3 priority in protecting the U.S. from terrorist threats. See, e.g., “Cyber Terrorism,” Testimony of Keith Lourdeau, Deputy Assistant Director, Cyber Division, FBI, Before the Senate Judiciary Subcommittee on Terrorism, Technology, and Homeland Security (www.fbi.gov/congress/congress04/lourdeau022404.htm), Feb. 24, 2004. An attack on a computer system or on a virtual machine (VM) running within the system (whether cyber terror or not) is an intentional and malicious act (or code) that tries to gain access to certain resources on the system in a way that is not intended by the system's security policy. A successful attack usually exploits defects in an application program, defects in the security policy, or both. For example, an attacker may take control of an application program that has special privileges for accessing resources. By exploiting defects in the program, the attacker can access resources using the program's special privileges, even though system security policies or the application itself may normally prevent such accesses.
An attack usually is characterized by a signature, e.g., characteristic steps that constitute the exploitation, data that the attack sends to the application, the target of the attack and etc. One well-known attack is a worm. A typical worm inserts code into an attacked computer system, e.g., piggy backing on an e-mail or spam. Then, the worm causes the inserted code to be executed on the attacked system. The attacked system repeats the attack against other computer systems, e.g., sending out emails to everyone listed in a local address book. So, the worm copies and spreads itself from one computer to another. Other types of well-known attacks include “Trojan Horses” and Denial of Service (DOS) attacks.
All of these attacks, at the very least, waste valuable resources. A typical worm, for example, wastes computer system time, storing itself, executing, generating copies and forwarding those copies to other computers. Sufficient volume of e-mails from such a worm may slow traffic and clog an e-mail server for, in effect, a denial of service. While extra e-mails, slow web response times and/or the inability to surf certain sites may be an annoyance for the typical cyber surfer; these same results on a mission critical computer may prove disastrous. Locking an air traffic control system or a nuclear power plant control system, for example, could result in serious consequential damage. With more and more systems connected to the Internet, the likelihood of such a disaster is becoming increasingly likely.
However, stopping cyber attack as they occur and before they can cause any damage, is only a half measure. Once an attack is identified, sufficient data must be collected about the attack to determine the origin of the attack, modes of operation and intention of the attacks, to facilitate identification of attack signatures, to identify the particular methods of spreading (e.g., for worm attacks) and etc. As Director Lourdeau noted, however, collecting such data can be extremely difficult and requires “research and development involving basic security, such as developing cryptographic hardware which will serve to filter attempts to introduce malicious code or to stop unauthorized activity. Continued research in these areas will only serve to assist the FBI in its work against cyberterrorism.”
Thus, there is a need for tight computer security that adequately filters attempts to introduce malicious code, stops unauthorized activity before damage occurs and collects data for analyzing attacks.
It is a purpose of the invention to protect computer resources from attacks;
It is another purpose of the invention to minimize wasted resources in computers protected against attacks;
It is another purpose of the invention to collect data on malicious attacks to computer systems.
The present invention relates to an intrusion detection system (IDS), method of protecting computers against intrusions and program product therefor. The IDS determines which applications are to run in native environment (NE) and places the remaining applications in a sandbox. Some of the applications in sandboxes may be placed in a personalized virtual environment (PVE) in the sandbox. Upon detecting an attempted attack, a dynamic honeypot may be started for an application in a sandbox and not in a PVE. A virtualized copy of system resources may be created for each application in a sandbox and provided to the corresponding application in the respective sandbox.
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
FIGS. 4A-B show before and after examples of a preferred computer wherein an application running in a sandbox has restricted access to resources and is the subject of an attack;
FIGS. 5A-B show an example of starting an application in
FIGS. 7A-B show an example of virtualizing resources for a requesting application in a PVE and providing the virtualized resources;
Turning now to the drawings and more particularly
Then, the application opens in NE, a Personal Virtualized Environment (PVE) or a SB and operates normally, waiting in step 108 until the application initiates a request for external (to the application) resources, e.g., through a system call. Once an application requests external resources, then continuing to step 110, a System call interceptor, Intrusion detection, Resource access control/switch, Honeypot/illusion generator (SIRH) intercepts the system call and determines the correct response. If the SIRH determines that the application is operating in native environment and that the request does not present a threat, then in step 112, the system handles the request normally. Otherwise, the SIRH recognizes that the system call could, potentially, be an attack and must be treated accordingly.
If in step 108 the requesting application is running in a PVE, then in step 114 the SIRH virtualizes the requested resources, e.g., by creating a virtual copy of the requested resources. In step 116 the requesting application is granted access to the virtual resources within the PVE. However, if in step 108 the requesting application is contained in a sandbox, the SIRH opens a virtualized environment known as a honeypot in step 118 and places the application in the newly opened dynamic honeypot. Essentially, the honeypot virtualized environment appears to the application and, correspondingly, to any attack launched through the application, as though the application is operating in NE. Thus, the dynamic honeypot requires all typical computer system resources. Once in the dynamic honeypot in step 118 or, if in step 110 the requesting application is already operating in a dynamic honeypot, then in step 120 the requested resources are virtualized, e.g., by creating a virtual copy of the requested resources. In step 122 the requesting application is granted access to the virtual resources within the dynamic honeypot. Thus, advantageously, the present invention minimizes the overhead for continuously operating a honeypot, while continuing to protect potentially vulnerable applications and resources with little, if any, apparent impact on the application.
The OS treats each system call made by the application 132 as a request to access certain resources in certain “access modes,” e.g., read, write, delete, create and etc. The OS can either grant or deny each request according to the system's security policy. The security policy defines access-control rules to resources and provides restricted resource access to the application 132. These access-control rules may be defined in terms of application attributes, requested access modes, resource attributes, environmental parameters, and etc. Application attributes may include, for example, application privileges, the identity of the user on behalf of which the application is being executed and, etc. The requested access mode includes, for example, read or write access. Resource attributes may include, for example, the identities of the resource owners, allowed resource access modes and, etc. Environmental parameters may include, for example, time of day and, etc. Normally, the system call API 140 is the one and only entry point (or gate) through which the resources 138 can be accessed and each such access attempt is controlled by the security policy. Also, normally, the syscall API 140 is the only interface through which an application program can get a view of the system.
Each partition 150 acts as a single independent system and with independently running applications 132 active in the partition 150. Normally, the OS and resident applications 132 function in the VM 150 as if they were on an independent computer with exclusive use of computer system resources 138. So, both the OS and applications 132 in one partition 150 may be different from other partitions. When the client 134 communicates with the application 132, the application 132 may request resources e.g., through a function call. The SIRH 152 intercepts calls from the application 132 in step 110 of
FIGS. 4A-B show before and after examples of a preferred computer 130 wherein an application running in a sandbox 160 has restricted access to resources 162 and is the subject of an attack 164.
By contrast, the SIRH 152 allows the attack to proceed in a quarantined environment so that each attack can be monitored collecting data (attack signatures or attack statistics) for subsequent attack identification. So, in this example, the SIRH 152 intercepts calls from the application 132 in step 110 of
Advantageously, system resources are not consumed by a honeypot until a dynamic honeypot 166 is started. This is a significant advantage over a state of the art honeypot that constantly consumes resources that may divert some attacks from other systems to itself, but cannot catch attacks mounted against other computer systems. Further, attacks 164 on a preferred embodiment system proceed under the illusion that they have successfully invaded the system; and, because they are isolated within the system, may be observed safely without damaging system resources 138. Thus, the present invention identifies activity that indicates an attack 162 may be eminent and forgoes starting a dynamic honeypot 166, until such an eminent attack 162 is recognized. Additionally, the dynamic honeypot 166 consumes no part of the system resources 138 until the dynamic honeypot 166 is opened and system resources are so dedicated for the dynamic honeypot 166, i.e., only when the need arises. Thereafter, a preferred dynamic honeypot 166 may monitor and collect attack information for analysis and subsequent protection.
Similarly, in the multi-tasking example of
FIGS. 5A-B show an example of starting an application (e.g., 132) as in steps 102-106 of
Optionally, when there may be more than one PVE plan 1068, a single PVE may be selected as shown in the example of
FIGS. 7A-B show an example of virtualizing resources for a requesting application in a PVE in step 114 and granting access to the virtualized resources in step 116. First in step 1140, the SIRH 152 checks to determine whether the requested resources have already been virtualized. If not, in step 1142 the SIRH 152 checks the PVE plan 1144 to determine whether the requested resources should be virtualized. If not, the SIRH 152 checks whether the request violates the sandbox boundary in step 1146 and, if not, allows the OS to handle the request in 1148. Otherwise in step 1150, the SIRH 152 denies the request. If in step 1142, however, the SIRH 152 determines that the requested resources should be virtualized, then in step 1152 a virtual image 1154 is created of the requested resources. If it was determined in step 1140 that resources head already been virtualized, that image is used as virtualized image 1154. Finally in step 1160, the SIRH 152 determines whether the PVE plan 1144 allows access to the virtualized image 1154 and, if so, grants access in step 1162. Otherwise, in step 1164, the SIRH 152 denies access.
Once a dynamic honeypot is constructed or, if the application was already operating in the dynamic honeypot, resources may be virtualized. So, in step 1200 the SIRH 152 checks to determine whether the requested resources have already been virtualized. If not, in step 1202 the SIRH 152 checks the honeypot plan 1204 to determine whether the requested resources should be virtualized. If not, the SIRH 152 checks whether the request violates the sandbox boundary in step 1206 and, if not, allows the OS to handle the request in 1208. Otherwise, in step 1210 the SIRH 152 denies the request. If in step 1202, however, the SIRH 152 determines that the requested resources should be virtualized, then in step 1212 a virtual image 1214 is created of the requested resources. If it was determined in step 1200 that resources have already been virtualized, that image is used as virtualized image 1214. Finally in step 122 the SIRH 152 grants access to the virtualized image 1214.
Advantageously, a dynamic honeypot provides a realistic illusion to convince an attacker that the attack is successful and, thereafter luring the attacker to stay in the illusion, i.e., the dynamic honeypot. The honeypot can be dynamically provided because the SIRH 152 intercepts every call that the attacked application makes to access resources and the SIRH 152 has complete discretion to chose how to respond, such as granting access to a copy of the requested resources and etc. Similarly, the SIRH 152 may duplicate the image of the entire system (including the requested resources) onto another dedicated computer system or a VM. Further, although the dynamic honeypot is described as being implemented in a dedicated computer system or a VM, this is for example only and not intended as a limitation.
Further, once an application is contained in a dynamic honeypot, in a PVE or enclosed in a sandbox, the SIRH 152 can monitor application activity and collect data for subsequent use, e.g., for other IDS systems such as misuse detection and anomaly detection systems. Moreover, a typical misuse detection or anomaly detection system may be installed inside the dynamic honeypot, for example, to collect attack signatures for misuse detection or to collect characterize “normal” behavior pattern statistics for anomaly detection. Since the application is operating on virtualized resources in a dynamic honeypot within sandbox, the system is protected from an attack. The system is protected even though the attack has been allowed to progress normally under an illusion of operating covertly, e.g., in NE and even beyond the point where the attack might otherwise have been detected by a match to known attack signatures or statistics. Additionally, unlike prior misuse detection systems, a preferred embodiment system can detect previously unknown attacks with unknown signatures and so, does not require up-to-date signatures or statistical profiles to detect newly surfaced attacks.
Thus, the present invention combines a much improved low false alarm rate over both misuse detection systems and anomaly detection systems with the added protection of a sandbox IDS and a honeypot. These advantages are realized without incurring the inflexibility of the sandbox or the high overhead of a prior art resident honeypot that uses all of the normal computer resources. Accordingly, the present invention provides a low overhead approach that attracts attacks. The attacks can then proceed to attack the virtualized resources rather than the computer's resources, even as data is collected about the attacks.
While the invention has been described in terms of preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims. It is intended that all such variations and modifications fall within the scope of the appended claims. Examples and drawings are, accordingly, to be regarded as illustrative rather than restrictive.