数据泄漏防止系统和方法

文档序号:6484901阅读:176来源:国知局
数据泄漏防止系统和方法
【专利摘要】一种数据泄漏防止系统包括驻留在客户端设备上具有不可用或不可修改的源代码的应用。系统调用由于动作而可被应用发出,并且在数据泄漏事件能够发生之前进行。所述动作涉及文档和i)文档的最近完整内容,ii)文档的元数据,或者iii)最近完整内容和元数据的组合。系统调用拦截器代理也驻留在客户端设备上。所述拦截器代理包括用于拦截由应用所发出的系统调用并挂起所述系统调用的系统调用拦截器。所述系统还包括策略决策引擎,用于分析以下的至少部分:i)最近完整内容,ii)元数据,或者iii)组合,并且基于所述分析来实施策略动作。
【专利说明】数据泄漏防止系统和方法
【背景技术】
[0001]本公开大体上涉及数据泄漏防止系统和方法。
[0002]电子数据通信是普遍存在的。商业实践和商务通常需要数据被安全地传输,以使得客户、内部业务和/或法定标准被满足。这些标准的一个目标是防止信息和附件的未授权传输。在尝试实现该目标中,需要标签(label)和标记(tag)(诸如“私有”、“机密”、“限制”、“敏感”等)被添加到各种文档和数据传输的策略已经被实施。其他策略需要关键字(keyword)被包含在实际文档内容中(例如,将一类敏感文档与另一类敏感文档区分的持续性术语(persistent terminology))。保证这些策略有效可能是困难的,至少部分因为员工能力的不同水平(例如,新到公司、职位或角色;临时代替)、纯粹的错误(例如,注意力分散、遗忘、不专心)或缺少最新的企业、法律或其他策略信息。策略改变可能需要足够的员工培训,所述员工培训在已经做出改变同时或在其不久之后被提供。然而,在期望的策略改变和实际的展开(roll-out)之间可能存在延迟。当策略不被实施时,敏感数据/信息可能被泄漏。数据泄漏事件从例如将敏感电子邮件发送到错误的地址到上传机密文档来代替会议提交(conference submission);以及从在USB设备上保存未受保护的文档备份到在广泛可访问的打印机上打印敏感文档且然后忘记该文档被打印。用于防止数据泄漏的方法包括例如分析基于网关的系统上的传出信息、安全擦除解决方案和USB锁定(lock-out)和强制加密解决方案。现有方法是基于办公室的(office-based)泄漏防止机制,所述泄漏防止机制可能不适于从办公室外(out-of-office)的设备(例如,DVD、USB、外部硬盘等)的数据泄漏。
【专利附图】

