8月10日,由懸鏡安全主辦、以“開源的力量”為主題的DSS 2023數(shù)字供應(yīng)鏈安全大會在北京·國家會議中心隆重召開。螞蟻集團網(wǎng)絡(luò)安全副總經(jīng)理程巖出席并發(fā)表了《螞蟻集團軟件供應(yīng)鏈安全實踐》主題演講。
圖1?螞蟻集團網(wǎng)絡(luò)安全副總經(jīng)理程巖發(fā)表主題演講
以下為演講實錄:
尊敬的各位領(lǐng)導,各位嘉賓,謝謝子芽給我們這樣的寶貴機會來分享螞蟻集團在軟件供應(yīng)鏈安全方面的實踐。我叫程巖,花名“小哥”。這次我的主題分享會從四個方面展開。
一、軟件供應(yīng)鏈面臨的風險與挑戰(zhàn)
供應(yīng)鏈面臨哪些威脅?第一是代碼漏洞,第二是供應(yīng)鏈惡意投毒,第三是合規(guī)斷供問題,這次重點講前兩者。代碼漏洞和惡意投毒的問題猶如冰山,已經(jīng)被曝露的漏洞或事件只是海面上的冰山一角,冰山之下還有多少?沒有人能準確回答。同樣為什么供應(yīng)鏈安全話題如此火熱和被大家所重視,也是因為這類威脅的攻擊門檻低、攻擊方式隱蔽、影響范圍大而且危害大。
為了確保供應(yīng)鏈安全風險可控,我們會面臨怎樣的挑戰(zhàn)?
第一個挑戰(zhàn),生產(chǎn)源頭不可控。無論我們自己的安全意識如何,任何一家企業(yè)、院校、監(jiān)管單位、安全機構(gòu)都無法百分之百保證開源軟件的安全性。
第二個挑戰(zhàn),穩(wěn)定性不可靠。由于生產(chǎn)源頭不可控,而且開源是非常開放的形式,無法保證開發(fā)的軟件新版本包括國內(nèi)外其他開源軟件百分之百向下兼容。
第三個挑戰(zhàn),復雜的實際場景。不同的應(yīng)用對同一個組件的調(diào)用方法、傳入?yún)?shù)是否外部可控等復雜多樣,當爆發(fā)漏洞時,難以確定風險的真實影響面,無法確定真正需升級的應(yīng)用系統(tǒng),只能選擇傷筋動骨地按版本號一刀切式的全部升級。
第四個挑戰(zhàn),爆炸式的依賴。直接依賴、間接依賴和次間接依賴的存在,導致某一組件爆發(fā)漏洞,往往隨之引發(fā)放大效應(yīng),波及范圍廣,且非常隱秘。
上述風險和挑戰(zhàn)的存在,使得不管是企業(yè)還是整個國家層面,對于供應(yīng)鏈安全建設(shè)的要求和期待,不僅要面向合規(guī),更要面向?qū)崙?zhàn)。
二、集團軟件供應(yīng)鏈安全目標思考
在如此嚴峻的安全形勢下,面對眾多不可控的情況和混沌狀態(tài),思考金融類企業(yè)安全建設(shè)前首先需要先明確安全目標,以終為始,確定安全建設(shè)終態(tài)的效果是什么。螞蟻集團對供應(yīng)鏈安全建設(shè)的終態(tài)分為兩個方向:
2.1 讓安全滿意
先找準服務(wù)對象,即讓安全滿意,沒有安全就沒有用戶放心把錢交給金融類企業(yè)。如何“讓安全滿意”,我們認為有四個方向或者稱四種狀態(tài):
第一,第一時間獲悉投毒、漏洞、斷供、合規(guī)等方面的情報,并且在真正的攻擊來臨之前快速有效止血。
第二,止血只能解決當下問題,不能解決長期問題,對于高安全型企業(yè)而言,要求止血更要求徹底修復。與此同時,看不見、燈下黑、沒人養(yǎng)的系統(tǒng)所存在的安全問題也能得到解決。
第三,已知問題不再重復發(fā)生。從實踐來看,大多數(shù)企業(yè)往往在開發(fā)過程中仍會引入過去使用過且存在風險的鏡像或者組件,大部分安全人員也并不清楚哪些組件是較為安全的。問題解決是可喜的,但相同問題再次出現(xiàn),可能意味著“老樹開新花”,存在巨大風險。
第四,無懼未知攻擊。當0Day漏洞爆發(fā)時可以快速響應(yīng)和修復,甚至做到提前免疫。
2.2 讓業(yè)務(wù)爽
安全不能只是在管理和指揮業(yè)務(wù)。在一家企業(yè)里,如果業(yè)務(wù)出現(xiàn)問題無法發(fā)展,安全就沒有生存余地,安全目的其實是幫助業(yè)務(wù)成功,讓業(yè)務(wù)安全穩(wěn)定地發(fā)展壯大。所以當安全的核心訴求得到一定滿足以后,接下來要思考的問題是如何讓業(yè)務(wù)滿意或者讓業(yè)務(wù)爽。怎么理解“爽”?有以下幾點:
- 安全要給業(yè)務(wù)足夠長的修復時間。業(yè)務(wù)不希望熬夜加班來修復漏洞,此外,因為金融系統(tǒng)較為復雜,一旦出現(xiàn)問題會影響支付行為,需要較長的修復發(fā)布時間。
- 安全要讓業(yè)務(wù)低成本完成修復升級發(fā)布。發(fā)布工作要經(jīng)歷非常重要和穩(wěn)定的周期,尤其是非常關(guān)鍵核心系統(tǒng),往往需要2-3天才能保證全鏈路無損發(fā)布。如果每次漏洞修復要投入2-3天的時間精力,這對于業(yè)務(wù)而言,修復成本是不可理解的。
- 安全要幫助修復。研發(fā)往往會有訴求,希望安全幫助修復他代碼中存在的漏洞。
- 安全要保姆式推薦。業(yè)務(wù)往往希望安全能如保姆一般在旁指導,在開發(fā)過程中就推薦或者直接幫助選擇安全版本的組件。
圖2 程巖分享螞蟻集團的供應(yīng)鏈安全實踐經(jīng)驗和成果
三、螞蟻集團軟件供應(yīng)鏈安全體系發(fā)展
為了達到上述終態(tài)效果,螞蟻經(jīng)歷了三個階段來推進相關(guān)建設(shè)。
1.0階段:十萬火急
基于我多年來在甲方工作的經(jīng)歷,我發(fā)現(xiàn)每個甲方在遇到安全問題時都認為是十萬火急的。在這個階段,我們將安全活動分為應(yīng)急態(tài)、研發(fā)態(tài)、運營態(tài)。
應(yīng)急態(tài)包含止血策略WAF、排查策略SAST和DAST以及修復策略手工修復和緊急發(fā)布。
研發(fā)態(tài)&運行態(tài)是為了防止0Day復現(xiàn),包含利用SAST和DAST工具進行巡檢查漏補缺以及通過SAST和IAST工具進行安全卡點避免再犯。
圖3?螞蟻集團軟件供應(yīng)鏈安全體系建設(shè)1.0階段
2.0階段:游刃有余
1.0階段必然無法實現(xiàn)“讓安全滿意”“讓業(yè)務(wù)爽”的效果,所以我們進入2.0階段:讓安全和研發(fā)可以放心、不著急地將安全漏洞解決,所以稱為“游刃有余”。在這個階段,我們同樣將安全活動分為應(yīng)急態(tài)、研發(fā)態(tài)、運營態(tài)。
相較于1.0階段,2.0階段的應(yīng)急態(tài)補充了大量工作,比如在止血策略中補充了RASP和miniRASP,其中miniRASP是針對短期運行的計算任務(wù)所采取的輕量級注入方式;同時在排查策略中補充了SCA,用于梳理間接依賴和鏈路畫像。我們認為只有支持間接依賴檢測的SCA才是真正的SCA。所以1.0階段,我們SCA這個方塊里標注的只是SAST。
值得一提的是,2.0階段,我們在應(yīng)急修復層面實現(xiàn)了無痛升級。無痛修復首先需要知道不受到漏洞威脅的組件版本,以及為了防止兼容性問題,需要確認安全修復版本與存在漏洞版本相比,在組件代碼層面有哪些修改,是否夾帶“私貨”或大幅修改原有組件代碼邏輯,且這個“不兼容”修改是否影響業(yè)務(wù)系統(tǒng)的代碼鏈路。一旦發(fā)現(xiàn)安全修復版本的代碼會影響業(yè)務(wù)系統(tǒng)鏈路,便可判斷系統(tǒng)不能自動升級,需要研發(fā)人工介入來觀察修復穩(wěn)定性。當通過上述方式確保漏洞修復不會影響業(yè)務(wù)系統(tǒng)鏈路時,便可以幫助業(yè)務(wù)部門進行自動升級,會幫助研發(fā)人員修改代碼,會進行自動化發(fā)布和回歸測試以及線上監(jiān)控系統(tǒng)觀察,研發(fā)人員只需要接收報警信息后快速響應(yīng)和處置即可,所以稱為無痛升級。
圖4 螞蟻集團軟件供應(yīng)鏈安全體系建設(shè)2.0階段
3.0階段:持續(xù)可信
相較于2.0階段,3.0階段是為了實現(xiàn)對未知威脅的免疫。何謂可信?是明確應(yīng)用系統(tǒng)可執(zhí)行的進程和行為,即便應(yīng)用本身存在漏洞或被投毒。目前我們?nèi)栽趯?.0階段進行持續(xù)打磨,爭取實現(xiàn)真正意義上的完全可信。
圖5 螞蟻集團軟件供應(yīng)鏈安全體系建設(shè)3.0階段
四、螞蟻集團軟件供應(yīng)鏈安全實踐分享
接下來分享我們在軟件供應(yīng)鏈安全實踐方面的三個有意思的經(jīng)驗和成果,希望能給大家啟發(fā)。
-
1.螞蟻集團軟件供應(yīng)鏈組件全生命周期管控流程
我們公司基本都是通過自研的方式來開發(fā)系統(tǒng),所以面臨的安全問題主要集中在組件的供應(yīng)鏈安全威脅上。在整個管控流程中,有個重要的環(huán)節(jié)我們稱之為“版本保鮮”,即當研發(fā)人員嘗試引入了一個低版本或者存在安全問題的組件時,因在制品庫層面進行組件版本的保鮮控制,這個低版本根本無法被構(gòu)建時候引入成功,如此從源頭管控組件的安全。
圖6 螞蟻集團軟件供應(yīng)鏈組件全生命周期管控流程
-
2.軟件供應(yīng)鏈組件輔助修復技術(shù)
業(yè)務(wù)系統(tǒng)在安全卡點之后,自動輔助研發(fā)人員進行修復,其核心在于對螞蟻集團常用的組件進行掃描檢測和修改引入的版本,并通過PR的方式告知相關(guān)研發(fā)人員,由他們來審查該安全修復是否對業(yè)務(wù)產(chǎn)生影響,從而實現(xiàn)業(yè)務(wù)穩(wěn)定性和安全性的平衡。
圖7 螞蟻集團軟件供應(yīng)鏈組件輔助修復技術(shù)應(yīng)用流程
3.應(yīng)用可信解決方案
我們認為當下真正可信的解決方案應(yīng)該是可以在企業(yè)內(nèi)部實現(xiàn)大規(guī)模、可持續(xù)落地的安全解決方案,而非華麗的銀彈。如圖所示,首先在我們推出的安全平行切面底座上配置的各類行為規(guī)則,然后應(yīng)用可信解決方案的核心是可信策略運營,即通過持續(xù)輕量級的運營,讓應(yīng)用、容器、網(wǎng)絡(luò)行為能夠被持續(xù)地監(jiān)測和風險收斂,并且不影響其正常的功能。
圖8 螞蟻集團應(yīng)用可信解決方案文章來源:http://www.zghlxwxcb.cn/news/detail-695369.html
時間關(guān)系,最后用一句話來結(jié)束本次分享,同樣也是我非常喜歡的我們螞蟻集團愿景中的一句話,“為世界帶來微小而美好的改變”。希望今天我的分享能夠給大家?guī)硪恍﹩l(fā)。謝謝!文章來源地址http://www.zghlxwxcb.cn/news/detail-695369.html
到了這里,關(guān)于信息安全-應(yīng)用安全-螞蟻集團軟件供應(yīng)鏈安全實踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!