US20190354691A1 - Data detection and protection policies for electronic file systems - Google Patents

Data detection and protection policies for electronic file systems Download PDF

Info

Publication number
US20190354691A1
US20190354691A1 US16/445,446 US201916445446A US2019354691A1 US 20190354691 A1 US20190354691 A1 US 20190354691A1 US 201916445446 A US201916445446 A US 201916445446A US 2019354691 A1 US2019354691 A1 US 2019354691A1
Authority
US
United States
Prior art keywords
policy
dlp
dlp policy
template
electronic file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US16/445,446
Inventor
Lynn Ayres
Jack Kabat
Raja Charu Vikram Kakumani
Mashuri Libman
Benjamin Stull
Anatoly Koretsky
Andrey Shur
Joseph Schulman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to US16/445,446 priority Critical patent/US20190354691A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SHUR, ANDREY, KORETSKY, ANATOLY, AYRES, LYNN, KABAT, JACK, KAKUMANI, VIKRAM, LIBMAN, Mashuri, STULL, Benjamin
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Publication of US20190354691A1 publication Critical patent/US20190354691A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/234Monitoring or handling of messages for tracking messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • H04L51/12
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • H04L51/34
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/063Content adaptation, e.g. replacement of unsuitable content

Definitions

  • Modern organizations find it desirable to find, monitor, and protect sensitive information (e.g., in electronic form)—such as PII, Financial Data, Intellectual Property, and Health data in e-mail.
  • sensitive information e.g., in electronic form
  • organizations attempt to model both the data that should be protected—as well as the policies that should be applied to the data.
  • administrators attempt to select different scoping mechanism for their policies such as sender identity, recipient identity, and others.
  • administrators attempt to select and apply actions such as audit, encrypt, require TLS transmission, etc. Also, administrators try to take policies that are related to a single objective such as regulatory objective and may try to manage them as a single package, even though policies may contain different rules, and enable/disable and test policy in a single action.
  • DLP policies may be identified by an organization to run on top of a set of electronic file systems (e.g., email systems, file systems, web servers and the like). Organizations and their administrators may implement a set of DLP policy instance by the parameterization of DLP policy templates. DLP policy templates may comprise both structure and meaning—and may be affected by the substitution of generic policy configuration with deployment specific environment configurations at time of policy creation by the replacement of parameterized expressions with desired parameter values. In another embodiment, the state of the DLP policy instance may change according to the lifecycle of the policy instance deployment.
  • a method for instantiating a DLP policy from a set of policy templates comprising: identifying an electronic file system upon which a desired DLP policy is to be affected; identifying a set of DLP policy templates suitable for the desired DLP policy; parameterizing the DLP policy templates with desired DLP Policy-specific data; and disseminating the parameterized DLP policy instance to the electronic file system.
  • a system for creating at least one DLP policy instance for a set of electronic file systems comprising: a set of DLP policy templates; each of the DLP policy templates comprising a set of component fields; a DLP policy template parameterization module, the template parameterization module capable of replacing the component fields with desired policy data; and a DLP main policy module capable of creating a DLP policy instance for a set of electronic file systems from the set of DLP policy templates.
  • FIGS. 1, 1A, and 1B depicts one embodiment of a system that affects policy systems as made in accordance with the principles of the present application.
  • FIG. 2 depicts one embodiment of an implementation and operation of a policy system in the context of e-mail as made in accordance with the principles of the present application.
  • FIG. 3 depicts one embodiment of a system mail server processing subsystem as it may interface with a policy system in the context of e-mail.
  • FIG. 4 is one embodiment of one exemplary DLP policy template, as it might be represented for a putative customer email system.
  • ком ⁇ онент can be a process running on a processor, a processor, an object, an executable, a program, and/or a computer.
  • a component can be a process running on a processor, a processor, an object, an executable, a program, and/or a computer.
  • an application running on a server and the server can be a component.
  • One or more components can reside within a process and a component can be localized on one computer and/or distributed between two or more computers.
  • DLP Data Loss Prevention
  • FIG. 1 is a schematic diagram of a policy system as made in accordance with the principles of the present application.
  • there may be several general policy modules that may work with various electronic storage and/or servers that may be set across a given organization.
  • Policy Management System there may be a Policy Management System, multiple policy enforcement points, and an Audit System for the setting and testing of a policy, respectively.
  • Policy Management System 100 may comprise a policy authoring system 102 , a policy store 104 , a policy dissemination system 106 .
  • these policy modules may be employed to set and disseminate a policy for the organization.
  • Policy may be affected by various policy translation/mapping systems 108 —which understand the generic policy directives and transform them to the contextually understood format by the policy enforcement points, which may interface with various electronic data subsystems—e.g., Mail Delivery Systems 110 , mail client systems like Microsoft Outlook® system 112 , information management systems like Microsoft Sharepoint® system 114 , File Systems 116 , Web Servers 118 or other suitable electronic data subsystems that are capable of policy enforcement and application.
  • modules therein that implement the policies effectively within the subsystems.
  • modules may be policy consumption, local contextual processing—which may further comprise contextual policy evaluation, contextual policy enforcement, and contextual policy presentation.
  • audit data generators may be in communication with an audit aggregation system 122 and an audit presentation system 124 .
  • policies may interface with an organization's software suite—e.g., email, file servers, web interfaces and the like.
  • policy modules for example, the policy authoring and store, and audit functions
  • FIG. 2 depicts one embodiment of a runtime dynamic 200 , as it might apply to an exemplary email flow policy application.
  • the organization will typically have its email system and/or server 202 prior to the implementation of a policy system that will operated on top of, or otherwise cooperatively, with the email system.
  • the policy system may consume policy content from multiple sources.
  • One such source may be as supplied with the system itself in the form of out-of-box (OOB) set of policy templates that are available as part of the product and may be acquired and installed by a tenant system administrator and/or other suitable users 206 .
  • Another source may be from Independent Software Vendors (ISVs) and product partners, and consultants that provide custom policy content for the consumption by the target organization.
  • ISVs Independent Software Vendors
  • product partners ISVs
  • consultants that provide custom policy content for the consumption by the target organization.
  • 204 may supply the organization with custom DLP policies.
  • administrator 206 may perform particular configuration of a DLP policy system—in this case, working with the organization's email system.
  • ongoing policy maintenance and tuning may be performed by in-house personnel or external contractors or vendors—such as the tenant administrator or by the ISVs, partners, and/or consultants. These may be represented by multiple operations such as 206 and 204 .
  • the policy directives may include operations in contexts that the information workers interact with, such as Outlook 210 a or generic email client 210 b , that may result in the active education and/or notification of the policy to the organization's users.
  • the policy directives would determine what content is considered sensitive and define the rules governing its usage/handling within the organization. Both, what is the sensitive content and rules governing its usage can be disseminated to the end users as part of the policy directives. (e.g., email with patient information, trade secret information or the like).
  • the policy directive may allow the user of sending this information unrestricted, require explicit acknowledgement that the communication contains sensitive information and the user takes responsibility for its disclosure, or prevention of sharing outright.
  • email server may process the email according to the same policy definition for policy consideration, compliance and/or processing directly (or the policy system may be operating apart from the email server in a server/client relationship or the like).
  • additional actions may take place such as holding the email prior to sending outside the email server, the organization or the like.
  • Any non-compliance with policy (or period reports of generally compliant email traffic) may be sent to an auditor 212 for follow up. Such follow-up may be to retrain affected employees—or it may detect some error in the dynamic flow and/or operation of the policy system.
  • Any policy processing errors may be referred back to either the system administrator or to the ISV for correction.
  • the mail processing server will enforce that the policy was uniformly applied no matter what client was used as part of the authoring experience. If the policy requires sender acknowledgements, these may be enforced for presence or the mail will be rejected back to the sender.
  • FIG. 3 is the e-mail server processing details of the policy application—e.g. exchange server (box 202 in FIG. 2 ).
  • FIG. 3 depicts one possible embodiment of a system mail processing subsystem 300 as it may interface with a policy system.
  • the e-mail server's policy processing may be performed by an agent that is activated at various stages of mail processing.
  • One such agent could be the exchange transport rules agent 302 which may employ processing of content analysis predicate 302 a in conjunction with schema for content analysis predicated 318 .
  • Transport rules may be stored in 316 and administrators/user may edit content analysis predicates with module 314 b via a UI 314 .
  • the agent may interface with a message content and attachment text extraction module (referred to herein as “FIPS”) 306 and content analysis module to scan for sensitive content.
  • FIPS may be affected as a component that does the content extraction and conversion to text (e.g., both mail messages and attachments) and may pass the extracted content into the classification engine for analysis of any sensitive content as defined by the policy directives.
  • FIPS may comprise a text extraction engine 306 b and communication modules with text extraction engine and the content analysis engine, 306 a and 306 c respectively.
  • FIPS may be the same as the DLP policy evaluation module—e.g., it may be constructed as a sub-component making up DLP policy evaluation—i.e., the one that does text extraction which is then fed into the classification engine for analysis for any sensitive information as defined by the DLP policy.
  • the text extraction module may interface (perhaps via a communication protocol 308 ) with the content analysis/scanning engine/module 310 which may perform the text analysis on the text identified with the e-mail bodies and any attachments.
  • the text analysis engine may identify sensitive content based on the policy information which has been stored in the content rules store 312 such as AD. Such rules may be edited by administrators/users via module 314 a via UI 314 .
  • the present systems, methods and/or mechanisms may be implemented by an object model approach.
  • the complexities of a regulatory policy may be represented through a policy template concept which encapsulates the policy directives and controls and offers methods for its lifecycle management. It may be desirable to have the following objects defined and/or associated with an object model that may allow for ease of implementation: (1) policy template objects that allow for the installation of the policy and all associated objects; (2) a main policy object that tracks shared metadata and state; (3) a set of policy rule objects, mapping to the policy object, which define the policy directives as match conditions and actions for each policy and (4) data classification rule objects which define the structure of the sensitive data that the policy, and the regulatory specification, specify as sensitive data definitions.
  • policies template object operations might comprise: (1) install, (2) instantiate, and (3) remove.
  • Operations for a main policy object might comprise: (1) creating new policy object from template; (2) creating new, editing, deleting, and managing state changes through its lifecycle.
  • each of these operations may have impact on multiple objects associated with the policy which themselves implement the policy directives as appropriate in any of the applicable policy enforcement points.
  • a runtime behavior for email that may be subject to the policy—across a number of policy enforcement points which may include: (1) e-mail client (2) e-mail server (3) e-mail storage system (4) e-mail processing gateways etc.
  • Each of the policy enforcement points interprets and applies the policy in accordance with the state of the policy as it relates to the policy deployment lifecycle which may include (1) audit only evaluation of the policy (2) audit and notification evaluation of the policy and (3) full enforcement of the policy directives.
  • a DLP policy template is a component description that identifies the characteristics of the policy and how it is realized using components—i.e., a configuration for components. It may be non-environment specific—e.g., a stencil used to create a deployment specific version. In addition, it may not have any state since it is just a definition. In addition, it may offer a very simple set of operations—such as: Import, Export, Deletion and Query.
  • the template may be authored using an XML document that may be used to express the full construct of a regulatory policy in an implementation independent format, as depicted in FIG. 4 .
  • the Import operation may allow for the import of the definition.
  • the Import operation may be provided for “out of the box” (OOB) policy definitions that are built into the system.
  • OOB out of the box
  • Import may be used to provide updates version of the policy templates for an OOB policy templates.
  • the import may be used to incorporate into the system additional policy definitions that are provided to meet custom regulatory objectives or organizational needs. These additional policy definitions may extend built-in policy definitions or create brand-new policy definitions.
  • the Export operation may allow for the saving, backup and offline updates of the policy definitions.
  • Export may provide access to the serialized version of the template and may be used to migrate the template from one environment to another.
  • Deletion operation removes the policy definition from a deployment environment. In one embodiment, it may not be desired that Deletion is supported for OOB definitions. Query operation may allow for the discovery of the definitions for both OOB policies and any additional policies that have been added into the system.
  • FIG. 4 depicts one putative set of DLP Policy Template components 400 that might be implemented to realize exemplary customer email flow compliance, possibly based on specific regulations.
  • the DLP Policy comprises a set of components (having an associated structure 402 and meaning 404 )—e.g., Publisher ( 406 , 408 ), Version ( 410 , 412 ), Policy Name ( 414 , 416 ), Description ( 418 , 420 ), Meta-Data ( 422 , 424 ), Set of Policy Constructs ( 426 , 428 ) and a set of Data Classification Packages ( 430 , 432 ).
  • the interface for managing the DLP policy templates objects may be PowerShell or any suitable web interface.
  • the template definition allow defining properties that may be mapped to deployment values at time the template is used to create a DLP policy instance.
  • properties may be defined that utilize this capability: (1) exception Distribution List (DL) which may be mapped to a default DL provisioned within a DLP deployment and (2) a DLP reporting mailbox that will be used as the destination for notifications of any policy violation detections.
  • DL exception Distribution List
  • a simple property replacement mechanism may be used to accomplish parameterization of fields in a template.
  • the following may be desired for the replacement mechanism: (1) the ability to specify parameterized expression for DLP policy construct elements in a DLP template; (2) the ability to pass parameter values as part of DLP template instantiation; (3) the ability to use parameterized expressions in both OOB DLP policy templates and ISV created ones; (4) the support for Unicode strings in the DLP policy template definition and as substitution character input; (4) the ability for API to discover which properties are parameterized in a template; (5) the ability to strong type the parameterized properties in a template.
  • This mechanism may be implemented by a simple find and replace of name value pairs in a template.
  • the template's DLP policy constructs would allow the specification of substation keys for which replacement values may be provided.
  • the substation keys may be of the form: %%keyName%%, where keyName is an identifier.
  • the interface may allow the passing of a name value pair that will provide a mapping for each keyName to a value.
  • the following excerpt may be given from a policy definition in the PCI-DSS DLP policy template, as shown in FIG. 4 :
  • the example above may be affected by the substation of two keywords: “%%ReportSeverity-1%%” and “%%ReportSeverity-2%1%” (as given above) as part of the DLP policy creation from this template using the following sample syntax:
  • NAME BASE TYPE RESTRICTIONS DESCRIPTIONS Identity String Guid ID of the object. Unique and immutable. Can be specified at create time. Name String ⁇ 64 Unicode A user friendly name to describe the chars object. Recommended to be unique but not enforced by the system. “Name” is an alternative mechanism used to identify the object and expected to be used by admins in PowerShell interface. Changeable by user. PublisherName String ⁇ 64 Unicode Who published this DLP template. chars Description String Unicode chars Description of the policy template. Regulation String collection ⁇ 64 Unicode List of regulations targeted by this chars per item DLP profile template. Region String collection 2 chars per item List of countries targeted by this DLP profile template.
  • the values are based on the two-letter country codes as assigned part of the ISO 3166-1 Part 1 specification which is commonly used in Microsoft Windows ® software to specify region designation of localization components. Keywords String collection ⁇ 64 Unicode Additional keywords applicable to chars per item the policy used for searches during discovery.
  • VERBS DESCRIPTION Get Standard query task Returns all DLP policy templates in the deployment environment. Support - Filter parameter to specify server side filtering options. Filtering may be based on the following properties: PublisherName, Regulation, Region, Keywords, etc.
  • DLP policy instance is the result of creating a DLP policy object from a template in a deployment environment. It represents the set of instantiated component objects employed to implement the policy definition in the template (e.g. ETRs, data classification rules etc.).
  • An instance is deployment-specific—i.e., it tends to contain definitions that reference components and elements that are specific to a customer environment and hence it tends to be non-portable across deployments.
  • a DLP policy instance has state which represents the lifecycle state within the customer's deployment (for example, audit or enabled).
  • the DLP policy state may be used to control the state of the components that comprise the policy. Changes in the DLP policy instance state apply corresponding changes within the policy objects controlled by the DLP policy.
  • STATE DESCRIPTION Audit Customer is collecting data on what kind of content is being sent through his mail flows without modifying any behavior. This may be used to adjust/tune policies or to determine impact and/or actions that would result from enabling the policy.
  • Notify Client is moving to start to educate the users on the DLP policies in place and get them familiar with the business processes around sensitive content. It may desired to selectively enable enforcement actions, or alternatively, not to enable enforcement actions at all. Enforcement All aspects of the policy are enabled.
  • a customer may choose to skip any of the policy or move from any one state to another.
  • the policy may also be disabled—which results in the policy being ignored in the policy enforcement points.
  • the sub-components representing the individual policy directives may have a different state than the DLP-policy. This may allow the user to change the individual policy directive of the policy to be in a different state—for example, when adding a new directive to the policy or when troubleshooting a directive of the policy.
  • Each policy directive may also maintain a corresponding representation of its state which maps to the values of the DLP policy state. These states may also be controlled independently at the directive level. For example, the audit state for a directive may be turned-off; by setting the directive in a disabled state. Similarly, Notify state may be turned off for a specific directive.
  • the DLP policy may follow common set of properties exposed across other components that comprise the application area—e.g., Microsoft Exchange® system—and may include the following properties:
  • the main DLP policy object may follow common set of operations exposed across other components that comprise the application area—e.g., Microsoft Exchange® system—and may include the following operations:
  • VERBS DESCRIPTION New Creates a new DLP policy from a template definition.
  • the template may be an OOB template; or the contents of a template obtained from an ISV or other third party. If no template definition or content is specified, an empty DLP policy may be created with no policy elements.
  • Set The Set operation may be used to modify parameters of the policy. May be used in the change of a DLP policy's state which may also change the state of other policy components that support state semantics. Remove The Remove operation may delete the DLP policy and its associated components from the system.
  • Import- The Import-DLPPolicyCollection may allow the serialization DLPPolicyCollection of the policy components for backup/transport and maintenance.
  • the Import-DLPPolicyCollection may re- create the policy components from a previously serialized version.
  • Export- The Export-DLPPolicyCollection may allow the serialization DLPPolicyCollection of the policy components for backup/transport and maintenance.
  • a single DLP policy instance may have 0 to N policy directives that implement its behavior. This may be delivered through, e.g., Microsoft Exchange® transport rules. A transport rule may be part of 0 or 1 DLP policy instances.
  • a single policy directive may allow the definition across any number of policy enforcement points, for example for both server side mail flow processing directives and the e-mail client processing directives.
  • a single DLP policy instance may have 0 to N data classification objects bound to it.
  • the data classification specification defines what is considered sensitive content within the scope of the policy and how this content should be identified with the e-mail content.
  • the interface for managing the DLP policy instance objects may be PowerShell, web interface or others.
  • the DLP Policy may comprise the same or similar Verbs as disclosed for the DLP Policy Operations, as given above.
  • the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the claimed subject matter.
  • the innovation includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the claimed subject matter.

