隨著新版個資法的通過,業界對於資料外洩保護的需求與興趣不斷的增溫。而各單位也開始意識到內部人員因無意間或惡意造成的外洩事件之風險不斷提升。
因此面對各種防資料外洩的技術如何了解與選擇,何種技術比較適合應用於自己所屬單位中,想必是許多資安人員關切的議題。若採用不適當的技術與方法可能會造成許多的誤判,反而造成管理上的負擔。
目前業界許多的解決方案都宣稱其具有資料外洩防護(Data Loss Prevention, DLP)的功能。而本文將針對具有內容感知(Content Aware)能力的DLP技術進行探討,以了解不同方法的優缺點與適用範圍。
敏感內容識別的挑戰
針對傳輸中或使用中的資訊內容,如要能精確的識別出其中是否具有企業認定的敏感內容是不容易的,原因如下。
1. 敏感資訊經常是片段的、非結構化的散落於資訊中。舉凡信用卡卡號、身分證字號、人名、地址、連絡電話等,都可能輕易的在使用過程中被複製、貼上到文件中、電子郵件中,甚至是任何網站中。
2. 敏感文件如重要合約內容、未公開的財報、合併計畫、行銷計畫或研發計畫等,這些文件在發展過程中會有不同的版本,也散落在多個關係人員手中。
3. 即使針對敏感文件實施密碼保護甚至實施DRM加密與權限管理,但是分散在相關人員手中的不加密版本,甚至獲得權限的人員將其存成未加密的格式。
4. 敏感資訊可以被轉存成不同的檔案格式,其中包含結構化與非結構化的資訊。
5. 敏感資料可以被多樣化的管道被傳送與交換,例如Web Mail、電子郵件、即時訊息、FTP、印表、傳真、P2P等,因此需要不同的技術實施監控。
針對傳輸中或使用中的資訊內容,如要「即時」的進行識別,而又不影響使用者行為或不造成傳輸的大量延遲,可想而知是很大的挑戰。
先前的敏感資料識別方法
在早期,於一份內容中識別敏感資料的方法,傳統是仰賴「關鍵字、詞」與「正規化表示式(Regular Expression)」兩種方式。關鍵字詞的方法是較簡單的,然而誤判卻也是最嚴重的。正規化表示式可以用來比對如身分證字號、信用卡卡號等特定格式的內容。比對規則簡單的話,一般可以做到精確的結果。
針對上述的方法,如果需要比對的條件較多,或者是要比對的本文較大的情況下,比對的速度與效能是需要注意的。當資料量大時,實務上不再適合利用傳統逐字比對的方法。針對大量資料的比對,要做到類似「即時」的速度要求,通常會利用類似全文檢索、搜尋引擎的技術來達成。而正規化表示式,遇到很複雜的比對條件,除了效能的顧慮外,要寫出低誤判的邏輯,也是不容易的。
「關鍵字、詞」與「正規化表示式」兩種方式是簡單可以達成「內容感知」的方法。但礙於前述的精準度與效率的限制,因此管理上也會結合「檔案型態」的辨識,進一步加上「二進位簽章(Binary Signature)」的方法。後者是將欲保護的文件或檔案,事先以類似單向函數(Hash)的演算法算出簽章,該簽章也有人稱為數位指紋。只要在外送的文件中偵測到檔案,經過相同函數運算出來的簽章比對符合,就可以得知該文件即是應保護的敏感資料。好的Hash演算法,誤判的機率應該極低。二進位簽章方式的缺點是,文件的內容即使改變任何一個位元、位元組,算出來的簽章就會不同,就無法正確被比對到而造成漏報的情況。
具有文脈分析指紋能力的敏感資料辨識法
現有市面上更進階具備「內容感知」以識別敏感資料的方式,是具有「文脈感知(Context Aware)」的技術。這種技術簡單的說就是類似以文章找文章的方法。當行銷主管研判手中一份公司的秘密行銷計畫,並研判該計畫如果外洩會造成公司競爭力很大的衝擊。而DLP的技術可以利用機器自動學習的方法,將該計畫書的內文萃取出來,解析內容中的每一句文字內容,並試著建立其中所用到的關鍵字詞的關係,最後用特殊的演算法建立所謂的「文脈(內容)指紋(Fingerprinting)」。因此,只要有人引用計畫書中的部分內容並嘗試送出公司外部,系統即可以偵測到該外送內容與當初學習到的機密文件是部分符合的,因而觸發事先制定的保護政策。
一個好的文脈(內容)指紋演算法,應該具備下面的特性:
1. 「局部文件符合」能力。一份企劃書、研究計畫、財報,不見得整份文件都是敏感的內容。因此即使當初送入訓練的是整份完整的文件,而洩漏時僅是一、兩頁重要的部分,系統應該也能正確的識別出來。
2. 「 近似內容符合」能力。這些敏感文件通常可能同時存在多個不同的版本。因此送入訓練的敏感文件即使只是其中一個版本,透過近似內容符合的方式,其他相近的內容也應該可以被保護。
3. 「跨檔案格式識別」能力。送入學習的敏感文件,與屆時外洩的檔案,可能存在不同的格式與結構。例如,一份用Word格式存放的敏感內容,之後被轉換為PDF或簡報檔案外洩,系統應該也能正確的識別出來。
4. 「結構性資料庫紀錄指紋」能力。針對存放於資料庫的結構性資料,系統不應該將其當成一般文件來處理。例如,客戶資料、產品價格表等資訊。管理者可以選擇特定的資料表,並且制定欄位組合與筆數的條件。例如,只要其中的人名與電話號碼同時出現五筆,就需要觸發事件。
5. 「試算表運算結果比對」能力。如果納入敏感資料學習的是試算表型態的內容。如價格表、財報等資訊。其中有許多可能是計算的公式,然而我們想保護的卻是計算的結果值。因此好的系統應有能力針對試算表計算的結果也納入指紋中,以達到真正的保護。
6. 「CAD/CAM設計圖識別」能力。針對CAD/CAM等電腦輔助設計的圖檔,由於其中應保護的通常不是文字,而是設計圖的結構。因此外洩的設計圖即使當初學習的原始文件有些微的差異,如移動相對位置、旋轉、不同的標示等,應也能正確的被系統比對到。
7. 「重覆內容剔除」能力。許多的文件都會有不斷重複出現的內容。例如PDF文件中的頁首與頁尾中的文字,或者是有些單位會要求企劃文件中會有固定的表頭或法律聲明等資訊,為了降低誤判,系統應能主動偵測這些不斷重複的內容,進而自動化的排除,以降低誤判機率。
透過標籤技術追蹤敏感內容的使用流向
另外一類現代化防止敏感資料外洩的技術,是透過「標籤技術(Tagging)」來追蹤敏感資料的使用流向。舉例來說,一份試算表已經被管理者認定為是極機密的等級,應該被保護。因此當有獲授權的使用者,從檔案伺服器取得該文件的那一刻起,位於端點中的DLP監控程式就開始以該試算表的「標籤」追蹤該文件中資料的使用流向。例如,使用者從試算表中複製該文件的重要紀錄到一份Word文件中,並且設定密碼後存檔。此時DLP監控代理程式就會將標籤也指派給存放於硬碟中的這份被密碼保護的Word檔案。而即使使用者將該文件壓縮、加密後複製到隨身碟、外接硬碟等,該「標籤」都隨時被監控。
「標籤技術」的好處是只要監控代理程式存活的情況下,敏感資料的使用途徑都全程被監控,即使中間使用者對該資料透過其他程式,對其編碼、亂碼化或加密等過程,只要中間的路徑都是監控代理程式支援的管道,這些資訊就會持續受到監控。
但缺點是,若一開始該文件的取得,並不是由受保護的來源或管道,則此時該「標籤」不存在的情況下,就無法對其監控。例如,該文件不是從網路芳鄰取得,而是他人透過郵件寄達,或從內部非正規的網站下載獲得,此時「標籤」不存在,自然無法追蹤。
為了要追蹤資料的流向,「標籤技術」通常只適用於端點的環境,如果於個人電腦端無法植入代理程式的話,單純從網路與閘道端上無法做到很好的防護。
關於如何將敏感資料指定或貼上標籤,下列是目前市面上既有產品的使用方式。
1? 「依應用程式」。只要特定的應用程式所建立出來的文件,自動會被加入標籤進行保護。例如,指定特定的CAD應用軟體,則任何被該應用程式所建立出來的文件,則自動被賦予標籤,並且追蹤該文件的使用流程。
2? 「依儲存路徑」。只要位於特定儲存路徑的文件,則自動的賦予標籤。因此,只要這些文件被開啟使用,則自動透過標籤追蹤期使用流程。
3? 「依字典檔內容」。字典檔是多個關鍵字的組合。只要在使用的內容中有出現字典檔中的關鍵字,則自動賦予標籤,並追蹤內容的使用。
4? 「依內容特徵(Pattern)」。這裡的特徵,指的是透過正規化表示法來識別內容。例如身分證字號,信用卡卡號等有固定特徵的字串。
最後,當被指定標籤的文件被送到一些目的地或執行特定動作時,就可以觸發事件。例如,印表、用email 傳送到指定的網域以外、上傳到外部網站、複製到隨身碟、燒錄器等。
文脈(內容)指紋與標籤追蹤方式的比較
針對上述的文脈指紋內容偵測法與標籤追蹤兩類的敏感資料保護方式。因為其運作原理的不同,而各自有其優缺點與應用環境的適用性。以下是針對兩種方法的特性比較(見表1)。
|
文脈(內容)指紋 |
標籤追蹤 |
運作特性 |
針對敏感資料的「內容」須事先讀取一遍,並建立指紋資料庫。 之後針對傳輸的內容亦實施相同的指紋演算法,進行指紋的比對。
|
針對敏感資料透過標籤的方式實施追蹤。 當該資料最後傳送或儲存的目的地符合目標規則,則觸發政策。
|
適用範圍 |
端點與閘道端均能應用 |
通常能應用於端點中 |
傳輸通道支援 |
與偵測方法無關 |
與偵測方法無關 |
端點資源佔用 |
內容指紋資料庫如果會暫存端點中,則其佔用硬碟空間將與內容的數量成正比。 |
文件標籤佔用空間與檔案數量成正比。 |
表1:文脈(內容)指紋與標籤追蹤方法的特性比較
由於兩種方式都各有其優缺點與適用範圍。而各家的方案在閘道端與端點的支援與控管能力均不太相同。希望透過本文的介紹讓各位於選擇方案的過程中能夠有一些資料外洩防護在原理上有初步的認識,並藉此找到最適合自己單位環境的方案。