# Patent

## Title
System, method, and computer program product for isolating a device associated with at least potential data leakage activity, based on user support

## Abstract

A system, method, and computer program product are provided for isolating a device associated with at least potential data leakage activity, based on user input. In operation, at least potential data leakage activity associated with a device is identified. Furthermore, at least one action is performed to isolate the device, based on user input received utilizing a user interface.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation of U.S. patent application Ser. No. 11/847,185, filed Aug. 29, 2007, which is incorporated herein by reference.


FIELD OF THE INVENTION
The present invention relates to network security, and more particularly to data leakage prevention.
BACKGROUND
Security professionals today face a daunting challenge, protecting an organization's most valuable asset, its information, amidst widespread investment in new, more efficient communication technologies. As organizations invest in new business systems and processes to exchange critical information to, from and about customers, partners, and employees in real time, more opportunity exists for information leaks. Data breaches are rapidly becoming the forerunner of IT security concerns, in part because of the increase in both the frequency and severity of such breaches. For security professionals, the pressure to provide data security is influenced by a number of factors including regulatory compliance, protecting confidential data, and mitigating the risk and associated cost of a breach.
Data leakage prevention (DLP), or data loss prevention, is a computer security term referring to a technology designed to detect and prevent the unauthorized transmission of information from systems of an organization to unauthorized users. Network-based solutions typically integrate with or include endpoint technologies to discover, monitor, and protect information. However, to date, action based solutions have not been user configurable or selectable.
There is thus a need for overcoming these and/or other issues associated with the prior art.
SUMMARY
A system, method, and computer program product are provided for isolating a device associated with at least potential data leakage activity, based on user input. In operation, at least potential data leakage activity associated with a device is identified. Furthermore, at least one action is performed to isolate the device, based on user input received utilizing a user interface.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a network architecture, in accordance with one embodiment.
FIG. 2 shows a representative hardware environment that may be associated with the servers and/or clients of FIG. 1, in accordance with one embodiment.
FIG. 3 shows a method for isolating a device associated with at least potential data leakage activity, based on user input, in accordance with one embodiment.
FIG. 4 shows a system for isolating a device associated with at least potential data leakage activity, based on user input, in accordance with one embodiment.
FIG. 5 shows a method for isolating a device associated with at least potential data leakage activity, based on user input, in accordance with another embodiment.
FIG. 6 shows a system for isolating a device associated with at least potential data leakage activity, based on user input, in accordance with another embodiment.



