焦燕廷 孫新召
美亞柏科信息股份有限公司北京分公司 北京 100025
云計(jì)算(Cloud Computing)是以網(wǎng)絡(luò)技術(shù)、虛擬化技術(shù)、分布式計(jì)算技術(shù)為基礎(chǔ),以按需分配為業(yè)務(wù)模式,具備動(dòng)態(tài)擴(kuò)展、資源共享特點(diǎn)的新一代網(wǎng)絡(luò)化計(jì)算模式。云計(jì)算中提及的“云”是網(wǎng)絡(luò)、互聯(lián)網(wǎng)的一種比喻說法。隨著云計(jì)算的快速發(fā)展,云安全問題日漸突出并得到了廣泛的關(guān)注。
云計(jì)算的服務(wù)模式包括基礎(chǔ)設(shè)施即服務(wù)(Infrastructureas-a-Service,IaaS)、平臺(tái)即服務(wù)(Platform-as-a-Service,PaaS)和軟件即服務(wù)(Software-as-a-Service,SaaS)。SaaS是發(fā)展最快、應(yīng)用最廣泛的服務(wù)模式,它的特點(diǎn)為通過互聯(lián)網(wǎng)存取應(yīng)用服務(wù),用戶只需要向軟件提供商租用這些應(yīng)用,應(yīng)用的升級(jí)和維護(hù)工作也由軟件提供商全權(quán)負(fù)責(zé)。本文描述了SaaS環(huán)境下的安全問題,為SaaS應(yīng)用的開發(fā)和使用提供了一定的安全參考。
SaaS的概念起源于1999年之前。“軟件即服務(wù)”的常見用法和簡(jiǎn)稱始于刊登在2001年2月的SIIA(Software &Information Industry Association:美國(guó)軟件與信息產(chǎn)業(yè)協(xié)會(huì))的白皮書“戰(zhàn)略背景:軟件即服務(wù)”。
1998年,第一個(gè)SaaS應(yīng)用程序由亞特蘭大的WebTransit公司開發(fā)。最早的SaaS應(yīng)用是Salesforce.com將其提出的SaaS運(yùn)用于CRM(Customer Relationship Management:客戶關(guān)系管理)行業(yè)。它是一種通過Internet提供軟件的模式,廠商將應(yīng)用軟件統(tǒng)一部署在自己的服務(wù)器上,客戶可以根據(jù)自己實(shí)際需求,通過互聯(lián)網(wǎng)向廠商定購(gòu)所需的應(yīng)用軟件服務(wù),按定購(gòu)的服務(wù)多少和時(shí)間長(zhǎng)短向廠商支付費(fèi)用,并通過互聯(lián)網(wǎng)獲得廠商提供的服務(wù)。
在中國(guó),八百客于2006年2月推出了全球首個(gè)中文SaaS在線企業(yè)管理軟件平臺(tái)800APP(CRM),隨后推出了全球首個(gè)中文應(yīng)用軟件協(xié)同開發(fā)平臺(tái)800APP COMPOSITE,于2008年底再次融資成功,成為中國(guó)第一家獲得海外投資的SaaS企業(yè),是中國(guó)SaaS市場(chǎng)的技術(shù)領(lǐng)先者及最大的SaaS模式企業(yè)管理應(yīng)用系統(tǒng)提供商和專業(yè)服務(wù)商,致力為于客戶創(chuàng)造長(zhǎng)期的價(jià)值和潛在的增長(zhǎng),助力中國(guó)企業(yè)快速有效實(shí)現(xiàn)管理自動(dòng)化。
目前國(guó)內(nèi)的主流 SaaS服務(wù)提供廠商有八百客、天天進(jìn)賬網(wǎng)、中企開源、CSIP、阿里軟件、友商網(wǎng)、偉庫(kù)網(wǎng)、金算盤、CDP、百會(huì)創(chuàng)造者、奧斯在線等。
SaaS是軟件級(jí)別的云計(jì)算服務(wù),也是最成熟、最出名、應(yīng)用最廣泛的一種云計(jì)算服務(wù),在這種服務(wù)模式下,用戶通過互聯(lián)網(wǎng)來使用安裝在服務(wù)提供商那的軟件。
在詳細(xì)的描述SaaS環(huán)境下的云安全問題之前,本部分先給出SaaS應(yīng)用服務(wù)體系架構(gòu)?;赑hilippe Kruchten提出“4+1”視圖,該體系架構(gòu)給出了應(yīng)用開發(fā)、物理部署和用戶使用這三個(gè)角度的視圖,如圖1所示。
圖1 SaaS應(yīng)用服務(wù)體系架構(gòu)
用戶使用視圖:從用戶的角度給出應(yīng)用的使用過程。
物理部署視圖:描述了軟件如何映射到硬件。
應(yīng)用開發(fā)視圖:從程序開發(fā)的角度出發(fā),給出業(yè)務(wù)邏輯。
下面基于SaaS應(yīng)用服務(wù)體系架構(gòu)(圖1所示),描述SaaS環(huán)境下的云安全問題。
在用戶通過瀏覽器登錄SaaS云應(yīng)用系統(tǒng)以及使用該系統(tǒng)的過程中,數(shù)據(jù)會(huì)在客戶端和服務(wù)端之間不斷的傳輸,傳輸過程中存在大量的數(shù)據(jù)的安全性問題。下面從瀏覽器、身份認(rèn)證、數(shù)據(jù)加密三方面說明用戶使用層的安全問題。
瀏覽器:瀏覽器普遍成為云服務(wù)應(yīng)用的客戶端,而所有的因特網(wǎng)瀏覽器毫無例外地存在軟件漏洞,這些軟件漏洞加大了終端用戶被攻擊的風(fēng)險(xiǎn),從而影響了云應(yīng)用的安全。換言之,數(shù)據(jù)傳輸通道未使用或未完全使用https,是導(dǎo)致云安全問題的一個(gè)因素。
身份認(rèn)證:身份認(rèn)證分為兩種,一種是傳統(tǒng)的“賬號(hào)+密碼”身份驗(yàn)證,一種是使用PKI(Public Key Infrastructure:公鑰基礎(chǔ)設(shè)施),PKI是一種遵循既定標(biāo)準(zhǔn)的密鑰管理平臺(tái),它能夠?yàn)樗芯W(wǎng)絡(luò)應(yīng)用提供加密和數(shù)字簽名等密碼服務(wù)及所必需的密鑰和證書管理體系。傳統(tǒng)的“賬號(hào)+密碼”身份驗(yàn)證方式中的密碼為靜態(tài)密碼,是由用戶設(shè)定的一串靜態(tài)數(shù)據(jù),而靜態(tài)密碼一旦設(shè)定,除非用戶自己更改,否則保持不變。因此,會(huì)導(dǎo)致靜態(tài)密碼容易被偷看、猜測(cè)、字典攻擊、暴力破解、竊取、監(jiān)聽、重放攻擊、木馬攻擊等。采用PKI認(rèn)證可以解決上述安全問題,但對(duì)于同一個(gè)SaaS平臺(tái)上的應(yīng)用,如果是每個(gè)應(yīng)用的登錄都要進(jìn)行PKI認(rèn)證,那么用戶每天要登錄很多系統(tǒng)請(qǐng)求服務(wù),登錄的次數(shù)越多,就越容易泄露密碼,從而降低了整體的安全性,增加了密碼被非法截獲的可能性。
數(shù)據(jù)加密:傳輸過程中數(shù)據(jù)沒有加密,則數(shù)據(jù)被截獲后,隱私非常容易外泄。
物理部署層的主要組件為路由器、入侵檢測(cè)、防火墻、交換機(jī)、物理服務(wù)器和虛擬化環(huán)境,每個(gè)組件都會(huì)存在安全性問題。
路由器:路由器的加密等級(jí)不夠,則會(huì)導(dǎo)致網(wǎng)絡(luò)不安全,從而進(jìn)一步致使隱私信息不安全。
入侵檢測(cè):入侵檢測(cè)是防火墻之后的第二道安全閘門,若不使用入侵檢測(cè)系統(tǒng),則為黑客的攻擊提供了方便,也不能實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)傳輸以及分析內(nèi)外部網(wǎng)絡(luò)的入侵信號(hào),不能及時(shí)的實(shí)施補(bǔ)救措施。
防火墻:防火墻能根據(jù)網(wǎng)絡(luò)系統(tǒng)的安全策略有效地控制出入網(wǎng)絡(luò)的信息流,且本身具有較強(qiáng)的抗攻擊能力,是否啟用防火墻,一定程度上決定著內(nèi)部網(wǎng)絡(luò)的信息安全。
交換機(jī):同路由器一樣,交換機(jī)的加密等級(jí)也直接影響到網(wǎng)絡(luò)信息的安全。
物理服務(wù)器:首先是物理環(huán)境,服務(wù)器運(yùn)行的物理安全環(huán)境非常重要,主要是指服務(wù)器機(jī)房的設(shè)施狀況,包括通風(fēng)系統(tǒng)、電源系統(tǒng)、防雷防火系統(tǒng)以及機(jī)房的溫度、濕度條件等,這些因素會(huì)影響到服務(wù)器的壽命和所有數(shù)據(jù)的安全。其次是服務(wù)器是否加密,存放數(shù)據(jù)的磁盤是否加密,這些將直接影響服務(wù)器存儲(chǔ)的數(shù)據(jù)以及其上應(yīng)用的安全性。再次,服務(wù)器是否加固直接影響服務(wù)器的安全性。服務(wù)器前端是否部署了負(fù)載均衡設(shè)備,以實(shí)現(xiàn)多臺(tái)服務(wù)器之間的負(fù)載均衡和高可用性。
虛擬化環(huán)境:虛擬化技術(shù)(Virtualization Techniques)是在軟、硬件之間引入虛擬層,為應(yīng)用提供獨(dú)立的運(yùn)行環(huán)境,屏蔽硬件平臺(tái)的動(dòng)態(tài)性、分布性、差異性等,支持硬件資源的共享與復(fù)用,并為每個(gè)用戶提供相互獨(dú)立、隔離的計(jì)算機(jī)環(huán)境,同時(shí)方便整個(gè)系統(tǒng)的軟硬件資源的高效、動(dòng)態(tài)管理與維護(hù)。虛擬化技術(shù)是云計(jì)算的三大核心技術(shù)之一,其應(yīng)用的安全性問題是因?yàn)樵瓢踩芯康闹攸c(diǎn)。虛擬化環(huán)境如圖2所示。
圖2 虛擬化環(huán)境
在虛擬化環(huán)境中,虛擬化安全問題體現(xiàn)在虛擬機(jī)層、虛擬化平臺(tái)層和虛擬化環(huán)境三方面:
(1)虛擬機(jī)層
虛擬機(jī)層安全問題分為數(shù)據(jù)存儲(chǔ)和虛擬機(jī)兩方面,而虛擬機(jī)的安全問題體現(xiàn)在虛擬鏡像文件和操作系統(tǒng)內(nèi)核上。
數(shù)據(jù)存儲(chǔ):“一種數(shù)據(jù)是不能丟,但是可以泄露,可以放在云端;另一種是絕對(duì)不能泄露,不能放在云端”,數(shù)據(jù)存儲(chǔ)安全問題指的就是數(shù)據(jù)泄露問題,有以下六點(diǎn):
①上面提及的路由器、入侵檢測(cè)、防火墻、交換機(jī)和物理服務(wù)器是否做好安全措施,是能否保證數(shù)據(jù)存儲(chǔ)安全的一部分原因。
②文件和數(shù)據(jù)庫(kù)信息是否加密,也影響存儲(chǔ)數(shù)據(jù)的安全性。文件加密:只對(duì)涉及到安全信息的文件進(jìn)行加密,并且根據(jù)文件長(zhǎng)度和秘密等級(jí)選擇合適的加密算法。數(shù)據(jù)庫(kù)加密:因?yàn)閷?duì)數(shù)據(jù)庫(kù)的所有信息都加密,將會(huì)導(dǎo)致索引檢索等功能不能實(shí)現(xiàn),所以可只對(duì)敏感的數(shù)據(jù)字段加密。
③用戶數(shù)據(jù)隔離存儲(chǔ)。首先,一個(gè)用戶一個(gè)數(shù)據(jù)庫(kù),用戶數(shù)據(jù)隔離級(jí)別最高,安全性最好,若出現(xiàn)故障,數(shù)據(jù)比較容易恢復(fù),但成本很高。其次,用戶數(shù)據(jù)只是邏輯上隔離的話,如果出現(xiàn)故障,數(shù)據(jù)恢復(fù)比較困難,因?yàn)榛謴?fù)數(shù)據(jù)庫(kù)將牽扯到其他用戶的數(shù)據(jù)。
④密鑰保護(hù):在對(duì)文件等進(jìn)行對(duì)稱加密算法后,對(duì)該對(duì)稱算法的密鑰(如圖3所示)是否使用非對(duì)稱加密算法加密,例如RSA(公鑰加密算法,1977年由Ron Rivest、Adi Shamirh和Len Adleman在美國(guó)麻省理工學(xué)院開發(fā)的)算法是一種非對(duì)稱加密算法,直接影響數(shù)據(jù)的存儲(chǔ)安全。
圖3 密鑰
⑤服務(wù)提供商內(nèi)部竊取用戶數(shù)據(jù),非常影響數(shù)據(jù)的存儲(chǔ)安全性,大多時(shí)候,數(shù)據(jù)信息的泄露是由人為故意導(dǎo)致。
⑥數(shù)據(jù)存放在物理服務(wù)器和虛擬機(jī)系統(tǒng)中。在服務(wù)器災(zāi)備管理不完善導(dǎo)致服務(wù)中斷、服務(wù)提供商倒閉使得服務(wù)無法繼續(xù)提供等情況下,若服務(wù)沒有數(shù)據(jù)的備份及恢復(fù)功能,數(shù)據(jù)就會(huì)隨著服務(wù)的關(guān)閉或中斷而丟失。
虛擬機(jī)鏡像:在虛擬化環(huán)境里,一個(gè)虛擬機(jī)鏡像會(huì)被大量復(fù)制,將會(huì)造成大量服務(wù)器都存在相同漏洞。
操作系統(tǒng)內(nèi)核:虛擬主機(jī)是病毒、木馬的重要攻擊對(duì)象,因此操作系統(tǒng)內(nèi)核是否采用加固技術(shù),計(jì)算/存儲(chǔ)節(jié)點(diǎn)、虛擬主機(jī)等是否得到保護(hù),也是數(shù)據(jù)存儲(chǔ)安全的一個(gè)保證點(diǎn)。
(2)虛擬化平臺(tái)層
虛擬化平臺(tái)的核心是虛擬機(jī)監(jiān)控器(VMM:Virtual Machine Monitor),負(fù)責(zé)監(jiān)控和管理其上的各個(gè)虛擬機(jī)(VM:Virtual Machine)。虛擬化平臺(tái)承載了大量虛擬機(jī),須重點(diǎn)防護(hù)和管控。多個(gè)虛擬機(jī)運(yùn)行于同一個(gè)虛擬化平臺(tái),若虛擬化平臺(tái)未做好網(wǎng)路隔離,惡意攻擊者可輕易對(duì)其它虛擬機(jī)發(fā)動(dòng)攻擊。
(3)虛擬化環(huán)境
在一個(gè)虛擬機(jī)系統(tǒng)中,由同一管理員負(fù)責(zé)管理數(shù)據(jù)中心、服務(wù)器和網(wǎng)絡(luò)等,失去了“1+1>2”的分管機(jī)制特征。
由于云的動(dòng)態(tài)調(diào)度性,虛擬機(jī)可以從一個(gè)虛擬化平臺(tái)遷移到另一個(gè)虛擬化平臺(tái)。對(duì)有著不同安全級(jí)別及防護(hù)需求的虛擬化環(huán)境,傳統(tǒng)的安全防護(hù)機(jī)制不易將安全策略套用到對(duì)應(yīng)的虛擬機(jī),造成安全管理上極大的復(fù)雜性。
在虛擬化環(huán)境中,管理員很容易添加或啟動(dòng)一個(gè)非法的虛擬機(jī)。此外,虛擬機(jī)鏡像是以文件的形式存在,可隨意復(fù)制與散播,不但內(nèi)部員工更容易監(jiān)守自盜,攻擊者入侵后更可輕易地復(fù)制一個(gè)完全相同的運(yùn)行環(huán)境。
應(yīng)用開發(fā)層分為頁(yè)面展示、配置管理、接口控制、業(yè)務(wù)邏輯和數(shù)據(jù)訪問五部分,主要的安全問題如下。
(1)頁(yè)面展示層是否有輔助性的安全設(shè)置,比如密碼控件、圖片驗(yàn)證碼、手機(jī)確認(rèn)碼等。
(2)若未對(duì)用戶輸入的合法性進(jìn)行判斷,容易發(fā)生注入問題,例如SQL注入,SQL注入是指通過把SQL命令插入到Web表單遞交,或者是輸入域名或頁(yè)面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。通過SQL注入可以獲取數(shù)據(jù)庫(kù)信息,導(dǎo)致隱私泄露。
(3)權(quán)限配置是否完整,即功能權(quán)限或者數(shù)據(jù)權(quán)限是否清晰正確,將會(huì)導(dǎo)致用戶數(shù)據(jù)是否泄露給其它用戶,從而引發(fā)數(shù)據(jù)安全問題。
(4)數(shù)據(jù)庫(kù)中數(shù)據(jù)是否隔離以及隔離的級(jí)別等影響了數(shù)據(jù)的安全性,隔離級(jí)別越高,越不容易泄露用戶信息給其它用戶。
本文從SaaS應(yīng)用服務(wù)體系架構(gòu)的用戶使用、物理部署和應(yīng)用開發(fā)三個(gè)層面出發(fā),分別分析了SaaS應(yīng)用存在的安全問題,說明SaaS應(yīng)用需要注意的安全問題非常多。本文只給出了安全問題,下一步工作是通過分析問題,結(jié)合實(shí)際應(yīng)用,提出問題的解決方案。
[1]王鵬.走進(jìn)云計(jì)算[M].北京:人民郵電出版社.2009.
[2]馮登國(guó),張敏,張妍,徐震.云計(jì)算安全研究[J].軟件學(xué)報(bào).2011.
[3]余娟娟.淺析“云安全”技術(shù)[J].計(jì)算機(jī)安全.2011.
[4]田維珍,郭歡歡,王連清.SaaS安全技術(shù)研究[J].計(jì)算機(jī)安全.2010.
[5]http://www.zdnet.com.cn/wiki-Cloud_Service.
[6]Philippe Kruchten.The 4+1 View Model of Architecture[J].IEEE Software.1995.
[7]方晶.云計(jì)算的虛擬化安全和單點(diǎn)登錄研究[D].北京交通大學(xué).2011.
[8]http://www.soft6.com/news/201109/30/202048.html.
[9]劉國(guó)萍,譚國(guó)權(quán),楊明川.基于云存儲(chǔ)的在線備份安全技術(shù)研究[J].電信科學(xué).2010.
[10]陳蘭,許力.云存儲(chǔ)服務(wù)中可證明數(shù)據(jù)持有及恢復(fù)技術(shù)研究[J].計(jì)算機(jī)研究與發(fā)展.2012.