據(jù)Verizon2012年的數(shù)據(jù)泄露調(diào)查分析報(bào)告[1]和對(duì)發(fā)生的信息安全事件技術(shù)分析,總結(jié)出信息泄露呈現(xiàn)兩個(gè)趨勢(shì):
(1)黑客通過B/S應(yīng)用,以Web服務(wù)器為跳板,竊取數(shù)據(jù)庫中數(shù)據(jù);傳統(tǒng)解決方案對(duì)應(yīng)用訪問和數(shù)據(jù)庫訪問協(xié)議沒有任何控制能力,比如:SQL注入就是一個(gè)典型的數(shù)據(jù)庫黑客攻擊手段。
(2)數(shù)據(jù)泄露常常發(fā)生在內(nèi)部,大量的運(yùn)維人員直接接觸敏感數(shù)據(jù),傳統(tǒng)以防外為主的網(wǎng)絡(luò)安全解決方案失去了用武之地。
數(shù)據(jù)庫在這些泄露事件成為了主角,這與我們?cè)趥鹘y(tǒng)的安全建設(shè)中忽略了數(shù)據(jù)庫安全問題有關(guān),在傳統(tǒng)的信息安全防護(hù)體系中數(shù)據(jù)庫處于被保護(hù)的核心位置,不易被外部黑客攻擊,同時(shí)數(shù)據(jù)庫自身已經(jīng)具備強(qiáng)大安全措施,表面上看足夠安全,但這種傳統(tǒng)安全防御的思路,存在致命的缺陷。
數(shù)據(jù)最小化與模糊處理
保護(hù)敏感數(shù)據(jù)的最好、最有效的辦法是當(dāng)初就不存儲(chǔ)或少存儲(chǔ)數(shù)據(jù)。因此,公司應(yīng)該經(jīng)常檢查數(shù)據(jù)最小化問題。
數(shù)據(jù)加密
公司可以對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行加密,以防止其被盜或意外泄漏。在加密數(shù)據(jù)庫中的數(shù)據(jù)時(shí),有三個(gè)關(guān)鍵問題需要考慮:在何處加密數(shù)據(jù)、如何加密數(shù)據(jù)以及在何處存儲(chǔ)密鑰。下面將分別討論這些問題:
在何處加密數(shù)據(jù)――加密可以在應(yīng)用層、數(shù)據(jù)庫或底層存儲(chǔ)器中進(jìn)行。如果加密在數(shù)據(jù)庫中進(jìn)行,則還可以對(duì)特定字段、列、表或者整個(gè)數(shù)據(jù)庫加密。當(dāng)然,在應(yīng)用層、數(shù)據(jù)庫和底層存儲(chǔ)器中加密各有利弊。
由于應(yīng)用層加密是在系統(tǒng)的最高層對(duì)數(shù)據(jù)進(jìn)行加密,所以數(shù)據(jù)對(duì)應(yīng)用層之下的各層都不可見。如果加密在應(yīng)用層進(jìn)行,則數(shù)據(jù)庫、操作系統(tǒng)、網(wǎng)絡(luò)以及數(shù)據(jù)經(jīng)過的所有其他路徑都只能看到加密后的形式。
應(yīng)用層加密的問題在于,通常會(huì)有多個(gè)高層應(yīng)用程序需要訪問數(shù)據(jù),這些應(yīng)用程序?qū)⑿枰荑€副本對(duì)數(shù)據(jù)進(jìn)行解密。可以獲得密鑰副本的應(yīng)用程序越多,密鑰遭到泄漏的可能性就越大。
但是,如果加密在較低的層進(jìn)行,則你還需要進(jìn)一步在其他層進(jìn)行加密。例如,當(dāng)數(shù)據(jù)流經(jīng)數(shù)據(jù)庫和應(yīng)用程序之間的網(wǎng)絡(luò)時(shí)需要對(duì)其進(jìn)行加密,否則數(shù)據(jù)對(duì)網(wǎng)絡(luò)層將是可見的。這將會(huì)引入需要加以保護(hù)的其他加密密鑰。在何處進(jìn)行加密是一種微妙的平衡,取決于應(yīng)用程序和數(shù)據(jù)流的體系結(jié)構(gòu)。
如何加密數(shù)據(jù)――加密可以利用軟件、硬件或者軟件硬件相結(jié)合的方式實(shí)現(xiàn)。具體采用何種方式加密,取決于你希望達(dá)到的吞吐量(Mb/s)。如果希望獲得較大的吞吐量,則你可能需要一些硬件加速方式。無論采用何種加密方式,有一個(gè)問題別無選擇:始終使用先進(jìn)的、強(qiáng)大的、基于標(biāo)準(zhǔn)的加密和密鑰管理系統(tǒng);不要試圖發(fā)明自己的加密和密鑰管理系統(tǒng),你自己的加密和密鑰管理系統(tǒng)可能奏效也可能不能奏效。目前,一些高端服務(wù)器處理器已經(jīng)內(nèi)置了支持AES(高級(jí)加密標(biāo)準(zhǔn))的加密基元(Encryption Primitives),可以實(shí)現(xiàn)比基于軟件的算法快得多(高達(dá)9倍)的加密。
在何處存儲(chǔ)密鑰――加密最大的挑戰(zhàn)不是加密本身,而是密鑰的存儲(chǔ)和分配。加密數(shù)據(jù)的安全性和可訪問性并不高于密鑰本身。密鑰必須悉心保護(hù),以防攻擊者竊取。同時(shí),密鑰必須與加密數(shù)據(jù)分開存儲(chǔ),但又要可供加密/解密算法訪問。另一方面,必須對(duì)密鑰進(jìn)行備份和復(fù)制,以便當(dāng)原始數(shù)據(jù)和原始密鑰由于災(zāi)難而丟失時(shí)可以解密備份數(shù)據(jù)。你選擇的任何密鑰管理系統(tǒng)必須支持下列功能:
安全存儲(chǔ)密鑰。
認(rèn)證和跟蹤審計(jì)對(duì)密鑰的訪問。
托管或恢復(fù)密鑰,以防密鑰丟失。
備份密鑰并將密鑰安全地傳輸?shù)竭h(yuǎn)程位置,以供恢復(fù)之用。
加密標(biāo)準(zhǔn)
許多加密和密鑰管理系統(tǒng)都通過了以下兩個(gè)實(shí)用標(biāo)準(zhǔn)的認(rèn)證:美國聯(lián)邦信息處理標(biāo)準(zhǔn)(Federal Information Processing Standard,F(xiàn)IPS)140,其安全級(jí)別分為1到4級(jí);通用標(biāo)準(zhǔn)評(píng)估保證等級(jí)(Common Criteria Evaluation Assurance Level,CCEAL),其安全級(jí)別分為1到7級(jí)。這些標(biāo)準(zhǔn)提供了一個(gè)指標(biāo),可以比較不同系統(tǒng)的加密算法、密鑰存儲(chǔ)和密鑰管理機(jī)制的安全性。級(jí)別越高意味著加密算法、密鑰存儲(chǔ)方法、防篡改硬件和密鑰管理機(jī)制越好。例如,F(xiàn)IPS在確定一個(gè)認(rèn)證級(jí)別時(shí),考慮了11個(gè)不同方面的安全性。你應(yīng)該根據(jù)數(shù)據(jù)的敏感程度和你所在地區(qū)的監(jiān)管要求,選擇合適的安全級(jí)別。
數(shù)據(jù)庫應(yīng)用極為復(fù)雜,由多層松散耦合的組件構(gòu)成。數(shù)據(jù)庫應(yīng)用的安全性難以保證,但又包含了公司最敏感的數(shù)據(jù)。然而,利用數(shù)據(jù)最小化和加密技術(shù),公司可以巧妙地在數(shù)據(jù)的安全性、可訪問性和可用性之間取得平衡。
總之,數(shù)據(jù)庫(http://www.survivalescaperooms.com/mail)的防護(hù)手段不外乎這三個(gè)階段:事前診斷;事中控制;事后分析。做好這三個(gè)階段你的數(shù)據(jù)庫基本上就可以保證安全了。