1. Field of the Invention
The present invention relates generally to computer network security software. More specifically, it relates to distributed software and network components for monitoring user actions effecting measures taken for computer network security enforcement.
2. Discussion of Related Art
With the advent of the Internet and rapid growth of “telecommuting” and working while traveling, computer network and data security has become increasingly important. Consequences of violations of an entity's network security policies can be catastrophic. Huge amounts of data, including highly sensitive data, can be exposed to the public and especially individuals looking for loopholes in a company's network security.
It is common practice now for a company, entity or organization to have some type of network security enforcement if the company allows its employees to work from home, use laptops while traveling, working from satellite offices, or simply using a desktop computer on the company's premises. For example, a firewall program typically runs on a server that checks data coming in and out of a company's internal network. Typically, companies are concerned with external entities entering their private network and corrupting or exposing sensitive data. There are a large number of programs and tools a company can employ to secure its network.
A specific category or type of network is a virtual private network or VPN. A VPN is made up of computer workstations that are physically located outside a company's network. The most common example is a workstation located at an employee's home office. This workstation, for example a PC or Mac, may be the property of the employee and is being used for work and to access company resources in addition to normal home use. However, because it is being used for work and is using a public network, such as the Internet, to access company resources, the company requires that the computer execute network security enforcement software. It is crucial that this enforcement software, whether it is a single program or a bundle of programs, operate when expected and not be modified, adjusted, by-passed or shut down. In many cases the user may not be aware of the network security software installed on the computer by the company, for example with company laptops and desktop computers. As such, in some instances, a user may not be aware that he or she is violating a company security policy or somehow effecting the operation of a security program. Such inadvertent or unintentional violations can be as dangerous as intentional or malicious violations.
As mentioned, the number of security enforcement programs available for workstations on a VPN and other types of networks has grown considerably. As a result, monitoring whether security programs on a particular workstation are operating and actually enforcing security policies have become an important aspect of a company's network security scheme. Some workstations can have numerous separate programs for enforcing security and all need to be functioning when the computer is in use. A company needs to know whether any of the security enforcement programs have been shut off, modified or simply not functioning properly. However, there are no effective tools to allow a company to effectively manage and monitor its VPN or computer network security enforcement policy, typically implemented through specific network security software programs. In addition, other computer network security devices, such as by Info Express and Sygate, are not functional if not connected to a network or VPN Thus, they cannot ensure that security provisions are abided by when they are not connected to a VPN.
Therefore, what is needed is a method and system for allowing an entity to effectively monitor and manage its computer network security policy. In addition, such a method and system should alert the entity when a network security policy has been violated and take certain actions when violations occur.
To achieve the foregoing, methods and systems are disclosed for monitoring the activity of a user on a network component in a virtual private network for abidance by a security enforcement provision utilized in virtual private network. In one aspect of the present invention, a method of determining whether a security provision in a computer network has been violated is described. It is determined whether a network component has violated, modified or circumvented a security enforcement provision of the computer network. If the detection is affirmative, the network component, such as an end user system, operates at a level that is appropriate to the severity or level of the violation, modification, or circumvention as determined by the computer network operator.
In another aspect of the present invention, a method of monitoring abidance of a network component by a security enforcement provision utilized in a computer network includes detecting whether the network component has violated, modified or circumvented the security enforcement provision of the computer network. It is then determined whether an enforcement provision monitoring module has been violated, modified or circumvented. If either detection is affirmative, the network component is acted upon in a manner appropriate given the level or severity of the violation or modification as determined by a network operator. The method also includes comparing a profile record containing information on the network component to a rule set defining a security policy and notifying an operator of the computer network if either detection is affirmative.
In another aspect of the present invention, a system for monitoring abidance by a network security provision present in a network is described. The system includes an agent module residing on an end user system which collects data on the system and transmits it to a security server. The security server, under control of a security service provider, contains multiple components for receiving and inspecting data. Also under control of a security service provider is a security database containing end user system data and security rule data, wherein the security server and the security database are in direct communication. Also contained on the security server is a notification module capable of notifying a third party of a security violation. The notification can also include restricting access of the end user system to other components in the network.
Reference will now be made in detail to a preferred embodiment of the invention. An example of the preferred embodiment is illustrated in the accompanying drawings. While the invention will be described in conjunction with a preferred embodiment, it will be understood that it is not intended to limit the invention to one preferred embodiment. To the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
A method of monitoring workstations in a network, for example, a virtual private network (VPN), for security violations is described in the various figures. An entity may have a computer network security policy for its workstations that includes security software programs A, B and C and company security rules X and Y. The entity can adequately safeguard its network, such as a VPN, if employees abide by this computer network security policy. Programs A, B and C must be operational and unmodified and the user must be aware of and abide by security rules X and Y for the security policy to be effective. The present invention allows the company to monitor whether the programs and rules, that is, the company's security policy is in effect. The invention monitors and can notify appropriate parties in the entity of any policy violation and take certain automatic actions, such as denying any further access if appropriate. In addition, the invention will notify the entity when the monitoring software itself is modified or shut down.
Server 108 has numerous components or modules, including, but not limited to: collector 110, policy inspector 112, notifier 114 and access control 116. Also under the control of the service provider is a data repository 118 holding various types of data including, but not limited to, agent data collection sets or report data 120, exception log 122, rule sets 124, exception notification groups 126, customer information 128 and activity history data 130. The third-party service provider provides security monitoring and management services to customers (e.g., an employer) having workstations on a public network or using a public network to implement a VPN. Notifier component 114 causes server 108 to send a notification to an employer having an interest in the security enforcement of workstation 102. A notification can be sent via email or other means to employer server 132 or premises. A proactive monitor 134 also resides on service provider server 108 and is able to detect when an agent does not send collected data at a scheduled time which is considered a security violation. In a preferred embodiment, there is also a connection to a customer corporate network which has a firewall 136, a VPN head-end 138 and a customer's network, such as an Ethernet network 140.
If a host ID is received, at step 218 the installer program patches the host ID and the necessary binary files into the client and at step 220 places the files and binaries into the appropriate location in the end-user system. In a preferred embodiment, no data is stored on the end-user system outside the client module. The host ID and other data is rewritten into the client module. This enables the monitor module to be invoked when the end-user system boots up. Finally, at step 222 the installer program updates the system settings such as operating system registers and system boot up and the installer then launches the monitor module.
It is then determined if a violation occurred based on the group rule set at step 614 of
If there is a late report from a particular agent, at step 710 the watch monitor retrieves the last report ID for that particular agent or end user. At step 712 the watch monitor appends the notice of the security violation, i.e., the late report, to the last report from that agent. At step 714 the IP address of the end user is obtained from the last report and is used to ping the end user for the agent, namely workstation 102. At step 716 the watch monitor determines whether the IP address responds to the ping. If it does, the client is still running and the late report is therefore confirmed as a late report from an active agent. This violation is then recorded by the watch monitor in the database at step 718 and the notifier is invoked or spawned. The watch monitor then schedules its sleep duration as described above and the scan process is repeated.
If the IP address does not respond to the ping, at step 720 the watch monitor records the non-response in the database. The watch monitor then logs the IP address in a ping monitoring system in the server which monitors the IP address continuously by performing pings. At step 722 the watch monitor schedules its sleep duration as described above and returns to the beginning of the scanning process when it wakes up.
As mentioned above, the notifier can alert a second group of employees or single employee if the first notification of a security violation did not get a response. This is referred to as escalation. For example, when a security violation occurs, a trouble ticket can be created. If the notifier determines that the trouble ticket is unacknowledged after a certain time frame, a second notification group is notified. The same concept applies to email or pages that have not been responded to. If the trouble ticket is acknowledged, the database is updated accordingly by the escalator component of the notifier. If the trouble ticket is not acknowledged within a certain time frame (i.e., a timeout value has been reached), the escalator component escalates the event level in the database and performs the next level of notification.
Event acknowledgements can also be received and recorded by an acknowledger component of the notifier. For responses to email notifications, a system function monitors and captures any replies to email notifications. For example, the subject line or header of an email response is read to determine which report ID or security violation the email is in response to. The acknowledger then retrieves the security violation report from the database and determines whether the report has been previously acknowledged. If it has, the report status is changed to acknowledged. If not, the acknowledger updates the response time to reflect the email notification.
Similarly, a response to a security violation can be through entering an acknowledgement through a website or specific web page. The acknowledger determines the report ID from the website records in the database and accesses the appropriate report ID. If the report has been previously acknowledged, the status of the report and other information are changed to reflect this. If the report has not been acknowledged, the acknowledger either updates the response time to reflect the web notification or it does not alter the record.
Server session control 1004 opens or creates a secure socket layer or SSL/TCP channel over a public network, such as the Internet, between the end user system and server 108 under control of the third-party service provider. Server session control 1004 also packages the data and transmits the data to collector module on server 108. Server session control 1004 receives the next update time, that is, the next time data collection is to take place on workstation 102. This update time is used as a confirmation that the collector received the previous data packets.
Collector 110 has two functional components as shown in
Pre-processor 1010 receives the data from session control listener 1008 and creates a record or report having a unique report_id. The report created has fields or columns closely resembling the data fields gathered by agent data collection module 1002. Preprocessor 1010 posts the report, or record, to data repository 118 and is stored in data collection set area 120 of
The policy inspector 112 has three functional components: process data module 1012, validate host data module 1014 and new user setup component 1016. If a host_id is new, control goes to new user setup component 1016 which invokes notifier 114 of
Each rule set has an identifier and belongs to a particular category such as process identifier, network-based, user accounts and so on. A rule is generally divided up into three parts: Allow, Deny and Require. Under Allow are all items or functions that are allowed by the workstation, such as processes A through D and G. The Deny section of a rule set lists all the programs or processes that are to be denied execution on the workstation. The Require section lists all the programs that are required by the security policy for the workstation, such as a firewall program. If a rule set does not match a particular process that is running, an exception is logged. For example, if process A is running but there is no rule set for process A or, more specifically, the Deny section of any rule set includes process A, an exception is logged.
The agent code described can be resident on a firewall or on a workstation. The agent software can function from a firewall that services numerous PCs such as in a home network or on a firewall that services only the workstation. In any scenario, the agent functions in the same manner and contacts the collector of the third-party service provider. The functions of the service provider can be performed at the customer site.
Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. Furthermore, it should be noted that there are alternative ways of implementing both the process and apparatus of the present invention. For example, while a VPN is used to describe a preferred embodiment, the present invention is not restricted to VPNs and can be used with other types of computer networks. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 60/309,033 filed on Jul. 30, 2001, entitled “Method and Apparatus for Monitoring Computer Network Security Enforcement.”
Number | Name | Date | Kind |
---|---|---|---|
4130874 | Pai | Dec 1978 | A |
4138718 | Toke et al. | Feb 1979 | A |
4335426 | Maxwell et al. | Jun 1982 | A |
5111384 | Aslanian et al. | May 1992 | A |
5146568 | Flaherty et al. | Sep 1992 | A |
5165017 | Eddington et al. | Nov 1992 | A |
5247683 | Holmes et al. | Sep 1993 | A |
5291543 | Freese et al. | Mar 1994 | A |
5321840 | Ahlin et al. | Jun 1994 | A |
5421009 | Platt | May 1995 | A |
5465206 | Hilt et al. | Nov 1995 | A |
5483445 | Pickering | Jan 1996 | A |
5491791 | Glowny et al. | Feb 1996 | A |
5517549 | Lee | May 1996 | A |
5517555 | Amadon et al. | May 1996 | A |
5596643 | Davis et al. | Jan 1997 | A |
5596723 | Romohr | Jan 1997 | A |
5603038 | Crump et al. | Feb 1997 | A |
5606497 | Cramer et al. | Feb 1997 | A |
5615351 | Loeb | Mar 1997 | A |
5633919 | Hogan et al. | May 1997 | A |
5649187 | Hornbuckle | Jul 1997 | A |
5659601 | Cheslog | Aug 1997 | A |
5666107 | Lockhart et al. | Sep 1997 | A |
5701417 | Lewis et al. | Dec 1997 | A |
5727002 | Miller et al. | Mar 1998 | A |
5732127 | Hayes | Mar 1998 | A |
5768521 | Dedrick | Jun 1998 | A |
5787347 | Yu et al. | Jul 1998 | A |
5793762 | Penners et al. | Aug 1998 | A |
5794221 | Egendorf | Aug 1998 | A |
5797097 | Roach, Jr. et al. | Aug 1998 | A |
5826000 | Hamilton | Oct 1998 | A |
5838907 | Hansen | Nov 1998 | A |
5842011 | Basu | Nov 1998 | A |
5852722 | Hamilton | Dec 1998 | A |
5852812 | Reeder | Dec 1998 | A |
5867494 | Krishnaswamy et al. | Feb 1999 | A |
5867495 | Elliott et al. | Feb 1999 | A |
5867661 | Bittinger et al. | Feb 1999 | A |
5893077 | Griffin | Apr 1999 | A |
5898780 | Liu et al. | Apr 1999 | A |
5909544 | Anderson, II et al. | Jun 1999 | A |
5920821 | Seazholtz et al. | Jul 1999 | A |
5922050 | Madany | Jul 1999 | A |
5970126 | Bowater et al. | Oct 1999 | A |
5980078 | Krivoshein et al. | Nov 1999 | A |
6006090 | Coleman et al. | Dec 1999 | A |
6012088 | Li et al. | Jan 2000 | A |
6014659 | Wilkinson, III et al. | Jan 2000 | A |
6047327 | Tso et al. | Apr 2000 | A |
6049826 | Beser | Apr 2000 | A |
6069890 | White et al. | May 2000 | A |
6073172 | Frailong et al. | Jun 2000 | A |
6078582 | Curry et al. | Jun 2000 | A |
6098098 | Sandahl et al. | Aug 2000 | A |
6128729 | Kimball et al. | Oct 2000 | A |
6137805 | Berstis | Oct 2000 | A |
6141684 | McDonald et al. | Oct 2000 | A |
6157648 | Voit et al. | Dec 2000 | A |
6161133 | Kikinis | Dec 2000 | A |
6178468 | Rudd et al. | Jan 2001 | B1 |
6195694 | Chen et al. | Feb 2001 | B1 |
6202157 | Brownlie et al. | Mar 2001 | B1 |
6212558 | Antur et al. | Apr 2001 | B1 |
6229804 | Mortsolf et al. | May 2001 | B1 |
6243815 | Antur et al. | Jun 2001 | B1 |
6286038 | Reichmeyer et al. | Sep 2001 | B1 |
6295556 | Falcon et al. | Sep 2001 | B1 |
6301012 | White et al. | Oct 2001 | B1 |
6301612 | Selitrennikoff et al. | Oct 2001 | B1 |
6314459 | Freeman | Nov 2001 | B1 |
6334147 | Cromer et al. | Dec 2001 | B1 |
6345294 | O'Toole et al. | Feb 2002 | B1 |
6370141 | Giordano, III et al. | Apr 2002 | B1 |
6385648 | Philippou et al. | May 2002 | B1 |
6408334 | Bassman et al. | Jun 2002 | B1 |
6412025 | Cheston et al. | Jun 2002 | B1 |
6426955 | Dalton, Jr. et al. | Jul 2002 | B1 |
6434611 | Wilson et al. | Aug 2002 | B1 |
6449642 | Bourke-Dunphy et al. | Sep 2002 | B2 |
6530024 | Proctor | Mar 2003 | B1 |
6690651 | Lamarque, III et al. | Feb 2004 | B1 |
6711693 | Golden et al. | Mar 2004 | B1 |
6735701 | Jacobson | May 2004 | B1 |
6854010 | Christian et al. | Feb 2005 | B1 |
6874087 | Fetkovich et al. | Mar 2005 | B1 |
6990591 | Pearson | Jan 2006 | B1 |
7213068 | Kohli et al. | May 2007 | B1 |
20020002706 | Sprunk | Jan 2002 | A1 |
20020078382 | Sheikh et al. | Jun 2002 | A1 |
20020095591 | Daniell et al. | Jul 2002 | A1 |
20020099958 | Hrabik et al. | Jul 2002 | A1 |
20020112182 | Chang et al. | Aug 2002 | A1 |
20030014658 | Walker et al. | Jan 2003 | A1 |
Number | Date | Country |
---|---|---|
0881812 | Feb 1998 | EP |
1065862 | Mar 2001 | EP |
WO 9727692 | Jul 1997 | WO |
WO 9733412 | Sep 1997 | WO |
WO 9805145 | Feb 1998 | WO |
WO 9823079 | May 1998 | WO |
WO 9837665 | Aug 1998 | WO |
WO 0052916 | Sep 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20030229808 A1 | Dec 2003 | US | |
20060010492 A9 | Jan 2006 | US |
Number | Date | Country | |
---|---|---|---|
60309033 | Jul 2001 | US |