保護(hù)敏感數(shù)據(jù)對付惡意內(nèi)部人員的九大妙招
有意或無意的內(nèi)部人員威脅一直都大量存在。在經(jīng)濟(jì)困難時期,其惡尤甚。由于數(shù)字信息的激增,將信用卡數(shù)據(jù)、個人身份信息和知識產(chǎn)權(quán)變成現(xiàn)金、財產(chǎn)的手段,以及由此造成的風(fēng)險都與日俱增。我們不再對受到信任的內(nèi)部人員竊取敏感數(shù)據(jù)的行為感到驚奇。企業(yè)日益發(fā)現(xiàn),最大的威脅來自內(nèi)部。
如今,許多企業(yè)同意最有價值的IT資產(chǎn)存在于應(yīng)用程序和數(shù)據(jù)庫中。多數(shù)企業(yè)還承認(rèn)應(yīng)用程序和數(shù)據(jù)庫的安全水平最低,這就使其成為系統(tǒng)管理員、數(shù)據(jù)庫管理員、顧問、合伙人、客戶的惡意活動的首要目標(biāo)。
本文將探討保護(hù)敏感數(shù)據(jù)免受訪問數(shù)據(jù)的人員的損害的多種方法。雖然內(nèi)部威脅難以應(yīng)對,但只要利用適當(dāng)?shù)墓ぞ?,也并非不可能?/p>
一、知道敏感數(shù)據(jù)存在于哪些數(shù)據(jù)庫
看一下最近的安全類文章,你會發(fā)現(xiàn)解決特定安全問題的居多。原因在于全面安全,即平等地保護(hù)一切的觀念過于昂貴,并且不易衡量。雖然這個觀念很容易理解,但確認(rèn)關(guān)鍵的資產(chǎn)卻絕非易事。對于數(shù)據(jù)庫及其包含的敏感數(shù)據(jù)而言,尤其如此。此類數(shù)據(jù)可能是信用卡號、個人身份信息、雇員、醫(yī)療記錄、研究報告、業(yè)務(wù)計劃、絕密文件等。實際上,每家企業(yè)都有需要保護(hù)的敏感信息,但往往并不知道信息在哪里。
首先需要確認(rèn)數(shù)據(jù)庫自身。但此任務(wù)未必如像乍看起來那么簡單。面向服務(wù)架構(gòu)(SOA)可能很龐大且復(fù)雜。例如,企業(yè)可能對包含敏感數(shù)據(jù)的數(shù)據(jù)庫進(jìn)行了某種測試,此外,還有可能存在一些未經(jīng)驗證的數(shù)據(jù)庫。
一旦確認(rèn)了數(shù)據(jù)庫,對敏感數(shù)據(jù)進(jìn)行分類并確認(rèn)其包含的對象就顯得至關(guān)重要了。必須對分類進(jìn)行驗證,其目的是為了減少一些“似是而非”的情況。驗證過程應(yīng)當(dāng)是自動化的,并支持多次執(zhí)行,而且還要隨著時間的推移而支持可擴(kuò)展性,并保證準(zhǔn)確性。
二、勿輕信本機(jī)的數(shù)據(jù)庫工具
如果是擁有特權(quán)的內(nèi)部人員作案,如數(shù)據(jù)庫管理員和系統(tǒng)管理員,再相信受到其攻擊的系統(tǒng)的安全信息將毫無意義。如果惡意的內(nèi)部人員可以訪問數(shù)據(jù)庫并可能操縱本地的審計日志,這些日志就毫無用處。這就像讓犯罪份子成為現(xiàn)場調(diào)查員一樣。因而必須實施責(zé)任分離:安全和操作必須分離。不能相信那些存在于受攻擊的數(shù)據(jù)庫系統(tǒng)中的審計信息或由這種數(shù)據(jù)庫創(chuàng)建的審計信息。此外,本地的數(shù)據(jù)庫審計日志還會帶來一些技術(shù)問題。例如:
在很多情況下,并沒有啟用本地數(shù)據(jù)庫審計。
本地審計的啟用靠手工完成,容易出現(xiàn)錯誤;數(shù)據(jù)庫管理員可能啟用了并不充分的審計。
本地審計會對被審計的服務(wù)器帶來高昂的費(fèi)用。啟用本地審計有可能耗盡數(shù)據(jù)庫主機(jī)資源,影響系統(tǒng)的效率。
不同的數(shù)據(jù)庫提供了不同的審計功能。在異構(gòu)環(huán)境中對每個數(shù)據(jù)庫版本和類型啟用審計會耗費(fèi)大量的資源,因為其輸出是不同的,有可能不完整,而且對于并不精通每種數(shù)據(jù)庫的人員來說,這種輸出結(jié)果也難以解析。
許多數(shù)據(jù)庫并不能捕獲被變造的SQL查詢。
在捕獲數(shù)據(jù)庫的審計日志時,應(yīng)當(dāng)獨(dú)立于數(shù)據(jù)庫工具:強(qiáng)化責(zé)任分離、增強(qiáng)數(shù)據(jù)庫的性能、確立用戶責(zé)任等。
三、監(jiān)視善意的、惡意的和有特權(quán)的用戶
需要訪問敏感數(shù)據(jù)的用戶也是能夠給這種數(shù)據(jù)帶來威脅的用戶。設(shè)計DMZ、業(yè)務(wù)流程外包以及SOA等,目的都是為了改善訪問,提高運(yùn)營效率,促進(jìn)信息共享等。但事物總有其兩面性。
監(jiān)視善意人員:懷有惡意的人有可能偽裝成善人。監(jiān)視內(nèi)部和外部的好人,特別是那些接觸“敏感數(shù)據(jù)”的人。
監(jiān)視惡意人員:這是因為來自不可信的外部人員的多種風(fēng)險仍然存在,所以你無法在沒有傳統(tǒng)網(wǎng)絡(luò)安全控制的情況下就進(jìn)行操作。但利用這些機(jī)制來保護(hù)敏感數(shù)據(jù)并非根本解決之道。網(wǎng)絡(luò)安全的根本設(shè)計目的并不是為了解決數(shù)據(jù)安全。
監(jiān)視特權(quán)人員:這是因為這些人掌握著關(guān)系到企業(yè)存亡的大權(quán)。在許多情況下,他們不但負(fù)責(zé)運(yùn)營,在很多情況下,還負(fù)責(zé)安全。頗具諷刺意味的是,特權(quán)人員還被要求保障系統(tǒng)的安全。
不管對可信用戶、不可信用戶還是特權(quán)用戶,對敏感數(shù)據(jù)的保護(hù)需要時時刻刻地進(jìn)行。要假設(shè)每個人都可以訪問數(shù)據(jù),假設(shè)每個人都想竊取數(shù)據(jù)。
由于Web服務(wù)器是外部攻擊者用以竊取數(shù)據(jù)的典型攻擊媒介,傳統(tǒng)的網(wǎng)絡(luò)安全控制對于減輕數(shù)據(jù)攻擊的效率是很低的,需要實施應(yīng)用程序防火墻來檢測和防止基于Web的攻擊,如SQL注入攻擊、跨站腳本攻擊、cookie投毒、會話劫持等。確保“數(shù)據(jù)安全”控制能夠監(jiān)視所有的特權(quán)用戶活動,以及應(yīng)用程序的用戶通信。所實施的控制必須包括事件阻止、警告、報告、審計等。最后,確保這些安全控制獨(dú)立于操作人員,從而能夠高效地監(jiān)視特權(quán)用戶對數(shù)據(jù)的使用。
四、對數(shù)據(jù)庫的使用進(jìn)行分析
許多人員認(rèn)為惡意內(nèi)部用戶的焦點(diǎn)問題是,用戶在哪里與敏感數(shù)據(jù)交互。傳統(tǒng)的網(wǎng)絡(luò)安全控制,如防火墻(使用簽名匹配方法),專注于檢測和阻止特定的事件,在應(yīng)對人員和數(shù)據(jù)時就顯得太簡單了。如果一家企業(yè)能夠決定正常的活動是怎樣的,就可以根據(jù)用戶活動的源頭(源用戶、源應(yīng)用程序、源位置)、目的(目標(biāo)數(shù)據(jù)庫和數(shù)據(jù)庫對象)、用戶活動的環(huán)境(時間、經(jīng)常性的用法、成功及失敗的活動等)來對使用情況進(jìn)行分類??梢詸z測缺乏簽名的數(shù)據(jù)使用的異常情況。一個證明分析的價值的例子是業(yè)務(wù)邏輯攻擊。業(yè)務(wù)邏輯攻擊可以使web應(yīng)用程序的功能用來對付業(yè)務(wù),它破壞的是業(yè)務(wù)邏輯而不是應(yīng)用程序。
分析應(yīng)用程序和數(shù)據(jù)庫的交互也很重要。這樣做可以更好地防御SQL注入攻擊,并確認(rèn)由于應(yīng)用程序的設(shè)計缺陷而造成的異常數(shù)據(jù)庫活動。以這種方式分析應(yīng)用程序還可以揭示:在一個不合適的環(huán)境中使用后將會顯得不正常的各種合法應(yīng)用:
1)在單個設(shè)備與多個設(shè)備通信時,有可能被看成是惡意軟件的傳播和漫延,而實際上有可能是一臺備份服務(wù)器或一臺代理服務(wù)器。
2)在非運(yùn)營時間進(jìn)行的大量數(shù)據(jù)傳輸有可能被認(rèn)為是信息竊取,而實際上有可能是合法的數(shù)據(jù)庫備份。
3)還可以發(fā)現(xiàn)潛在的惡意模式,例如:
過度的文件下載
在可疑的時間發(fā)現(xiàn)了用戶活動
非授權(quán)用戶企圖訪問保密數(shù)據(jù),例如,開發(fā)人員試圖訪問人力資源部門的系統(tǒng)
可疑的無效活動(如大量的非法登錄企圖)
分析并不像一次性的掃描。因為應(yīng)用程序和數(shù)據(jù)庫屬于連續(xù)變化的動態(tài)環(huán)境,因而對應(yīng)用程序及數(shù)據(jù)庫的使用情況進(jìn)行不斷分析和更新是很重要的,這應(yīng)當(dāng)成為一個成熟的數(shù)據(jù)安全策略的不可缺少的一部分。
五、協(xié)調(diào)Web應(yīng)用程序和數(shù)據(jù)庫之間的活動
監(jiān)視用戶的全部任務(wù)就是跟蹤用戶并讓其為自己的活動負(fù)責(zé)。確認(rèn)網(wǎng)絡(luò)活動的責(zé)任人可能很困難。在使用連接池的多數(shù)現(xiàn)代應(yīng)用程序中,并沒有在本地記錄Web應(yīng)用程序和數(shù)據(jù)庫之間的用戶會話。連接池通過再次使用已打開的數(shù)據(jù)庫連接而不是為每個用戶打開數(shù)據(jù)庫連接,從而改善了應(yīng)用程序的性能。雖然應(yīng)用程序的性能得到了提高,但連接池也掩蓋了每個請求活動的用戶身份,這意味著確實沒有方法可以將數(shù)據(jù)庫活動與特定用戶關(guān)聯(lián)起來。
企業(yè)可以重新編寫客戶應(yīng)用程序和數(shù)據(jù)庫代碼來支持此功能。不過,這是一個昂貴的建議,需要為企業(yè)中應(yīng)用程序和數(shù)據(jù)庫的每個版本都這樣做,而且增加的代碼可能會帶來漏洞。
Web應(yīng)用程序和數(shù)據(jù)庫活動的關(guān)系協(xié)調(diào)必須在這兩者之外實現(xiàn),而且要獨(dú)立于廠商、版本等。以這種方式跟蹤用戶會話可以更好地控制會話記錄,而不會額外地耗用Web和數(shù)據(jù)庫應(yīng)用程序的資源,也不會使寶貴的開發(fā)資源偏離其它項目??梢栽赪eb應(yīng)用程序、數(shù)據(jù)庫之間有效地協(xié)調(diào)用戶會話,不但可以捕獲查詢,還可以捕獲作為結(jié)果而返回的數(shù)據(jù)。
六、以人類的直覺來強(qiáng)化基于機(jī)器的分析
預(yù)防性的安全控制的可升級性總是有限的,如果沒有人的分析,純粹從技術(shù)中獲得的價值總是有限的。實時的警告一般源自純技術(shù)分析得到的結(jié)論。報告可以從兩方面來強(qiáng)化這個過程。首先,報告可以更長遠(yuǎn)地檢測趨勢,如幾個月都在濫用資源的方式。其次,報告利用人類的直覺來強(qiáng)化基于機(jī)器的分析。
對內(nèi)部人員而言,擁有一套使人能夠根據(jù)結(jié)果做出結(jié)論的簡易而有效的方法是至關(guān)重要的。這是因為人可以考慮更多的因素,而不僅僅通過應(yīng)用程序和數(shù)據(jù)庫的分析所捕獲的數(shù)據(jù)。例如,某用戶表現(xiàn)不佳,并且有傳言說他要離開公司到某競爭對手那里去。因為IT安全團(tuán)隊不可能擁有公司每個人的“全面情況”,因而,這份報告能使公司的各種人員都能使用是很重要的,如非技術(shù)經(jīng)理、人力資源部門、法律部門等。這種由現(xiàn)實分析與應(yīng)用程序和數(shù)據(jù)庫的詳細(xì)證據(jù)的組合,可以生成比單純一個方面更多的精確結(jié)果。
【編輯推薦】