為什么開發(fā)人員掌握著云安全的關(guān)鍵
云計算安全是開發(fā)人員優(yōu)先事項。因為云安全的責任在于開發(fā)人員和開發(fā)團隊,而不是IT安全團隊。
在使用內(nèi)部部署數(shù)據(jù)中心和早期云應(yīng)用的時代,應(yīng)用程序開發(fā)人員、基礎(chǔ)設(shè)施運營和安全的角色基本上是孤立的。在云計算時代中,這種分工增加了創(chuàng)新產(chǎn)品投入市場的時間,降低了生產(chǎn)率,并帶來了不必要的風(fēng)險。
在數(shù)據(jù)中心環(huán)境中,開發(fā)人員構(gòu)建軟件應(yīng)用程序,IT團隊構(gòu)建運行這些應(yīng)用程序所需的基礎(chǔ)設(shè)施,而安全團隊負責確保應(yīng)用程序和基礎(chǔ)設(shè)施的安全。開發(fā)人員必須在底層基礎(chǔ)設(shè)施和操作系統(tǒng)的限制下構(gòu)建軟件,而安全流程決定了運行業(yè)務(wù)的速度。當安全部門在生產(chǎn)中發(fā)現(xiàn)漏洞時,補救過程通常涉及所有利益相關(guān)者和大量返工。
通過讓團隊擺脫數(shù)據(jù)中心的物理限制,云計算正在給IT行業(yè)帶來幾十年來最大的轉(zhuǎn)變。但是,企業(yè)花費數(shù)年時間才開始釋放云計算的真正潛力,將其作為構(gòu)建和運行應(yīng)用程序的平臺,而不是將其用作托管第三方應(yīng)用程序或從數(shù)據(jù)中心遷移過來的應(yīng)用程序的平臺。當云平臺僅僅作為一個遠程數(shù)據(jù)中心使用時,傳統(tǒng)的勞動分工就被保留了下來,云計算的大部分潛力都沒有實現(xiàn)。
但是,使用云計算作為構(gòu)建和運行應(yīng)用程序的平臺的轉(zhuǎn)變正在嚴重破壞安全性。從云客戶的角度來看,像AWS、MicrosoftAzure和谷歌云這樣的云平臺都是軟件,開發(fā)人員現(xiàn)在正在對云計算基礎(chǔ)設(shè)施的創(chuàng)建和管理進行編程,將其作為應(yīng)用程序一個組成部分。這意味著開發(fā)人員正在設(shè)計他們的云計算架構(gòu),設(shè)置安全關(guān)鍵配置,然后不斷地進行更改。
企業(yè)的機會
這一轉(zhuǎn)變?yōu)樵诟偁幖ち业男袠I(yè)中運營的企業(yè)提供了巨大的機會,因為應(yīng)用程序和云計算團隊的創(chuàng)新速度比在數(shù)據(jù)中心中要快得多。但對于那些需要確保日益復(fù)雜和高度動態(tài)的云計算環(huán)境的安全性的團隊來說,這是一個嚴峻的挑戰(zhàn)。
目前,解決云安全問題的唯一有效方法是使用工具授權(quán)開發(fā)人員在云中構(gòu)建和操作,以幫助他們安全地進行。如果做不到這一點,安全就會成為團隊在云計算中的速度和數(shù)字轉(zhuǎn)型成功程度的限制因素。
為了理解在云安全上授權(quán)開發(fā)人員意味著什么,需要定義開發(fā)人員的含義。這是一個涵蓋多個不同角色的廣泛的定義,其中包括:
?開發(fā)人員,他們在云中構(gòu)建并利用原生云服務(wù)作為應(yīng)用程序不可或缺的組件。在這個模型中,應(yīng)用程序和基礎(chǔ)設(shè)施之間的邊界是任意的和模糊的,如果不是完全消失的話。
?云計算工程師,他們使用基礎(chǔ)設(shè)施即代碼(IaC)來規(guī)劃云計算基礎(chǔ)設(shè)施環(huán)境的配置、部署和管理,并將該基礎(chǔ)設(shè)施交付給應(yīng)用程序開發(fā)人員。
云安全工程師,他們使用策略即代碼(PaC),以一種語言表達安全和遵從策略,其他應(yīng)用程序可以使用這種語言自動驗證安全性,并將這些策略即代碼(PaC)庫提供給企業(yè)的團隊。
無論他們的工作描述如何,開發(fā)人員控制云計算基礎(chǔ)設(shè)施本身,因為云計算是完全由軟件定義的。當他們在云中構(gòu)建應(yīng)用程序時,他們也在使用基礎(chǔ)設(shè)施即代碼(IaC)為應(yīng)用程序構(gòu)建基礎(chǔ)設(shè)施,開發(fā)人員擁有這個過程。
安全性和合規(guī)性策略作為代碼
這意味著安全團隊的角色已經(jīng)演變?yōu)橄蜷_發(fā)人員傳授知識和規(guī)則的領(lǐng)域?qū)<?,以確保他們在安全的環(huán)境中工作。他們使用策略即代碼(PaC),而不是用人類語言來表達這些規(guī)則以供他人理解和解釋,策略即代碼(PaC)檢查其他代碼和運行環(huán)境中不需要的條件。策略即代碼(PaC)使所有的云計算相關(guān)者能夠安全地操作,而不會在規(guī)則和如何在軟件開發(fā)生命周期(SDLC)的兩端應(yīng)用規(guī)則上產(chǎn)生歧義或分歧。
正確掌握云安全的企業(yè)擁護DevSecOps模型,并使開發(fā)人員能夠在部署后確保應(yīng)用程序的安全性。IDC公司預(yù)測,越來越多的開發(fā)人員(到2025年將超過4300萬人)將發(fā)現(xiàn),一旦代碼運行,他們將完全負責其持續(xù)的性能和安全。
很長一段時間以來,應(yīng)用程序都涉及到軟件開發(fā)生命周期(SDLC),其中包括創(chuàng)建、測試、部署和監(jiān)視階段。應(yīng)用程序安全性的“左移”運動在速度、生產(chǎn)力和安全性方面產(chǎn)生了顯著的投資回報率,因為在生命周期的早期修復(fù)問題更容易、更快、更安全。隨著基礎(chǔ)設(shè)施即代碼(IaC)的采用,云計算基礎(chǔ)設(shè)施現(xiàn)在有了自己的軟件開發(fā)生命周期(SDLC),這意味著云安全也可以在部署前階段解決。
云安全的主要問題是配置錯誤,但重要的是要認識到配置錯誤是云計算環(huán)境中任何被證明對阻止黑客無效的東西。人們最熟悉的是單一資源的錯誤配置,這些錯誤配置經(jīng)常在關(guān)于云計算服務(wù)遭到破壞的新聞報道中被強調(diào),例如讓危險端口打開或允許公眾訪問對象存儲服務(wù)。但錯誤配置還涉及整個運營環(huán)境的錯誤配置,屆普中使攻擊者具有發(fā)現(xiàn)、移動和數(shù)據(jù)提取能力的架構(gòu)漏洞。
每一次重大的云計算漏洞都涉及到對云計算環(huán)境中這些設(shè)計缺陷的利用或控制平臺的破壞。控制平臺是配置和操作云的API表面。例如,可以使用控制平臺構(gòu)建容器、修改網(wǎng)絡(luò)路由、訪問數(shù)據(jù)庫中的數(shù)據(jù)或數(shù)據(jù)庫快照。對于黑客來說,訪問快照比訪問實時生產(chǎn)數(shù)據(jù)庫更受歡迎。換句話說,API控制平臺是用于配置和操作云計算的API的集合。
API驅(qū)動云計算。它們消除了集中式數(shù)據(jù)中心對固定IT架構(gòu)的需求。API還意味著網(wǎng)絡(luò)攻擊者不必遵守企業(yè)在其內(nèi)部數(shù)據(jù)中心中圍繞系統(tǒng)和數(shù)據(jù)存儲設(shè)置的任意邊界。雖然識別和糾正錯誤配置是優(yōu)先事項,但必須了解錯誤配置只是網(wǎng)絡(luò)攻擊者達到最終目的的一種手段:控制平臺漏洞。這在迄今為止的每一次重大云泄漏中都都起到了關(guān)鍵作用。
授權(quán)開發(fā)人員保護云平臺
授權(quán)開發(fā)人員在開發(fā)基礎(chǔ)設(shè)施即代碼(IaC)來時發(fā)現(xiàn)和修復(fù)云計算錯誤配置是至關(guān)重要的,但為他們提供所需的工具,以設(shè)計能夠抵御當今控制平臺漏洞攻擊的云架構(gòu),也是同樣重要的。
任何企業(yè)都可以采取五個步驟有效地授權(quán)開發(fā)人員在云中安全操作:
(1)了解云計算環(huán)境和軟件開發(fā)生命周期(SDLC)。安全團隊應(yīng)該將工程師嵌入到應(yīng)用程序和開發(fā)團隊中,以了解正在運行的一切,如何配置,如何開發(fā)和部署,以及發(fā)生更改時的情況。還應(yīng)該知道哪些應(yīng)用程序與云計算資源關(guān)聯(lián),以及任何數(shù)據(jù)及其使用方式。像黑客一樣去識別控制平臺的漏洞風(fēng)險。
(2)優(yōu)先考慮安全設(shè)計,防止錯誤配置。一旦控制平臺漏洞開始攻擊,通常已經(jīng)來不及阻止。有效的云安全需要防止可能發(fā)生這些攻擊的條件。將安全性嵌入到到整個云計算軟件開發(fā)生命周期(SDLC)中,以便在部署錯誤配置之前捕獲錯誤配置,并專注于設(shè)計固有的安全環(huán)境體系結(jié)構(gòu)。
(3)為開發(fā)人員提供安全指導(dǎo)工具。開發(fā)人員的行動非常迅速,如果希望在不影響速度的情況下采用任何安全工具,都需要按照它們的工作方式工作。云安全工具應(yīng)該為開發(fā)人員提供有用的、可操作的關(guān)于安全問題的反饋,以及如何快速糾正這些問題,以便他們能夠繼續(xù)工作。
(4)采用策略作為云安全的代碼。策略即代碼(PaC)通過授權(quán)所有云計算利益相關(guān)方安全操作,從而幫助安全團隊利用他們所擁有的資源擴展他們的工作,在規(guī)則是什么以及應(yīng)該如何應(yīng)用規(guī)則方面沒有任何歧義或分歧。它的作用是使所有團隊在策略的單一真實來源下保持一致,消除解釋和應(yīng)用策略時的人為錯誤,并在軟件開發(fā)生命周期(SDLC)的每個階段實現(xiàn)安全自動化(評估和執(zhí)行等)。
(5)專注于測量和過程改進。云安全與入侵檢測和監(jiān)控網(wǎng)絡(luò)的惡意活動無關(guān),更多的是關(guān)于改進云安全流程以防止攻擊的發(fā)生。成功的云計算團隊會持續(xù)對其環(huán)境的風(fēng)險以及開發(fā)人員和安全團隊的生產(chǎn)力進行評分,隨著容易出錯的人工任務(wù)被自動化,這些工作應(yīng)該會得到提高。
開發(fā)人員是在部署前保護代碼的最佳(通常也是唯一)位置,在運行時維護代碼的安全完整性,并更好地理解在代碼中提供修復(fù)的特定位置。但他們也是人類,在一個不斷試驗和失敗的世界中容易犯錯。建立在策略即代碼(PaC)上的自動化通過在部署錯誤之前對不斷搜索和捕獲錯誤的過程進行自動化來消除人為錯誤的風(fēng)險。
而采用開發(fā)人員優(yōu)先的云安全方法的企業(yè)將比競爭對手創(chuàng)新得更快、更安全。