【附图说明】
[0003]通过参考下述详细描述和附图,本公开的示例的特征及优势将变得显而易见,其中相同的附图标记对应于类似(不过可能不相同)的组件。为了简洁,具有前述功能的附图标记或特征可以或可以不关于它们出现于其中的其他附图进行描述。
[0004]图1是描绘数据泄漏防止方法的示例的流程图;
图2是描绘数据泄漏防止方法的另一个示例的流程图;
图3是数据泄漏防止系统的示例的示意图;
图4是数据泄漏防止系统的另一个示例的示意图;以及 图5是数据泄漏防止系统的又另一个示例的示意图。
【具体实施方式】
[0005]在本文公开的示例中,敏感数据策略实施在本地发生在是可信环境的部分的设备上。这些设备可以从台式计算机(办公室内设备的示例)到移动电话(办公室外设备的示例)。本文公开的系统的至少部分驻留在设备上并且捕获由应用所发出的系统调用(systemcall),所述应用的源代码不可用或不可修改(例如,由于实践的或法律的考虑)。该类型的应用通常是第三方应用,所述第三方应用已经被安装在设备上并且不被设计成根据针对可信环境而设置的策略来处理敏感数据。本文公开的系统和方法使此类应用沙盒化(sandbox)以便防止策略违背和数据泄漏发生。沙盒化涉及在允许文档被输出到可信环境外之前基于实际文档内容和/或文档元数据以及当时(then-current)的策略而动态评估变化的文档敏感度。当用户试图将文档输出到可信环境外时,所述评估发生。正因为这样,本文公开的系统和方法被设计成在输出有机会发生之前通过阻止敏感数据从可信环境输出而防止敏感数据泄漏。
[0006]用于实现敏感数据策略实施的程序可以被安装在用户设备上的安全室/账户中。程序可以被部署于咨询(advisory)模式或强制模式。咨询模式提供安全网以防止意外的用户错误,并且策略实施解决方案/程序为了用户的利益而被部署。强制模式意味着策略实施解决方案/程序不能被用户所访问、修改或禁用。
[0007]本文公开的系统和方法的示例自动检测并且在一些实例中修改在意图阶段(SP,当对应的系统调用被驻留在用户设备上的应用所调用时,但在与系统调用关联的动作已经被完成之前)的可能的违背策略的用户动作。在部署用于实际防止数据泄漏发生的方法之前,其源代码不可用或不可修改的应用被分析以对应用的系统调用进行分类,并且最小化所述应用的系统调用,所述系统调用被捕获到与其中数据泄漏防止被期望的敏感任务关联的一个或多个系统调用的集合。在图1中示出所述应用的分析。
[0008]在图1中概述的每个步骤使用硬件、固件和软件(S卩,计算机可读指令)来执行。在示例中,硬件(例如,驻留在本地/客户端设备上的处理器)运行嵌入在某一种非临时、有形计算机可读介质上的计算机可读指令(即,软件)。
[0009]在开始时,应用所发出的系统调用被捕获和分析(见图1中附图标记100)。在示例中,应用所发出的所有系统调用可以被捕获和分析。尽管所有系统调用都能够被捕获和分析,在一些实例中,可能不期望捕获和分析所有系统调用。例如,执行应用分析的计算机可读指令可以被编程成识别某些系统调用(例如,“开放的”、“新的”等)与可能的数据泄漏事件根本不相关,并且因而这些系统调用将不被捕获和分析。在一些示例中,被有可能泄漏数据的对应动作所触发的系统调用被过滤。然后在这些示例中,与可能能够从可信环境泄漏数据的动作关联的任何系统调用被捕获。在一个示例中,StraceNT (S卩,原始Linux工具的Windows类似物)可以被用于拦截并记录系统调用用于以供随后的分析。过滤过程也可以被手动执行或经由一些自动工具执行以便识别与可能的数据泄漏动作对应的一个或多个系统调用。
[0010]在对所捕获的系统调用的分析期间,被识别为与可能的数据泄漏事件对应或相关的那些系统调用(例如,单个调用或一组调用)被过滤掉(见图1中附图标记102)。如本文使用的,“可能的数据泄漏事件”或“数据泄漏事件”是能够导致敏感数据被传输到可信环境外的动作。被包含的动作是能够将策略识别的数据输出到可信环境外的那些动作。应该理解的是,输出数据可以例如通过保存、电子邮件、打印、复制、移动、拖放(drag and drop)、上传等而经由任何信道来完成。
[0011]一个或多个动作可以被客户端设备和应用的用户所触发,并且这些一个或多个动作在本文中被称为一个或多个用户动作。用户动作的示例包括按下按钮来保存文档、发送电子邮件(e-mail)、下载文档、打印文档和复制或移动文档(例如,使用MicrosoftWindows Explorer)。当例如敏感数据以明文形式被保存在外部设备(诸如,随身存储器(pen drive), USB密钥、外部硬盘驱动器等)上并且然后该外部设备丢失时,保存可能是数据泄漏事件。当例如敏感数据被保存在可能具有低安全性状态或可能广泛可访问的远程网络驱动器上时,保存也可能是数据泄漏事件。当例如用户意外地将机密电子邮件发送到不期望的接收者或无意地发送到广泛的信息收受者时,或者当用户以明文形式通过公共网络将机密电子邮件发送到正确的接收者时,发送电子邮件可能是数据泄漏事件。当例如包含敏感数据的错误的文件被意外地上传到公共服务器而代替不包含敏感数据的原始预期的文件时,上传文件可能是数据泄漏事件。当例如在不启用个人识别号(PIN)检索的情况下机密或另外的敏感文档被在广泛/公共可访问的打印机进行打印并然后文档被遗忘或无人看管时,打印可能是数据泄漏事件。
[0012]一个或多个动作还可以被内部应用过程(B卩,应用的内部状态)所触发,并且这些一个或多个动作在本文被称为一个或多个应用动作。应用动作的示例是当MicrosoftOutlook发送被延迟或调度的电子邮件消息时(例如,用户可以在子菜单“交付选项”下选择菜单“选项”中的期望的交付日期和时间)。应用动作的另一个示例是当Microsoft Word执行“自动保存”时。应用动作的又另一个示例是当应用被编程以自动上传一些信息到远程网站时。
[0013]当过滤被执行时,计算机可读指令被编程以分析每个被捕获的系统调用并确定是否一个或多个被捕获的系统调用(唯一地或作为组的部分)与可能的数据泄漏事件相对应(见图1的附图标记104)。被认为与可能的数据泄漏事件无关的一个或多个系统调用不被过滤掉并且不经受任何进一步分析。
[0014]相反地,在初始分析期间被过滤掉的那些一个或多个系统调用经受进一步的过程以定义与特定动作对应的一个或多个被过滤的系统调用中的哪一个,在被完全运行的情况下,可能从可信环境泄漏数据(同样见图1的附图标记104)。更特别地,系统确定被过滤掉的系统调用中的哪一个与以下动作对应,所述动作i)在数据泄漏事件能够发生之前进行,以及ii)涉及最近版本的文档(包括其最近的完整内容和/或其元数据)。定义通过以下动作来完成,首先从一个或多个被过滤的系统调用中识别出负责实际执行动作的单个调用或一组调用;并且然后从一个或多个识别出的系统调用中选择一个或多个系统调用或提供对最近的(即,最新的、当时的)版本的文档(即,内容和/或元数据)的访问权限的其他手段。为了防止数据泄漏发生,负责所述动作的一个多个系统调用被临时阻止(即,在分析发生时被挂起),并且所得到的应用行为被观察。响应于一个或多个被阻止/挂起的系统调用的应用行为识别出最低级系统调用或防止所述动作被执行(与不挂起或仅部分挂起动作相反)的调用的组合。换句话说,其上下文提供对最近的文档内容/元数据的访问权限的一个或多个最后的系统调用或一个或多个最方便的系统调用被识别出,所述系统调用在动作有机会发生之前发生。响应于一个或多个被阻止/挂起的系统调用的应用行为还识别出提供最近版本的文档(例如,与仅文档片段相反)的系统调用。例如,负责仅写入文档的一部分的系统调用,或在文档的一部分已经被写入到远程驱动器之后发生的系统调用可能不被使用,至少部分因为第一系统调用不提供完整的文档上下文并且第二系统调用发生得过晚(即,在一些敏感的可能已经被泄漏之后)。换句话说且在一些实例中,涉及最新版本的文档的一个或多个系统调用被识别出并定义为与可能的数据泄漏事件对应。然而,应该理解的是,其他手段可以被部署用于恢复在可能的数据泄漏事件中所涉及的对应文档内容。如果对于特定应用和动作不能从对应的动作阻止系统调用检索到完整的文档内容,则能够使用其他手段来恢复最近的文档内容,例如在文档修改操作期间文档内容可以被常规地高速缓存(cache)以使得当动作阻止系统调用被挂起时最近的文档可用于评估。
[0015]图1图示应用12的分析以确定当可能的数据泄漏事件将要发生时哪个或哪些系统调用被应用12所调用,以及在提供完整的文档内容和/或元数据的同时选择有效防止数据泄漏事件发生的那些一个或多个系统调用。尽管未在图1中示出,应该理解的是,对于策略定义的或规定的一个或多个系统调用来说,客户端设备14可以执行迂回(detour)功能。在示例中,迂回功能可以针对在分析期间被发现的每个可疑的/挂起的系统调用来执行以确定例如哪个或哪些系统调用对迂回最容易和/或最安全,和/或最适于附接/运行期望的策略动作。在一些示例中,在分析期间可能的数据泄漏事件可以被模拟并且所述迂回功能被实施和测试以便当在部署期间被使用时改进迂回功能。迂回功能可以涉及挂起一个或多个系统调用,并且在分析进行的同时通知用户例如一个或多个系统调用已经被临时阻止、分析正在进行、或者该应用即刻恢复。被发送到用户的通信可以依赖于部署场景。
[0016]当测试多个系统调用时,所述调用可以被一个接一个地或者成组地被阻止。被识别为执行/防止动作以及被识别为与最近版本的文档关联的一个或多个系统调用被添加到用于特定动作的系统调用集。正因为这样,所述集合包括与特定动作关联的一个或多个最低限度的必要系统调用。如将在下文进一步描述的,在应用使用期间所述集合内任何系统调用的发出触发一系列过程以防止数据泄漏发生。
[0017]表1提供动作、应用和系统调用的示例,作为对于特定动作和特定应用的集合的部分。除传统的系统调用(例如,writefile (写文件)、replacefile (替换文件)等)之外,本文公开的系统和方法也可以通过使用应用附加组件(add-on)、插件等作为“系统调用”而被增加。如表1所示,高级调用(诸如,来自Outlook MAPI的事件(例如,fnevCreated)或者浏览器助手对象(Browser Helper Object, BHO)事件^列如’此/^/^舱^^识仏^^可以被设计为用于特定动作的一个或多个系统调用。浏览器助手对象是被设计为用于Microsoft的Internet Explorer网络浏览器以提供添加的功能的插件的DLL模块。例如,利用ΒΗ0,能够写入每次启动时Internet Explorer将加载的组件。BHO运行于与浏览器相同的存储器上下文,并且能够在可用的窗口和模块上执行任何动作。
[0018]表1
【权利要求】
1.一种数据泄漏防止系统,包括: 客户端设备; 驻留在客户端设备上的应用,所述应用具有不可用或不可修改的源代码; 由于动作而可被应用发出的系统调用,所述系统调用在数据泄漏事件能够发生之前进行,并且所述动作涉及文档和i)文档的最近完整内容,ii)文档的元数据,或者iii)最近完整内容和元数据的组合; 驻留在客户端设备上的系统调用拦截器代理,所述系统调用拦截器代理包括用于拦截由应用所发出的系统调用并挂起所述系统调用的系统调用拦截器;以及 策略决策引擎,用于分析以下的至少部分:i)文档的最近完整内容,ii)文档的元数据,或者iii)最近完整内容和元数据的组合,并且基于所述分析来实施策略动作。
2.根据权利要求1所述的数据泄漏防止系统,进一步包括由策略决策引擎所接收的策略,所述策略包括标识符、动作、策略条件和包括所述策略动作的策略动作集。
3.根据权利要求2所述的数据泄漏防止系统,其中所述策略决策引擎运行计算机可读指令以: 在拦截所述系统调用之后捕获i)文档的最近完整内容,?)文档的元数据,或者iii)最近完整内容和元数据的组合; 根据所述策略条件来分析以下的至少部分:i)文档的最近完整内容,?)文档的元数据,或者iii)最近完整内容和元数据的组合;以及 响应于所述分析而从策略动作集中选择并发起所述策略动作。
4.根据权利要求1所述的数据泄漏防止系统,进一步包括与策略决策引擎进行选择性通信的安全授权工具,所述策略决策引擎从安全授权工具选择性地接收策略,所述安全授权工具包括嵌入在非临时有形计算机可读介质上的计算机可读指令,所述计算机可读指令用于以下的任何一个:i)添加新策略,ii)删除现有策略,iii)修改现有策略,iv)管理现有策略,V)测试策略,或者vi)查看现有策略。
5.根据权利要求4所述的数据泄漏防止系统,进一步包括: 策略服务器,与安全授权工具和策略决策引擎进行选择性通信;以及 安全通信信道,将策略服务器选择性地连接到客户端设备的存储器,其中所述存储器与策略决策引擎进行通信。
6.根据权利要求1所述的数据泄漏防止系统,其中所述系统调用拦截器代理包括驻留在客户端设备上的策略决策引擎。
7.根据权利要求1所述的数据泄漏防止系统,其中所述用户动作从发送电子邮件、保存、打印、上传、移动、复制、和拖放中选择。
8.一种用于防止数据泄漏的方法,包括: 分析应用的系统调用,所述应用具有不可用或不可修改的源代码; 在所述分析期间,对被识别为与可能的数据泄漏事件相对应的系统调用进行过滤;以及 定义被过滤的系统调用,所述被过滤的系统调用与在可能的数据泄漏事件能够发生之前进行的并且涉及文档和i )文档的最近完整内容,i i )文档的元数据,或者i i i )最近完整内容和元数据的组合的动作相对应;其中每个步骤由运行嵌入在非临时有形计算机可读介质上的计算机可读指令的处理器来执行。
9.根据权利要求8所述的方法,进一步包括: 将所述应用加载在客户端设备上; 在客户端设备上运行所述应用; 经由客户端设备的系统调用拦截器来拦截所定义的被过滤的系统调用; 经由系统调用拦截器来自动挂起被拦截的系统调用,由此防止所述动作被执行; 在系统调用被挂起的同时,并且经由客户端设备的策略决策引擎根据与所述动作关联的策略条件来分析以下的至少部分:i)文档的最近完整内容,ii)文档的元数据,或者iii)最近完整内容和元数据的组合;以及 响应于所述分析,并且经由策略决策引擎来发起策略动作。
10.根据权利要求9所述的方法,其中自动挂起防止文档被传输到客户端设备外。
11.根据权利要求9所述的方法,其中分析包括经由策略决策引擎来搜索以下的至少部分以确定是否策略条件被应用于文档:i)文档的最近完整内容,ii)文档的元数据,或者iii)最近完整内容和元数据的组合。
12.根据权利要 求11所述的方法,其中分析文档的最近完整内容的至少部分包括根据策略条件的规定分析文档热区。
13.根据权利要求11所述的方法,其中发起策略动作包括当策略条件适用于所述文档时拒绝所述动作或矫正所述动作。
14.根据权利要求11所述的方法,其中发起策略动作包括当策略条件未能适用于所述文档时允许所述动作。
15.根据权利要求9所述的方法,其中分析揭示所述文档满足多个策略条件,并且其中所述方法进一步包括执行与具有更高指定优先级的策略条件关联的策略动作。
【文档编号】G06F21/60GK103765430SQ201180073066
【公开日】2014年4月30日 申请日期:2011年8月26日 优先权日:2011年8月26日
【发明者】H.巴林斯基, S.J.辛斯克, D.S.佩雷斯 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1