理論上講,基于云的解決方案至少應(yīng)當(dāng)向客戶提供與傳統(tǒng)IT模式相同的安全水平。在理想情況下,云服務(wù)供應(yīng)商應(yīng)當(dāng)提供更高級(jí)的安全水平,遷移到云的根本原因之一就是從客戶方面看安全控制的低成本。
與從云服務(wù)供應(yīng)商處得到的安全相比,同樣的安全控制在企業(yè)內(nèi)部實(shí)現(xiàn)可能會(huì)更昂貴。不管云供應(yīng)商提供了什么樣的安全水平,理解這個(gè)問題很重要:安全并不是“一錘子買賣”,而是一個(gè)過程,因而企業(yè)需要在云服務(wù)的兩端實(shí)施安全,即:為保障數(shù)據(jù)的安全性,終端用戶(進(jìn)一步稱為云服務(wù)用戶)仍需要采取同樣的行動(dòng)。
數(shù)據(jù)總在無休無止地創(chuàng)建過程,我們還必須考慮如何保護(hù)數(shù)據(jù)的機(jī)密性、完整性、可訪問性。在創(chuàng)建數(shù)據(jù)時(shí),我們需要假設(shè)一些可能發(fā)生的最糟糕的情況,其中包括但不限于數(shù)據(jù)泄露、未授權(quán)訪問、完全喪失對(duì)數(shù)據(jù)的訪問,等等。未授權(quán)的訪問意味著喪失了對(duì)數(shù)據(jù)的控制。數(shù)據(jù)處理的一個(gè)副作用就是生成了額外的副本,例如在硬盤上的交換內(nèi)存、臨時(shí)文件,或者是我們用以處理數(shù)據(jù)過程的內(nèi)存。在基于云的方案中,關(guān)于數(shù)據(jù)處理的另一個(gè)必須考慮到的副作用就是元數(shù)據(jù)的創(chuàng)建。即使簡單的處理也能產(chǎn)生大量的元數(shù)據(jù)。如今,收集元數(shù)據(jù)成為一項(xiàng)艱巨的任務(wù),這意味著元數(shù)據(jù)也要求某種形式的保護(hù),特別是由于元數(shù)據(jù)包含敏感信息,所以對(duì)其保護(hù)顯得尤為重要。其次,從安全的觀點(diǎn)看,加密和解密的位置與時(shí)間極為重要。如果加密發(fā)生在云端,企業(yè)就必須提供安全措施,將未加密的數(shù)據(jù)發(fā)送到其中。
在談到數(shù)據(jù)泄露或未授權(quán)的訪問時(shí),我們首先想到的是加密。由于加密是從軍事領(lǐng)域進(jìn)入企業(yè)的,所以加密往往被誤解,并被描述為一種很有魔力的可以解決所有安全問題的方案。但這種方法從開始就是有瑕疵的。下面展開討論其中的諸多因素。
1.不安全的過程
用復(fù)雜的方案解決復(fù)雜問題并不是簡單任務(wù),在我們試圖通過加密解決安全問題時(shí)尤其如此。安全始于信息處理過程。如果設(shè)計(jì)過程不合理,加密會(huì)安全嗎?例如,如果你要求用戶使用過長的復(fù)雜口令,用戶就會(huì)找到一種不安全的方法繞過去。此處的原則是終端用戶的體驗(yàn)對(duì)安全來說至關(guān)重要:控制應(yīng)當(dāng)允許用戶快速完成任務(wù)而不帶來太多障礙。企業(yè)的業(yè)務(wù)人員也喜歡這種方法,因?yàn)樗梢蚤L久地使利潤最大化。
口令策略與加密有什么關(guān)系呢?雖然從安全的觀點(diǎn)看,口令已成“過去式”,但是口令仍在使用中,而且還很強(qiáng)健。用戶如何登錄到移動(dòng)設(shè)備?難道不是用PIN?用戶如何登錄到社交賬戶或云中的電子郵件賬戶?問題的寓意在于:如果你使用口令來保護(hù)對(duì)數(shù)據(jù)的訪問,就需要保障口令的安全,并且經(jīng)常更換。云方案并不會(huì)使口令完全消失。
2.用戶教育和安全意識(shí)
不管你是如何巧妙地設(shè)計(jì)過程和實(shí)施過程,都不能忽視人的因素。正如愛因斯坦所言,有兩件事情是永恒的,就是宇宙和人類的愚蠢,對(duì)于前者我并不太了解。如果用戶能夠在惡意軟件彈出的窗口中多次輸入口令,就不要期望加密會(huì)阻止其這樣做。如果再強(qiáng)調(diào)加密的作用就是在自欺欺人。用戶們必須認(rèn)識(shí)到威脅,并且理解如何處理控制才能保證安全。釣魚攻擊正被一些類似惡意軟件的攻擊所利用。在惡意軟件防護(hù)問題上這尤其重要。除非云服務(wù)供應(yīng)商在其云服務(wù)和客戶系統(tǒng)上提供惡意軟件的防護(hù),否則,對(duì)于終端用戶的惡意軟件防護(hù)來說,可做的很少。當(dāng)然,客戶必須安裝最新的安全方案。掃描上傳到云服務(wù)的文件或數(shù)據(jù)并不能阻止終端系統(tǒng)受到惡意軟件的感染。因而,惡意軟件不但可以感染系統(tǒng),還能夠從云服務(wù)的客戶端竊取未加密的數(shù)據(jù),并且可以竊取需要云服務(wù)訪問的信息,還能破壞云服務(wù)。
3.不安全的架構(gòu)
再次談到云服務(wù)供應(yīng)商。整個(gè)系統(tǒng)的架構(gòu)(其中包括密碼系統(tǒng))對(duì)于最終的安全水平都至關(guān)重要。在多數(shù)情況下,要保障數(shù)據(jù)一直處于加密狀態(tài)并不可行,因而,解密過程在應(yīng)對(duì)未授權(quán)的訪問和數(shù)據(jù)泄露風(fēng)險(xiǎn)時(shí)就顯得尤為重要。企業(yè)應(yīng)遵循如下的最佳實(shí)踐:
(1)部署多層防御,僅有加密這一層還遠(yuǎn)遠(yuǎn)不夠。
(2)盡可能在一個(gè)地方加密和解密數(shù)據(jù),例如,這樣做會(huì)限制有些信息沒有被正確加密的風(fēng)險(xiǎn),而且還要以使安全審計(jì)更容易。
(3)要保護(hù)好加密密鑰和IV(初始向量)。
(4)確保實(shí)施強(qiáng)健的隨機(jī)數(shù)字生成器。
(5)如果可行的話,不要使公眾使用全部功能,從而限制攻擊面。
很明顯,上述清單并沒有包含所有的最佳實(shí)踐。有些最佳實(shí)踐與服務(wù)類型或云服務(wù)的經(jīng)營模式有緊密聯(lián)系。
4.脆弱協(xié)議和算法
從安全的觀點(diǎn)看,如果實(shí)施和部署不當(dāng),即使最佳的架構(gòu)仍有可能成為隱患。例如,一些不安全協(xié)議和算法的使用,如SSH的老版本等。幸運(yùn)的是,有些廠商開始禁止對(duì)不安全協(xié)議的支持。
另一個(gè)問題是,由于密鑰太短小或生成方式不強(qiáng)大,就有可能造成企業(yè)的協(xié)議很強(qiáng)健而其密鑰很脆弱??傊?,不要使用太短小的密鑰,因?yàn)槠淙菀妆黄平?。如果攻擊者自身缺乏?jì)算能力,他完全可以購買云服務(wù),從而可以使其快速地破解短密鑰。
5.隨機(jī)數(shù)的隨機(jī)性不強(qiáng)
如果不使用基于硬件的方案,對(duì)計(jì)算機(jī)來說隨機(jī)數(shù)的生成并不是容易的任務(wù)。多數(shù)編程語言都提供隨機(jī)函數(shù),但這類函數(shù)并不安全,因而不應(yīng)用于密碼系統(tǒng)中。簡言之,脆弱的隨機(jī)數(shù)生成器可以使整個(gè)密碼系統(tǒng)不安全,并易于被破解,因?yàn)檫@可以使攻擊者正確地猜測到生成器的結(jié)果和種子的初始向量,從而使密碼分析攻擊更容易,并且使攻擊者可以破壞整個(gè)加密過程。
6.算法很強(qiáng)健,但實(shí)施過程有漏洞
即使從密碼術(shù)的觀點(diǎn)來看,所有已部署的協(xié)議和算法都很強(qiáng)健,也不意味著其實(shí)施就是安全的。在此存在著兩個(gè)問題:1.不正確地實(shí)施安全算法或安全協(xié)議,從而弱化其加密性能。2.軟件或硬件中的缺陷,導(dǎo)致可能被第三方利用其漏洞。
OpenSSL漏洞就是第二個(gè)問題的一個(gè)例子。第一類問題就需要更多解釋。每種加密算法都有一套定義其強(qiáng)度的屬性。前面提到的不正確實(shí)施安全算法或安全協(xié)議的一種原因就是,使用了不安全的隨機(jī)數(shù)生成器。這種問題未必是程序員有意為之。例如,程序員使用的可能是提供不安全偽隨機(jī)數(shù)生成器(被認(rèn)為很安全)的外部庫。在簡單的代碼檢查過程中,這種漏洞是不可能被發(fā)現(xiàn)的。
7.臨時(shí)文件和Swap內(nèi)存
如果交換內(nèi)存和臨時(shí)文件在云服務(wù)的兩端都沒有加密,這必然成為一種泄露數(shù)據(jù)的方法。下面討論兩種情況:1.加密發(fā)生于云服務(wù)供應(yīng)商,而數(shù)據(jù)是通過安全通道被傳送到云的。2.加密發(fā)生于云服務(wù)客戶端,加密的數(shù)據(jù)被發(fā)送給云服務(wù)供應(yīng)商,使其可以用加密的形式存儲(chǔ)。
在這兩種情況下,交換內(nèi)存和臨時(shí)文件都可能包含未加密數(shù)據(jù)的副本。 即使攻擊者只能訪問不完整的未加密數(shù)據(jù),并可以獲取訪問加密數(shù)據(jù)的副本,也會(huì)使密碼分析攻擊更可行。那么,上述兩情況有什么區(qū)別呢?答案是交換內(nèi)存和臨時(shí)文件的位置:在第一種情況中,交換內(nèi)存位于云服務(wù)供應(yīng)商的架構(gòu)中,而在第二種情況下,交換內(nèi)存和臨時(shí)文件位于云服務(wù)客戶的工作站或移動(dòng)設(shè)備上。很明顯,對(duì)這些區(qū)域的訪問應(yīng)當(dāng)受到限制,但其實(shí)施過程應(yīng)有所區(qū)別。在第一種情況下,實(shí)施的責(zé)任屬于云服務(wù)供應(yīng)商,而且在多數(shù)情況下,云服務(wù)的客戶對(duì)于如何實(shí)施的細(xì)節(jié)知之甚少。事實(shí)上,在多數(shù)情況下,只有客戶和供應(yīng)商之間的合同可以定義供應(yīng)商必須采取的措施。在第二種情況下,保護(hù)交換內(nèi)存和臨時(shí)文件就屬于云服務(wù)客戶的責(zé)任。不過,如今的有些操作系統(tǒng)默認(rèn)會(huì)加密交換內(nèi)存,但對(duì)于移動(dòng)設(shè)備,就有很大不同。臨時(shí)文件的保護(hù)不同于此。多數(shù)操作系統(tǒng)通過限制文件的訪問和移除文件來保障臨時(shí)文件訪問的安全。不幸的是,現(xiàn)代操作系統(tǒng)及其支持的存儲(chǔ)設(shè)備,安全移除文件往往是不可能的。還有另外一種情況,其中的臨時(shí)文件并沒有被刪除。例如,這種情況可能是應(yīng)用程序崩潰的結(jié)果,也有可能是被另一個(gè)過程鎖定的原因。這個(gè)問題的解決方案就是加密的文件系統(tǒng),此時(shí),即使臨時(shí)文件并沒有被完全刪除,或者沒有以一種安全的方式刪除,對(duì)其訪問仍受到限制。
為什么交換內(nèi)存和臨時(shí)文件成為如此嚴(yán)重的問題?不妨設(shè)想一下用戶丟失移動(dòng)設(shè)備的情況,或設(shè)想由于發(fā)生故障,云服務(wù)供應(yīng)商更換存儲(chǔ)媒體的情形。后一種情形會(huì)帶來一個(gè)關(guān)鍵問題:云服務(wù)供應(yīng)商安全地處置IT設(shè)備。這個(gè)過程應(yīng)當(dāng)準(zhǔn)備好,并且在服務(wù)等級(jí)約定中進(jìn)行明確定義。
8.事件處理、取證、數(shù)據(jù)發(fā)現(xiàn)
在考慮數(shù)據(jù)加密時(shí),我們還必須考慮安全事件發(fā)生時(shí)出現(xiàn)的問題。對(duì)加密文件或文件系統(tǒng)或交換內(nèi)存進(jìn)行取證分析可能會(huì)很復(fù)雜,甚至是不可能的任務(wù)。對(duì)于云服務(wù),問題會(huì)更復(fù)雜,因?yàn)槟阌锌赡軣o法訪問文件系統(tǒng)。事實(shí)上,在有些服務(wù)中,甚至沒有文件系統(tǒng)的概念,所以典型的取證分析過程從一開始就失敗了。在考慮加密和計(jì)劃事件處理過程時(shí),也要考慮這個(gè)問題。
加密數(shù)據(jù)只有在保持其完整性時(shí)才能被解密。但是,如果由于安全事件或是由于硬件故障等隨機(jī)事件,其完整性遭到了破壞,就有可能不能成功地解密數(shù)據(jù)。在這種情況下,數(shù)據(jù)發(fā)現(xiàn)方法就沒有什么用處了。這就要求我們重點(diǎn)考慮備份策略,尤甚是在我們使用加密時(shí)。有些合規(guī)要求強(qiáng)制使用加密備份作為唯一的選擇。所以在我們使用云服務(wù)時(shí),檢查云供應(yīng)商的備份和加密策略是非常關(guān)鍵的。
9.依賴廠商加密
如果你的數(shù)據(jù)是由云服務(wù)供應(yīng)商加密的,至少應(yīng)當(dāng)檢查兩方面:
(1)你有一份未加密數(shù)據(jù)的副本嗎?
(2)加密數(shù)據(jù)如何傳送給另一個(gè)云服務(wù)供應(yīng)商或傳回給企業(yè)?
如果你將未加密的數(shù)據(jù)副本上傳到云中,就應(yīng)考慮找一家可以提供安全通道的云服務(wù)供應(yīng)商。事實(shí)上,這種情況很少發(fā)生,因?yàn)槭瓜到y(tǒng)和云的數(shù)據(jù)保持同步和更新是一個(gè)問題。事實(shí)上,這種方法會(huì)限制充分利用云服務(wù)的好處。
第二個(gè)問題更為典型,而且有些廠商為了自己的業(yè)務(wù)也不愿意放走客戶。由此導(dǎo)致的結(jié)果是,加密成為一種很好的方法。如果加密數(shù)據(jù)不是簡單地從一個(gè)云服務(wù)供應(yīng)商傳送給另一個(gè)供應(yīng)商,你就必須解密、上傳、加密數(shù)據(jù)。對(duì)于單個(gè)文件或小文件,這種操作不會(huì)有什么問題,但是,隨著文件的數(shù)量和大小的增大,在云服務(wù)供應(yīng)商之間進(jìn)行切換的復(fù)雜性和時(shí)間都會(huì)增加。在極端情況下,這種復(fù)雜性和時(shí)間會(huì)導(dǎo)致高成本,從而使得在云服務(wù)供應(yīng)商之間的切換不再是一種可行的選擇。
如果你在本地加密數(shù)據(jù),而僅僅將云用于存儲(chǔ)加密文件,就不受上述問題的影響。
分享到微信 ×
打開微信,點(diǎn)擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁分享至朋友圈。