DETAILED DESCRIPTION
FIG. 1 illustrates a network architecture 100, in accordance with one embodiment. As shown, a plurality of networks 102 is provided. In the context of the present network architecture 100, the networks 102 may each take any form including, but not limited to a local area network (LAN), a wireless network, a wide area network (WAN) such as the Internet, peer-to-peer network, etc.
Coupled to the networks 102 are servers 104 which are capable of communicating over the networks 102. Also coupled to the networks 102 and the servers 104 is a plurality of clients 106. Such servers 104 and/or clients 106 may each include a desktop computer, lap-top computer, hand-held computer, mobile phone, personal digital assistant (PDA), peripheral (e.g. printer, etc.), any component of a computer, and/or any other type of logic. In order to facilitate communication among the networks 102, at least one gateway 108 is optionally coupled therebetween.
FIG. 2 shows a representative hardware environment that may be associated with the servers 104 and/or clients 106 of FIG. 1, in accordance with one embodiment. Such figure illustrates a typical hardware configuration of a workstation in accordance with one embodiment having a central processing unit 210, such as a microprocessor, and a number of other units interconnected via a system bus 212.
The workstation shown in FIG. 2 includes a Random Access Memory (RAM) 214, Read Only Memory (ROM) 216, an I/O adapter 218 for connecting peripheral devices such as disk storage units 220 to the bus 212, a user interface adapter 222 for connecting a keyboard 224, a mouse 226, a speaker 228, a microphone 232, and/or other user interface devices such as a touch screen (not shown) to the bus 212, communication adapter 234 for connecting the workstation to a communication network 235 (e.g., a data processing network) and a display adapter 236 for connecting the bus 212 to a display device 238.
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.
Of 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.
FIG. 3 shows a method 300 for isolating a device associated with at least potential data leakage activity, based on user input, in accordance with one embodiment. As an option, the method 300 may be implemented in the context of the architecture and environment of FIGS. 1 and/or 2. Of course, however, the method 300 may be carried out in any desired environment.
As shown, at least potential data leakage activity associated with a device is identified. See operation 302. In the context of the present description, at least potential data leakage activity refers to any activity where data becomes accessible to an unauthorized user or system, or at least an activity that has a potential for such accessibility. For example, in various embodiments, data leakage activity may include, but is not limited to transferring information (e.g. emails, file transfers, instant messages, etc.), accessing information (e.g. accessing directories, folders, files, etc.), copying information, and/or any other activity that meets the above definition.
Furthermore, in the context of the present description, a device refers to any device capable of sending, receiving, and/or displaying information. For example, in various embodiments, the device may include, but is not limited to client computers, servers, storage units (e.g. flash storage drives, removable hard drives, etc.), PDAs, mobile devices (e.g. computers, phones, storage units, etc.), and/or any other device that meets the above definition.
In one embodiment, the at least potential data leakage activity may be identified by a data leakage detection agent. As an option, the agent may include a network, or gateway based agent for identifying the at least potential data leakage activity. In this case, such network agent may be a hardware/software platform installed at a network connection to analyze network traffic and search for data leakage activity.
As another option, the agent may include a host based agent for identifying the at least potential data leakage activity. In this case, the host based agent may be a software application on a device or node (e.g. a computer, server, router, etc.). In other various embodiments, the agent may be any software application or hardware device/node capable of detecting data leakage activity.
Furthermore, at least one action is performed to isolate the device, based on user input received utilizing a user interface. See operation 304. In the context of the present description, an action refers to any act performed to isolate the device. For example, in various embodiments, the action may include, but is not limited to locking down or disabling a device, blocking or restricting access to information, quarantining a device using a policy enforcement server (e.g. a McAfee® Policy Enforcer, McAfee® ePolicy Orchestrator, a general policy enforcement server, etc.), and/or any other action that meets the above definition.
In one embodiment, the user input may be received subsequent to the identification of the at least potential data leakage activity. For example, upon the identification of at least potential data leakage activity, a user may provide input, using the user interface, from which the at least one action may be based. Strictly as an option, the at least one action may be selected from a plurality of potential actions using the user interface.
In another embodiment, the user input may be received prior to the identification of the at least potential data leakage activity. For example, a user may pre-configure the user input prior to the identification of the at least potential data leakage activity. In this case, the user may pre-configure the user input using the user interface.
It should be noted that the user input may include any information from which the action to be performed may be based. For example, in various embodiments, the user input may include, but is not limited to a plurality of actions or potential actions to be performed, settings for a system or device, system configuration information, and/or any other information from which the action to be performed may be based.
More illustrative information will now be set forth regarding various optional architectures and features with which the foregoing technique may or may not be implemented, per the desires of the user. It should be strongly noted that the following information is set forth for illustrative purposes and should not be construed as limiting in any manner. Any of the following features may be optionally incorporated with or without the exclusion of other features described.
FIG. 4 shows a system 400 for isolating a device associated with at least potential data leakage activity (“potential data leakage activity”), based on user input, in accordance with one embodiment. As an option, the system 400 may be implemented in the context of the architecture and environment of FIGS. 1-3. Of course, however, the system 400 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
As shown, a data leakage prevention (DLP) server 402 is provided. As shown further, the DLP server 402 is in communication with a proximity card reader 406, an ePolicy orchestrator (EPO) server 408, domain servers 410, and a gateway server 412. Additionally, the DLP server 402 is in communication with at least one DLP agent 414. Furthermore, the EPO server 408 is in communication with a plurality of nodes 416-420. It should be noted that, in other embodiments, the EPO server 408 may represent any general policy enforcement server.
In operation, a potential data leakage associated with a device is detected by at least one of the DLP agents 414. It should be noted that, although the DLP agents 414 are shown as independent agents, in various embodiments the DLP agents 414 may be included with the proximity card reader 406, the EPO server 408, the domain servers 410, and/or the gateway server 412. Additionally, the DLP agents 414 may be included with host devices, client devices, the nodes 416-420, and/or any other device capable of including the DLP agents 414.
It should also be noted that the nodes 416-420 may represent any device that may be connected to a network. For example, the nodes 416-420 may include computers, PDAs, mobile devices, routers, switches, hubs, and or any other device that may be connected to a network. In one embodiment, the nodes 416-420 may include the device from which the potential data leakage is associated.
Once a potential data leakage is detected, at least one action is performed to isolate the device, based on user input received utilizing a user interface 404. For example, upon detection of a potential data leakage, at least one of the DLP agents 414 may alert the DLP server 402 of the potential data leakage. In one embodiment, alerting the DLP server may include sending information relating to the potential data leakage such as current system or network hardware/software settings, information about a medium on which the potential leakage occurred, information about the device, response information or suggested actions to be taken, and/or any other information relating to the potential data leakage.
Strictly as an option, a user may also be alerted of the potential data leakage. In the context of the present description, a user refers to any individual capable of receiving an alert. For example, in various embodiments, the user may include, but is not limited to an administrator, a manager, a supervisor, an information security officer, and/or any other individual that meets the above definition.
The user may be alerted in a variety of ways. For example, the user may be alerted on a user device (e.g. a computer, PDA, mobile phone, etc.), via email, a text message, a graphic alert, and/or by any other type of alert. In one embodiment, the user may be alerted by a graphic user interface (GUI). As an option, the user interface 404 may alert the user.
As shown, the user interface 404 may provide a user with a plurality of potential actions to perform to isolate the device. For example, in various embodiments, the potential actions may include, but are not limited to restricting access to a network using the gateway server 412, disabling at least one node which is a suspect for the potential data leakage, disabling an account in an active directory of the domain server 410 (e.g. a suspect user account), locking out the device, quarantining a device using the EPO server 408 or another policy enforcement server, blocking access to an area or building using the proximity card reader 406, and/or any other action which may be used to isolate the device.
In one embodiment, the user interface 404 may display information related to the potential data leakage. In this case, any information provided by the DLP agents 414 may be displayed to the user. Thus, the user may utilize this information to determine the action to be performed to isolate the device.
As an option, the information provided by the DLP agents 414 may be used to automatically select a default action on the user interface 404. For example, the DLP server 402 may utilize the information provided by the DLP agents 414 to select a default action or determine a suggested action for the user. In this case, the user may have the option to select the default action or a different action.
It should be noted that, although the user interface 404 is illustrated with check boxes for selecting the potential actions, this is only one optional layout and should not be construed as limiting in any manner. In various other embodiments, the user interface 404 may include a drop down menu of potential actions, a list of potential actions and a command line input, a hyperlinked list, and/or any other layout for presenting the potential actions. Furthermore, the user interface 404 may include different levels of security actions.
For example, each potential action may be divided into subparts based on a ascertained threat level. For example, under an access category (e.g. building access, area access, etc.), there may be subcategories listing different areas and/or buildings where access may be restricted using the proximity card reader 406. Thus, the user may select to restrict access to only certain areas and/or buildings based on the threat. Similarly, the user may have the option to restrict access to only certain directories and or files using the user interface.
Once the user selects an action to isolate the device, settings corresponding to the action are sent to the proximity card reader 406, the EPO server 408, the domain servers 410, the gateway server 412, the DLP agents 414, the nodes 416-420, and/or any other device corresponding to the action. The settings may include any settings, parameters, or other information such that the action may be performed. In one embodiment, the settings may be predetermined settings based on the selected action.
In another embodiment, the user may configure the settings using the user interface 404. In such case, the settings may be included on the user interface 404. Further information and details regarding the communication of the settings to the DLP agent or other devices, in accordance with one optional embodiment, may be found in U.S. Pat. No. 6,470,384 entitled “MODULAR FRAMEWORK FOR CONFIGURING ACTION SETS FOR USE IN DYNAMICALLY PROCESSING NETWORK EVENTS IN A DISTRIBUTED COMPUTING ENVIRONMENT” issued Oct. 22, 2002, which is incorporated herein by reference in its entirety.
Once the settings are sent to the devices corresponding to the action or any other relevant devices, the devices may send a response indicating a reception and/or a successful configuration based on the settings. In one embodiment, the response may include a response alert displayed to the user. For example, the user interface 404 may contain a list of devices receiving the settings. In this case, the response alert may include an indicator corresponding to each of the devices receiving the settings (e.g. a success or failure indicator).
In one embodiment, the user may pre-configure actions to be taken in response to a data leakage using the user interface 404. For example, the user may use the user interface 404 to select different settings and/or actions to correspond to different data leakage activities. In this case, upon the identification of the potential data leakage, the DLP server may automatically respond with an action based on the pre-configured user input. This may occur in conjunction with, or independently of, notifying the user of the potential data leakage.
FIG. 5 shows a method 500 for isolating a device associated with at least potential data leakage activity, based on user input, in accordance with another embodiment. As an option, the method 500 may be implemented in the context of the architecture and environment of FIGS. 1-4. Of course, however, the method 500 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
As shown, an agent identifies a data leakage activity on a device. See operation 502. Furthermore, a server is notified of the data leakage activity, and a user selects at least one action to be performed to isolate the device. See operation 504. The action to be performed may correspond to settings of a system, or policy settings, to be used to isolate the device.
For example, the settings may include access settings to lock down the device, block access to an area, disable directory access, quarantine the device, disconnect connectivity to a network for a particular node, and/or any other settings corresponding to an action. It should be noted that the settings may be predetermined settings or settings configured by the user in response to the potential data leakage. For example, the user may have the option to select from a list of actions which include predetermined settings. In another embodiment, the user may have an option to configure the settings of the list of actions.
Additionally, the agent may check current policy and/or device settings. See operation 506. In one embodiment, the agent may check the current policy settings and, in turn, send the current settings to the server. In another embodiment, the agent may receive settings from the server and subsequently check the current policy settings to determine how to implement the settings received by the server. Once the agent has received the settings/action to be performed, the agent performs or enforces the actions to isolate the suspect device. See operation 508.
Additionally, information about the data leakage and/or action is written to a log. See operation 510. In various embodiments, the information about the data leakage may include, but is not limited to current policy settings, information about a medium on which the leakage or potential leakage occurred, information about the suspect device, information on the selected action, and/or any other information relating to the potential data leakage and/or action.
As an option, the log may be stored in a database. In one embodiment, the log may be stored on the server. In addition to writing the log, results of the enforced action may be sent to the server. In various embodiments, the results may include a success or failure indication of the action and any information written to the log.
Using the results of the action, the user may have an option to select another action to isolate the suspect device. For example, if the results indicate that the settings of a first action selected by the user were unable to be implemented, the user may select a second action to isolate the suspect device using the user interface. In one embodiment, the second action may be a preconfigured action which the user selected using the user interface prior to the data leakage activity.
FIG. 6 shows a system 600 for isolating a device associated with at least potential data leakage activity, based on user input, in accordance with another embodiment. As an option, the system 600 may be implemented in the context of the architecture and environment of FIGS. 1-5. Of course, however, the system 600 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
As shown, a DLP server 602 is in communication with a policy enforcement server 604 (e.g. an EPO server, general policy enforcement server, etc.). The policy enforcement server 604 is in communication with a plurality of nodes 606 and 608. In addition, the policy enforcement server 604 may be in communication with an access module 610.
In operation, a data leakage associated with a device is detected. The data leakage may have been detected at one on the plurality of nodes 606 and 608 using a leakage detection agent, for example. The DLP server 602 is then notified of the data leakage and alert signals are sent to the nodes 606 and 608.
In the case that a particular suspect node is identified, the suspect node may be monitored for behavior and an intent may be ascertained based on the monitoring. Such monitoring may include, monitoring data transfers, communications, file and directory accesses, and any other behavior which may help ascertain an intent of a user of the suspect node. In one embodiment, the ascertained intent may influence an action to be taken regarding the data leakage activity.
Once the DLP server 602 has been notified, an action is performed to isolate the device. In one embodiment, the isolation may include locking down the device. For example, upon detection of the data leakage, the device (e.g. a computer or other device of a user) may be automatically locked out. In this case, the user may not have the ability to use the device until cleared by an administrator or another individual with proper authorization.
In another embodiment, the action may include restricting access to a physical area. For example, access to a building or room may be blocked due to the detection of a data leakage. In this case, a card reader (or an access module) may be notified to block physical access to an area for a particular individual or suspect. In the context of the present description, a suspect refers to any individual suspected of a data leakage activity.
In still another embodiment, the action may include restricting access to a directory. For example, the action may include disabling an account of a suspect in an active directory server (e.g. a Windows Active Directory server, etc.). In this case, the suspect may be monitored for further data leakage activity.
When it is determined that a data leakage has occurred by the suspect, a message may be sent to the DLP server 602 which, in turn, notifies the active directory server in a particular domain. The account of the suspect may then be disabled. It should be noted that the accounts to be disabled as a result of the data leakage may be configurable by a user using a user interface. In one embodiment, the user may configure the accounts to be disabled in response to the data leakage. In another embodiment, the user may pre-configure the accounts to be disabled using the user interface before the data leakage occurs.
In yet another embodiment, the action may include quarantining the device. For example the device may be quarantined using the policy enforcement server 604. In this case, upon the determination of the data leakage, the DLP server 602 may notify the policy enforcement server 604 which may then quarantine the device and/or prevent access to particular networks.
It should be noted that the access to networks may be restricted based on a configuration set forth by a user using the user interface. In one embodiment, the user may configure access to be restricted in response to the data leakage. In another embodiment, the user may pre-configure the access to be restricted using the user interface before the data leakage occurs. As an option, the user (e.g. an administrator, etc.) may use the user interface to clear access to the restricted network for the suspect.
In one embodiment, the action performed to isolate the device may be selected by a user (e.g. an administrator, etc.) in real-time or near real-time. For example, upon the DLP server 602 being notified, the user may be notified of the data leakage. The user may then select an action to isolate the device using the user interface. In another embodiment, the action to isolate the device may be preconfigured by the user. For example, the user may use the user interface to configure actions in response to data leakage events prior to the occurrence of a data leakage event.
As an option, a human suspect 616 may be isolated as a result of the data leakage. For example, information about the data leakage may indicate that the suspect 616 was the source of the data leakage, and the leakage occurred in an area 618. Thus, the suspect 616 may be blocked from exiting the area 618 and/or entering another area. In one embodiment, the access restriction may be accomplished by sending information to the access module 610 (e.g. a card reader, locking mechanism, etc.) such that the user 616 may be isolated.
In addition, a network area where the suspect node or suspect device exists may be isolated. In this case, the action may be performed on a plurality of devices. For example, it may be determined that the suspect node is in a user group 612 which is included in a total user group 614. In this case, the user group 612 may be disconnected from the network (e.g. a local network and/or the Internet, etc.) while the rest of the total group 614 maintains access to the network.
As an option, a virtual safety network zone may be developed around the isolated group 612. Thus, all traffic flowing out of the isolated group 612 may be monitored, email traffic may be quarantined, and/or any other precautionary measures may be implemented. In this case, the at least one action may include monitoring the plurality of devices for another potential data leakage activity. Furthermore, users associated with the isolated group 612 may be alerted. Thus, the suspect 616 may be further isolated from other users associated with the isolated group 612. In one embodiment, a virtual safety network zone may be developed, based on a data leakage occurrence on a plurality of nodes. For example, if more than one node has shown characteristics of data leakage, the zone may be generated, else only actions, as defined via a user interface, are enforced individually.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. 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.