Abstract

Systems and/or methods for deploying and implementing data loss prevention (DLP) policy definition that may encapsulate the requirements, control objectives and directives, and/or the definitions of sensitive data types as stipulated directly or indirectly by the regulatory policy are disclosed. In one embodiment, DLP policies may be identified by an organization to run on top of a set of electronic file systems (e.g., email systems, file systems, web servers and the like). Organizations and their administrators may implement a set of DLP policy instance which are derived from DLP policy templates. DLP policy templates may comprise both structure and meaning—and may acquire a given DLP policy by the replacement of parameterized expressions with desired parameter values. In another embodiment, the state of the DLP policy instance may change according to the lifecycle of the policy instance deployment.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • The present application is a continuation application of and claims priority of U.S. patent application Ser. No. 15/064,871, filed Mar. 9, 2016, which is a continuation of and claims priority of U.S. patent application Ser. No. 13/545,864, filed Jul. 10, 2012, the contents of which are hereby incorporated by reference in their entirety.
  • BACKGROUND
  • Modern organizations find it desirable to find, monitor, and protect sensitive information (e.g., in electronic form)—such as PII, Financial Data, Intellectual Property, and Health data in e-mail. In order to do this, organizations attempt to model both the data that should be protected—as well as the policies that should be applied to the data. For e-mail, administrators attempt to select different scoping mechanism for their policies such as sender identity, recipient identity, and others.
  • In addition, administrators attempt to select and apply actions such as audit, encrypt, require TLS transmission, etc. Also, administrators try to take policies that are related to a single objective such as regulatory objective and may try to manage them as a single package, even though policies may contain different rules, and enable/disable and test policy in a single action.
  • SUMMARY
  • The following presents a simplified summary of the innovation in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview of the claimed subject matter. It is intended to neither identify key or critical elements of the claimed subject matter nor delineate the scope of the subject innovation. Its sole purpose is to present some concepts of the claimed subject matter in a simplified form as a prelude to the more detailed description that is presented later.
  • Systems and/or methods for deploying and implementing data loss prevention (DLP) policy instances from a policy object model are disclosed. In one embodiment, DLP policies may be identified by an organization to run on top of a set of electronic file systems (e.g., email systems, file systems, web servers and the like). Organizations and their administrators may implement a set of DLP policy instance by the parameterization of DLP policy templates. DLP policy templates may comprise both structure and meaning—and may be affected by the substitution of generic policy configuration with deployment specific environment configurations at time of policy creation by the replacement of parameterized expressions with desired parameter values. In another embodiment, the state of the DLP policy instance may change according to the lifecycle of the policy instance deployment.
  • In one embodiment, a method for instantiating a DLP policy from a set of policy templates is disclosed, the steps of the method comprising: identifying an electronic file system upon which a desired DLP policy is to be affected; identifying a set of DLP policy templates suitable for the desired DLP policy; parameterizing the DLP policy templates with desired DLP Policy-specific data; and disseminating the parameterized DLP policy instance to the electronic file system.
  • In another embodiment, a system for creating at least one DLP policy instance for a set of electronic file systems is disclosed, comprising: a set of DLP policy templates; each of the DLP policy templates comprising a set of component fields; a DLP policy template parameterization module, the template parameterization module capable of replacing the component fields with desired policy data; and a DLP main policy module capable of creating a DLP policy instance for a set of electronic file systems from the set of DLP policy templates.
  • Other features and aspects of the present system are presented below in the Detailed Description when read in connection with the drawings presented within this application.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Exemplary embodiments are illustrated in referenced figures of the drawings. It is intended that the embodiments and figures disclosed herein are to be considered illustrative rather than restrictive.
  • FIGS. 1, 1A, and 1B (collectively referred to as FIG. 1) depicts one embodiment of a system that affects policy systems as made in accordance with the principles of the present application.
  • FIG. 2 depicts one embodiment of an implementation and operation of a policy system in the context of e-mail as made in accordance with the principles of the present application.
  • FIG. 3 depicts one embodiment of a system mail server processing subsystem as it may interface with a policy system in the context of e-mail.
  • FIG. 4 is one embodiment of one exemplary DLP policy template, as it might be represented for a putative customer email system.
  • DETAILED DESCRIPTION
  • As utilized herein, terms “component,” “system,” “interface,” and the like are intended to refer to a computer-related entity, either hardware, software (e.g., in execution), and/or firmware. For example, a component can be a process running on a processor, a processor, an object, an executable, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and a component can be localized on one computer and/or distributed between two or more computers.
  • The claimed subject matter is described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the subject innovation. It may be evident, however, that the claimed subject matter may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the subject innovation.
  • Introduction
  • Several embodiments of the present application disclose systems, methods and mechanisms that allow policies to be created for electronic file subsystems (for merely one example, e-mail) and model them as a set of related objects that can be installed, removed, state changed, and reported from at the same time in a single operation. While the present embodiments are more drawn to examples of e-mail systems, it should be appreciated that the systems, methods and/or techniques described here are also applicable to a wide variety of electronic file systems in a broad sense—e.g., file systems, information protection and collaboration (e.g. Microsoft Sharepoint® system), web servers, application servers and the like.
  • As will be discussed in more detail herein, in many embodiments, it would be desirable to employ a framework to model complex industry regulations or company information governances as a policy. Broadly, these policies—and their associated systems and methods—are generally described in area of Data Loss Prevention (DLP). Applications in this area may implement all or partial components that address the policy processing as it applies to: (1) managing the policy lifecycle; (2) enforcing and evaluating the policy at policy enforcement points; (3) generating and viewing reports and (4) managing violations for incidents
  • One Embodiment
  • FIG. 1 is a schematic diagram of a policy system as made in accordance with the principles of the present application. As may be seen in this embodiment, there may be several general policy modules that may work with various electronic storage and/or servers that may be set across a given organization. Broadly, there may be a Policy Management System, multiple policy enforcement points, and an Audit System for the setting and testing of a policy, respectively.
  • As may be seen in FIG. 1, Policy Management System 100 may comprise a policy authoring system 102, a policy store 104, a policy dissemination system 106. As will be discussed in further detail herein, these policy modules may be employed to set and disseminate a policy for the organization. Policy may be affected by various policy translation/mapping systems 108—which understand the generic policy directives and transform them to the contextually understood format by the policy enforcement points, which may interface with various electronic data subsystems—e.g., Mail Delivery Systems 110, mail client systems like Microsoft Outlook® system 112, information management systems like Microsoft Sharepoint® system 114, File Systems 116, Web Servers 118 or other suitable electronic data subsystems that are capable of policy enforcement and application.
  • Within these policy enforcement subsystems, there may be modules therein that implement the policies effectively within the subsystems. For example, such modules may be policy consumption, local contextual processing—which may further comprise contextual policy evaluation, contextual policy enforcement, and contextual policy presentation.
  • As a part of these subsystems, it may be desirable to have a contextual audit data generator. These audit data generators may be in communication with an audit aggregation system 122 and an audit presentation system 124.
  • It should be appreciated that many other architectures are possible for implementing a policy system that may interface with an organization's software suite—e.g., email, file servers, web interfaces and the like. In addition, it may be possible (and maybe desirable) for certain policy modules (for example, the policy authoring and store, and audit functions) to be hosted apart from the organization and supplied otherwise (e.g., server/client relationship, cloud-based services or the like).
  • Once a policy system is implemented or otherwise configured for an organization, such policy systems take on a runtime dynamic. FIG. 2 depicts one embodiment of a runtime dynamic 200, as it might apply to an exemplary email flow policy application. The organization will typically have its email system and/or server 202 prior to the implementation of a policy system that will operated on top of, or otherwise cooperatively, with the email system.
  • The policy system may consume policy content from multiple sources. One such source may be as supplied with the system itself in the form of out-of-box (OOB) set of policy templates that are available as part of the product and may be acquired and installed by a tenant system administrator and/or other suitable users 206. Another source may be from Independent Software Vendors (ISVs) and product partners, and consultants that provide custom policy content for the consumption by the target organization. 204 may supply the organization with custom DLP policies. In either case, administrator 206 may perform particular configuration of a DLP policy system—in this case, working with the organization's email system. In addition to the installation/creation of the policy, it may be desirable that ongoing policy maintenance and tuning may be performed by in-house personnel or external contractors or vendors—such as the tenant administrator or by the ISVs, partners, and/or consultants. These may be represented by multiple operations such as 206 and 204.
  • In operation, the policy directives may include operations in contexts that the information workers interact with, such as Outlook 210 a or generic email client 210 b, that may result in the active education and/or notification of the policy to the organization's users. The policy directives would determine what content is considered sensitive and define the rules governing its usage/handling within the organization. Both, what is the sensitive content and rules governing its usage can be disseminated to the end users as part of the policy directives. (e.g., email with patient information, trade secret information or the like). The policy directive may allow the user of sending this information unrestricted, require explicit acknowledgement that the communication contains sensitive information and the user takes responsibility for its disclosure, or prevention of sharing outright.
  • Once received, email server may process the email according to the same policy definition for policy consideration, compliance and/or processing directly (or the policy system may be operating apart from the email server in a server/client relationship or the like). Once the email is scanned for sensitive content, additional actions may take place such as holding the email prior to sending outside the email server, the organization or the like. Any non-compliance with policy (or period reports of generally compliant email traffic) may be sent to an auditor 212 for follow up. Such follow-up may be to retrain affected employees—or it may detect some error in the dynamic flow and/or operation of the policy system. Any policy processing errors may be referred back to either the system administrator or to the ISV for correction. The mail processing server will enforce that the policy was uniformly applied no matter what client was used as part of the authoring experience. If the policy requires sender acknowledgements, these may be enforced for presence or the mail will be rejected back to the sender.
  • FIG. 3 is the e-mail server processing details of the policy application—e.g. exchange server (box 202 in FIG. 2). FIG. 3 depicts one possible embodiment of a system mail processing subsystem 300 as it may interface with a policy system. The e-mail server's policy processing may be performed by an agent that is activated at various stages of mail processing. One such agent could be the exchange transport rules agent 302 which may employ processing of content analysis predicate 302 a in conjunction with schema for content analysis predicated 318. Transport rules may be stored in 316 and administrators/user may edit content analysis predicates with module 314 b via a UI 314.
  • The agent may interface with a message content and attachment text extraction module (referred to herein as “FIPS”) 306 and content analysis module to scan for sensitive content. FIPS may be affected as a component that does the content extraction and conversion to text (e.g., both mail messages and attachments) and may pass the extracted content into the classification engine for analysis of any sensitive content as defined by the policy directives. FIPS may comprise a text extraction engine 306 b and communication modules with text extraction engine and the content analysis engine, 306 a and 306 c respectively. FIPS may be the same as the DLP policy evaluation module—e.g., it may be constructed as a sub-component making up DLP policy evaluation—i.e., the one that does text extraction which is then fed into the classification engine for analysis for any sensitive information as defined by the DLP policy.
  • The text extraction module may interface (perhaps via a communication protocol 308) with the content analysis/scanning engine/module 310 which may perform the text analysis on the text identified with the e-mail bodies and any attachments. The text analysis engine may identify sensitive content based on the policy information which has been stored in the content rules store 312 such as AD. Such rules may be edited by administrators/users via module 314 a via UI 314.
  • Data Detection and Prevention Policy Object Model Embodiment
  • The present systems, methods and/or mechanisms may be implemented by an object model approach. In one such embodiment, the complexities of a regulatory policy may be represented through a policy template concept which encapsulates the policy directives and controls and offers methods for its lifecycle management. It may be desirable to have the following objects defined and/or associated with an object model that may allow for ease of implementation: (1) policy template objects that allow for the installation of the policy and all associated objects; (2) a main policy object that tracks shared metadata and state; (3) a set of policy rule objects, mapping to the policy object, which define the policy directives as match conditions and actions for each policy and (4) data classification rule objects which define the structure of the sensitive data that the policy, and the regulatory specification, specify as sensitive data definitions.
  • For these various objects, it may be desirable to define and implement operations that act upon these objects. For example, for an exemplary policy template object operations might comprise: (1) install, (2) instantiate, and (3) remove. Operations for a main policy object might comprise: (1) creating new policy object from template; (2) creating new, editing, deleting, and managing state changes through its lifecycle. As may be the case, each of these operations may have impact on multiple objects associated with the policy which themselves implement the policy directives as appropriate in any of the applicable policy enforcement points. In the case of a policy system for email, there may be a runtime behavior for email—that may be subject to the policy—across a number of policy enforcement points which may include: (1) e-mail client (2) e-mail server (3) e-mail storage system (4) e-mail processing gateways etc. Each of the policy enforcement points interprets and applies the policy in accordance with the state of the policy as it relates to the policy deployment lifecycle which may include (1) audit only evaluation of the policy (2) audit and notification evaluation of the policy and (3) full enforcement of the policy directives.
  • DLP Policy Template Embodiment
  • In one embodiment, a DLP policy template is a component description that identifies the characteristics of the policy and how it is realized using components—i.e., a configuration for components. It may be non-environment specific—e.g., a stencil used to create a deployment specific version. In addition, it may not have any state since it is just a definition. In addition, it may offer a very simple set of operations—such as: Import, Export, Deletion and Query. In one possible embodiment, the template may be authored using an XML document that may be used to express the full construct of a regulatory policy in an implementation independent format, as depicted in FIG. 4.
  • In this embodiment, the Import operation may allow for the import of the definition. The Import operation may be provided for “out of the box” (OOB) policy definitions that are built into the system. In addition, Import may be used to provide updates version of the policy templates for an OOB policy templates. Further, the import may be used to incorporate into the system additional policy definitions that are provided to meet custom regulatory objectives or organizational needs. These additional policy definitions may extend built-in policy definitions or create brand-new policy definitions.
  • The Export operation may allow for the saving, backup and offline updates of the policy definitions. Export may provide access to the serialized version of the template and may be used to migrate the template from one environment to another.
  • Deletion operation removes the policy definition from a deployment environment. In one embodiment, it may not be desired that Deletion is supported for OOB definitions. Query operation may allow for the discovery of the definitions for both OOB policies and any additional policies that have been added into the system.
  • An Exemplary DLP Policy Template Parameterization
  • For merely one example, FIG. 4 depicts one putative set of DLP Policy Template components 400 that might be implemented to realize exemplary customer email flow compliance, possibly based on specific regulations. As may be seen, the DLP Policy comprises a set of components (having an associated structure 402 and meaning 404)—e.g., Publisher (406, 408), Version (410, 412), Policy Name (414, 416), Description (418, 420), Meta-Data (422, 424), Set of Policy Constructs (426, 428) and a set of Data Classification Packages (430, 432). It will be noted that a set of meanings may be associated with these components. In this example, the interface for managing the DLP policy templates objects may be PowerShell or any suitable web interface.
  • In one embodiment, it may be desirable that the template definition allow defining properties that may be mapped to deployment values at time the template is used to create a DLP policy instance. For example, two main properties may be defined that utilize this capability: (1) exception Distribution List (DL) which may be mapped to a default DL provisioned within a DLP deployment and (2) a DLP reporting mailbox that will be used as the destination for notifications of any policy violation detections.
  • DLP Policy Template Parameterization
  • In one embodiment, a simple property replacement mechanism may be used to accomplish parameterization of fields in a template. The following may be desired for the replacement mechanism: (1) the ability to specify parameterized expression for DLP policy construct elements in a DLP template; (2) the ability to pass parameter values as part of DLP template instantiation; (3) the ability to use parameterized expressions in both OOB DLP policy templates and ISV created ones; (4) the support for Unicode strings in the DLP policy template definition and as substitution character input; (4) the ability for API to discover which properties are parameterized in a template; (5) the ability to strong type the parameterized properties in a template.
  • This mechanism may be implemented by a simple find and replace of name value pairs in a template. The template's DLP policy constructs would allow the specification of substation keys for which replacement values may be provided. For example, the substation keys may be of the form: %%keyName%%, where keyName is an identifier. The interface may allow the passing of a name value pair that will provide a mapping for each keyName to a value.
  • For merely one example, the following excerpt may be given from a policy definition in the PCI-DSS DLP policy template, as shown in FIG. 4:
  •    <?xml version=“1.0” encoding=“utf-8” standalone=“yes” ?>
       <dlpPolicyTemplates>
        <dlpPolicyTemplate version=“15.0.3.0” state=“Enabled” mode=“Audit”>
        <contentVersion>1</contentVersion>
        <publisherName>Microsoft (Beta)</publisherName>
        <name>
         <localizedString lang=“en-us”>PII</localizedString>
         <localizedString lang=“fr-fr”>PII</localizedString>
        </name>
        <description>
         <localizedString lang=“en-us”>Detects the presence of information
    considered to be PII in the U.S. This includes the presence of data like SSN and
    Driver's License in email. After completing your testing, configure the rules in this
    program such that the transmission of information complies with your organization's
    policies. Examples include configuring TLS with known business partners, or adding
    more restrictive transport rule actions such as rights protection.</localizedString>
        <localizedString lang=“fr-fr”>Détecte la présence de l'information
    consideree comme PII aux Etats-Unis. Cela comprend la présence de données SSN et
    permis de conduire dans le courriel. Apres avoir complété votre test, configurez les
    regles dans cc programme tel que la transmission de l'information conforme aux
    politiques de votre organisation. Configuration de TLS avec les partenaires
    commerciaux connus, ou ajouter des actions de règle de transport plus restrictives
    telles que la protection des droits des exemples.</localizedString>
       </description>
       <keywords>
        <keyword>KeyWord1</keyword>
        <keyword> KeyWord2</keyword>
       </keywords>
       <ruleParameters>
        <ruleParameter type=“string” required=“True”
    token=“%%ReportSeverity-1%%”>
        <description>
         <localizedString lang=“en-us”>Parameter Description -
    reportseveritylevel#1</localizedString>
         <localizedString lang=“pl”>parametr opis -
    reportseveritylevel#1</localizedString>
        </description>
        </ruleParameter>
        <ruleParameter type=“string” required=“False”
    token=“%%ReportSeverity-2%%”>
        <description>
         <localizedString lang=“en-us”>Parameter Description -
    reportseveritylevel #2</localizedString>
         <localizedString lang=“pl”>parametr opis -
    reportseveritylevel#2</localizedString>
        </description>
        </ruleParameter>
       </ruleParameters>
        <policyCommands>
        <commandBlock>
         <![CDATA[New-TransportRule -name “PII-outside” -comment
    “Monitors for PII content sent to outside the organization” -DlpPolicy
    “%%DlpPolicyName%%” -SentToScope NotInOrganization -
    MessageContainsDataClassifications @{Name=“US Social Security Number
    (SSN)”},@{Name=“Passport Number (U.S/U.K)”} -ReportSeverityLevel
    %%ReportSeverity-1%%]]>
        </commandBlock>
        <commandBlock>
         <![CDATA[New-TransportRule -name “PII-within” -comment “Monitors
    for PII content sent inside the organization” -DlpPolicy “%%DlpPolicyName%%” -
    SentToScope InOrganization -MessageContainsDataClassifications @{Name=“US
    Individual Taxpayer Identification Number (US ITIN)”},@{Name=“US Social
    Security Number (SSN)”},@{Name=“Passport Number (U.S/U.K)”} -
    ReportSeverityLevel %%ReportSeverity-2%%]]>
        </commandBlock>
        </policyCommands>
       </dlpPolicyTemplate>
    </dlpPolicyTemplates>
  • The example above may be affected by the substation of two keywords: “%%ReportSeverity-1%%” and “%%ReportSeverity-2%1%” (as given above) as part of the DLP policy creation from this template using the following sample syntax:
  • [PS] C:\>new-DLPPolicy -Template PII -State Audit -Parameters @ {“ReportSeverity-1”=“High”; “ReportSeverity-2”=“Low”}
  • This would result in the creation of the resulting policy directives, possibly implemented through Exchange Transport Rules (ETR), with the parameterized keys substituted with the specified values from the “Parameters” argument. It should be appreciated that this mechanism would be available for both DLP OOB templates—as well as custom templates from ISVs and others. If any parameterized properties do not have corresponding value passed in through the Parameter option, it may be desirable that an error is generated.
  • DLP Policy Template Properties
  • The following table gives some examples of DLP Policy Template object and their associated properties. It will be appreciated that other template components may be similarly set out.
  • NAME BASE TYPE RESTRICTIONS DESCRIPTIONS
    Identity String Guid ID of the object. Unique and
    immutable. Can be specified at
    create time.
    Name String <64 Unicode A user friendly name to describe the
    chars object. Recommended to be unique
    but not enforced by the system.
    “Name” is an alternative
    mechanism used to identify the
    object and expected to be used by
    admins in PowerShell interface.
    Changeable by user.
    PublisherName String <64 Unicode Who published this DLP template.
    chars
    Description String Unicode chars Description of the policy template.
    Regulation String collection <64 Unicode List of regulations targeted by this
    chars per item DLP profile template.
    Region String collection 2 chars per item List of countries targeted by this
    DLP profile template. The values
    are based on the two-letter country
    codes as assigned part of the ISO
    3166-1 Part 1 specification which is
    commonly used in Microsoft
    Windows ® software to specify
    region designation of localization
    components.
    Keywords String collection <64 Unicode Additional keywords applicable to
    chars per item the policy used for searches during
    discovery.
  • DLP Policy Template Operations
  • The following table gives some examples of DLP Policy Template operations and their associated descriptions. It will be appreciated that other template operations may be similarly set out.
  • VERBS DESCRIPTION
    Get Standard query task. Returns all DLP policy
    templates in the deployment environment.
    Support - Filter parameter to specify server
    side filtering options. Filtering may be
    based on the following properties:
    PublisherName, Regulation, Region,
    Keywords, etc.
    Import Imports a policy template from a serialized
    version into a deployment environment.
    Export Inverse of Import. Exports a serialized
    version of the DLP policy template.
    Remove Removes a DLP policy template definition.
  • DLP Policy Instance
  • DLP policy instance is the result of creating a DLP policy object from a template in a deployment environment. It represents the set of instantiated component objects employed to implement the policy definition in the template (e.g. ETRs, data classification rules etc.). An instance is deployment-specific—i.e., it tends to contain definitions that reference components and elements that are specific to a customer environment and hence it tends to be non-portable across deployments.
  • Unlike a template, a DLP policy instance has state which represents the lifecycle state within the customer's deployment (for example, audit or enabled). The DLP policy state may be used to control the state of the components that comprise the policy. Changes in the DLP policy instance state apply corresponding changes within the policy objects controlled by the DLP policy. Three basic states exist for a policy which represents a customer's progression in realizing their policy implementation. The following table gives one embodiment of a state table of a DLP policy instance:
  • STATE DESCRIPTION
    Audit Customer is collecting data on what kind of
    content is being sent through his mail flows
    without modifying any behavior. This may
    be used to adjust/tune policies or to
    determine impact and/or actions that would
    result from enabling the policy.
    Notify Client is moving to start to educate the users
    on the DLP policies in place and get them
    familiar with the business processes around
    sensitive content. It may desired to
    selectively enable enforcement actions, or
    alternatively, not to enable enforcement
    actions at all.
    Enforcement All aspects of the policy are enabled.
  • In one embodiment, it may be desirable that there are no restrictions in terms of the movements between the states. A customer may choose to skip any of the policy or move from any one state to another. In addition to controlling the policy deployment states, the policy may also be disabled—which results in the policy being ignored in the policy enforcement points.
  • While the DLP policy is used to control the state of the sub-components, it is possible for the sub-components representing the individual policy directives (e.g., ETRs) to have a different state than the DLP-policy. This may allow the user to change the individual policy directive of the policy to be in a different state—for example, when adding a new directive to the policy or when troubleshooting a directive of the policy. Each policy directive may also maintain a corresponding representation of its state which maps to the values of the DLP policy state. These states may also be controlled independently at the directive level. For example, the audit state for a directive may be turned-off; by setting the directive in a disabled state. Similarly, Notify state may be turned off for a specific directive.
  • DLP Policy Properties
  • In one embodiment, the DLP policy may follow common set of properties exposed across other components that comprise the application area—e.g., Microsoft Exchange® system—and may include the following properties:
  • BASE RESTRIC-
    NAME TYPE TIONS DESCRIPTIONS
    Identity String Guid ID of the object. Unique and
    immutable. Can be specified
    at create time.
    Name String <64 Unicode A user friendly name to
    chars describe the object.
    Recommended to be unique
    but may not be enforced by
    the system. Name may be an
    alternative mechanism used to
    identify the object and
    expected to be used by admins
    in PowerShell interface. May
    be changeable by the user.
    Description String Unicode Description of the policy
    chars template.
    State Enum Indicates the desired state of
    the DLP policy and its sub-
    components. While the DLP
    policy is used to control the
    state of the sub-components, it
    is possible for the sub-
    components to have a different
    state than the DLP policy.
  • DLP Policy Object Operations
  • In one embodiment, the main DLP policy object may follow common set of operations exposed across other components that comprise the application area—e.g., Microsoft Exchange® system—and may include the following operations:
  • VERBS DESCRIPTION
    New Creates a new DLP policy from a template definition. The
    template may be an OOB template; or the contents of a
    template obtained from an ISV or other third party. If no
    template definition or content is specified, an empty DLP
    policy may be created with no policy elements.
    Get May be a standard query task. Returns all or a subset of DLP
    policies in a tenant's space. DLP policy instances may be
    scoped to within a tenant scope since they represent the
    tenant's implementation of the policy components.
    Set The Set operation may be used to modify parameters of the
    policy. May be used in the change of a DLP policy's state
    which may also change the state of other policy components
    that support state semantics.
    Remove The Remove operation may delete the DLP policy and its
    associated components from the system. The user may be
    requested to confirm if policy and data classification objects
    should be removed from the system.
    Import- The Import-DLPPolicyCollection may allow the serialization
    DLPPolicyCollection of the policy components for backup/transport and
    maintenance. The Import-DLPPolicyCollection may re-
    create the policy components from a previously serialized version.
    Export- The Export-DLPPolicyCollection may allow the serialization
    DLPPolicyCollection of the policy components for backup/transport and
    maintenance.
  • In one embodiment, a single DLP policy instance may have 0 to N policy directives that implement its behavior. This may be delivered through, e.g., Microsoft Exchange® transport rules. A transport rule may be part of 0 or 1 DLP policy instances. A single policy directive may allow the definition across any number of policy enforcement points, for example for both server side mail flow processing directives and the e-mail client processing directives.
  • In addition, a single DLP policy instance may have 0 to N data classification objects bound to it. The data classification specification defines what is considered sensitive content within the scope of the policy and how this content should be identified with the e-mail content. The interface for managing the DLP policy instance objects may be PowerShell, web interface or others. The DLP Policy may comprise the same or similar Verbs as disclosed for the DLP Policy Operations, as given above.
  • What has been described above includes examples of the subject innovation. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the claimed subject matter, but one of ordinary skill in the art may recognize that many further combinations and permutations of the subject innovation are possible. Accordingly, the claimed subject matter is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.
  • In particular and in regard to the various functions performed by the above described components, devices, circuits, systems and the like, the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the claimed subject matter. In this regard, it will also be recognized that the innovation includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the claimed subject matter.
  • In addition, while a particular feature of the subject innovation may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms “includes,” and “including” and variants thereof are used in either the detailed description or the claims, these terms are intended to be inclusive in a manner similar to the term “comprising.”

