作者:王春艮 思科系統(tǒng)架構(gòu)師
作者:柴愛軍 思科資深系統(tǒng)工程師
思享家
是一個(gè)介紹如何利用思科先進(jìn)技術(shù)解決客戶難題的欄目。每期聚焦一個(gè)技術(shù)熱點(diǎn)或應(yīng)用場(chǎng)景,邀請(qǐng)資深思科技術(shù)專家深入淺出地介紹,為讀者提供實(shí)用性強(qiáng)的建議。
傳統(tǒng)供應(yīng)鏈 vs 軟件供應(yīng)鏈
提到供應(yīng)鏈,大家通常都會(huì)想到各種商品的采購和供應(yīng),熟悉思科的行業(yè)人士還會(huì)想到思科蟬聯(lián) Gartner 評(píng)選的全球供應(yīng)鏈企業(yè)第一。思科的端到端供應(yīng)鏈風(fēng)險(xiǎn)管理,也是 NIST (國家標(biāo)準(zhǔn)技術(shù)研究所)官方發(fā)布的最佳實(shí)踐 ( Best Practices In Cyber Supply Chain Risk Management )。我們以其中的思科供應(yīng)鏈主安全規(guī)范為例,列舉了 11 個(gè)安全域的 180 個(gè)規(guī)范定義,既包括各類硬件產(chǎn)品供應(yīng)鏈,也包括各類軟件產(chǎn)品的全生命周期供應(yīng)鏈安全規(guī)范和管理,比如其中第 10 項(xiàng)為:
10.1 Secure Design and Development Lifecycle (安全設(shè)計(jì)和開發(fā)生命周期)
10.2 Configuration and Change Management (配置和變更管理)
實(shí)物供應(yīng)鏈 vs 軟件供應(yīng)鏈(從 Plan 到 Monitor “鏈” )
那么為什么思科要將軟件供應(yīng)鏈安全作為安全管理的重要內(nèi)容呢?
復(fù)雜與安全相伴相生
首先一個(gè)原因是,開源軟件已成為現(xiàn)代化軟件開發(fā)過程中最最基礎(chǔ)的軟件供應(yīng)鏈原材料。軟件吞噬世界、云計(jì)算和云原生的迅猛發(fā)展,都印證并加速了開源領(lǐng)域的進(jìn)步與無限普及。但這也導(dǎo)致供應(yīng)鏈條無限復(fù)雜,企業(yè)往往無從知曉應(yīng)用引用了多少開源代碼,也無從知曉開源引用的層級(jí)數(shù)量。這種不可知性,一旦遇到企業(yè)兼并、應(yīng)用整合的情況,就會(huì)非常棘手1。
正如從Plan到Monitor “鏈”,以鏈條形式形象地標(biāo)示了 SDLC ( Software Development Life Cycle ) 的每一個(gè)基本環(huán)節(jié),每一個(gè)環(huán)節(jié)都會(huì)發(fā)生上圖的復(fù)雜引用/依賴關(guān)系,伴隨而來的是無處不在的安全風(fēng)險(xiǎn)。
Plan 到 Monitor “鏈” ,還只是極簡的 SDLC 過程示意圖,這里舉一個(gè)實(shí)際的產(chǎn)品例子。作為 SD-WAN 市場(chǎng)領(lǐng)導(dǎo)者 ( Gartner 2022 ) ,思科 vManage SDLC實(shí)際的完整流程 (針對(duì) AWS VPC 場(chǎng)景) 如下。
針對(duì) AWS VPC 的持續(xù)集成/持續(xù)部署
自動(dòng)化地持續(xù)集成和持續(xù)部署,也即人們常說的 CI/CD Pipeline ,雖然看起來是另一個(gè)層面的示意簡圖,但已然相當(dāng) “復(fù)雜” 了。在很多企業(yè)里面,完整的應(yīng)用都是模塊化的,每個(gè)模塊的 CI/CD Pipeline 亦往往比上圖更加復(fù)雜,代碼引用和依賴甚至?xí)_(dá)到撲朔迷離、盤根錯(cuò)節(jié)、縱橫交錯(cuò)的程度,這給了無處不在的網(wǎng)絡(luò)威脅更多可乘之機(jī),最終釀成事故,比如近些年發(fā)生的 NPM 包被劫持、Apache Log4j2 、NPM 包遭供應(yīng)鏈投毒、開源音頻編解碼器漏洞、依賴包混淆攻擊、 API 誤用……
層次化安全技術(shù)域與 “Shift Left”
此外,如今受到熱捧的低代碼、無代碼、多云/混合云,更是讓應(yīng)用安全漏洞變得無處不在,企業(yè)比以往任何時(shí)候更需要確保端到端全鏈路(技術(shù)域)軟件供應(yīng)鏈安全。
層次化安全技術(shù)域
企業(yè)應(yīng)從戰(zhàn)略高度考慮整體安全,對(duì)應(yīng)到軟件供應(yīng)鏈,既要考慮軟件的 SDLC 、又要考慮軟件的傳播、內(nèi)部/外部使用。缺乏足夠安全,不僅影響基本的軟件供給,也會(huì)影響企業(yè)的創(chuàng)新和競爭力,并帶來多方面的巨大損失。如果您正制定現(xiàn)代數(shù)字化轉(zhuǎn)型戰(zhàn)略,那么軟件供應(yīng)鏈安全將成為您戰(zhàn)略基礎(chǔ)的重要部分。
雖然如此,就絕大多數(shù)企業(yè)而言,軟件供應(yīng)鏈安全依然處于“第二優(yōu)先級(jí)”,優(yōu)先級(jí)依然處于后開發(fā) ( post-development ) 、后部署 ( post-deployment ) 級(jí)別,甚至更低。滿足產(chǎn)品研發(fā)需求、滿足市場(chǎng)業(yè)務(wù)需要,依然是軟件開發(fā)中第一優(yōu)先級(jí),將軟件安全完全交(踢)給了后期部署、運(yùn)維。這與應(yīng)對(duì)日益增長的軟件供應(yīng)鏈安全攻擊 ( Gartner – 2022 年主要安全和風(fēng)險(xiǎn)管理趨勢(shì) ) 的正確做法背道而馳。
改進(jìn)的唯一方法,就是在軟件開發(fā)周期伊始 ( Shift Left ) ,便將安全性作為主要考慮因素和驅(qū)動(dòng)力,從軟件代碼開發(fā)流程的源頭做起,而不是軟件開發(fā)最后的附加組件。
從軟件代碼開發(fā)流程開始就考慮安全性
思科的成功實(shí)踐
前述 NIST 機(jī)構(gòu)發(fā)布的思科軟硬件供應(yīng)鏈最佳實(shí)踐,既體現(xiàn)在思科自身的成功實(shí)踐中2,也體現(xiàn)在思科成功的商用產(chǎn)品交付中,即思科六大技術(shù)戰(zhàn)略支柱之一 —— 優(yōu)化應(yīng)用體驗(yàn)與安全 ( Optimized Application Experiences ) , 提供全?捎^察的智能運(yùn)維和層次化軟件供應(yīng)鏈安全防護(hù)。思科 Secure Application 也是業(yè)界排名第一的安全解決方案3。
思科層次化安全, 全域保護(hù)軟件供應(yīng)鏈安全
數(shù)字化企業(yè)正處于一個(gè)日益動(dòng)態(tài)演進(jìn)的環(huán)境中,需要在快速創(chuàng)新的同時(shí),遏制惡意安全威脅上升的空前勢(shì)頭。行業(yè)數(shù)據(jù)統(tǒng)計(jì)顯示,平均每個(gè)企業(yè) 39 秒就會(huì)遭受一次攻擊,且發(fā)現(xiàn)漏洞的平均時(shí)間超過 6 個(gè)月。除了不斷上升的安全風(fēng)險(xiǎn)之外,隨著組織采用云技術(shù)來獲得靈活性和成本優(yōu)勢(shì),現(xiàn)代應(yīng)用系統(tǒng)的復(fù)雜性也在增加。傳統(tǒng)的應(yīng)用系統(tǒng)和安全監(jiān)控工具并未跟上技術(shù)發(fā)展的步伐,讓應(yīng)用和安全團(tuán)隊(duì)難以有效監(jiān)管軟件供應(yīng)鏈的安全邊界。各個(gè)團(tuán)隊(duì)需要一種新方法在不犧牲效率的同時(shí),保障軟件供應(yīng)鏈安全。
思科認(rèn)為層次化、全域、Shift Left、持續(xù)評(píng)估、持續(xù)適配是軟件供應(yīng)鏈安全防護(hù)五大特色。軟件從 “生產(chǎn)” 到 “消費(fèi)” ,有效的供應(yīng)鏈保護(hù)必須從代碼的源頭做起,并隨著軟件的啟用、流淌過網(wǎng)絡(luò)上不同層次的技術(shù)域,為整個(gè)技術(shù)域的 “鏈條” 提供安全防護(hù)。“生產(chǎn)” 出的軟件代碼不是一成不變的,為響應(yīng)市場(chǎng)需求而快速迭代應(yīng)用代碼,是現(xiàn)代化軟件特色,但不能因?yàn)榉磸?fù)迭代而忽略或減低應(yīng)用安全防護(hù)。因此構(gòu)建層次化安全防護(hù)的同時(shí),需要對(duì)迭代的應(yīng)用做持續(xù)評(píng)估、持續(xù)適配。
DevSecOps – 持續(xù)評(píng)估安全威脅、與業(yè)務(wù)邏輯管理
通過在應(yīng)用開發(fā)、運(yùn)維和安全團(tuán)隊(duì)之間創(chuàng)建共享上下文來簡化漏洞修復(fù)和安全事件的生命周期。
負(fù)責(zé)性能監(jiān)控的運(yùn)維工程師也可實(shí)時(shí)訪問所有安全事件。AppSec 和開發(fā)人員可以深入洞察應(yīng)用訪問的異常行為和受影響的業(yè)務(wù),在同一平臺(tái)中無縫協(xié)作,消除隱患。與此同時(shí),AppSec 和 Devops可將安全性引入現(xiàn)有的軟件供應(yīng)鏈自動(dòng)化并推進(jìn) DevSecOps 文化,在持續(xù)運(yùn)行時(shí)保護(hù)、實(shí)時(shí)修復(fù)和安全性自動(dòng)化的加持下,確保更低風(fēng)險(xiǎn)、更高效的運(yùn)營。
DevSecOps – 在應(yīng)用開發(fā)和安全運(yùn)營之間構(gòu)建通用的語言
思科 “優(yōu)化應(yīng)用體驗(yàn)與安全” 業(yè)務(wù),基于云原生、全棧可觀察 ( FSO ) 和應(yīng)用安全三大類解決方案,幫助客戶深入拓展云原生應(yīng)用、基礎(chǔ)架構(gòu)自動(dòng)化,提供從應(yīng)用到基礎(chǔ)架構(gòu)的全棧可觀察,保障客戶全棧全生命周期的層次化軟件供應(yīng)鏈安全。這一塊業(yè)務(wù),已經(jīng)連續(xù)五年保持兩位數(shù)增長,足以說明客戶對(duì)思科 “安全” 理念和貫徹理念能力的認(rèn)可。未來我們還會(huì)與大家分享思科在這一領(lǐng)域的更多實(shí)踐。
1. 參考思科官網(wǎng)報(bào)告,Moving Left and Right, Cybersecurity Processes and Outcomes in M&A Due Diligence, by CLTC, UC Berkeley
2. 參考思科官網(wǎng)相關(guān)白皮書 Cisco Secure Development Lifecycle
3. 參考Gartner報(bào)告,Critical Capabilities for Application Performance Monitoring and Observability, 2022年