This disclosure relates to systems and methods for providing patches on computer networks and in particular to determining and fixing vulnerabilities on one or more nodes of a computer network.
Nowadays, computers are no longer luxury items. They have become a necessity in almost all work environments including banks, companies, governments etc for accounting, software development, inventory, general word processing and the like. On one hand, productivity has increased dramatically bringing quality of life improvements and large increases in communications, flexibility and freedoms. On the other hand, computer crimes such as illegal access, illegal interception and data interference pose a big threat. Security risk management is emerging as one of the top concerns. People want their computers free of virus and spyware. Detecting vulnerability of a computer, downloading a fix and applying a patch has become a routine job for a lot of administrators and individuals who maintain and use computers.
An administrator is usually responsible for maintaining the sanity check on all the computers in the local network. Their job includes routinely running virus scans, finding an appropriate patch, downloading the patch and applying the patch on all the vulnerable or infected nodes.
The problem with this process is that it is highly manual. A lot of times an administrator needs to manually pull a fix and apply the fix on a node even when auto update features of the operating software are enabled. In addition, high manual intervention is required for nodes that have high security needs.
What is required is an improved system and method for detecting vulnerability of a network node and for fixing or isolating the vulnerable node.
In one aspect of the disclosure, there is provided a method for resolving vulnerabilities on a computer network comprising a plurality of nodes. The method comprises collating vulnerability results from a plurality of the nodes, determining a plurality of nodes with a common vulnerability, retrieving an executable fix for the common vulnerability, and multicasting the executable fix to a plurality of the nodes with the common vulnerability.
In one aspect of the disclosure, there is provided a computer network comprising a plurality of computer nodes and a remedy server. The remedy server may be configured to determine a scan for a computer node, provide the scan to the computer node and receive a scan result from the computer node that indicates vulnerabilities exhibited by the respective computer node. From the scan results of a plurality of the computers, the remedy server may determine one or more vulnerabilities of the plurality of the computer nodes. The remedy server retrieves one or more fixes for the one or more vulnerabilities of the plurality of computer nodes and provides the one or more fixes to the plurality of computer nodes.
In one aspect of the disclosure, there is provided a computer-readable medium comprising computer-executable instructions for execution by at least one processor, that, when executed, cause the at least one processor to receive a plurality of scan results that indicate one or more vulnerabilities on a plurality of computers of a computer network, generate a vulnerability table that associates a vulnerability with one or more of the plurality of computers that exhibit the vulnerability, and store the vulnerability table in a memory.
Reference will now be made, by way of example only, to specific embodiments and to the accompanying drawings in which:
In
The network 10 includes a remedy server 16. There exists a configurable rule set, which may be stored in a database 17 that is operatively associated with the remedy server and can be looked up by the remedy server 16. The rules specify which set of nodes 12 in the local network have high security restrictions. As a result these high security nodes need a more advanced vulnerability scan mechanism and short scan interval to meet the high security requirement. The rest of the nodes in the network 10 can make use of a less expensive vulnerability scan mechanism.
As shown in more detail in
The remedy server 16 also maintains a treatment table 60 (or equivalent data structure) as shown in
By looking at the vulnerability table 60 the remedy server 16 can multicast fixes to all infected nodes that have the same vulnerability. The remedy server 16 thus controls what kind of vulnerability scan scheme should be used on a node, how frequently the scan should be run and what patch should be applied to fix the security hole. The remedy server 16 schedules the scan based on overall system state and system requirements to achieve the goals of a secure network with the least cost and interruption.
An agent that is sent to a node can be moved to a different node to perform tasks that are required by that node. The remedy server 16 has the option to dispatch several agents to a node or move an agent between the nodes. Each agent carries on a different task on the node. It facilitates the curing process for an ailing node.
When an agent arrives at a designated node, depending on the tasks assigned by the remedy server, it can run the vulnerability scan, apply a patch, update software or prepare the scan report needed by the server. In some cases, the remedy server 16 (
An embodiment of the remedy server 16 is illustrated in
The Processing Module 71 retrieves relevant information from the Configuration Module 72. Based on the security level of a node to be analyzed, e.g. Node A 32, the processing module 71 fetches an appropriate scanner 77 for the node. For example, a node with a high security level receives a comprehensive detail oriented scanner. The Processing Module 71 is responsible for dispatching an agent 31 from the agent module 73 to the node 32 to perform the vulnerability scan 77. Each node in the network has a unique identifier and each agent has a unique identifier as well. The agent 31 executes within the agent host environment 35 on the Node 32 to perform the relevant scan and returns scan results 78 to the Result Module 74 via the processing module 71 and/or the agent module 73. If the scan results indicate no vulnerability on the node, the agent sends an “OK” status back. Otherwise it marks down the vulnerability numbers for the node. If the vulnerability result sent back to the server indicates a serious virus on a node that might cause harm to the local network, the remedy server can temporarily disconnect the infected node from the local network. For example, if an executable carried back from a node by an agent has been altered in any way, the status of the node is marked as “Threat”. In that case the remedy server has the option to temporarily disconnect the node from the local network to minimize the potential damages to the local network. Once the problem has been resolved, the status of the node will be marked as “OK”, and the remedy server can put that node back to the network.
The Result Module 74 is responsible for collating the scan results and building the vulnerability table 50 shown in
Further operation of the processing module 71 is described with reference to the flowchart 200 of
Collating and processing of agent scan results by the Result Module 74 will now be described with reference to the flowchart 300 of
A process of the processing module 71 for handling the vulnerabilities is shown in the flowchart 400 of
While the nodes have been referred to herein as being of high or low security levels with agents being dispatched with high security scanners or low security scanners dependent on a node's security level, a person skilled in the art will recognize that multiple security levels may be used and/or there may be no distinction between security levels applied across the network.
Using the embodiments described above, an administrator only needs to work with the remedy server, which is the centerpiece of the security control for the network. With the approaches described above, the administrator of the computer network has total control of what kind of fixes need to applied, when they need to be applied and where they should be applied. If anything changes the administrator just needs to make changes to the rules to accommodate any new requirements, such as a more sophisticated scanner, higher scan frequency for higher secured site nodes etc. The provision of a fix using multicast provides an efficient way of implement the fix network wide. It also provides optimized network performance, resource reduction, scalability and reduced network load. The remedy server is responsible for scheduling the vulnerability test, getting reports back from all the nodes in the network and sending out appropriate patches where required. It is much more efficient than the administrator working with each individual machine and dealing with problems one at a time. A further advantage is that using the rules engine 75 of the configuration module 72, the system can be configured to adapt different security models within the local network. The remedy server can adjust the vulnerability scan interval based on the rules, the feedback from each individual node, and the state of the system. When a patch is available, the efficiency across a network can be maximized by multicasting the patches to all the vulnerable and infected nodes within the network.
The embodiments described above are therefore capable of increasing efficiency by reducing redundant work. The system enables intelligent reasoning for the remedy process.
Advantages of the described system include the prevention of potential computer crimes for companies or government that have multiple computers connected through a local network. The system also adapts the needs that some of the nodes in the network have higher security restriction than the rest of the nodes. It has a systematic approach to make sure nodes in the network are operating with a high security standard with minimum cost.
The solutions enable organizations to ensure the confidentiality of information, reduce the time and costs associated with an inefficient remedy process, and facilitate compliance with organizational security policies and government mandates.
The most commonly used approach for the existing System is using a daemon process, which consumes memory and processor resources in the host environment continuously. Unlike prior art systems, that utilize a daemon process running in the test machine, the system of the present disclosure sends agents to perform different tasks only if it is scheduled by the remedy server. When the job is done, the agents will leave the target machine.
The system has particular advantage for vulnerability checks, upgrades and fixes for a large number of nodes that are inter-connected through a local network. It especially works well with heterogeneous nodes that have different levels of security.
The components of the network 10 may be embodied in hardware, software, firmware or a combination of hardware, software and/or firmware. In a hardware embodiment shown in
Although embodiments of the present invention have been illustrated in the accompanied drawings and described in the foregoing description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications, and substitutions without departing from the spirit of the invention as set forth and defined by the following claims. For example, the capabilities of the invention can be performed fully and/or partially by one or more of the blocks, modules, processors or memories. Also, these capabilities may be performed in the current manner or in a distributed manner and on, or via, any device able to provide and/or receive information. Further, although depicted in a particular manner, various modules or blocks may be repositioned without departing from the scope of the current invention. Still further, although depicted in a particular manner, a greater or lesser number of modules and connections can be utilized with the present invention in order to accomplish the present invention, to provide additional known features to the present invention, and/or to make the present invention more efficient. Also, the information sent between various modules can be sent between the modules via at least one of a data network, the Internet, an Internet Protocol network, a wireless source, and a wired source and via plurality of protocols.