Claims (21)

1-20. (canceled)
21. A method performed by a computing system, the method comprising:
identifying a DLP policy template configured to install a data loss prevention (DLP) policy instance for an electronic file system;
creating a DLP policy template definition that defines a property to be mapped to a deployment value at a time the DLP policy template is used to create the DLP policy instance;
creating a main DLP policy object derivable from the DLP policy template definition and configured to track shared metadata and state of the DLP policy instance;
creating a policy rule object defining a policy directive as a match condition and an action derivable from the main DLP policy object; and
creating a data classification rule object defining electronic data associated with the electronic file system to which the policy rule object is applied.
22. The method of claim 21, wherein the electronic file system comprising a file server configured to communicate with a client, the client configured to request access to data and upload data to the file server.
23. The method of claim 22, wherein the DLP policy instance is implemented for a plurality of electronic file systems, each electronic file system comprising one or more file servers, each file server configured to communicate with a plurality of clients.
24. The method of claim 23, wherein the DLP policy template comprises a set of template component fields and is generic to the plurality of electronic file systems, the method further comprising:
transforming the generic DLP policy template into a first DLP policy instance that is specific to a first electronic file system by parameterizing the set of template component fields based on a first file system characteristic representing operation of the first electronic file system; and
transforming the generic DLP policy template into a second DLP policy instance that is specific to a second electronic file system by parameterizing the set of template component fields based on a second file system characteristic representing operation of the second electronic file system.
25. The method of claim 24, wherein the first electronic file system is configured to provide a first service that is different than a second service provided by the second electronic file system.
26. The method of claim 21, wherein creating a DLP policy template comprises:
creating a set of policy template operations, each policy template operation configured to operate upon the DLP policy template.
27. The method of claim 26, wherein each policy template operation comprises at least one of:
an install operation, a remove operation, an import operation, an export operation, a query operation, or a delete operation.
28. The method of claim 21, wherein creating a main DLP policy object comprises:
creating a set of main DLP policy object operations, each DLP policy object operation configured to act upon the DLP policy object.
29. The method of claim 28, wherein at least one of the main DLP policy object operations comprises creating a new policy object.
30. The method of claim 28, wherein each main DLP policy object operation comprises at least one:
creating a new state change, editing a state change, or deleting a state change.
31. A computing system comprising:
at least one processor; and
memory storing instructions executable by the at least one processor, wherein the instructions, when executed, configure the computing system to:
identify a DLP policy template configured to install a data loss prevention (DLP) policy instance for an electronic file system;
create a DLP policy template definition that defines a property to be mapped to a deployment value at a time the DLP policy template is used to create the DLP policy instance;
create a main DLP policy object derivable from the DLP policy template definition and configured to track shared metadata and state of the DLP policy instance;
create a policy rule object defining a policy directive as a match condition and an action derivable from the main DLP policy object; and
create a data classification rule object defining electronic data associated with the electronic file system to which the policy rule object is applied.
32. The computing system of claim 31, wherein the electronic file system comprising a file server configured to communicate with a client, the client configured to request access to data and upload data to the file server.
33. The computing system of claim 32, wherein the DLP policy instance is implemented for a plurality of electronic file systems, each electronic file system comprising one or more file servers, each file server configured to communicate with a plurality of clients.
34. The computing system of claim 33, wherein the DLP policy template comprises a set of template component fields and is generic to the plurality of electronic file systems, wherein the instructions configure the computing system to:
transform the generic DLP policy template into a first DLP policy instance that is specific to a first electronic file system by parameterizing the set of template component fields based on a first file system characteristic representing operation of the first electronic file system; and
transform the generic DLP policy template into a second DLP policy instance that is specific to a second electronic file system by parameterizing the set of template component fields based on a second file system characteristic representing operation of the second electronic file system.
35. The computing system of claim 34, wherein the first electronic file system is configured to provide a first service that is different than a second service provided by the second electronic file system.
36. The computing system of claim 31, wherein creating a DLP policy template comprises:
creating a set of policy template operations, each policy template operation configured to operate upon the DLP policy template.
37. The computing system of claim 36, wherein each policy template operation comprises at least one of:
an install operation, a remove operation, an import operation, an export operation, a query operation, or a delete operation.
38. The computing system of claim 31, wherein creating a main DLP policy object comprises:
creating a set of main DLP policy object operations, each DLP policy object operation configured to act upon the DLP policy object.
39. The computing system of claim 38, wherein at least one of the main DLP policy object operations comprises at least one of: creating a new policy object, creating a new state change, editing a state change, or deleting a state change.
40. A hardware computer-readable storage medium storing computer-executable instructions that, when executed by a computer processor, cause the computer processor to:
identify a DLP policy template configured to install a data loss prevention (DLP) policy instance for an electronic file system;
create a DLP policy template definition that defines a property to be mapped to a deployment value at a time the DLP policy template is used to create the DLP policy instance;
create a main DLP policy object derivable from the DLP policy template definition and configured to track shared metadata and state of the DLP policy instance;
create a policy rule object defining a policy directive as a match condition and an action derivable from the main DLP policy object; and
create a data classification rule object defining electronic data associated with the electronic file system to which the policy rule object is applied.
US16/445,446 2012-07-10 2019-06-19 Data detection and protection policies for electronic file systems Abandoned US20190354691A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/445,446 US20190354691A1 (en) 2012-07-10 2019-06-19 Data detection and protection policies for electronic file systems

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/545,864 US9317696B2 (en) 2012-07-10 2012-07-10 Data detection and protection policies for e-mail
US15/064,871 US10372916B2 (en) 2012-07-10 2016-03-09 Data detection and protection policies for electronic file systems
US16/445,446 US20190354691A1 (en) 2012-07-10 2019-06-19 Data detection and protection policies for electronic file systems

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/064,871 Continuation US10372916B2 (en) 2012-07-10 2016-03-09 Data detection and protection policies for electronic file systems