## Claims

1. A non-transitory machine readable medium, on which are stored instructions, comprising instructions that when executed cause one or more programmable devices to:
receive by a first computer system a first notification from a third computer, the first notification received over a network and indicating that a potential data leakage activity on a second computer has been detected by the third computer;
generate a user prompt on the first computer system in response to receiving the first notification from the third computer, wherein the user prompt comprises a plurality of choices for responding to the potential data leakage activity by isolating the second computer, wherein at least one of the plurality of choices is received from the third computer in the first notification, and wherein the plurality of choices includes a least two of the plurality of choices of disabling the second computer, disabling an account associated with the second computer, quarantining the second computer, and locking the second computer;
receive a user input after generating the user prompt, the user input indicating a response to the potential data leakage activity intended to isolate the second computer; and
attempt to isolate the second computer based on the user input,
wherein the first computer system, the second computer, and the third computer are separate devices.

2. The machine readable medium of claim 1, wherein the first computer system comprises a plurality of physical computers.

3. The machine readable medium of claim 1, wherein the first computer system is a mobile computing device.

4. A computer-implemented method, comprising:
receiving by a first computer system a first notification from a third computer regarding a second computer, the first notification received over a network and indicating that the second computer is vulnerable to data leakage;
generating a user prompt on the first computer system after receiving the first notification from the third computer, wherein the user prompt comprises a plurality of choices for responding to the indication that the second computer is vulnerable to data leakage, at least one choice involving isolating the second computer, wherein at least one of the plurality of choices is received from the third computer in the first notification, and wherein the plurality of choices includes a least two of the plurality of choices of disabling the second computer, disabling an account associated with the second computer, quarantining the second computer, and locking the second computer;
receiving a user input after generating the user prompt, the user input received upon a user interface comprising the user prompt, wherein the user input indicates a response to the indication that the second computer is vulnerable to data leakage intended to isolate the second computer; and
attempting to isolate the second computer based on the user input,
wherein the first computer system, the second computer, and the third computer are separate devices.

5. The method of claim 4, wherein the first computer system comprises a mobile device.

6. The method of claim 5, wherein the mobile device is mobile phone.

7. The method of claim 5, wherein the mobile device is a personal digital assistant.

8. A system comprising:
a mobile portable computing device adapted to receive network communication;
a display integral with the mobile portable computing device and adapted to provide a user interface upon the display;
a user prompt generated within the user interface of the mobile portable computing device, the user prompt generated in response to a first notification from a third computer by network communication;
the first notification from the third computer comprising an indication that a second computer is vulnerable to data leakage;
the user prompt comprising a plurality of options for responding to the indication that the second computer is vulnerable to data leakage, at least one option associated with an action intended to isolate the second computer, wherein at least one of the plurality of options is received from the third computer in the first notification, and wherein the plurality of options includes a least two of the plurality of options of disabling the second computer, disabling an account associated with the second computer, quarantining the second computer, and locking the second computer; and
the user interface having the capability to receive a user selection indicating an action intended to isolate the second computer.

9. The system of claim 8, wherein the mobile portable computing device is a mobile phone.

10. The system of claim 8, wherein the mobile portable computing device is a personal digital assistant.