數據洩漏防止系統和方法
2023-05-26 05:42:46 1
數據洩漏防止系統和方法
【專利摘要】一種數據洩漏防止系統包括駐留在客戶端設備上具有不可用或不可修改的原始碼的應用。系統調用由於動作而可被應用發出,並且在數據洩漏事件能夠發生之前進行。所述動作涉及文檔和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.佩雷斯 申請人:惠普發展公司,有限責任合夥企業