Publications (1)

Publication Number Publication Date
US20190354691A1 true US20190354691A1 (en) 2019-11-21

Family

ID=48856980

Family Applications (3)

Application Number Title Priority Date Filing Date
US13/545,864 Active US9317696B2 (en) 2012-07-10 2012-07-10 Data detection and protection policies for e-mail
US15/064,871 Active 2034-03-05 US10372916B2 (en) 2012-07-10 2016-03-09 Data detection and protection policies for electronic file systems
US16/445,446 Abandoned US20190354691A1 (en) 2012-07-10 2019-06-19 Data detection and protection policies for electronic file systems

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US13/545,864 Active US9317696B2 (en) 2012-07-10 2012-07-10 Data detection and protection policies for e-mail
US15/064,871 Active 2034-03-05 US10372916B2 (en) 2012-07-10 2016-03-09 Data detection and protection policies for electronic file systems

Country Status (6)

Country Link
US (3) US9317696B2 (en)
EP (1) EP2873203B1 (en)
JP (1) JP2015523661A (en)
KR (1) KR102056956B1 (en)
CN (2) CN104471900B (en)
WO (1) WO2014011704A1 (en)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898779B1 (en) * 2012-02-03 2014-11-25 Symantec Corporation Data loss prevention of information using structured document templates and forms
US9779260B1 (en) 2012-06-11 2017-10-03 Dell Software Inc. Aggregation and classification of secure data
US9317696B2 (en) 2012-07-10 2016-04-19 Microsoft Technology Licensing, Llc Data detection and protection policies for e-mail
US10033693B2 (en) 2013-10-01 2018-07-24 Nicira, Inc. Distributed identity-based firewalls
RU2013144681A (en) 2013-10-03 2015-04-10 Общество С Ограниченной Ответственностью "Яндекс" ELECTRONIC MESSAGE PROCESSING SYSTEM FOR DETERMINING ITS CLASSIFICATION
US9432405B2 (en) 2014-03-03 2016-08-30 Microsoft Technology Licensing, Llc Communicating status regarding application of compliance policy updates
US9697349B2 (en) * 2014-10-26 2017-07-04 Microsoft Technology Licensing, Llc Access blocking for data loss prevention in collaborative environments
US9891940B2 (en) 2014-12-29 2018-02-13 Nicira, Inc. Introspection method and apparatus for network access filtering
US10454933B2 (en) * 2015-01-21 2019-10-22 Sequitur Labs, Inc. System and methods for policy-based active data loss prevention
US10326748B1 (en) 2015-02-25 2019-06-18 Quest Software Inc. Systems and methods for event-based authentication
US10417613B1 (en) 2015-03-17 2019-09-17 Quest Software Inc. Systems and methods of patternizing logged user-initiated events for scheduling functions
US9990506B1 (en) 2015-03-30 2018-06-05 Quest Software Inc. Systems and methods of securing network-accessible peripheral devices
US9842220B1 (en) 2015-04-10 2017-12-12 Dell Software Inc. Systems and methods of secure self-service access to content
US9842218B1 (en) 2015-04-10 2017-12-12 Dell Software Inc. Systems and methods of secure self-service access to content
US10536352B1 (en) 2015-08-05 2020-01-14 Quest Software Inc. Systems and methods for tuning cross-platform data collection
US10218588B1 (en) 2015-10-05 2019-02-26 Quest Software Inc. Systems and methods for multi-stream performance patternization and optimization of virtual meetings
US10157358B1 (en) 2015-10-05 2018-12-18 Quest Software Inc. Systems and methods for multi-stream performance patternization and interval-based prediction
US10324746B2 (en) 2015-11-03 2019-06-18 Nicira, Inc. Extended context delivery for context-based authorization
CN105337993B (en) * 2015-11-27 2018-09-07 厦门安胜网络科技有限公司 It is a kind of based on the mail security detection device being association of activity and inertia and method
US10142391B1 (en) 2016-03-25 2018-11-27 Quest Software Inc. Systems and methods of diagnosing down-layer performance problems via multi-stream performance patternization
US10805311B2 (en) * 2016-08-22 2020-10-13 Paubox Inc. Method for securely communicating email content between a sender and a recipient
US10333983B2 (en) 2016-08-30 2019-06-25 Nicira, Inc. Policy definition and enforcement for a network virtualization platform
US10938837B2 (en) 2016-08-30 2021-03-02 Nicira, Inc. Isolated network stack to manage security for virtual machines
US10715607B2 (en) 2016-12-06 2020-07-14 Nicira, Inc. Performing context-rich attribute-based services on a host
US10503536B2 (en) 2016-12-22 2019-12-10 Nicira, Inc. Collecting and storing threat level indicators for service rule processing
US10803173B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Performing context-rich attribute-based process control services on a host
US11032246B2 (en) 2016-12-22 2021-06-08 Nicira, Inc. Context based firewall services for data message flows for multiple concurrent users on one machine
US10812451B2 (en) 2016-12-22 2020-10-20 Nicira, Inc. Performing appID based firewall services on a host
US10581960B2 (en) 2016-12-22 2020-03-03 Nicira, Inc. Performing context-rich attribute-based load balancing on a host
US10805332B2 (en) 2017-07-25 2020-10-13 Nicira, Inc. Context engine model
WO2018182885A1 (en) 2017-03-30 2018-10-04 Mcafee, Llc Secure software defined storage
US10778651B2 (en) 2017-11-15 2020-09-15 Nicira, Inc. Performing context-rich attribute-based encryption on a host
US10862773B2 (en) 2018-01-26 2020-12-08 Nicira, Inc. Performing services on data messages associated with endpoint machines
US10802893B2 (en) 2018-01-26 2020-10-13 Nicira, Inc. Performing process control services on endpoint machines
CN108768820A (en) * 2018-03-15 2018-11-06 北京明朝万达科技股份有限公司 A kind of mail security grading management method and system
US11012309B2 (en) * 2018-06-04 2021-05-18 Vmware, Inc. Deploying data-loss-prevention policies to user devices
US11539718B2 (en) 2020-01-10 2022-12-27 Vmware, Inc. Efficiently performing intrusion detection
US11455407B2 (en) * 2020-04-21 2022-09-27 Zscaler, Inc. Data loss prevention expression building for a DLP engine
CN111753675B (en) * 2020-06-08 2024-03-26 北京天空卫士网络安全技术有限公司 Picture type junk mail identification method and device
US11314456B2 (en) 2020-07-23 2022-04-26 Micron Technology, Inc. Memory device performance based on storage traffic pattern detection
US11379153B2 (en) 2020-07-23 2022-07-05 Micron Technology, Inc. Storage traffic pattern detection in memory devices
US11108728B1 (en) 2020-07-24 2021-08-31 Vmware, Inc. Fast distribution of port identifiers for rule processing
US11790103B2 (en) * 2020-09-29 2023-10-17 Citrix Systems, Inc. Adaptive data loss prevention
CN113284217B (en) * 2021-07-26 2021-11-23 北京优锘科技有限公司 Method, device, equipment and storage medium for realizing semi-automatic drawing
CN114969218B (en) * 2022-06-01 2023-04-18 广东森克电子有限公司 Data loss prevention system for industrial computer

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678827B1 (en) 1999-05-06 2004-01-13 Watchguard Technologies, Inc. Managing multiple network security devices from a manager device
US7958213B1 (en) 2000-09-21 2011-06-07 Siemens Enterprise Communications, Inc. Processing electronic messages
US7159125B2 (en) * 2001-08-14 2007-01-02 Endforce, Inc. Policy engine for modular generation of policy for a flat, per-device database
US8225371B2 (en) * 2002-09-18 2012-07-17 Symantec Corporation Method and apparatus for creating an information security policy based on a pre-configured template
US7484237B2 (en) 2004-05-13 2009-01-27 Hewlett-Packard Development Company, L.P. Method and apparatus for role-based security policy management
JP4197311B2 (en) * 2004-06-22 2008-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Security policy generation method, security policy generation device, program, and recording medium
US20060048224A1 (en) * 2004-08-30 2006-03-02 Encryptx Corporation Method and apparatus for automatically detecting sensitive information, applying policies based on a structured taxonomy and dynamically enforcing and reporting on the protection of sensitive data through a software permission wrapper
US20100115581A1 (en) 2008-11-06 2010-05-06 Trust Digital System method and device for mediating connections between policy source servers, corporate respositories, and mobile devices
US8056114B2 (en) * 2005-08-23 2011-11-08 The Boeing Company Implementing access control policies across dissimilar access control platforms
US7752487B1 (en) 2006-08-08 2010-07-06 Open Invention Network, Llc System and method for managing group policy backup
US8418124B2 (en) * 2006-10-20 2013-04-09 Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of Health Through The Public Health Agency Of Canada Method and apparatus for software policy management
SG10201501549XA (en) 2006-11-06 2015-04-29 Metric Holdings Llc A system and method for managing data across multiple environments
US8024396B2 (en) 2007-04-26 2011-09-20 Microsoft Corporation Distributed behavior controlled execution of modeled applications
US8301741B2 (en) 2007-08-21 2012-10-30 Alcatel Lucent Cloning policy using templates and override cloned policy
US8141129B2 (en) 2008-05-29 2012-03-20 Microsoft Corporation Centrally accessible policy repository
US8613040B2 (en) * 2008-12-22 2013-12-17 Symantec Corporation Adaptive data loss prevention policies
CN101582883B (en) * 2009-06-26 2012-05-09 西安电子科技大学 System and method for managing security of general network
US20120079275A1 (en) 2010-09-23 2012-03-29 Canon Kabushiki Kaisha Content filtering of secure e-mail
US9317696B2 (en) 2012-07-10 2016-04-19 Microsoft Technology Licensing, Llc Data detection and protection policies for e-mail

