隨著企業(yè)越來越多轉(zhuǎn)向容器技術(shù)以改進自身應(yīng)用交付能力與敏捷性,容器及其內(nèi)容的安全性影響也開始受到愈發(fā)嚴格的審查。
容器供應(yīng)商Docker、紅帽以及其它企業(yè)正在積極行動,旨在就安全性相關(guān)顧慮進行市場安撫。去年8月,Docker在最新推出的Docker 1.8版本當中提供Docker Content Trust功能。其利用加密機制對運行在Docker用戶軟件基礎(chǔ)設(shè)施之內(nèi)的代碼及軟件版本進行保護。這一設(shè)計思路旨在保護Docker用戶免受惡意后門的侵襲,具體包括共享應(yīng)用鏡像以及其它潛在安全威脅。
Docker Content Trust專注于實現(xiàn)所交付Docker容器內(nèi)容的一致性。最終,其會利用加密簽名進行Docker鏡像部署,這套方案亦適用于Linux內(nèi)核開發(fā)并為眾多嵌入式系統(tǒng)開發(fā)商及OEM廠商所選擇,旨在確保只有經(jīng)過簽名的鏡像才能夠進行啟動(例如三星KNOX Android代碼)。
然而,這也只是容器安全的惟一一道屏障。換言之,我們在保障整套鏡像免受安全漏洞威脅方面面臨著嚴峻挑戰(zhàn)。如果企業(yè)無法確保軟件堆棧與應(yīng)用組合遠離已知威脅、有漏洞開源軟件源代碼版本等因素,那么上述舉措只能作為部分解決方案而非真正搞定問題。如果沒有這種開源清理機制作為輔助,我們所使用的代碼將始終同其剛剛被開發(fā)出時一樣——其中包含著大量存在于開源組件內(nèi)的安全漏洞。
一種更為全面的容器安全實現(xiàn)方式
我們需要的是利用可靠的開源技術(shù)選項、用戶與開源代碼集成警惕性以及代碼持續(xù)維護工作。而最重要的是了解自己的代碼內(nèi)容,因此我們無法管理自己看不到的事物。
對容器內(nèi)部代碼具備可審視能力對容器安全來說至關(guān)重要,其甚至是決定容器自身是否安全的先決條件。新型安全漏洞正被不斷發(fā)現(xiàn),而這些漏洞都會給開源組件各前期版本造成影響。因此,從構(gòu)建及部署工作之初就確保其中不存在安全漏洞可謂至關(guān)重要,但單純做到這一點還遠遠不夠。保護容器內(nèi)容在困難程度上同保護其它軟件堆棧安全性并無區(qū)別,其惟一的特性就是我們該何時以及如何在容器開發(fā)與部署完成之后繼續(xù)保持對其可查看能力。
容器帶來的安全風險具體取決于通過容器所訪問之數(shù)據(jù)的敏感性程度以及容器部署的具體位置,例如在防火墻之后抑或是面向互聯(lián)網(wǎng)。
面向互聯(lián)網(wǎng)的Web與云應(yīng)用已經(jīng)成為網(wǎng)絡(luò)犯罪活動的主要目標,而且明顯代表著最可怕的潛在風險。作為一類公開攻擊面,它們會受到各種攻擊活動的侵擾,包括跨站點腳本、SQL注入以及拒絕服務(wù)等等。考慮到開源框架與其它云/Web應(yīng)用組件的大規(guī)模普及,通過開源清理工作對這些組件當中的安全漏洞進行處理能夠顯著提升安全性水平。
為什么開源清理如此必要
隨著開源軟件在企業(yè)環(huán)境中不斷普及,再加上最近高曝光度開源安全漏洞的大量出現(xiàn),如今開源清理已經(jīng)成為實現(xiàn)安全需求并建立強大應(yīng)用安全戰(zhàn)略的一類重要組成部分。正如醫(yī)療衛(wèi)生領(lǐng)域注視清理感染源,開源清理工作亦著眼于代碼源頭,旨在確保軟件堆棧及應(yīng)用程序組合當中所使用的開源代碼不受已知可利用漏洞的影響。這一點對于容器乃至整套軟件堆棧中的各個元素都非常重要。
任何類型的軟件當中都必然存在著安全漏洞,開源代碼自然也不例外。檢測并解決開源項目中的安全漏洞正變得愈發(fā)重要,特別是在Heartbleed以及Freak兩大高關(guān)注度安全漏洞曝光以來,很多企業(yè)已經(jīng)開始將開源代碼清理作為強大應(yīng)用安全戰(zhàn)略中的關(guān)鍵性組成部分。另外,目前眾多組織機構(gòu)也開始將應(yīng)用程序安全以前所未有的力度同容器安全加以結(jié)合。
好消息是,對于正在開發(fā)端到端開源安全戰(zhàn)略的企業(yè)而言,目前已經(jīng)存在著大量創(chuàng)新型工具,足以作為理想的戰(zhàn)術(shù)性立足點。這些工具能夠?qū)浖M合中的全部開源組成部分進行分類——從Linux、Android以及Hadoop等完整平臺到個別代碼組件,甚至能夠一路細化到內(nèi)部開發(fā)之應(yīng)用代碼甚至代碼片段的水平。
這些掃描工具在切合企業(yè)用戶需求或者被集成至軟件開發(fā)流程當中后,能夠提供大量重要信息供決策者參考及實施,而且完全不會拖慢或者推遲產(chǎn)品的上市周期。
要想實現(xiàn)開源清理,我們必須建立起強大的流程以實現(xiàn)以下幾項檢查工作:
應(yīng)用程序與哪款開源軟件協(xié)作運作或者一同部署
這款開源軟件處于構(gòu)建樹及系統(tǒng)架構(gòu)中的各個位置
該代碼是否存在已知安全漏洞
創(chuàng)建一份準確的開源風險概要
安全擔憂是否會拖慢容器普及速度?
企業(yè)組織如今之所以積極接納容器技術(shù),是因為其具備諸多成熟性優(yōu)勢:提升應(yīng)用程序可擴展能力、降低部署出錯機率、縮短產(chǎn)品上市時間并簡化應(yīng)用程序管理。而隨著企業(yè)多年來對開源項目的觀點逐漸由純粹的好奇轉(zhuǎn)化為以精力需要為出發(fā)點,容器似乎已經(jīng)達到了類似的發(fā)展轉(zhuǎn)折點。另外,正如開源代碼一樣,目前市場同樣提出了類似的問題——安全問題是否會阻礙其進一步普及。
行業(yè)分析師們對這一問題的結(jié)論有所不同。Forrester研究公司的Dave Bartoletti認為安全問題不會顯著降低容器的普及速度,甚至這類虛擬化技術(shù)的前進腳步會快于安全要求的逐步明確。“在虛擬化領(lǐng)域,人們無論如何都會進行部署,即使安全部門與合規(guī)性要求皆未到位,而且我認為我們在Docker身上將看到同樣的跡象,”Bartoletti表示。
與此同時,451研究公司的Adrian Sanabria則認為,企業(yè)將對容器保持敬而遠之的態(tài)度,直到與之相關(guān)的安全標準得以確定及建立。“實際情況是,安全已經(jīng)成為一大重要障礙,其直接導(dǎo)致很多企業(yè)根本不會嘗試容器技術(shù),直到一定程度的標準陸續(xù)出臺,”Sanabria斷言。而作為這種論調(diào)的另一項證明,紅帽公司于2015年1月在亞太地區(qū)、歐洲、中東以及北美進行了一次調(diào)查,并發(fā)現(xiàn)有53%的受訪者表示安全性是他們在面對容器技術(shù)采納時最關(guān)注的方向。
為了克服這些障礙,企業(yè)應(yīng)當采取更理想的行動對自身軟件基礎(chǔ)架構(gòu)內(nèi)的全部元素進行審視與控制,其中當然也包括容器技術(shù)因素。