那么,在我的眼中,云究竟是什么呢?隨著科技的發展,計算機性能的提高與網絡的普及,物理計算機本身和相互之間的邏輯化變得十分有活力,無論是VM(虛擬機)技術還是云技術都是把物理設備邏輯化的一種表現形式。只不過VM(虛擬機)是把外延縮小,云是把外延放大,我們可以把云看作一臺邏輯上獨立的大型計算機。有安全從業經驗的朋友可能會有這樣的認識,調試病毒的時候我們需要在VM(虛擬機)里進行,這樣就不會影響整個系統。也就是說當外延縮小時,安全性可以得到保障。但是外延放大的云有什么安全保障呢?目前的云沒有一個標準的安全接口規范,每一家提供商都是自己定義的連接接口。這種情況實際上就帶來了非常大的安全隱患,也為將來云與云之間的交互帶來了不便。
由于沒有一個標準化的接口定義,導致現有云產業的無序發展。就像一個單細胞生物進化到多細胞生物一樣,會有很復雜的演變過程和大量的拋棄分支。我相信大部分的問題是由于最初的安全定義不夠強壯,造成后續的代碼框架無法修改,或者修改的代價太大,不如重頭再來。我們以實際例子來看云的脆弱性:
1、終端安全問題
云的端接口是分發給客戶使用的也是最容易被得到分析的。以殺毒云為例,如果攻擊者通過分析病毒樣本提交的交互接口,直接利用自寫程序在多個計算機同時提交大量的樣本文件,那么殺毒云會不會死掉?即使服務器足夠強壯,可以抵御攻擊,那么海量的病毒樣本又該如何處理?
2、云節點間的安全問題
大部分的云節點之間都是基于一種簡單信任機制。以某網絡交易提供商為例,由于每個節點之間的完全信任關系,只要攻破其中的一個節點,就相當于完全控制了整個云。攻擊方案可以通過嗅探節點間的通訊,偽造新節點的加入達到控制的目的。攻擊的手段還有很多,僅此一斑,可見節點間安全帶來的嚴峻挑戰。
3、云與云之間的安全問題
集團內應用云和存儲云的連接、私有云和私有云的連接、私有云和公有云的連接、即時服務云和計算云的連接等等一系列連接的安全協議和規范都存在問題。入侵應用云后,模擬應用云給存儲云重放某些封包會不會存儲錯亂,私有云和私有云之間如何信任,私有云和公有云的連接怎么才能保障安全等等。
以上的一些攻擊構想都充分說明云安全的接口定義已經迫在眉睫了。
目前整個軟件行業都存在一個安全概念的缺失問題。在我看來做任何軟件的應用開發,首先在應用分析的基礎上建立一個安全框架,然后在這個安全的框架下進行開發,而不是為了只是完成客戶的功能需求,單純為了功能而Code。這涉及到整個軟件產業的基礎構架問題,這里不再贅述。我們還是回到云安全的問題上。首先分析云安全的基礎元素。按云的核心構成部分可以分為云的節點、云的接入端、云的邊界點(內邊界、外邊界);按照云的類型分為即時應用云(前端服務云、中臺服務云、存儲云)、運算云;將來可能會有主云、從云、中心云、輔助云、邊界云等等功能分化的云。
那么我們先看一下最簡單的安全接入問題,就是端的安全。首先接入的??要通過身份驗證才可以接入以確??尚判?、防抵賴性、唯一性。數據傳輸走加密信道,解碼進行必要的長度檢查和特殊字符過濾。當出現惡意接入或惡意攻擊可定位、可阻斷時,交互的協議可使用類似vpn隧道的建立過程。云節點的節點間通訊除了上面的端的安全性可用外,要增加必要的互信等級定義(全信任、服務信任、應用信任等),通訊內置可信標識(證書或硬件)接收端定義可使用協議種類標識。確保在限定的節點,發出限定的內容,同時過濾不可信的或惡意構造的數據包。云邊界的安全接口可以綜合上面提到的安全方案,但是要注意將交互定義明確化,區分內邊界和外邊界的安全級別定義的不同。特殊需要注意的是,因為應用云和運算云實時性和信任程度的不同,運算云可以使用更復雜的算法和安全認證技術,例如rsa2048的5次疊加握手,確保信道安全可靠不被攔截篡改。
當大規模云化網絡的實現完成后,就如同多細胞到功能分化的普通生物最后到人類一樣,開始功能專長化發展。最后組成由中心化的核心智能云調配各種特殊功能的專屬子云資源,當然這里面涉及到的云間信任、云間管理、云間協作等等一系列問題,留給專家組自行完善和討論吧。我這里先展望一下,也為云安全預敲一下警鐘。希望軟件業以后有概念性的東西出來,先建立安全框架再進行產業化,衷心的希望中國企業能夠聯合起來搶先制定云的安全接口標準,我們一起以“一流企業做標準”這句話共勉吧。