Also Published As

Publication number Publication date
CN104471900A (en) 2015-03-25
JP2015523661A (en) 2015-08-13
EP2873203B1 (en) 2019-09-18
US20140020045A1 (en) 2014-01-16
WO2014011704A1 (en) 2014-01-16
CN109150695A (en) 2019-01-04
KR20150032861A (en) 2015-03-30
KR102056956B1 (en) 2019-12-17
EP2873203A1 (en) 2015-05-20
US9317696B2 (en) 2016-04-19
CN104471900B (en) 2018-09-07
US20160203321A1 (en) 2016-07-14
CN109150695B (en) 2021-08-03
US10372916B2 (en) 2019-08-06

Similar Documents

Publication Publication Date Title
US20190354691A1 (en) Data detection and protection policies for electronic file systems
US11405428B2 (en) Method and system for policy management, testing, simulation, decentralization and analysis
US10348774B2 (en) Method and system for managing security policies
US10754932B2 (en) Centralized consent management
EP2873202B1 (en) Uniform policy for security and information protection
CN103377336B (en) The control method of a kind of computer system user authority and system
US20080184201A1 (en) Universal schema for representing management policy
US9477574B2 (en) Collection of intranet activity data
US10721184B2 (en) Distributed policy enforcement with optimizing policy transformations
US11853737B1 (en) Metadata driven product configuration management
US20230153447A1 (en) Automatic generation of security labels to apply encryption
Colombo et al. Towards a unifying attribute based access control approach for NoSQL datastores
US20230283521A1 (en) Cybersecurity framework compliance management system
US20190238551A1 (en) Access Control in a Content Management System
EP2736002A1 (en) Method, system and computer program product for enforcing access to event attributes of event streams in a complex event processing system
US11748496B1 (en) Data jurisdiction management
US11159638B2 (en) Dynamic document access control in a content management system
Leida et al. Dynamic access control to semantics-aware streamed process logs
Tarkhanov Access Control Model for Collaborative Environments in ECM
Mutti Policy and Security Configuration Management in Distributed Systems

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:049978/0102

Effective date: 20141014

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AYRES, LYNN;KABAT, JACK;KAKUMANI, VIKRAM;AND OTHERS;SIGNING DATES FROM 20120706 TO 20130506;REEL/FRAME:049978/0070

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION